基于fpga設計地鐵自動售票系統(tǒng)_第1頁
基于fpga設計地鐵自動售票系統(tǒng)_第2頁
基于fpga設計地鐵自動售票系統(tǒng)_第3頁
基于fpga設計地鐵自動售票系統(tǒng)_第4頁
基于fpga設計地鐵自動售票系統(tǒng)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于FPGA設計地鐵自動售票系統(tǒng)專業(yè)班級電科1班姓名魏思奧指導教師畢春娜信息科學技術學院內容摘要本畢業(yè)設計是基于FPGA設計一個地鐵自動售票系統(tǒng)。近年來,集成電路技術的迅猛發(fā)展,特別是可編程邏輯器件的高速發(fā)展,電子設計自動化EDA技術成為電子設計工程師的新寵。然而隨著城市人口的迅速增加、車輛的增多,世界各地的城市交通變得愈發(fā)擁擠,地鐵成為城市交通的重要組成部分。隨著國民經濟的發(fā)展,我國的地鐵建設也日益成為人們日常生活中不可或缺的一部分。作為地鐵運營服務的第一道關,改善地鐵已逐漸落后于時代步伐的售票系統(tǒng)勢在必行。本系統(tǒng)是結合行業(yè)管理中實際的地鐵售票系統(tǒng)運行過程中的需求過程,經過實際的需求分析,開發(fā)出來的地鐵自動售票系統(tǒng)。整個系統(tǒng)的設計從符合操作簡便快捷、靈活實用、保證穩(wěn)定安全的要求出發(fā),完成售票管理的基本過程。本設計采用自頂向下的模塊化設計方法,基于FPGA使用VERILOG語言設計制作一個地鐵自動售票控制系統(tǒng),該系統(tǒng)能出售2條線路3種不同價位的票,完成售票、找零、顯示等功能。通過本設計,正確掌握數(shù)字系統(tǒng)的模塊劃分、并能自如應用硬件描述語言描述各模塊功能,以實現(xiàn)系統(tǒng)設計。以VHDL語言和MAXPLUSII為工具,在ZY11EDA13BE實驗系統(tǒng)主板上,實現(xiàn)了地鐵自動售票系統(tǒng)。系統(tǒng)劃分為幾個功能模塊,分模塊進行分析和設計,系統(tǒng)給出相應的設計原理圖和VHDL源程序,通過仿真實現(xiàn)預定的功能。關鍵詞FPGA;地鐵自動售票系統(tǒng);EDA;VHDLMAXPLUSII模塊;仿真ABSTRACTTHEGRADUATIONPROJECTISBASEDONTHEFPGADESIGNOFASUBWAYTICKETSYSTEMINRECENTYEARS,THERAPIDDEVELOPMENTOFINTEGRATEDCIRCUITTECHNOLOGY,INPARTICULARTHERAPIDDEVELOPMENTOFPROGRAMMABLELOGICDEVICES,ELECTRONICDESIGNAUTOMATIONEDATECHNOLOGYTOBECOMETHENEWDARLINGOFELECTRONICDESIGNENGINEERSHOWEVER,WITHTHERAPIDURBANPOPULATIONINCREASEINTHENUMBEROFVEHICLESAROUNDTHEWORLDHAVEBECOMEINCREASINGLYCONGESTEDURBANTRAFFIC,METROBECAMEANIMPORTANTPARTOFURBANTRANSPORTATIONWITHTHEDEVELOPMENTOFNATIONALECONOMY,CHINASSUBWAYCONSTRUCTIONHASINCREASINGLYBECOMEANINDISPENSABLEPARTOFDAILYLIFEASASUBWAYSERVICEINTHEFIRSTPASS,TOIMPROVETHESUBWAYHASGRADUALLYLAGGEDBEHINDTHETIMESTICKETINGSYSTEMISNECESSARYTHISSYSTEMISACOMBINATIONOFINDUSTRYMANAGEMENTINTHEACTUALSUBWAYTICKETINGSYSTEMOPERATINGINTHEDEMANDPROCESS,AFTERTHEACTUALNEEDSANALYSIS,DEVELOPEDTHESUBWAYAUTOMATICTICKETINGSYSTEMTHEOVERALLDESIGNISEASYTOMANIPULATEFAST,FLEXIBLEANDPRACTICAL,TOENSURETHESAFETYANDSTABILITYREQUIREMENTS,THECOMPLETIONOFTHEBASICPROCESSOFTICKETMANAGEMENTTHISDESIGNUSESATOPDOWNMODULARDESIGNMETHOD,BASEDONFPGADESIGNUSINGVHDL,ASUBWAYTICKETCONTROLSYSTEM,WHICHCANSELLTWOLINES3DIFFERENTTICKETPRICES,THECOMPLETIONOFTICKETSALES,GIVECHANGE,ANDDISPLAYFUNCTIONSTHROUGHTHISDESIGN,THECORRECTNUMBEROFSYSTEMCONTROLMODULEDIVISION,ANDTOEASEAPPLICATIONOFHARDWAREDESCRIPTIONLANGUAGETODESCRIBETHEFUNCTIONOFEACHMODULETOACHIEVETHESYSTEMDESIGNINVHDLANDMAXPLUSIILANGUAGEASATOOL,ZY11EDA13BEEXPERIMENTALSYSTEMMOTHERBOARDTOACHIEVEAUTOMATEDSUBWAYTICKETINGSYSTEMSYSTEMISDIVIDEDINTOSEVERALFUNCTIONALMODULES,SUBMODULEANALYSISANDDESIGN,SYSTEMDESIGNGIVESTHECORRESPONDINGSCHEMATICANDVHDLSOURCECODE,THROUGHTHESIMULATIONTOACHIEVETHEINTENDEDFUNCTIONKEYWORDSSUBWAYAUTOMATICTICKETINGSYSTEMEDAVHDLMAXPLUSIIMODULESIMULATION目錄1緒論111研究背景112研究內容及功能介紹113論文結構22理論基礎221EDA技術222FPGA2221FPGA簡介2222FPGA的基本特點3223FPGA的優(yōu)點323VHDL語言4231VHDL簡介4232VHDL系統(tǒng)設計的特點4233VHDL系統(tǒng)優(yōu)勢5234VHDL基本結構524MAXPLUS軟件6241MAXPLUS軟件簡介6242MAXPLUS軟件特點6243MAXPLUS可編程設計流程63系統(tǒng)分析與設計方案831系統(tǒng)的總體框架結構832功能模塊分析9321車票選擇模塊9322錢幣處理模塊11323余額計算模塊12324顯示功能模塊144硬件實現(xiàn)1641連線布局與下載1642系統(tǒng)不足175系統(tǒng)改進方向及設計總結1751系統(tǒng)改進方向1752設計總結18【參考文獻】19【致謝】20基于FPGA設計地鐵自動售票系統(tǒng)1緒論11研究背景地鐵,源于19世紀中葉的英國。在當時的倫敦,因為生產力的急速發(fā)展,數(shù)以千計的工廠、房屋被建造起來。城市在爆炸性的發(fā)展中幾乎陷于崩潰。為此人們迫切需要有比狹窄的街道更好的交通渠道。查爾斯皮爾遜提出了解決這一問題的方法,那就是“在地下建造鐵路”。世界首條地鐵“大都市鐵道”于1843年在他的提議下開始建設,至1863年終于開通。在其開通的首年,就創(chuàng)造了運載乘客950萬人次的記錄,顯示了地鐵在城市交通中勃勃的生命力。1在一百多年后的今天,隨著城市人口的迅速增加、車輛的增多,世界各地的城市交通變得愈發(fā)擁擠。同時,環(huán)境污染、能源危機等一系列問題也促使人們去進一步的思考城市交通的未來。地鐵與城市中其它交通工具相比,在許多方面有著明顯的優(yōu)勢除了能夠避免城市地面擁擠和充分利用空間外,它的運量大,運輸能力是地面公共汽車的7一10倍,這是任何城市交通工具所不能比擬的;速度快,可以在地下隧道內直線地快速行進,行駛的時速可超過100公里;并且無污染,以電力作為動力,不存在空氣污染問題。地鐵配套設備的范圍十分廣泛,包括了車輛選型與行車組織、供電系統(tǒng)、環(huán)控通風系統(tǒng)、給排水及消防系統(tǒng)、通信系統(tǒng)、信號系統(tǒng)、自動扶梯、電梯、自動售檢票系統(tǒng)、防災報警系統(tǒng)、設備監(jiān)控系統(tǒng)、綜合信息管理系統(tǒng)、旅客向導系統(tǒng)、運營控制中心系統(tǒng)、車輛段及綜合基地系統(tǒng)、勘察、檢驗系統(tǒng)、施工系統(tǒng)等各個方面。2其中,自動售檢票AFC系統(tǒng)利用先進的機電一體化技術和先進的電子、通信、網絡等技術,使售票、檢票、計費、收費、統(tǒng)計全過程管理自動化,減少了運營部門工作人員的勞動強度,能及時獲取客流信息與軌道交通系統(tǒng)運營收益的第一手資料,保證投資回報。它的出現(xiàn),淘汰了工作強度大、漏檢票率高、適用范圍又小的傳統(tǒng)手工售檢票方式,為地鐵能夠合理計費、吸引客流、遏制舞弊和逃票、減少管理人員、削減運營成本等都提供了可能,顯著提高了其社會效益和經濟效益,目前已成為了現(xiàn)代化地鐵的標準配置。3在地鐵系統(tǒng)的應用越來越廣泛,大大改善城市交通的同時,人們也對其配套設備的現(xiàn)代化程度提出了更高的要求。隨著國民經濟的發(fā)展,我國的地鐵建設也日益成為人們日常生活中不可或缺的一部分。絕大多數(shù)的城市軌道交通系統(tǒng)都是用來運載市內通勤的乘客,而在很多場合下城市軌道交通系統(tǒng)都會被當成城市交通的骨干。通常,城市軌道交通系統(tǒng)是許多都市用以解決交通堵塞問題的方法。然而售票作為地鐵運營服務的第一道關,改善地鐵已逐漸落后于時代步伐的售票系統(tǒng)勢在必行。然而近年來,集成電路技術的迅猛發(fā)展,特別是可編程邏輯器件的高速發(fā)展,電子設計自動化EDA技術成為電子設計工程師的新寵。EDA技術以計算機為工具完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設計仿真等工作。電路設計者只需要完成對系統(tǒng)功能的描述,就可以由計算機軟件進行系統(tǒng)處理,最后得到設計結果,并且修改設計方案如同修改軟件一樣方便。利用EDA工具可以極大地提高設計效率。所以最終采用EDA技術基于FPGA設計如此地鐵自動售票系統(tǒng)。412研究內容及功能介紹作為車站設備的一員,自動售票機ATVMAUTOTICKETVENDINGMACHINE,往往被安裝在車站非付費區(qū)內,用于軌道交通車票銷售的乘客自助服務。自動售票機具有引導乘客購票的相關操作說明和提示,配備觸模屏、乘客顯示器及運營狀態(tài)顯示器,用于顯示地鐵線路、票價、投入錢幣金額、設備運行狀態(tài)等信息。目前通用的軌道交通單程車票一般為非接觸式的方形IC卡,自動售票機根據(jù)規(guī)格型號的不同,可以分別按照硬幣、紙幣以及交通一卡通儲值卡這三種支付方式的一到多種進行售票。一次交易中的發(fā)卡數(shù)量也可以在一到多張間不等。本設計采用自頂向下的模塊化設計方法,基于FPGA,以VHDL語言和MAXPLUSII為工具,在ZY11EDA13BE實驗系統(tǒng)主板上,運用VHDL有限狀態(tài)機設計地鐵自動售票系統(tǒng)。5本系統(tǒng)是結合行業(yè)管理中實際的地鐵售票系統(tǒng)運行過程中的需求過程,經過實際的需求分析,開發(fā)出來的地鐵自動售票系統(tǒng)。筆者參與設計的自動售票機,就其功能特點來說,可以歸納如下1)該自動售票系統(tǒng)可對1號、2號兩條地鐵線售票,每條線均有3、4、5元三種票。2)能選擇買1張或2張票;3)有5元、10元兩個投幣口。當投入的錢幣與選擇的票款相等時,送出車票;若投入的錢幣不夠,1分鐘后,退出錢幣,無票送出;若投入的錢幣超過票款,能自動找贖。4)系統(tǒng)顯示選擇的是幾號線、所選票面額、購買的票數(shù)、投入的錢幣額及找贖的錢額。13論文結構本文分五章,第一章是緒論部分,簡單介紹了地鐵自動售票機的背景、系統(tǒng)設計的內容以及功能描述、論文整體結構。第二章是理論基礎,主要介紹了EDA技術、FPGA、VHDL語言結構和MAXPLUS軟件的設計流程。第三章介紹了系統(tǒng)設計的總體思路和各個模塊的功能設計與編譯仿真。第四章是系統(tǒng)頂層圖連線布局,下載硬件實現(xiàn),結果分析,以及系統(tǒng)存在的不足。第五章主要介紹系統(tǒng)的改進方向,并總結本系統(tǒng)設計的意義。2理論基礎21EDA技術EDA是電子設計自動化(ELECTRONICDESIGNAUTOMATION)的縮寫,在20世紀60年代中期從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。20世紀90年代,國際上電子和計算機技術較先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結構和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設計方法、設計過程和設計觀念,促進了EDA技術的迅速發(fā)展。6EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現(xiàn),極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。利用EDA工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產品從電路設計、性能分析到設計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成?,F(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產、生物、醫(yī)學、軍事等各個領域,都有EDA的應用。目前EDA技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術。722FPGA221FPGA簡介FPGA(FIELDPROGRAMMABLEGATEARRAY),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。8目前以硬件描述語言(VERILOGHDL或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至FPGA上進行測試,是現(xiàn)代IC設計驗證的技術主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數(shù)學方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(FLIPFLOP)或者其他更加完整的記憶塊。系統(tǒng)設計師可以根據(jù)需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。9FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發(fā)是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。10222FPGA的基本特點FPGA采用了邏輯單元陣列(LOA,LOGICCELLARRY)這樣一個新概念,內部包括可配置邏輯模塊(CLB,CONFIGURABLELOGICBLOCK)、輸入輸出模塊(IOB,INPUTOUTPUTBLOCK)和內部連線(INTERCONNECT)三個部分。FPGA的基本特點主要有1)采用FPGA設計ASIC電路,用戶不需要投片生產就能得到合用的芯片;2)FPGA可做其他全定制或半定制ASIC電路的試樣片3)FPGA內部有豐富的觸發(fā)器和IO引腳;4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一;5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度和可靠性的最佳選擇之一。11目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片內RAM中的程序來設置其工作狀態(tài)的。因此,工作時需要對片內的RAM進行編程。用戶可以根據(jù)不同的配置模式采用不同的編程方式。加電時,F(xiàn)PGA芯片將EPROM中的數(shù)據(jù)讀入片內編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內部邏輯關系消失。因此,F(xiàn)PGA能夠反復使用。FPGA的編程不需專用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA、不同的編程數(shù)據(jù),可以產生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。FPGA有下面4種配置模式1)并行主模式為一片F(xiàn)PGA加一片EPROM的方式;2)主從模式可以支持一片PROM編程多片F(xiàn)PGA3)串行模式可以采用串行PROM編程FPGA;4)外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。12223FPGA的優(yōu)點FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特點之外,還具有以下3個優(yōu)點。1)隨著超大規(guī)模集成電路(VLSI,VERYLARGESCALEIC)工藝的不斷提高,單一芯片內部可以容納上百萬個晶體管,F(xiàn)PGACPLD芯片的規(guī)模也越來越大,其單片邏輯門數(shù)已達到上百萬門,它所能實現(xiàn)的功能也越來越強,同時也可以實現(xiàn)系統(tǒng)集成。2)FPGACPLD芯片在出廠之前都做過百分之百的測試,不需要設計人員承擔投片風險和費用,設計人員只需在自己的實驗室里就可以通過相關的軟硬件環(huán)境來完成芯片的最終功能設計。所以,F(xiàn)PGACPLD的資金投入小,節(jié)省了許多潛在的花費。3)用戶可以反復地編程、擦除、使用或者在外圍電路不動的情況下用不同的軟件實現(xiàn)不同的功能。所以,用FPGAICPLD試制樣片,能以最快的速度占領市場。FPGACPLD軟件包中有各種輸入工具和仿真工具及版圖設計工具和編程器等全線產品,電路設計人員在很短的時間內就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。當電路有少量改動時,更能顯示出FPGACPLD的優(yōu)勢。電路設計人員使用FPGACPLD進行電路設計時,不需要具備專門的IC(集成電路)深層次的知識,F(xiàn)PGACPLD軟件易學易用,可以使設計人員更能集中精力進行電路設計,快速將產品推向市場。1323VHDL語言231VHDL簡介VHDL的英文全名是VERYHIGHSPEEDINTEGRATEDCIRCUITHARDWAREDESCRIPTIONLANGUAGE,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言。自IEEE公布了VHDL的標準版本,IEEE1076(簡稱87版之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內容,公布了新版本的VHDL,即IEEE標準的10761993版本,(簡稱93版)?,F(xiàn)在,VHDL和VERILOG作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于VERILOG語言將承擔起大部分的數(shù)字系統(tǒng)設計任務。14VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言。VHDL的英文全寫是VHSIC(VERYHIGHSPEEDINTEGRATEDCIRCUIT)HARDWAREDESCRIPTIONLANGUAGE翻譯成中文就是超高速集成電路硬件描述語言。因此它的應用主要是應用在數(shù)字電路的設計中。目前,它在中國的應用多數(shù)是用在FPGA/CPLD/EPLD的設計中。當然在一些實力較為雄厚的單位,它也被用來設計ASIC。15VHDL主要用于描述數(shù)字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。16232VHDL系統(tǒng)設計的特點與其他硬件描述語言相比,VHDL具有以下特點1)功能強大、設計靈活VHDL具有功能強大的語言結構,可以用簡潔明確的源代碼來描述復雜的邏輯控制。它具有多層次的設計描述功能,層層細化,最后可直接生成電路級描述。VHDL支持同步電路、異步電路和隨機電路的設計,這是其他硬件描述語言所不能比擬的。VHDL還支持各種設計方法,既支持自底向上的設計,又支持自頂向下的設計;既支持模塊化設計,又支持層次化設計。2)支持廣泛、易于修改由于VHDL已經成為IEEE標準所規(guī)范的硬件描述語言,目前大多數(shù)EDA工具幾乎都支持VHDL,這為VHDL的進一步推廣和廣泛應用奠定了基礎。在硬件電路設計過程中,主要的設計文件是用VHDL編寫的源代碼,因為VHDL易讀和結構化,所以易于修改設計。3)強大的系統(tǒng)硬件描述能力VHDL具有多層次的設計描述功能,既可以描述系統(tǒng)級電路,又可以描述門級電路。而描述既可以采用行為描述、寄存器傳輸描述或結構描述,也可以采用三者混合的混合級描述。另外,VHDL支持慣性延遲和傳輸延遲,還可以準確地建立硬件電路模型。VHDL支持預定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來較大的自由度,使設計人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。4)獨立于器件的設計、與工藝無關設計人員用VHDL進行設計時,不需要首先考慮選擇完成設計的器件,就可以集中精力進行設計的優(yōu)化。當設計描述完成后,可以用多種不同的器件結構來實現(xiàn)其功能。5)很強的移植能力VHDL是一種標準化的硬件描述語言,同一個設計描述可以被不同的工具所支持,使得設計描述的移植成為可能。6)易于共享和復用VHDL采用基于庫(LIBRARY)的設計方法,可以建立各種可再次利用的模塊。這些模塊可以預先設計或使用以前設計中的存檔模塊,將這些模塊存放到庫中,就可以在以后的設計中進行復用,可以使設計成果在設計人員之間進行交流和共享,減少硬件電路設計。16233VHDL系統(tǒng)優(yōu)勢1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。2)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。3)VHDL語句的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。4)對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設計轉變成門級網表。5)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。17234VHDL基本結構VHDL程序包括了三部分程序包、實體、結構體。181)程序包定義在設計結構體和實體中將用到的常數(shù)、數(shù)據(jù)類型、子程序和設計好的電路單元等。LIBRARYIEEE;USEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALL2)實體設計系統(tǒng)單元所需要的輸入輸出端口信息。ENTITY實體名稱ISPORT端口信號名稱1輸入/輸出狀態(tài)數(shù)據(jù)類型端口信號名稱1輸入/輸出狀態(tài)數(shù)據(jù)類型端口信號名稱N輸入/輸出狀態(tài)數(shù)據(jù)類型END實體名稱3)結構體描述電路單元具體的內部結構和邏輯功能。ARCHITECTURE結構體名OF實體名稱IS說明語句BEGIN電路功能描述語句END結構體名結構體注意事項結構體不能單獨存在,它必須有一個界面說明,即一個實體。每個實體可以有一個或多個結構體,每個結構體對應著實體不同結構和算法實現(xiàn)。多個結構體名應區(qū)分。對于具有多個結構體的實體,必須用CONFIGURATION配置。結構體中說明和定義的數(shù)據(jù)類型、常數(shù)等只能用于該結構體中,若要用于其他實體或結構體中,需將其作為程序包來處理。1924MAXPLUS軟件241MAXPLUS軟件簡介MAXPLUS(MULTIPLEARRAYANDPROGRAMMINGLOGICUSERSYSTEM)開發(fā)工具是美國ALTERA公司推出的一種EDA工具,具有靈活高效,使用便捷,易學易用的特點。ALTERA公司在推出各種CPLD和FPGA的同時也在不斷地升級相應的開發(fā)工具軟件,已從早期的第一代APLUS、第二代MAXPLUS發(fā)展到目前的第三代MAXPLUSII和第四代QUARTUS。使用MAXPLUS軟件,設計者無需精通器件內部的復雜結構,只需熟悉所用的設計輸入工具,如硬件描述語言、原理圖等進行輸入,MAXPLUS自動將設計轉換成目標文件下載到器件中去。20242MAXPLUS軟件特點MAXPLUS開發(fā)系統(tǒng)具有以下特點。1)多平臺系統(tǒng)MAXPLUS的設計輸入、處理與校驗功能一起提供了全集成化的可編程開發(fā)工具,可以加快動態(tài)調試,縮短開發(fā)周期。2)開放的界面MAXPLUS可與其它工業(yè)標準的設計輸入、綜合和校驗工具鏈接。具有EDIF,VHDL,VERILOGHDL以及其他的網表接口,便于與許多公司的EDA工具接口,包括CADENCE,MENTOR,SYNOPSYS,SYNPLICITY,VIEWLOGIC等公司提供的EDA工具的接口。3)模塊組合式工具軟件MAXPLUS具有一個完整的可編程邏輯設計環(huán)境,包括設計輸入、設計處理、設計校驗仿真和下載編程四個模塊,設計者可以按設計流程選擇工作模塊。4)與結構無關MAXPLUS支持ALTERA的CLASSIC、MAX5000、MAX7000、FLEX8000、FLEXLOK等可編程器件系列,提供工業(yè)界中唯一真正與結構無關的可編程邏輯設計環(huán)境。5)硬件描述語言MAXPLUS支持各種HDL硬件設計輸入語言,包括VHDL、VERILOGHDL和ALTERA的硬件描述語言AHDL。21243MAXPLUS可編程設計流程MAXPLUS設計流程圖如圖1所示圖1MAXPLUS設計流程圖步驟1為本項工程設計建立文件夾任何一項設計都是一項工程(PROJECT,都必須首先為此工程建立一個放置與此工程相關的文件的文件夾,此文件夾將被EDA軟件默認為工作庫(WORKLIBRARY。一般不同的設計項目最好放在相應的文件夾中,注意,一個設計項目可以包含多個設計文件,文件夾名不能用中文,且不可帶空格。步驟2輸入設計項目和存盤22設計者將所設計的系統(tǒng)或電路以開發(fā)軟件要求的某種形式表現(xiàn)出來,并送入計算機的過程稱為設計輸入。設計輸入通常有以下幾種方式。1)原理圖輸入方式2)硬件描述語言輸入方式3)波形輸入方式4)層次化設計輸入方式步驟3將設計項目設置成工程文件為了使MAXPLUSII能對輸入的設計項目按設計者的要求進行各項處理,必須將設計文件設置成當前PROJECT。23步驟4選擇目標器件并編譯這是器件設計中的核心環(huán)節(jié)。在設計處理過程中,編譯軟件將對設計輸入文件進行邏輯化簡、綜合和優(yōu)化,并適當?shù)赜靡黄蚨嗥骷詣舆M行適配,最后產生編程用的編程文件。24步驟5時序仿真1建立波形文件2輸入信號節(jié)點3設置波形參量4設置仿真時間5加上輸入信號6波形文件存盤7運行仿真器25步驟6建立元件步驟7引腳鎖定26步驟8編程下載在以上步驟都正確實施并完全通過以后,我們就可以將我們設計的項目(最終的數(shù)據(jù)編程文件)下載到器件中去,然后加入實際的激勵信號進行測試,在我們的目標系統(tǒng)中進行產品級使用了。如果還未最終達到我們的設計目的,則需返回以上步驟查找設計問題直至無誤。273系統(tǒng)分析與設計方案31系統(tǒng)的總體框架結構地鐵自動售票系統(tǒng)大致可分為四個功能模塊車票選擇模塊、錢幣處理模塊、余額計算模塊、顯示功能模塊。28系統(tǒng)總體框圖如圖2所示錢幣處理模塊余額計算模塊顯示功能模塊車票選擇模塊圖2系統(tǒng)總體框圖1)車票選擇模塊。當自動售票機通電時,表示一次投幣售票過程開始;乘客正常購買車票操作失誤包括改變購買意向或不再購買,按RD按鈕重新進入初始狀態(tài);在初始狀態(tài)PATH、PRI和QUA生效時,顧客可以根據(jù)自己的需要,選擇其中一種車票只限一種和票數(shù),進入下一模塊。2)錢幣處理模塊。表示投入的錢幣是5元、10元的COIN_5、COIN_10生效,記錄所投錢幣總額。3)余額計算模塊。當投人錢幣總額大于或等于車票價格,并且按確認鍵后出票并找零;若投入錢幣總額小于車票價格,售票機不出票,并退出所投錢幣,進入初始狀態(tài)。4)顯示功能模塊。此模塊根據(jù)輸入提供的數(shù)據(jù),用數(shù)碼管來顯示選擇的是幾號線、所選票面額、購買的票數(shù)、投入的錢幣額及找贖的錢額。29本系統(tǒng)中乘客投幣售票流程如圖3所示3元4元5元6元選擇票數(shù)投幣計算金額總額票價確認購買繼續(xù)投幣是否是否否退幣清零出票找零是開始結束圖3投幣售票流程圖32功能模塊分析321車票選擇模塊車票選擇模塊是指對商品進行選擇與購買。4種票價(3元,4元,5元,6元),乘客可以選擇所要購買的票數(shù)(1張票,2張票)。30車票選擇模塊如圖4所示圖4車票選擇模塊1)輸入RD模塊復位信號,將所有輸出信號清零。作為開始一次購票過程的按鍵,也可以作為讓乘客重新選票的按鍵。CLK模塊的時鐘信號。PRI_3,PRI_4,PRI_5,PRI_6將其中一個置高電平,作為選擇一種票價(3元,4元,5元,6元)。QUA_1,QUA_2將其中一個置高電平,作為選擇購買車票的數(shù)量(一張票,兩張票)。2)輸出PRI30表示所選票價,輸出到余額計算模塊和顯示功能模塊,作為判斷出何種票的條件,并在數(shù)碼管顯示出車票單價。QUA30表示所買票數(shù),輸出到顯示功能模塊,在數(shù)碼管顯示出票數(shù)。COST30表示應付總額,根據(jù)票價和票數(shù)來計算出應付的總額,輸出到余額計算模塊,用來計算找贖金額。31該車票選擇模塊的源程序如下車票選擇模塊圖4車票選擇模塊1)輸入RD模塊復位信號,將所有輸出信號清零。作為開始一次購票過程的按鍵,也可以作為讓乘客重新選票的按鍵。CLK模塊的時鐘信號。PRI_3,PRI_4,PRI_5,PRI_6將其中一個置高電平,作為選擇一種票價(3元,4元,5元6元)。QUA_1,QUA_2將其中一個置高電平,作為選擇購買車票的數(shù)量(一張票,兩張票)。2)輸出1)PRI30表示所選票價,輸出到余額計算模塊和顯示功能模塊,作為判斷出何種票的條件,并在數(shù)碼管顯示出車票單價。2QUA30表示所買票數(shù),輸出到顯示功能模塊,在數(shù)碼管顯示出票數(shù)。3)COST30表示應付總額,根據(jù)票價和票數(shù)來計算出應付的總額,輸出到余額計算模塊,用來MODULESELLER1QUA_1,QUA_2,PRI_3,PRI_4,PRI_5,PRI_6,RD,CLK,PRI,QUA,COST;OUTPUTQUA,COST,PRIINPUTQUA_1,QUA_2,PRI_3,PRI_4,PRI_5,PRI_6,RD,CLKREGPRI,QUA,COSTREG3,0PRIREG3,0QUAREG3,0COSTALWAYSRDORCLKORQUA_1ORQUA_2ORPRI_3ORPRI_4ORPRI_5ORPRI_6BEGINIFRD0PRICOST_INBEGINIFPRI_IN0011BEGINACT_10RESTCOIN_INCOST_INACT0001ENDELSEIFPRI_IN0100BEGINACT_10RESTCOIN_INCOST_INACT0010ENDELSEIFPRI_IN0101BEGINACT_10RESTCOIN_INCOST_INACT0100ENDELSEPRI_IN0110BEGINACT_10RESTCOIN_INCOST_INACT1000ENDENDELSECOIN_INCOST_INBEGINACT0000ACT1RESTCOIN_INENDENDENDENDMODULE經過編譯后建立波形文件,波形仿真圖如圖9所示圖9余額計算模塊波形仿真圖在此波形仿真圖中,輸入選擇二號線,4元票,應付總額為8元,所投錢幣總額為10元,在FINISH確定鍵按下后,輸出有找贖信號,且找贖余額為2元,出第5種車票,由此說明達到余額計算模塊的預期功能。324顯示功能模塊顯示功能模塊主要完成顯示乘客所選線路、票價、票數(shù)、投入錢數(shù)及找贖余額。然而在ZY11EDA13BE實驗系統(tǒng)主板上,每次只能點亮一個數(shù)碼管,如果顯示這些數(shù)據(jù),必須要用掃描的方式使得所需數(shù)碼管依次點亮,選擇較高的掃描頻率,利用人眼的視覺暫留效果,視覺上可讓數(shù)碼管一起點亮。顯示功能模塊如圖10所示圖10顯示功能模塊1)輸入CLK計數(shù)器的時鐘,每個時鐘上升沿,計數(shù)器計數(shù)一次。IN030,IN130,IN230,IN330,IN430表示5個需要顯示的5個數(shù)據(jù),即票價,票數(shù),所投總額十位,所投總額個位,找贖余額。SEL205進制計數(shù)器提供的計數(shù)序列,用來做數(shù)據(jù)選擇器的選擇條件。2)輸出LED_SEL20對實驗板上數(shù)碼管掃描的信號,用5進制計數(shù)器提供的計數(shù)序列使數(shù)碼管依次點亮。OUTPUT305選1數(shù)據(jù)選擇器的輸出到譯碼器進行譯碼。DOUT60經過譯碼器的譯碼后,將4位二進制數(shù)譯成可讓數(shù)碼管顯示的7位二進制數(shù)。此自動售票系統(tǒng)共需要5個數(shù)碼管顯示,此顯示功能模塊可分為三個部分1)模5計數(shù)器(COUNTER_5)每個時鐘上升沿,計數(shù)器計數(shù)一次,產生3位二進制碼,對5個數(shù)碼管進行掃描,且對數(shù)據(jù)選擇器的5個數(shù)據(jù)依次進行選擇輸出。模5計數(shù)器(COUNTER_5)MODULECOUNTER_5CLK,OUTPUTINPUTCLKOUTPUTOUTPUTREG3,0OUTPUTALWAYSPOSEDGECLKBEGINIFOUTPUT100OUTPUT000ELSEOUTPUTOUTPUT1ENDENDMODULE此模5計數(shù)器波形仿真圖如圖11所示圖11模6計數(shù)器波形仿真圖在此波形仿真圖中,輸入為時鐘信號,輸出為04的5進制數(shù),說明達到此模5計數(shù)器的預期功能。2)5選1數(shù)據(jù)選擇器(MULTIPLEXER_5)每次只能點亮一個數(shù)碼管,所以根據(jù)模5計數(shù)器輸入的數(shù),選擇一個數(shù)據(jù)作為一次輸出。此數(shù)據(jù)選擇器的源程序如下MODULEMULTIPLEXER_5IN0,IN1,IN2,IN3,IN4,SEL,OUTPUTINPUTIN0,IN1,IN2,IN3,IN4,SELOUTPUTOUTPUTREG30IN0,IN1,IN2,IN3,IN4REG3,0SELREG3,0ALWAYSBEGINCASESEL000OUTPUTIN0001OUTPUTIN1010OUTPUTIN3011OUTPUTIN4ENDCASEENDENDMODULE此5選1數(shù)據(jù)選擇器波形仿真圖如圖12所示圖126選1數(shù)據(jù)選擇器波形仿真圖在此波形仿真圖中,隨著選擇信號的SEL20的變化,輸出也對應著5個數(shù)據(jù)選擇輸出,說明達到此5選1數(shù)據(jù)選擇器的預期功能。3)譯碼器(DECODER)7段數(shù)碼管顯示,需將4位二進制數(shù),譯成7位二進制數(shù)據(jù),使得數(shù)碼管顯示出想要的數(shù)字。此譯碼器源程序如下MODULEDECODERDIN,DOUTOUTPUTDOUTINPUTDINREG6,0DOUTWIRE3,0DINALWAYSBEGINCASEDIN0000DOUT01111110001DOUT00001100010DOUT10110110011DOUT10011110100DOUT11001100101DOUT11011010110DOUT11111010111DOUT00001111000DOUT11111111001DOUT1101111DEFAULTDOUT0000000ENDCASEENDENDMODULE4硬件實現(xiàn)41連線布局與下載在各個模塊都設計完畢并編譯生成模塊后,建立頂層文件圖,進行連線布局。地鐵自動售票機系統(tǒng)的頂層文件圖如圖13所示圖13地鐵自動售票機系統(tǒng)的頂層文件圖連線布局好后,對其進行編譯,然后鎖定管腳,下載到ZY11EDA13BE實驗板上,觀察其試驗結果。其中,車票選擇模塊,錢幣處理模塊,余額計算模塊共用同一個時鐘信號CLK,在試驗板上采用頻率為2HZ的時鐘信號。顯示功能模塊的時鐘信號CLK_2采用實驗板上頻率為2048HZ的時鐘信號。在已經燒入程序的實驗板上,各個按鍵均符合預期按鍵功能,7個發(fā)光二極管的亮滅符合設計的亮滅要求,6個數(shù)碼管也全部點亮并顯示符合系統(tǒng)要求的數(shù)據(jù)。因此此設計的地鐵售票系統(tǒng)能夠完成所有選票、投幣、找零、顯示的功能要求,達到硬件實現(xiàn)。42系統(tǒng)不足此系統(tǒng)設計,余額計算模塊中要求,在所投錢幣總額不足應付票價總額時,一分鐘后退出所投錢幣。而此設計中未能達到一分鐘后退出所投錢幣,而是在按下確定鍵FINISH后直接退出錢幣。5系統(tǒng)改進方向及設計總結51系統(tǒng)改進方向隨著筆者以后經驗和能力的增長,可以對此地鐵自動售票系統(tǒng)進行改進和擴展,在此提出以下幾

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論