基于CPLD/FPGA的出租車計費器
摘要:介紹了出租車計費器系統(tǒng)的組成及工作原理,簡述了在EDA平臺上用單片CPLD器件構(gòu)成該數(shù)字系統(tǒng)的設計思想和實現(xiàn)過程。論述了車型調(diào)整模塊、計程模塊、計費模塊、譯碼動態(tài)掃描模塊等的設計方法與技巧。隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)的設計技術(shù)和工具發(fā)生了深刻的變化,大規(guī)?删幊踢壿嬈骷﨏PLD/FPGA的出現(xiàn),給設計人員帶來了諸多方便。利用它進行產(chǎn)品開發(fā),不僅成本低、周期短、可靠性高,而且具有完全的知識產(chǎn)權(quán)。本文介紹了一個以Altera公司可編程邏輯芯片EPM7128SLC84-15為控制核心、附加一定外圍電路組成的出租車計費器系統(tǒng)。
1 系統(tǒng)組成
基于CPLD/FPGA的出租車計費器的組成如圖1所示。各部分主要功能如下:(1)A計數(shù)器對車輪傳感器送來的脈沖信號進行計數(shù)(每轉(zhuǎn)一圈送一個脈沖)。不同車型的車輪直徑可能不一樣,通過“設置1”對車型做出選擇,以實現(xiàn)對不同車輪直徑的.車進行調(diào)整。(2)B計數(shù)器對百米脈沖進行累加,并輸出實際公里數(shù)的BCD碼給譯碼動態(tài)掃描模塊。每計滿500送出一個脈沖給C計數(shù)器。“設置2”實現(xiàn)起步公里數(shù)預制。(3)C計數(shù)器實現(xiàn)步長可變(即單價可調(diào))的累加計數(shù),每500米計費一次!霸O置3”用來完成超價加費、起步價預制等。(4)譯碼/動態(tài)掃描將路程與費用的數(shù)值譯碼后用動態(tài)掃描的方式驅(qū)動數(shù)碼管。(5)數(shù)碼管顯示將公里數(shù)和計費金額均用四位LED數(shù)碼管顯示(三位整數(shù),1位小數(shù))。
2 功能模塊設計
出租車計費器由車型調(diào)整模塊、計程模塊、計費模塊、譯碼動態(tài)及掃描等模塊組成,整個系統(tǒng)采用模塊化設計,首先用VHDL編寫功能模塊,然后用頂層原理圖將各功能模塊連接起來。
2.1 車型調(diào)整模塊
出租車車型并非單一,各個車型的輪胎直徑亦有所不同。據(jù)調(diào)查統(tǒng)計,現(xiàn)行出租車輪胎直徑大致有四種,直徑分別為520mm、540mm、560mm和580mm。若要使不同車型的出租車每行駛一百米均送出一個脈沖,可通過設置“可預制分頻器”的系數(shù)來完成。根據(jù)上述車輪直徑計算出的分頻系數(shù)分別為61、59、57和55。預制數(shù)據(jù)受兩個車型設置開關(guān)控制,DIP開關(guān)狀態(tài)與車輪直徑對應關(guān)系如表1所示(表中“1”為高電平,“0”為低電平)。
表1 車型設置
在參數(shù)預制中,使用With_Select語句(查表法)做分頻選擇:
with cartype select
typecounter
【基于CPLD/FPGA的出租車計費器】相關(guān)文章:
5.基于FPGA的DCT域圖像水印算法設計及其優(yōu)化技術(shù)研究