基于FPGA的出租車計(jì)價(jià)系統(tǒng)設(shè)計(jì)
Fenpin模塊是將輸入端clk_240(240 Hz)的時(shí)鐘信號(hào)進(jìn)行分頻,分別得到f_16(16 Hz),f_10(10 Hz),f_1(1 Hz)的信號(hào),用于計(jì)量時(shí)的1.6元,1元,0.1元。
Jiliang模塊用來計(jì)時(shí)和計(jì)程,fin為汽車的里程脈沖信號(hào),當(dāng)fin為高電平時(shí),以記錄的f_1的脈沖個(gè)數(shù)作為行駛的公里里程數(shù),start是汽車計(jì)量開始信號(hào),stop為等待信號(hào)。f_1是計(jì)量驅(qū)動(dòng)信號(hào),當(dāng)f_1的脈沖到來,如果fin=1,記錄f_1的個(gè)數(shù)(即行駛公里數(shù)),當(dāng)行駛超過3 km,ent0輸出為1。當(dāng)stop為高電平時(shí),記錄f_1的脈沖個(gè)數(shù),60個(gè)脈沖為1 min,當(dāng)超過3 min時(shí),ent1輸出為1。仿真波形如圖4所示。本文引用地址:http://www.ex-cimer.com/article/190206.htm
Kongzhi模塊主要根據(jù)jiliang模塊的en1和en0的不同輸出信號(hào)選擇不同的輸出頻率供jifei模塊計(jì)費(fèi),en1=1時(shí)f=10 Hz,en0=1時(shí)f=16 Hz。
Jifei模塊實(shí)際就是一個(gè)四位十進(jìn)制加法器,仿真圖形如圖5所示,在taxi模塊中,它根據(jù)不同的輸入脈沖頻率對脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)。jil iang模塊每計(jì)一次數(shù),jifei模塊就實(shí)現(xiàn)16次或10次脈沖計(jì)數(shù),即實(shí)現(xiàn)超時(shí)時(shí)的1元/min,超里程時(shí)的1.6元/km的收費(fèi)。
對整個(gè)taxi模塊進(jìn)行仿真,結(jié)果如圖6所示,由圖中可知,當(dāng)stop為高電平時(shí),汽車行駛了km1km0=35 km,計(jì)費(fèi)cha3cha2cha1cha0為05 92,即59.2元,與8+(35-3)x 1.6=59.2元一致,圖中當(dāng)?shù)却^3 min時(shí),價(jià)格按1元/min計(jì)費(fèi),仿真結(jié)果正確。
3.1.2 動(dòng)態(tài)掃描顯示部分
此模塊包含mo8計(jì)數(shù)器、mux8_1(8選1選擇器)、di_led七段數(shù)碼顯示譯碼器3個(gè)子模塊。
mo8計(jì)數(shù)器:輸入信號(hào)clk為系統(tǒng)輸入的240 Hz基準(zhǔn)時(shí)鐘,輸出a為模8的二進(jìn)制碼。
mux8_1模塊是根據(jù)輸入信號(hào)c[2..0]的地址碼000至111分別對應(yīng)了cha3,cha2,ch1,ch0,km1,km0,min1,min0八個(gè)四位BCD碼,dp為小數(shù)點(diǎn)指示信號(hào),在計(jì)費(fèi)的第二位數(shù)字上帶有小數(shù)點(diǎn),仿真波形如圖7所示。
評(píng)論