999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的出租車計費系統設計

2021-07-19 22:41:52張炯陳初俠操曉思徐甫歐陽凱
電腦知識與技術 2021年13期

張炯 陳初俠 操曉思 徐甫 歐陽凱

摘要:該文基于FPGA芯片EP1K30QC208-2進行了出租車計費系統設計。首先從設計要求出發,將出租車計費系統分成多個子電路模塊并用Verilog HDL語言對其進行設計,然后調用已設計好的各子電路模塊采用原理圖方式進行頂層電路設計,最后將設計好的頂層電路下載到FPGA芯片中進行硬件驗證。實驗結果表明,所設計的出租車計費系統能動態顯示出租車的行駛里程、等待時間和計費金額,具有一定的實用價值。

關鍵詞:出租車計費;FPGA;Verilog HDL

中圖分類號:TP29? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)13-0093-03

眾所周知,出租車在我們的生活中承擔著非常重要的角色,一個具有良好性能的出租車計費系統不僅有助于加強行業管理,還可以減少乘客與司機之間的糾紛[1]。出租車計費系統可以采用模擬電路和數字電路來實現,這種設計方法弊端是整體電路較復雜,而且出現故障時調試比較困難。出租車計費系統也可以采用單片機來實現[2],但由于計費系統經常需要根據油價進行計費標準的相應更改,如果采用單片機,需要每次更改計費標準后再次燒錄程序至單片機,費時費力[3]。因此對出租車計費系統的更新換代迫在眉睫。

隨著大規模可編程邏輯器件的出現,基于FPGA設計的出租車計費系統逐漸顯示其強大的性能,不僅具有很高的可移植性,而且需要更改電路時非常方便,如果計費標準變化,可以實現現場更新[3]。本文以現場可編程邏輯器件(FPGA)為設計載體,以硬件描述語言(Verilog HDL)為主要表達方式,以Quartus Ⅱ開發軟件和ZY11EDA13BE開發系統為設計工具設計了一種能動態顯示出租車計程、計時、計費的系統。

1? 出租車計費系統設計要求

本文以安徽省巢湖市出租車計價標準為例來進行設計。巢湖市出租車計價標準如下:1)出租車起步開始計費,起步價為6元,車行駛2km以內,只收取起步價。2)當行駛公里數超過2km而少于5km時,超出2km的路程每千米收費為1.6元。3)當行駛公里數超過5km時,超出5km的路程每千米收費加收50%,即為2.4元。4)當遇到紅燈或者客戶需要停車等待時,1分鐘內免費,滿1分鐘后,每分鐘收取0.2元。5)出租車夜間行駛(22:00-次日5:00)起步價、行駛公里租價加收20%夜間補貼。

為了方便出租車計費系統的模擬,本出租車計費系統除了實現以上計費功能外,還包含以下要求:1)設置計費暫停按鈕,若計費系統收到暫停命令,則不計費,車費保持不變。2)設置計費復位按鈕,若計費系統收到復位命令,則車費清零。3)能動態顯示出租車行駛的里程,范圍為00.0~99.0km。4)能動態顯示等待時間,范圍為0~9min。5)能動態顯示車費總和,范圍為000.0~999.9元。

2? 出租車計費系統總體設計方案

出租車計費系統設計框圖如圖1所示。根據設計要求,將出租車計費系統設計分為三部分,分別是外部輸入、控制模塊、顯示模塊[4]。外部輸入包含掃描時鐘、車輪脈沖、計時時鐘、白天信號、行駛信號、使能信號、復位信號。控制模塊包含分頻模塊、計程模塊、計時模塊、計費模塊和轉換模塊。

3? 出租車計費系統設計

本次設計采用層次化的設計方法,分底層各子模塊電路設計和頂層電路設計。設計過程中,通過Quartus Ⅱ軟件平臺利用Verilog HDL語言設計和原理圖設計相結合的方式來進行,其中各子模塊電路用Verilog HDL語言設計方式來實現,頂層電路通過調用各子模塊用原理圖設計方式來實現。

3.1? 底層電路設計

底層電路有八個子電路模塊,分別是50分頻模塊、60分頻模塊、計程模塊、計時模塊、計費模塊、轉換模塊1、轉換模塊2和動態顯示模塊。下面分別對它們進行介紹。

3.1.1? 50分頻模塊

該模塊的功能是對車輪傳感器傳送的脈沖信號進行計數,每轉一圈計一次數。為方便計算我們設定車輪轉一圈為2米,轉50圈剛好為100米,即0.1公里。因此這里我們選用一個50分頻的分頻器,當計數從0開始計到24時,輸出信號進行翻轉,其仿真波形如圖2所示。從波形可以看出,輸出信號為一個脈沖周期時,剛好計數記了50次。

3.1.2? 60分頻模塊

