婁嵐+王亞輝+孫祥凱
【摘要】 本設計采用Verilog硬件描述語言編程,基于Quartus II平臺進行編譯和仿真。采用Altera公司的FPGA芯片PE1C6Q240C8來設計該出租車計費器系統(tǒng),闡述了該計費器的主要組成單元—車輪大小選擇模塊、計程模塊、計時模塊及計費模塊、數(shù)據(jù)分配模塊、分頻模塊、譯碼模塊的設計方法,同時給出了詳細的仿真波形,實現(xiàn)了出租車按行駛里程自主收費,還能模擬汽車啟動,停止,暫停等狀態(tài),同時提高了計費系統(tǒng)的可靠性、通用性。
【關鍵詞】 FPGA Verilog Quartus II 出租車計費器
大城市里出租車已經(jīng)相當普及,但是在中小城市出租車依然處于快速發(fā)展的階段。出租車的計費方式也在發(fā)生變化,由只能顯示里程的方式變?yōu)楝F(xiàn)在的自主計費和打印發(fā)票及語音提示的智能化方式。根據(jù)出租車行業(yè)的發(fā)展需求,國內(nèi)許多生產(chǎn)廠商也制造出不同類型的計價器。
一、國內(nèi)外的研究現(xiàn)狀
針對出租車計費器這方面,傳統(tǒng)計費器利用MCU如89C51單片機實現(xiàn)汽車計費器的設計,大部分的功能可以用單片機來實現(xiàn)。但是單片機程序是不通用的,不同的芯片有不同的指令集,因此設計研發(fā)比較困難,周期長,如果系統(tǒng)設計的不好,則系統(tǒng)不是很穩(wěn)定,而且靈活度不夠,不易實現(xiàn)功能復雜的設計,很多人已經(jīng)做出了許多不同的設計,使用的方式也各式各樣,有FPGA,單片機,ARM以及可編程的邏輯器件等。
對于這類的設計,我們不僅可以做在線仿真和測試,還可以將所有的設計都集中在統(tǒng)一的自頂向下的設計方案下,根據(jù)系統(tǒng)需求,設計不同的模塊,最后經(jīng)過對不同的模塊進行系統(tǒng)性綜合,從而我們就可以完成整個系統(tǒng)設計。很多人都將基于EDA技術的CPLD/FPGA的設計方案作為首選方案去完成相關課題的設計,很大程度是基于EDA的這些技術優(yōu)勢。
二、FPGA的基本結構
在本設計中選用了Altera公司的EP1C6Q240型號的FPGA芯片。其資源比較豐富,且性價比極高。其內(nèi)部有5980個邏輯單元,92160b的RAM容量, 2個PLL(鎖相環(huán)模塊),185個用戶I/O。內(nèi)核電壓1.5V,每個用戶I/O都支持1.5V、1.8V、2.5V、3.3V接口。
三、Verilog設計優(yōu)點
利用Verilog語言設計數(shù)字邏輯硬件系統(tǒng)具有多方面的優(yōu)點。
(1) 具有很廣闊的覆蓋面,行為描述能力也相當強大,是一個多層次的硬件描述語言。
(2) 可讀性強,一方面計算機容易接受,讀者也容易理解。
(3)可以長期使用,行為級描述不會隨著工藝改變而過時。生產(chǎn)工藝與Verilog的硬件描述無關。當工藝發(fā)生變化時,只需對屬性參數(shù)做相應的修改即可。
(4) 可移植性強,可以將大規(guī)模設計進行分解,同時可以使用已有的設計模塊。一個人不可能獨立完成大規(guī)模的設計,必須由多人共同協(xié)同完成設計,設計的分解和設計的再利用在Verilog的支持下變得容易。
四、Quartus II設計流程
對于電子設計的各個階段、各個層次的操作都在Altera公司提供QuartusII平臺上進行編譯、仿真測試,在設計實驗過程中需要注意以下幾點:
首先,在進行編程操作時,時要注意區(qū)分信號與變量,同時對信號和變量的正確定義和應用也很重要;
其次,在創(chuàng)建工程時,要保證文件名和實體名完全一致,否則,編譯無法完成,工程名可以與之不一致;
再次,注意結束時間的設置,最好將其設置為時間周期的15倍,否則可能會出現(xiàn)時序混亂的現(xiàn)象;
最后,仿真中,靈活的進行進制的轉換,觀察者可以更明顯地看出來時序圖的功能。
五、出租車計費器的設計要求
本設計要求設計日常生活所需要功能的基于CPLD/ FPGA的出租車計費器,其設計要求:費用的計算是按行駛的里程收費,設出租車的起價為7.00元,當里程小于2km時,按起價計算費用;當里程大于2km時每公里按2.5元計費。等待累計時間超過4min,按每分鐘2.0元計費。所以總費用按下式計算: 總費用=起費用+(里程-2km)×里程單價+(等候時間-4min)×等候單價,能夠實現(xiàn)顯示的功能:
(1)顯示汽車行駛里程:用兩位數(shù)字顯示,顯示方式為“××”,單位為km。計程范圍為0~99km,計程分辨率為1km。
(2)顯示等候時間:用兩位數(shù)字顯示分鐘,顯示方式為“××”。計時范圍為0~59min,計時分辨率為1min。
(3)顯示總費用:用四位數(shù)字顯示,顯示方式為“×××.×”,單價為元。計價范圍為0~999.9元,計價分辨率為0.1元。
三、結語
設計采用Verilog硬件描述語言,按自頂向下的方法,將設計的系統(tǒng)分成七個相對獨立的模塊分別設計,包括速度信號產(chǎn)生,計時模塊,計程模塊,計費模塊,譯碼顯示模塊,用Quartus II軟件進行各模塊仿真得其波形,直到各個模塊功能仿真都通過后,再將其合成整體,最后進行綜合仿真。
參 考 文 獻
[1]周淑閣 編著 FPGA/CPLD系統(tǒng)設計與應用開發(fā)[M].電子工業(yè)出版社 2011.