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