為了便于計算出租車行駛過程中的等待時間,我們引入60分頻模塊電路,其輸入時鐘為1hz,輸出信號為60秒的周期信號。由于此分頻器的輸出信號周期為60秒,所以輸出信號每來一個脈沖剛好就是一分鐘,很好地為計時模塊服務工作。如圖3所示為60分頻模塊仿真波形圖,從波形可以看出,每輸入一個時鐘就給其進行計數,當計數到29時,輸出信號進行翻轉,剛好計數60次就可得一個完整的輸出脈沖。

3.1.3? 計程模塊

計程模塊用來計量出租車行駛的總里程,計值范圍為0-99.9km。為了設計方便,計值范圍我們取0-999,那個小數點我們可以從動態顯示模塊加上,由此999就可變成99.9。如圖4所示為計程模塊仿真波形圖,復位信號rst、計程時鐘clk、使能信號en和行駛信號run為輸入信號,里程信號q為輸出信號。當復位信號rst有效時(高電平有效),總里程為0;當使能信號en和行駛信號run有效時,每來一個計程時鐘clk就累加計數一次,一直計到999;當使能信號en無效或行駛信號run無效時,不進行計數,此時計程輸出保持里程不變。

3.1.4? 計時模塊

計時模塊用來計量出租車在行駛過程中的等待時間,計值范圍為0-9分鐘。如圖5所示為計時模塊仿真波形圖,復位信號rst、計程時鐘clk、使能信號en和行駛信號run為輸入信號,等待時間信號waittime為輸出信號。當復位信號rst有效時,計時為0;當使能信號en有效而行駛信號run無效時,每來一個計時時鐘clk就累加計數一次,一直計到9;當使能信號en無效或行駛信號run有效時,不進行計數,此時計時輸出保持等待時間不變。

3.1.5? 計費模塊

計費模塊用來計算出租車開始運行到結束所產生的總體費用,計值范圍為0-999.9元。為了設計方便,計值范圍我們取0-9999,那個小數點我們可以從動態顯示模塊加上。如圖6所示為計費模塊仿真波形圖,復位信號rst、使能信號en、白天信號baihei、里程信號km和等待時間信號waittime為輸入信號,總費用信號costout為輸出信號。當復位信號rst有效時,總計費為0;當使能信號en無效時,總費用保持不變;當使能信號en有效時,總費用會根據白天黑夜信號baihei、里程信號km和等待時間信號waittime的值而確定。例如,當出租車在白天時分運行時,行駛公里為7km,等待時間為5分鐘,則總費用為6+(5-2)×1.6+(7-5)×2.4+5×0.2=16.6元;當出租車在晚上時分運行時,行駛公里為7km,等待時間為5分鐘,則總費用為[6+(5-2)×1.6+(7-5)×2.4]×(1+0.2)+5×0.2=19.7元。從圖6可以看出,在140ns-160ns之間,仿真結果數值與理論計算值一致,說明設計正確。

3.1.6? 轉換模塊

轉換模塊是為了把計程模塊和計費模塊輸出的多位十進制數轉換成便于數碼管顯示的多個一位十進制數。如圖7所示為轉換模塊仿真波形圖,圖7(a)是計程模塊輸出里程的轉換結果,圖7(b)是計費模塊輸出費用的轉換結果。從7(a)可以看出,當里程為11.2km時,輸出結果為1、1、2;從7(b)可以看出,當費用為103.7元時,輸出結果為1、0、3、7,仿真結果與設想一致。

3.1.7? 動態顯示模塊

動態顯示模塊通過掃描時鐘來動態顯示出租車行駛里程數、等待時間數和總體費用,其仿真波形如圖8所示。輸入信號clk32768hz是頻率為32768hz的掃描信號;輸入信號kmbai、kmshi、kmge為出租車里程的十位、個位和十分位;輸入信號waittime為出租車所等待的時間;輸入信號bcd3、bcd2、bcd1、bcd0為出租車計費的百位、十位、個位和十分位。

輸出信號sel為數碼管掃描片選信號,當sel=000時,最右邊的數碼管點亮,此時“4”會被點亮,以此類推,當sel=111時,最左邊的數碼管點亮,此時“1”會被點亮[5]。輸出信號dataout為7段數碼管的顯示結果,用8位二進制數表示,最左邊一位用于點亮數碼管上的小數點。例如,當sel=000時,dataout=01100110,此時顯示“4”的數碼管會被點亮;當sel=001時,dataout=10000110,此時顯示“1.”的數碼管會被點亮,由于dataout的最高位為1,所以這里顯示了一個小數點。

3.2? 頂層電路設計

出租車頂層電路設計采用原理圖輸入方式進行,通過調用生成的各底層子模塊電路符號,并將它們做適當連接就可實現頂層電路的設計,其電路如圖9所示。

4? 出租車計費系統的硬件驗證

本設計選用湖北眾友科技實業股份有限公司生產的ZY11EDA13BE實驗箱作為硬件驗證平臺,同時選用Altera公司的EP1K30QC208-2作為FPGA芯片。只要對出租車計費系統頂層文件的輸入輸出引腳進行鎖定,然后重新編譯并下載到FPGA芯片中,就可以進行出租車計費系統的硬件測試驗證[6]。

