隨著EDA技術(shù)的飛速發(fā)展,大規(guī)???a href="http://www.wenjunhu.com/v/tag/1315/" target="_blank">編程邏輯器件CPLD/FPGA應(yīng)用越來越廣泛,不僅簡化了數(shù)字系統(tǒng)設(shè)計過程,降低了系統(tǒng)的體積和成本,也提高了系統(tǒng)的可靠性和保密性,使各種邏輯功能的實現(xiàn)變得靈活、方便
1、設(shè)計要求
白天起步價為3千米范圍內(nèi)5元,晚上起步價為3千米范圍內(nèi)6元。白天車行3千米后按1.8元/千米計費,晚上車行3千米后按2.2元/千米計費。當(dāng)按下復(fù)位鍵時,出租車計費器回復(fù)為初始狀態(tài),若為白天則顯示費用5元,晚上則顯示費用6元。當(dāng)按下開始行駛鍵時,出租車則按上述收費標準進行計費。
2、各模塊設(shè)計
2.1、車速模塊
出租車行走的里程數(shù)是根據(jù)裝在車輪上傳感器確定,由于汽車輪子轉(zhuǎn)一圈的周長確定,汽車每轉(zhuǎn)一圈就輸出一個脈沖。用clk表示傳感器輸出脈沖,reset表示復(fù)位信號,stop表示出租車停止按鍵,start表示出租車開始行駛按鍵,sp表示出租車暫停按鍵,出租車每走100m,就輸出一個脈沖clkout以便于里程的計算和顯示。
2.2、計程模塊
計程模塊主要是用于記錄出租車行駛的里程數(shù),通過對車速模塊輸出的clkout信號計數(shù),可以算出出租車行駛的距離。在一般情況下,每行駛0.5km開始計價一次,由而輸出一個計程脈沖co。kcnt3、kcnt2、kcnt1、kcnt0分別代表里程輸出十分位、個位、十位、百分位。
2.3、計費模塊
計費模塊主要用于記錄出租車啟動后所產(chǎn)生的總費用。choose高電平時表示白天,低電平時表示晚上,m0、m1、m2、m3分別表示總費用輸出的十分位、個位、十位、百分位。
2.4、顯示模塊
顯示模塊用來顯示出租車行駛的里程數(shù)與總費用。利用FPGA/CPLD來控制LCD1602模塊,需要定義lcdrs、lcden、lcdrw幾根線,用來控制其基本操作。data用于對LCD1602的數(shù)據(jù)輸出。
2.5、頂層模塊
設(shè)計將以上4個例化元件,按圖1連接,組成基于EDA技術(shù)的出租車計費系統(tǒng)頂層圖。
圖1:基于EDA技術(shù)的出租車計費系統(tǒng)頂層圖
3、系統(tǒng)仿真
車速模塊的仿真波形如圖2所示,有圖可知:每25個傳感器脈沖就輸出一個100米脈沖clkout。計程模塊的仿真波形如圖3所示,滿足設(shè)計要求。計費模塊的仿真波形如圖4所示,在白天,每增加0.5千米的路程,費用增加0.9元。
4、結(jié)論
本文采用EDA技術(shù)的層次化設(shè)計方法設(shè)計出租車計費器,用VHDL編寫各個功能模塊,實現(xiàn)底層設(shè)計;用原理圖輸入方式描述各模塊間的關(guān)系,實現(xiàn)頂層設(shè)計。仿真結(jié)果表明,該設(shè)計方法簡單快捷,所設(shè)計的系統(tǒng)性能可靠。
-
EDA技術(shù)
+關(guān)注
關(guān)注
12文章
173瀏覽量
36951
發(fā)布評論請先 登錄
相關(guān)推薦
評論