基于CPLD/FPGA的出租車計(jì)費(fèi)器_第1頁
基于CPLD/FPGA的出租車計(jì)費(fèi)器_第2頁
基于CPLD/FPGA的出租車計(jì)費(fèi)器_第3頁
基于CPLD/FPGA的出租車計(jì)費(fèi)器_第4頁
基于CPLD/FPGA的出租車計(jì)費(fèi)器_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于CPLDFPGA的出租車計(jì)費(fèi)器摘要: 介紹了出租車計(jì)費(fèi)器系統(tǒng)的組成及工作原理,簡述了在EDA平臺(tái)上用單片CPLD器件構(gòu)成該數(shù)字系統(tǒng)的設(shè)計(jì)思想和實(shí)現(xiàn)過程。論述了車型調(diào)整模塊、計(jì)程模塊、計(jì)費(fèi)模塊、譯碼動(dòng)態(tài)掃描模塊等的設(shè)計(jì)方法與技巧。 關(guān)鍵詞: CPLDPPGA 硬件描述語言 出租車計(jì)費(fèi)器 MAX+PLUS軟件 數(shù)字系統(tǒng) 隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)的設(shè)計(jì)技術(shù)和工具發(fā)生了深刻的變化,大規(guī)??删幊踢壿嬈骷﨏PLDFPGA的出現(xiàn),給設(shè)計(jì)人員帶來了諸多方便。利用它進(jìn)行產(chǎn)品開發(fā),不僅成本低、周期短、可靠性高,而且具有完全的知識(shí)產(chǎn)權(quán)。本文介紹了一個(gè)以Altera公司可編程邏輯芯片EPM7128SLC

2、84-15為控制核心、附加一定外圍電路組成的出租車計(jì)費(fèi)器系統(tǒng)。 1 系統(tǒng)組成 基于CPLDFPGA的出租車計(jì)費(fèi)器的組成如圖1所示。各部分主要功能如下:(1)A計(jì)數(shù)器對(duì)車輪傳感器送來的脈沖信號(hào)進(jìn)行計(jì)數(shù)(每轉(zhuǎn)一圈送一個(gè)脈沖)。不同車型的車輪直徑可能不一樣,通過“設(shè)置1”對(duì)車型做出選擇,以實(shí)現(xiàn)對(duì)不同車輪直徑的車進(jìn)行調(diào)整。(2)B計(jì)數(shù)器對(duì)百米脈沖進(jìn)行累加,并輸出實(shí)際公里數(shù)的BCD碼給譯碼動(dòng)態(tài)掃描模塊。每計(jì)滿500送出一個(gè)脈沖給C計(jì)數(shù)器?!霸O(shè)置2”實(shí)現(xiàn)起步公里數(shù)預(yù)制。(3)C計(jì)數(shù)器實(shí)現(xiàn)步長可變(即單價(jià)可調(diào))的累加計(jì)數(shù),每500米計(jì)費(fèi)一次?!霸O(shè)置3”用來完成超價(jià)加費(fèi)、起步價(jià)預(yù)制等。(4)譯碼動(dòng)態(tài)掃描將路程

3、與費(fèi)用的數(shù)值譯碼后用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管。(5)數(shù)碼管顯示將公里數(shù)和計(jì)費(fèi)金額均用四位LED數(shù)碼管顯示(三位整數(shù),1位小數(shù))。 2 功能模塊設(shè)計(jì) 出租車計(jì)費(fèi)器由車型調(diào)整模塊、計(jì)程模塊、計(jì)費(fèi)模塊、譯碼動(dòng)態(tài)及掃描等模塊組成,整個(gè)系統(tǒng)采用模塊化設(shè)計(jì),首先用VHDL編寫功能模塊,然后用頂層原理圖將各功能模塊連接起來。 21 車型調(diào)整模塊 出租車車型并非單一,各個(gè)車型的輪胎直徑亦有所不同。據(jù)調(diào)查統(tǒng)計(jì),現(xiàn)行出租車輪胎直徑大致有四種,直徑分別為520mm、540mm、560mm和580mm。若要使不同車型的出租車每行駛一百米均送出一個(gè)脈沖,可通過設(shè)置“可預(yù)制分頻器”的系數(shù)來完成。根據(jù)上述車輪直徑計(jì)算出的分

4、頻系數(shù)分別為61、59、57和55。預(yù)制數(shù)據(jù)受兩個(gè)車型設(shè)置開關(guān)控制,DIP開關(guān)狀態(tài)與車輪直徑對(duì)應(yīng)關(guān)系如表1所示(表中“1”為高電平,“0”為低電平)。 表1 車型設(shè)置 車輪直徑(mm) 520 540 560 580 DIP開關(guān)(兩位) 00 01 10 11 在參數(shù)預(yù)制中,使用With_Select語句(查表法)做分頻選擇: with cartype select typecounter9 or datal(4)1then datal(3 downto 0):datal(3 downto 0)“0110”; datal(8 downto 5):datal(8 downto 5)1; end

5、if; 其中,data(4)為半進(jìn)位標(biāo)志?!捌鸩絻r(jià)格”和“超價(jià)加費(fèi)”設(shè)置參數(shù)分別如表3和表4所示。計(jì)費(fèi)模塊(以下簡稱MONEY)封裝見圖4。 表3 起步價(jià)格設(shè)置 起步價(jià)格(元) 1.2 1.6 2.0 2.4 2.8 3.2 3.6 DIP開關(guān)(3位) 001 010 011 100 101 110 111 表4 超價(jià)加費(fèi)設(shè)置 超價(jià)加費(fèi)(元) 10.0 15.0 20.0 25.0 DIP開關(guān)(2位) 00 01 10 11 24 顯示模塊 顯示模塊由七段LED數(shù)碼管譯碼和動(dòng)態(tài)掃描顯示兩部分組成。 241 七段LED數(shù)碼管譯碼 本次設(shè)計(jì)采用的是共陰極七段數(shù)碼管,根據(jù)16進(jìn)制數(shù)和七段顯示段碼表的

