<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的出租車(chē)計費系統設計

基于FPGA的出租車(chē)計費系統設計

作者: 時(shí)間:2011-07-19 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:系統大多利用單片機進(jìn)行控制,較易被改裝,且故障率較高。針對這一問(wèn)題,設計了一種基于系統,可模擬汽車(chē)行駛、暫停等待,停止等過(guò)程,并可同時(shí)顯示金額、乘車(chē)總路程。設計采用層次化設計方法,用VHDL語(yǔ)言進(jìn)行編程,開(kāi)發(fā)軟件為MAX+plusⅡ。經(jīng)測試,波形與仿真結果都滿(mǎn)足設計要求。
關(guān)鍵詞:系統;VHDL語(yǔ)言;MAX+PLUSⅡ;

0 引言
隨著(zhù)城市化水平的提高和人民生活水平的改善,出租車(chē)的服務(wù)顯得越來(lái)越重要。因此出租車(chē)計費器也就應運而生了。出租車(chē)計費器是一種專(zhuān)用的計量?jì)x器,它安裝在出租車(chē)上,指示出載客路程數,以及乘客應付費用的總數。
出租車(chē)計價(jià)系統較多的是利用單片機進(jìn)行控制,但較易被私自改裝,且故障率相對較高,且不易升級;而具有高密度、可編程及有強大的軟件支持等特點(diǎn),所以設計的產(chǎn)品具有功能強、可靠性高、易于修改等特點(diǎn)。
本文正是基于FPGA,設計了一種出租車(chē)的計費系統,它可以直觀(guān)地顯示出租車(chē)行駛的里程和乘客應付的費用。

1 系統功能設計
所設計的計價(jià)器的計費標準為:車(chē)在行駛3 km以?xún)?,只收起步價(jià)9.0元;車(chē)行駛超過(guò)3 km后,按每公里2元計費。行駛路程達到或超過(guò)9 km后,車(chē)費按每公里3.0元開(kāi)始計費。車(chē)遇紅燈或中途暫停時(shí),每3分鐘計0.5元。若停止(rst)則車(chē)費清零,等待下一次計費的開(kāi)始。要求能夠顯示里程數和乘客應付的費用,其中里程數精確到0.01 km,乘客應付的費用精確到0.1元,顯示范圍為:里程為0~99.99公里,費用為0~999.9元。

2 方案
基于FPGA的出租車(chē)計費系統的組成如圖1所示。由外部輸入、FPGA控制部分以及數碼顯示三部分組成。其中FPGA部分又由分頻模塊、計價(jià)模塊、BCD轉換模塊以及動(dòng)態(tài)譯碼掃描模塊組成;外部輸入包括啟動(dòng)按鍵(start)、暫停按鍵(pause)、停止按鍵(stop即rst)以及兩個(gè)脈沖信號(分別是每20 m一個(gè)脈沖的路程脈沖信號pulse和32 MHz的工作脈沖信號clk32M)。顯示模塊用8個(gè)LED數碼管分別顯示行駛里程和車(chē)費,行駛里程顯示2位整數和2位小數,車(chē)費顯示3位整數和1位小數。

本文引用地址:http://dyxdggzs.com/article/191094.htm

a.jpg



3 各模塊設計
設計FPGA控制部分,包括控制計價(jià)模塊,BCD轉換模塊,動(dòng)態(tài)掃描譯碼模塊以及分頻模塊。采用混合設計的方法,各子部分用VHDL編程,頂層部分用原理圖進(jìn)行設計。
3.1 控制計價(jià)模塊(jijia)
控制計價(jià)模塊由里程計費模塊、等待計費模塊、總價(jià)模塊組成。
里程計費模塊,主要對傳感器公里脈沖信號pulse計數(20m一個(gè)脈沖),計算出租車(chē)本次交易行駛的路程以及里程費用。每數到50個(gè)pulse為1 km,總路程由lucheng端輸出。在3 km內時(shí),里程車(chē)費cf1為9元不變,當超過(guò)3 km時(shí),p=1,開(kāi)始里程費用計數,當計費停止,即start端口置“0”或出租車(chē)停止行駛,即rst端口置“0”時(shí),相關(guān)數據復位,清零。
等待計費模塊,在3 km之后(p=1),每當pause=1時(shí),則開(kāi)始計時(shí),當秒脈沖數到180個(gè)時(shí)(即3分鐘),此時(shí)等待車(chē)費cf2加5,表示車(chē)費加0.5元。
總價(jià)模塊是將里程計費和等待計費相加,計算出總費用,從chefei端輸出。
3.2 BCD轉換模塊(zhuanhuan)
該模塊將計費模塊的車(chē)費和路程轉換成4位十進(jìn)制數,便于數碼管顯示。輸入口acf,bcf分別為總路程數的輸入口和總費用的輸入口,兩者都是二進(jìn)制碼進(jìn)行十進(jìn)制編碼計數,通過(guò)該編碼器生成BCD碼,輸出口分別以BCD碼表示個(gè),十,百,千位的數據。Aclk是工作脈沖,即32MHz。
3.3 動(dòng)態(tài)掃描模塊(dtxianshi)
該模塊由動(dòng)態(tài)掃描模塊以及譯碼模塊組成。動(dòng)態(tài)掃描模塊,該模塊利用視覺(jué)暫留效應,采用動(dòng)態(tài)掃描電路,將8進(jìn)制轉換后的路程數和車(chē)費的4位十進(jìn)制數顯示在數碼管上,節約了硬件資源和能源。該模塊經(jīng)過(guò)8進(jìn)制掃描模塊將路程和車(chē)費輪流顯示出來(lái)。端口d是選通地址碼的輸入端口,A1,A2,A3,A4,B1,B2,B3,B4分別是個(gè),十,百,千位的數值輸入端口。根據輸入的地址碼,模塊每次只有一位數字向后傳輸到輸出口q,同時(shí)輸出小數點(diǎn)的顯示控制信號(dp),使路程顯示為00.00公里,費用顯示為000.0元。
譯碼模塊,該模塊把0-9的BCD碼譯成數碼管顯示碼,輸入端口q輸入掃描模塊選出要顯示的BCD碼,譯成數碼管的顯示碼由g[6..0]輸出。本設計中數碼管是共陰數碼管。
3.4 分頻模塊(fenp)
本設計中輸入的系統時(shí)鐘為32 MHz,進(jìn)行分頻,再對數碼管的地址進(jìn)行掃描。輸入端口rse為出租車(chē)停運信號輸入端口,當出租車(chē)停止時(shí),該模塊停止工作,清零。當出租車(chē)行駛時(shí)對輸入的32 MHz脈沖信號進(jìn)行分頻,分別從輸出端口cp1得到秒脈沖,cp32得到32 Hz工作脈沖。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>