出租車(chē)計(jì)費(fèi)方案解析
引言
本文引用地址:http://www.eepw.com.cn/article/190376.htmEDA使用戶(hù)在無(wú)需實(shí)際芯片、電路板和儀器儀表的情況下進(jìn)行電路設(shè)計(jì)和分析;采用在系統(tǒng)編程技術(shù),在現(xiàn)場(chǎng)對(duì)系統(tǒng)進(jìn)行邏輯重構(gòu)和升級(jí),實(shí)現(xiàn)硬件設(shè)計(jì)軟件化。
EDA技術(shù)以可編程邏輯器件FPGA和CPLD及其開(kāi)發(fā)系統(tǒng)為硬件平臺(tái),以EDA開(kāi)發(fā)軟件如Max+PlusⅡ?yàn)殚_(kāi)發(fā)工具,基于邏輯功能模塊的層次化設(shè)計(jì)方法設(shè)計(jì)數(shù)字系統(tǒng)。Max+PlusⅡ設(shè)計(jì)可采用原理圖、硬件描述語(yǔ)言(VHDL)等多種輸入方式,并支持這些文件的任意混合設(shè)計(jì)。對(duì)于不同層次,可采用不同的輸入方式進(jìn)行設(shè)計(jì)。由于VHDL擅長(zhǎng)描述模塊的邏輯功能,所以在對(duì)底層模塊設(shè)計(jì)中,常采用VHDL進(jìn)行描述,而原理圖則擅長(zhǎng)描述模塊間的連接關(guān)系,故在頂層設(shè)計(jì)中,常采用原理圖輸入方法。
出租車(chē)計(jì)費(fèi)器一般采用以單片機(jī)為核心的設(shè)計(jì)方法,設(shè)計(jì)不夠靈活方便。為此,在此介紹了采用EDA技術(shù)的層次化設(shè)計(jì)方法設(shè)計(jì)出租車(chē)計(jì)費(fèi)器的方法。即用VHDL編寫(xiě)各個(gè)功能模塊,實(shí)現(xiàn)低層設(shè)計(jì);用原理圖輸入方式描述各模塊間的關(guān)系,實(shí)現(xiàn)頂層設(shè)計(jì)。采用FPGA可編程邏輯器件為系統(tǒng)控制單元,無(wú)需添加外圍電路,更新功能僅需修改軟件。實(shí)驗(yàn)表明,該設(shè)計(jì)方法簡(jiǎn)單快捷,所設(shè)計(jì)的系統(tǒng)性能可靠。應(yīng)用該方法設(shè)計(jì)的數(shù)字電子系統(tǒng)具有很強(qiáng)的靈活性。
1 出租車(chē)計(jì)費(fèi)器功能
出租車(chē)計(jì)費(fèi)器的功能要求:
(1)實(shí)現(xiàn)出租車(chē)按行駛里程收費(fèi),起步費(fèi)為7.0元;
(2)行駛3 km后再按2元/km計(jì)費(fèi),車(chē)停時(shí)不計(jì)費(fèi);
(3)能預(yù)置起步費(fèi)和每公里收費(fèi),并能模擬汽車(chē)啟動(dòng)、停止、車(chē)速等狀態(tài)。
根據(jù)VHDL特點(diǎn),設(shè)計(jì)者不再需要考慮選擇固定功能的標(biāo)準(zhǔn)芯片,而是從實(shí)現(xiàn)系統(tǒng)功能與性能出發(fā)來(lái),建立出租車(chē)計(jì)費(fèi)器系統(tǒng)模塊,如圖1所示。
2 出租車(chē)計(jì)費(fèi)器的設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)分底層和頂層2個(gè)層次設(shè)計(jì),底層設(shè)計(jì)采用VHDL編寫(xiě)各個(gè)功能模塊,頂層設(shè)計(jì)采用原理圖方式描述各模塊間的連接。
2.1 底層文件的設(shè)計(jì)
底層模塊包括:出租車(chē)車(chē)速控制模塊;計(jì)費(fèi)器里程計(jì)數(shù)模塊;計(jì)費(fèi)器計(jì)費(fèi)計(jì)數(shù)模塊3個(gè)模塊。
以出租車(chē)車(chē)速控制模塊為例介紹。
出租車(chē)車(chē)速控制模塊用于控制出租車(chē)的車(chē)速。圖1中,當(dāng)起/停開(kāi)關(guān)及清零信號(hào)RESET都為“1”時(shí),汽車(chē)啟動(dòng)就開(kāi)始進(jìn)入里程計(jì)數(shù)和計(jì)費(fèi)器工作狀態(tài)。通過(guò)改變“車(chē)速選擇”端的輸入值可以控制汽車(chē)行駛快慢。用CLK6作為車(chē)速控制模塊的時(shí)鐘輸入,CLOCK6作為輸出,用A、B作為車(chē)速選擇變量,分別取值從“00”→“01”→“10”→“11”時(shí),車(chē)速越來(lái)越塊。其VHDL程序代碼如下:
以上程序代碼經(jīng)過(guò)編譯后生成相應(yīng)模塊符號(hào),如圖2所示,供頂層設(shè)計(jì)時(shí)調(diào)用。
程序經(jīng)過(guò)時(shí)序仿真后的波形,如圖3所示。
標(biāo)簽: 出租車(chē) 計(jì)費(fèi) 方案