硬件驗證結果如圖10所示,(a)、(b)分別為出租車白天和夜間行駛的計費結果。圖(a)中,出租車行駛里程為4.8km,等待時間為4分鐘,根據巢湖市出租車計費標準可得出租車的總費用理論值為6+(4.8-2)×1.6+4×0.2=11.28元;圖(b)中,出租車行駛里程為15.4m,等待時間為5分鐘,根據巢湖市出租車計費標準可得出租車的總費用理論值為[6+(5-2)×1.6+(15.4-5)×2.4]×(1+0.2)+5×0.2=43.912元。由于費用顯示精度為0.1元,所以小數點后面的第二位和第三位應省去,即費用分別應為11.2元、43.9元,從圖10可看出這與實驗硬件驗證結果一致。

5 結束語

本文基于FPGA芯片采用層次化的設計方法設計出租車計費系統。設計過程中,首先將出租車計費系統分成多個子電路模塊;然后通過Quartus Ⅱ軟件平臺利用Verilog HDL語言設計各子電路模塊并對其進行仿真分析;接著把設計好的各子電路模塊生成元件符號并調用它們用原理圖設計方式設計出租車計費系統頂層電路;最后把已設計好的頂層電路下載到FPGA芯片中對其進行硬件測試驗證。實驗結果表明,本出租車計費系統能正確的動態顯示出租車的行駛里程、等待時間和計費金額,設計達到預定目標。

參考文獻:

[1] 吳承琦,孫培生.出租汽車計價器發展歷程回顧、感悟及展望[J].中國計量,2008(3):18-21.

[2] 張立,張光新,柴磊,等.FPGA在多功能計費器系統中的應用[J].儀器儀表學報,2005(S2):735-737.

[3] 任立民.基于FPGA的出租車計費系統設計[J].南陽理工學院學報,2019,11(2):49-52.

[4] 陳乾君,葉冬.基于CPLD的出租車計費器系統的研究與設計[J].物聯網技術,2013,3(6):23-24,27.

[5] 陳初俠,袁濤,曾奧運,等.基于EDA技術的汽車速度表設計[J].綏化學院學報,2018,38(5):149-151.

【通聯編輯:朱寶貴】

主站蜘蛛池模板: 亚洲 欧美 日韩综合一区| 99热这里只有精品5| 97国产精品视频自在拍| 亚洲欧美成人综合| V一区无码内射国产| 亚洲人成在线精品| 欧美成人亚洲综合精品欧美激情| 日韩欧美国产精品| 高清乱码精品福利在线视频| 亚洲男人天堂网址| 91精品国产麻豆国产自产在线| 国产免费a级片| 亚洲 日韩 激情 无码 中出| 午夜啪啪网| 欧美成人怡春院在线激情| 国产精品性| 久爱午夜精品免费视频| 日本不卡在线视频| 香蕉久久国产超碰青草| AV无码一区二区三区四区| 国产美女人喷水在线观看| 国产性生大片免费观看性欧美| 77777亚洲午夜久久多人| 亚洲精品无码成人片在线观看| 伊人久热这里只有精品视频99| 亚洲综合二区| 国产h视频免费观看| 亚洲天堂视频在线免费观看| 欧美日一级片| 99精品在线视频观看| 欧美精品1区2区| 狠狠v日韩v欧美v| 亚洲人成在线免费观看| 欧美天天干| 美女一区二区在线观看| 国产男人天堂| 久青草网站| 欧洲在线免费视频| 国产精品欧美激情| 全部毛片免费看| 欧美高清三区| 亚洲一区二区三区国产精华液| 久久精品国产精品国产一区| 欧美第一页在线| 成人福利在线看| 亚洲天堂首页| 亚洲码一区二区三区| 国产噜噜在线视频观看| 在线观看91精品国产剧情免费| 亚洲浓毛av| 婷婷亚洲天堂| 亚洲第一页在线观看| 欧美成人aⅴ| 国产99精品视频| 亚洲自拍另类| 欧美性猛交xxxx乱大交极品| 久久人妻xunleige无码| 国产亚洲精品va在线| 日本欧美在线观看| 欧美精品1区| 成人国产精品2021| 日本成人福利视频| 国产精品成人一区二区不卡| 伦精品一区二区三区视频| 91福利片| 91啦中文字幕| 国产精品爆乳99久久| 国产精品三级av及在线观看| 夜夜操国产| 午夜国产大片免费观看| 一区二区自拍| 欧美亚洲欧美区| 日本一区二区三区精品AⅤ| 亚洲天堂自拍| 日本少妇又色又爽又高潮| 国产精品久久久久久久伊一| 国产91丝袜在线播放动漫| 久久综合色播五月男人的天堂| 日韩欧美国产中文| 成人中文在线| 中文字幕在线观看日本| 国产精品视频久|