出租車計(jì)費(fèi)器的EOA設(shè)計(jì)與實(shí)現(xiàn)
圖2所示為分頻得到的秒信號仿真圖,其輸入信號是整數(shù)轉(zhuǎn)換為BCD碼的轉(zhuǎn)換信號。該轉(zhuǎn)換信號頻率要求非常高,這樣可保證整數(shù)轉(zhuǎn)換BCD
碼時(shí)輸出與輸入不會產(chǎn)生太大的延時(shí)。仿真結(jié)果證明,該設(shè)計(jì)是正確的。
圖3給出了分頻得到的車輪走100米的輸出信號,其輸入信號為驅(qū)動(dòng)車輪轉(zhuǎn)動(dòng)信號。因?yàn)閷Σ煌囕喼睆剑囕喿?00米所需圈數(shù)不同,所以,對不同車輪進(jìn)行分類討論。圖3所示的仿真波形為車輪直徑是520 mm的分頻結(jié)果。
2.3 計(jì)量模塊設(shè)計(jì)
根據(jù)出租車計(jì)費(fèi)器的功能設(shè)計(jì)要求,費(fèi)用的計(jì)算是按行駛的里程和等待時(shí)間來收費(fèi)。當(dāng)行駛里程小于3 km時(shí),按起價(jià)計(jì)算費(fèi)用;當(dāng)里程大于等于3 km時(shí)每公里按2.5元計(jì)費(fèi)。另外,等待累計(jì)時(shí)間大于等于4 min時(shí),應(yīng)按每分鐘1.8元計(jì)費(fèi)。因此應(yīng)按要求設(shè)計(jì)行駛計(jì)費(fèi)使能信號clk_length和等待計(jì)費(fèi)使能信號clk_time。圖4所示是這兩種信號的仿真波形圖。由圖4可知,當(dāng)出租車啟動(dòng)信號start為高電平有效,而等待信號stop為低電平無效時(shí),出租車處于行駛狀態(tài),當(dāng)行駛的里程數(shù)大于等于3公里時(shí),系統(tǒng)將產(chǎn)生有效的行駛計(jì)費(fèi)使能信號;而當(dāng)出租車啟動(dòng)信號start為高電平有效,且等待信號stop也為高電平有效時(shí),出租車處于等待狀態(tài),當(dāng)?shù)却龝r(shí)間大于等于4分鐘時(shí),即可產(chǎn)生有效的等待計(jì)費(fèi)使能信號。本文引用地址:http://m.butianyuan.cn/article/166527.htm
在此要特別說明的是,因?yàn)镼uartusⅡ綜合器不支持小數(shù),因此,在設(shè)計(jì)出租車費(fèi)用的時(shí)候,應(yīng)將人民幣角這個(gè)單位放在個(gè)位,元放在十位。依次類推,這樣便于綜合器進(jìn)行綜合。
2.4 轉(zhuǎn)換模塊的設(shè)計(jì)
由于出租車最終的價(jià)格要由7段數(shù)碼管來顯示,而7段數(shù)碼管的輸入信號為高電平‘l’或低電平‘0’:且該設(shè)計(jì)的前面部分將價(jià)格的數(shù)據(jù)類型定義為整數(shù),因而需要附加整數(shù)到BCD碼的轉(zhuǎn)換電路。圖5所示為整數(shù)轉(zhuǎn)換BCD碼的仿真波形。由圖5可以看出,當(dāng)整數(shù)類型的價(jià)格(pri-ce)為8時(shí),經(jīng)過8個(gè)時(shí)鐘周期,BCD碼的個(gè)位就變?yōu)?;而當(dāng)價(jià)格(price)為54時(shí),經(jīng)過54個(gè)時(shí)鐘周期,BCD碼的個(gè)位變?yōu)?,BCD碼的十位變?yōu)?。在此需要說明的是,圖5中的整數(shù)轉(zhuǎn)變?yōu)锽CD碼需要一段時(shí)間的延時(shí),整數(shù)數(shù)據(jù)越大,轉(zhuǎn)化輸出產(chǎn)生的延時(shí)就越大。為了實(shí)時(shí)的實(shí)現(xiàn)整數(shù)到BCD碼的轉(zhuǎn)化,需要提高轉(zhuǎn)換的時(shí)鐘信號頻率(clk_convert)。在圖2中設(shè)計(jì)的100分頻的頻率計(jì),目的就是減小這一時(shí)間。在實(shí)際的應(yīng)用中,還可以考慮提高clk_convert的頻率,設(shè)計(jì)更高的分頻倍數(shù)。
3 出租車計(jì)費(fèi)器的硬件驗(yàn)證
本設(shè)計(jì)選用杭州康芯電子有限公司生產(chǎn)的GW48EDA系統(tǒng)作為硬件驗(yàn)證系統(tǒng),同時(shí)選用Altera公司的EPlK30TCl44-3作為主控芯片。該主控芯片是一種基于查找表結(jié)構(gòu)的現(xiàn)場可編程邏輯器件,它的基本邏輯單元是可編程的查找表。它能夠?qū)崿F(xiàn)組合邏輯的運(yùn)算,而可編程寄存器則可實(shí)現(xiàn)時(shí)序邏輯運(yùn)算。因此,只要對出租車計(jì)費(fèi)器整體設(shè)計(jì)中的輸入輸出引腳作引腳鎖定,然后重新編譯和下載,就可以進(jìn)行出租車計(jì)費(fèi)器的硬件驗(yàn)證。實(shí)驗(yàn)表明:本設(shè)計(jì)能夠?qū)崿F(xiàn)出租車計(jì)費(fèi)器的全部功能,從而證明設(shè)計(jì)是正確的。
4 結(jié)束語
本文以現(xiàn)場可編程邏輯器件(FPGA)為設(shè)計(jì)載體,以硬件描述語言(VHDL)為主要表達(dá)方式,以QuartusⅡ開發(fā)軟件和GW48EDA開發(fā)系統(tǒng)為設(shè)計(jì)工具,從而設(shè)計(jì)出具有起步定價(jià)、行駛計(jì)價(jià)和等待計(jì)價(jià)功能的出租車計(jì)費(fèi)器。結(jié)果表明,本設(shè)計(jì)能夠?qū)崿F(xiàn)所要求的全部功能。同時(shí),因?yàn)?br />FPGA芯片體積小,功耗低,價(jià)格便宜,安全可靠,稍加修改就可以改變起步的價(jià)格、每公里行駛的價(jià)格和等待時(shí)間的價(jià)格等,而且維護(hù)和升級比較方便,也很容易做成ASIC芯片,因而具有較好的應(yīng)用前景。
評論