6、對(duì)應(yīng)關(guān)系,用VHDL的With_Select或When_Else語句可方便實(shí)現(xiàn)它們的譯碼。 242 動(dòng)態(tài)掃描顯示 動(dòng)態(tài)掃描是利用人眼的視覺暫留原理,只要掃描頻率不小于24Hz,人眼就感覺不到顯示器的閃爍。本系統(tǒng)24Hz的掃描脈沖由相應(yīng)的外圍電路提供。動(dòng)態(tài)掃描電路設(shè)計(jì)的關(guān)鍵在于位選信號(hào)要與顯示的數(shù)據(jù)在時(shí)序上一一對(duì)應(yīng),因此電路中必須提供同步脈沖信號(hào)。這里采用八進(jìn)制計(jì)數(shù)器提供同步脈沖,VHDL程序段如下: cIkl_label:PROCESS(scp) BEGIN IF scpvent and scp=1THEN count=count+1; END IF; END PROCESS clkl_lab

7、el; 顯示數(shù)據(jù)的選擇由計(jì)數(shù)器控制,VHDL程序段如下: temp=counterl when count=“000”else counter4 when count=“011”else milel when count=“100”else mile4 when count=“111”; 位選信號(hào)時(shí)序仿真如圖3所示。從時(shí)序仿真圖和上述程序可以看出,位選信號(hào)和要顯示的數(shù)據(jù)實(shí)現(xiàn)了同步。 動(dòng)態(tài)掃描電路中小數(shù)點(diǎn)的顯示無法在譯碼電路中完成。由于小數(shù)點(diǎn)的位置是固定的,因此可由計(jì)數(shù)器提供的同步信號(hào)產(chǎn)生另一信號(hào)控制DP。VHDL程序?qū)崿F(xiàn)如下: if (count:“101”or count=“001”)the

8、n data(0)1; else data(0)0; end if; 顯示模塊(以下簡稱SHOW)封裝見圖4。此模塊中應(yīng)用了兩個(gè)過程,在過程內(nèi)程序順序執(zhí)行,其中第一個(gè)過程觸發(fā)第二個(gè)過程。 3 系統(tǒng)綜合 31 模塊聯(lián)調(diào) 各個(gè)功能子模塊設(shè)計(jì)完成后,利用MAXPLUS的圖形編輯器(Graphic Editor)將各功能子模塊(sym)進(jìn)行連接。由于MILE模塊中存在毛刺,故不能直接與后級(jí)相連,通過對(duì)輸出脈沖信號(hào)加門電路延時(shí),再與原始信號(hào)相“與”的方法即可消除毛刺。系統(tǒng)頂層原理圖如圖4所示。 芯片管腳定義可以直接用編輯pin文件或在FloorPlan Editor下進(jìn)行。完成管腳定義后選擇器件(EPM

9、7128SIC8415),編譯后生成sof、pof及報(bào)告文件rpt。查看報(bào)告文件可得到器件管腳的利用情況及器件內(nèi)部資源的使用情況。通過更換適當(dāng)?shù)钠骷蛊滟Y源配置達(dá)到最優(yōu)。選擇器件的一般原則是系統(tǒng)所使用的資源不要超過器件資源的80,若超過90,系統(tǒng)功耗將增大,工作不穩(wěn)定。從本次設(shè)計(jì)器件部分報(bào)告中得知:輸入、輸出管腳各用16只,芯片資源利用率僅為51,具有較大的擴(kuò)展空間。 32 硬件設(shè)計(jì)說明 本次設(shè)計(jì)的出租車計(jì)費(fèi)器計(jì)數(shù)脈沖CP來自車輪轉(zhuǎn)速傳感器(干簧管),脈沖經(jīng)器件內(nèi)部整形后送計(jì)數(shù)器;動(dòng)態(tài)掃描脈沖由外圍電路給出;系統(tǒng)使用整流、濾波、降壓后的出租車電源供電;由于CPLDFPGA的驅(qū)動(dòng)能力有限,為了增強(qiáng)數(shù)碼管的亮度,提高系統(tǒng)的可靠性,設(shè)計(jì)中在LED驅(qū)動(dòng)和位驅(qū)動(dòng)上分別增加了電流驅(qū)動(dòng)器件ULN2803和2SCl015。 現(xiàn)場實(shí)驗(yàn)表明:該計(jì)費(fèi)器實(shí)現(xiàn)了按預(yù)制參數(shù)自動(dòng)計(jì)費(fèi)(最大計(jì)費(fèi)金額為9999元)、自動(dòng)計(jì)程(最大計(jì)程公里數(shù)為9999公里)等功能;能夠?qū)崿F(xiàn)起步價(jià)、每公里收費(fèi)、車型及加費(fèi)里程的參數(shù)預(yù)制(如:起步價(jià)500元;3公里后,120元公里;計(jì)費(fèi)超過1500元,每公里加收50的車費(fèi)等),且預(yù)置參數(shù)可調(diào)范圍大。由于采用了CPLDFPGA大規(guī)??删幊踢壿嬈骷?,整機(jī)功耗小、抗干擾能力強(qiáng)、系統(tǒng)穩(wěn)定、工作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論