国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2011-06-09 10:14姚利彬
電子設(shè)計(jì)工程 2011年23期
關(guān)鍵詞:總費(fèi)用計(jì)費(fèi)計(jì)時(shí)

姚利彬,許 勇,潘 明

(桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院,廣西 桂林 541004)

隨著出租車行業(yè)的發(fā)展,出租車在交通運(yùn)輸中承擔(dān)著重要的角色,具有良好性能的計(jì)價(jià)器對加強(qiáng)行業(yè)管理以及減少乘客與司機(jī)之間的糾紛是必不可少的。采用模擬電路和數(shù)字電路設(shè)計(jì)的計(jì)費(fèi)系統(tǒng)整體電路較復(fù)雜,器件多,故障率高且難調(diào)試。目前市場上的出租車計(jì)費(fèi)器主要采用的都是利用微控器如89C51、μPD78F0034單片機(jī)設(shè)計(jì)的計(jì)費(fèi)器[1]。

傳統(tǒng)的出租車計(jì)費(fèi)器由于發(fā)展使用了十幾年,在穩(wěn)定性、成本、以及使用習(xí)慣上都具有一定優(yōu)勢,但在運(yùn)行過程中系統(tǒng)不是很穩(wěn)定,有時(shí)會(huì)造成死機(jī)的現(xiàn)象。而且基于單片機(jī)設(shè)計(jì)的計(jì)費(fèi)器產(chǎn)品更新周期長,大部分功能可用單片機(jī)來實(shí)現(xiàn),但是單片機(jī)程序是不通用的,不同的芯片有不同的指令集,因此設(shè)計(jì)研發(fā)比較困難,周期長。如果系統(tǒng)設(shè)計(jì)的不好,則系統(tǒng)不穩(wěn)定,且靈活度不夠,不易實(shí)現(xiàn)功能復(fù)雜的設(shè)計(jì)。再者,計(jì)價(jià)方式也不夠不靈活,每次計(jì)價(jià)標(biāo)準(zhǔn)的修改都需要將芯片重新燒錄,使得每次調(diào)價(jià)都需要耗費(fèi)大量的人力物力,很難達(dá)到目前油價(jià)聯(lián)動(dòng)的需求[2-3]。這些都體現(xiàn)了目前對出租車計(jì)費(fèi)器市場更新?lián)Q代的需求。比較而言,基于FPGA的計(jì)費(fèi)系統(tǒng)不像微控制器那樣會(huì)漏掉某些特性,它可以編程,并根據(jù)需要重新編程,快速完成原型開發(fā),更迅速地將產(chǎn)品推向市場[4]。如果需求變化了,還可以在現(xiàn)場對其進(jìn)行更新。

本設(shè)計(jì)采用Alter的CycloneⅢ系列EP3C5E144C8型芯片,利用VHDL語言,實(shí)現(xiàn)對出租車的多功能計(jì)費(fèi)器設(shè)計(jì),采用LCD1602液晶輸出顯示,如需要,只需重新鎖定輸出端口,便可外接七段數(shù)碼管顯示。該計(jì)費(fèi)系統(tǒng),不但能實(shí)現(xiàn)基本的計(jì)費(fèi),而且還能根據(jù)行駛的路程、總費(fèi)用等調(diào)節(jié)行駛單價(jià)。最后將可執(zhí)行文件下載到康芯公司的KX_7C CycloneⅢ系列EP3C5E144C8型實(shí)驗(yàn)開發(fā)系統(tǒng)上進(jìn)行驗(yàn)證。經(jīng)實(shí)際電路驗(yàn)證,該系統(tǒng)可以實(shí)現(xiàn)通過程序設(shè)置起步價(jià)格、行駛單價(jià)、等待計(jì)費(fèi)價(jià)格,并且計(jì)費(fèi)正常,達(dá)到了預(yù)先設(shè)計(jì)要求。

1 出租車計(jì)費(fèi)器的系統(tǒng)要求

出租車計(jì)費(fèi)系統(tǒng)應(yīng)有的功能有:1)車起步開始計(jì)費(fèi),起步價(jià)為7元,車行駛5 km以內(nèi),只收取起步價(jià)。2)車行駛超過5 km后,每千米收費(fèi)1.6元,在起步價(jià)的基礎(chǔ)上每行駛1 km累加計(jì)費(fèi)。3)當(dāng)總費(fèi)用達(dá)到或超過100元時(shí)或行駛公里數(shù)超過50 km后,每千米收費(fèi)上升為2.4元。4)當(dāng)遇到等紅燈或客戶需要停車等待時(shí),前5分鐘等待時(shí)間計(jì)價(jià)器不計(jì)費(fèi),超出5分鐘后的等待時(shí)間按每60 s收費(fèi)0.8元計(jì)費(fèi)。5)若計(jì)價(jià)器收到暫停命令,則不計(jì)費(fèi),車費(fèi)保持不變。若收到停止命令,則車費(fèi)清零,計(jì)費(fèi)標(biāo)準(zhǔn)返回初始值,等待下一次計(jì)費(fèi)開始。

要求本系統(tǒng)能夠?qū)崿F(xiàn)計(jì)費(fèi)器預(yù)置功能,即能夠預(yù)置起步價(jià)、單價(jià)、漲價(jià)里程、漲價(jià)費(fèi)用、計(jì)時(shí)收費(fèi)標(biāo)準(zhǔn)等。并且可以模擬汽車行駛、暫停、停止等狀態(tài),根據(jù)不同狀態(tài)進(jìn)行計(jì)費(fèi)。以十進(jìn)制顯示租車行駛路程、收費(fèi)標(biāo)準(zhǔn)、總費(fèi)用及等待時(shí)間[5]。

2 出租車計(jì)費(fèi)系統(tǒng)的整體設(shè)計(jì)方案

從上述設(shè)計(jì)要求中可以得出出租車計(jì)費(fèi)器的系統(tǒng)結(jié)構(gòu)圖,如圖1所示。整個(gè)出租車計(jì)費(fèi)系統(tǒng)按功能主要分為分頻模塊、速度模塊、時(shí)間模塊、倒/正計(jì)時(shí)模塊、計(jì)程模塊、計(jì)費(fèi)模塊和LCD1602顯示模塊。

系統(tǒng)接收到reset信號后,總費(fèi)用變?yōu)槠鸩絻r(jià)7元,倒計(jì)時(shí)寄存器變?yōu)?5:00(5分鐘),同時(shí)其他計(jì)數(shù)器、寄存器等全部復(fù)位。

系統(tǒng)接收到start_stop信號后,首先把部分寄存器賦值,總費(fèi)用不變,通過對總費(fèi)用和總路程的判斷后單價(jià)unit_price賦值為1.6元,其他寄存器和計(jì)數(shù)器繼續(xù)保持原始狀態(tài)。

Grade信號是速度傳感器的輸入信號,本設(shè)計(jì)采用4位二進(jìn)制數(shù)來模擬輸入脈沖頻率的大小,并與速度模塊中預(yù)先設(shè)置好的速度大小進(jìn)行比較,為計(jì)程模塊提供100 m路程標(biāo)志脈沖。系統(tǒng)采用經(jīng)過分頻模塊產(chǎn)生的1 Hz和500 Hz的時(shí)鐘信號[6]。

圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure

3 具體電路模塊的功能

Key_stable模塊:通過對reset信號的采樣判斷處理,能夠?qū)eset按鍵進(jìn)行消抖處理[7-8],防止由于微小震動(dòng)而產(chǎn)生的復(fù)位信號。

Divider模塊:生成適合于本系統(tǒng)需要的500 Hz與1 Hz的時(shí)鐘信號。

Speed模塊:通過對速度信號Grade的判斷,決定變量need_100m的值。need_100m即是行進(jìn)100 m所需要的時(shí)鐘周期數(shù),當(dāng)?shù)竭_(dá)到所需的時(shí)鐘周期數(shù)后,產(chǎn)生一個(gè)脈沖clk_100m。

Timer模塊:在汽車啟動(dòng)后,當(dāng)遇到顧客等人、紅燈或堵車不能前進(jìn)時(shí),出租車采用計(jì)時(shí)收費(fèi)的方式。通過對速度信號Grade的判斷決定是否開始記錄時(shí)間。當(dāng)Grade為零時(shí),開始記錄時(shí)間。當(dāng)時(shí)間達(dá)到預(yù)設(shè)時(shí)長時(shí)則產(chǎn)生clk_time脈沖,并重新計(jì)時(shí)。一個(gè)clk_time脈沖相當(dāng)于等待的時(shí)間達(dá)到了計(jì)時(shí)收費(fèi)單位。本設(shè)計(jì)采用60 s的計(jì)時(shí)收費(fèi)單位。

Do_undo模塊:通過對速度信號Grade與Start_stop信號的判斷,來控制Watch模塊工作還是暫停狀態(tài)。

Watch模塊:通過對do_undo輸出信號的判斷,當(dāng)輸出1時(shí),本模塊內(nèi)的倒計(jì)時(shí)dec_watch模塊先開始工作,并使得二選一mux2_1模塊選擇倒計(jì)時(shí)顯示輸出;當(dāng)?shù)褂?jì)時(shí)到00:00時(shí),倒計(jì)時(shí)停止的同時(shí)正計(jì)時(shí)inc_watch模塊從00:00開始計(jì)時(shí),并使得mux2_1模塊選擇正計(jì)時(shí)顯示輸出。dec_watch模塊與inc_watch模塊分別由模為十和模為六的減/加法計(jì)數(shù)器構(gòu)成,其內(nèi)部系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2 Watch電路模塊內(nèi)部系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure of watch circuit module

Dff1模塊:由Watch模塊輸出的flag信號來控制Dff1的選通,當(dāng)flag=0時(shí),即還處在倒計(jì)時(shí)狀態(tài)下,dff1關(guān)閉,使得Timer模塊輸出的 clk_time不能通過 dff1傳送給Money模塊;當(dāng)在正計(jì)時(shí)狀態(tài)下,flag=1,dff1打開,使clk_time傳送給Money模塊進(jìn)行計(jì)費(fèi),這樣就實(shí)現(xiàn)了預(yù)設(shè)時(shí)間內(nèi)不收取等待時(shí)間費(fèi)用的功能[9-10]。

Kilometers模塊:由于Speed模塊傳送來的一個(gè)clk_100m信號代表行駛100 m,故通過對clk_100m計(jì)數(shù),可以獲得總行進(jìn)的距離km_cnt。

Money模塊:由兩個(gè)進(jìn)程組成。其中,一個(gè)進(jìn)程根據(jù)Kilometers模塊輸出的行駛里程判斷是否超過5 km,超過后開始按每公里進(jìn)行收費(fèi),當(dāng)行駛公里數(shù)大于50 km或者總費(fèi)用大于100后,則單價(jià)unit_price由原來的1.6元/km漲為2.4元/km;第二個(gè)進(jìn)程在每個(gè)時(shí)鐘周期檢測Speed模塊的輸出信號clk_100m是否累積到10個(gè)(即1 km),同時(shí)檢測Dff1模塊的輸出信號clk_time_ok的值。當(dāng)行駛公里超過5 km且clk_100m累積到10個(gè)后總費(fèi)用加上行駛單價(jià),當(dāng)檢測到clk_time_ok=1時(shí),總費(fèi)用上加上計(jì)時(shí)收費(fèi)單價(jià)。模塊中嵌入了將二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制的B_to_BCD模塊,將行駛單價(jià)和總費(fèi)用轉(zhuǎn)化為可讀性更強(qiáng)的十進(jìn)制輸出。

LCD顯示模塊:系統(tǒng)采用字符型液晶顯示數(shù)據(jù),將行駛單價(jià)、總公里、總費(fèi)用以及等待時(shí)間在LCD上顯示。1602液晶具有體積小、外圍電路簡單、穩(wěn)定性好而且價(jià)格低廉,綜合考慮所以選用LCD1602而并沒有采用電路較為復(fù)雜的LED數(shù)碼管。但為適應(yīng)實(shí)際應(yīng)用中不同的顯示方式,在程序設(shè)計(jì)時(shí),將數(shù)據(jù)輸出格式調(diào)整為BCD碼,可以很方便地將LCD1602更換為七段LED數(shù)碼管顯示,滿足不同客戶的要求。

4 系統(tǒng)部分核心模塊的實(shí)現(xiàn)

4.1 速度Speed電路模塊

該模塊是模擬實(shí)際速度脈沖信號的模塊。通過對開始信號start_stop和速度信號grade進(jìn)行判斷,對系統(tǒng)時(shí)鐘進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到與grade值相對應(yīng)的數(shù)目時(shí)輸出一個(gè)clk_100m脈沖。Speed電路模塊仿真波形如圖3所示。

圖3 Speed電路模塊仿真波形Fig.3 Simulation waveform of Speed circuit module

仿真時(shí)采用的是100MHz的時(shí)鐘脈沖,當(dāng)reset無效且stat_stop為高電平時(shí),輸出clk_100m信號的頻率隨著grade的大小發(fā)生相應(yīng)變化。

4.2 計(jì)時(shí)Timer電路模塊

Timer模塊用于計(jì)時(shí)收費(fèi),記錄允許計(jì)費(fèi)后出租車速度為零的時(shí)間。通過對Grade信號的判斷,當(dāng)Grade=0時(shí)開始記時(shí)。當(dāng)累積時(shí)間達(dá)到預(yù)設(shè)時(shí)長,則產(chǎn)生clk_time脈沖,并重新計(jì)時(shí)。模塊的仿真波形如圖4所示。從圖中可以清楚看到,在允許計(jì)費(fèi)時(shí)段,當(dāng)Grade=0時(shí),每隔固定時(shí)間會(huì)有一個(gè)clk_time脈沖,在Grade不為零時(shí),沒有clk_time脈沖輸出。

圖4 Timer電路模塊仿真波形Fig.4 Simulation waveform of Timer circuit module

4.3 等待時(shí)間W atch電路模塊

該模塊是完成倒/正計(jì)時(shí)的功能模塊,輸入頻率為1 Hz,當(dāng)do_undo=1時(shí)開始計(jì)時(shí),當(dāng)do_undo=0時(shí)暫停計(jì)時(shí)。無論在什么狀態(tài)下,只要reset=0,則該模塊輸出為程序中設(shè)定好的05:00(5 分鐘)。

Watch電路模塊內(nèi)部是由3部分構(gòu)成的,第一部分就是倒計(jì)時(shí)鐘dec_watch模塊,該電路根據(jù)對信號do_undo的判斷,開啟倒計(jì)時(shí)工作,當(dāng)?shù)褂?jì)到00:00時(shí),輸出端flag置1,并反饋給dec_watch模塊,使其停止工作。dec_watch電路模塊仿真波形如圖5所示。由dec_watch電路模塊的仿真波形可以看出,當(dāng)?shù)褂?jì)時(shí)到00:00時(shí),再來一個(gè)clk脈沖后flag被置為1,且停止倒計(jì)時(shí)。

圖5 dec_watch電路模塊仿真波形Fig.5 Simulation waveform of dec_watch circuit module

第二部分就是正計(jì)時(shí)鐘inc_watch模塊,該電路通過對信號do_undo和dec_watch模塊輸出信號flag的判斷,開啟正計(jì)時(shí)電路。inc_watch電路模塊仿真波形如圖6所示。由仿真波形圖可以看出,復(fù)位信號結(jié)束后,當(dāng)do_undo=1且flag=1時(shí),inc_watch電路開始正計(jì)時(shí),當(dāng)do_undo=0時(shí),正計(jì)時(shí)處于保持狀態(tài)。

圖6 inc_watch電路模塊的仿真波形Fig.6 Simulation waveform of inc_watch circuit module

4.4 里程Kilometers電路模塊

此模塊主要用于記錄行進(jìn)的距離,通過對clk_100m信號的計(jì)數(shù),計(jì)算行駛的距離km_cnt。一個(gè)clk_100m脈沖表示行駛100 m,所以只要記錄clk_100m脈沖的數(shù)目即可確定行駛的距離。km_cnt0為十分位,km_cnt1為個(gè)位,km_cnt2為十位,分別為十進(jìn)制數(shù),F(xiàn)lag_100 km為滿量程溢出標(biāo)志位,light是為了體現(xiàn)速度快慢的輸出端口,順序連接上LED燈后,能夠直觀的看到速度的大小。此模塊的仿真波形如圖7所示。

由仿真波形圖可以看出,當(dāng)行駛公里數(shù)達(dá)到99.9 km后,F(xiàn)lag_100km加1,公里數(shù)又重新從零開始計(jì)數(shù)。而且伴隨著公里的增加,light也在進(jìn)行循環(huán)變化。

圖7 Kilometers電路模塊的仿真波形Fig.7 Simulation waveform of kilometers circuit module

4.5 Money電路模塊

計(jì)費(fèi)模塊可分為M1、M2兩個(gè)進(jìn)程和二進(jìn)制轉(zhuǎn)BCD碼模塊。M1進(jìn)程用于設(shè)置公里收費(fèi)的單價(jià)unit_price和產(chǎn)生允許按公里計(jì)費(fèi)的en_km信號。當(dāng)記錄距離達(dá)到5 km后,en_km=1,允許開始按公里收費(fèi)。當(dāng)總費(fèi)用大于100元或行駛總公里數(shù)超過50 km后,單價(jià)unit_price由原來的1.6/km變?yōu)?.4/km。

M2進(jìn)程用于進(jìn)行總費(fèi)用的累計(jì)。當(dāng)clk_time_ok=1時(shí),總費(fèi)用加上等待時(shí)間單價(jià)wait_unit_price;當(dāng)en_km=1且對clk_100m=1計(jì)數(shù)達(dá)到10時(shí),總費(fèi)用加上公里收費(fèi)的單價(jià)unit_price。為了進(jìn)行加法運(yùn)算時(shí)候更便捷,此處采用的是二進(jìn)制加法,要顯示出十進(jìn)制數(shù)字,需將總費(fèi)用和單價(jià)經(jīng)過B_to_BCD模塊進(jìn)行轉(zhuǎn)換,輸出總費(fèi)用以及單價(jià)的BCD碼,以便顯示模塊進(jìn)行顯示輸出。

4.6 LCD顯示電路模塊

將各個(gè)模塊輸出的需要顯示的數(shù)據(jù)(總費(fèi)用,行駛公里,等待時(shí)間,當(dāng)前行駛單價(jià) )傳送給此電路模塊,經(jīng)本電路將數(shù)據(jù)輸出顯示到LCD1602上。由于LCD1602顯示的是數(shù)據(jù)的ASCⅡ碼值,故在將要顯示的數(shù)據(jù)前先轉(zhuǎn)換為對應(yīng)數(shù)字的ASCⅡ碼值,再將此值傳送給LCD1602[11]。利用VHDL編寫的LCD1602顯示核心程序?yàn)椋?/p>

利用VHDL狀態(tài)機(jī)實(shí)現(xiàn)對LCD1602的數(shù)據(jù)寫入。圖8為LCD1602顯示屏的初始狀態(tài)。

圖8 LCD1602顯示屏的初始狀態(tài)Fig.8 Original state of LCD1602

5 整個(gè)系統(tǒng)的測試

根據(jù)以上10個(gè)模塊的程序,編寫頂層程序文件(TAXI_TOP.vhd),進(jìn)行編譯,鎖定引腳。整個(gè)系統(tǒng)的輸入引腳共有 7位,一位時(shí)鐘信號(clk_20M),一位復(fù)位信號(reset),一位啟動(dòng)/暫停信號(start_stop)和4位速度信號(grade)。輸出引腳共有 27位,其中 3位 LCD1602控制位(RS/RW/EN),8位數(shù) 據(jù) (DATA),8 位 速 度 指 示 燈 (light),4 位 百 公 里 標(biāo) 志(Flag_100km),4 位千元標(biāo)志(Flag_1000RMB)。

由clk_20 M引入20MHz時(shí)鐘頻率,reset鎖定到一個(gè)常高按鍵,start_stop鎖定到一位撥碼開關(guān),grade[3..0]由4位撥碼開關(guān)輸入。Light[7..0]鎖定到8個(gè)LED燈上,F(xiàn)lag_100km[3..0]和Flag_1000RMB[3..0]分別鎖定到兩位LED數(shù)碼管上,RS、RW、EN、DATA[7..0]分別鎖定到對應(yīng)的LCD1602的輸入引腳上。通過編譯把程序下載到康芯 KX_7C CycloneⅢ 系列EP3C5E144C8型實(shí)驗(yàn)開發(fā)系統(tǒng)上進(jìn)行實(shí)驗(yàn)測試。

首先將start_stop和grade[3..0]置零,然后按下復(fù)位鍵reset,液晶屏上顯示免費(fèi)等待時(shí)間“<05:00>”,公里計(jì)費(fèi)單價(jià)“<1.6/km>”,起步價(jià)“¥:007.0”,行駛公里數(shù)“km:00.0”。

當(dāng)把start_stop置1后,倒計(jì)時(shí)鐘開始倒計(jì)時(shí),表示開始計(jì)費(fèi),處在等待狀態(tài)。若此時(shí)將grade置為任何一個(gè)非零值,則倒計(jì)時(shí)鐘停止倒計(jì)時(shí),并且公里數(shù)開始增加,同時(shí)8位LED數(shù)碼管順序點(diǎn)亮,點(diǎn)亮的速度隨著grade的值增大而增大。公里數(shù)超過5 km后,每增加1 km,總費(fèi)用累加1.6元。當(dāng)公里數(shù)漲到50 km后,行駛單價(jià)由1.6變?yōu)?.4,每再增加1 km,總費(fèi)用累加2.4元。直到公里數(shù)增至100 km,公里數(shù)溢出標(biāo)志數(shù)碼管加1,而LCD1602顯示公里數(shù)變?yōu)?。此時(shí),如果將grade置零,則倒計(jì)時(shí)鐘又接著開始倒計(jì)時(shí)。當(dāng)?shù)褂?jì)到00:00時(shí),開始正計(jì)時(shí),且每1分鐘,總費(fèi)用累加0.8元。當(dāng)總費(fèi)用達(dá)到1 000時(shí),總費(fèi)用標(biāo)志數(shù)碼管加1,LCD1602顯示的總費(fèi)用從零開始繼續(xù)計(jì)費(fèi)。我們還可以復(fù)位后重新開始測試,讓公里數(shù)未到達(dá)50 km時(shí),使grade為零,系統(tǒng)進(jìn)入等待計(jì)費(fèi)狀態(tài),直到總費(fèi)用增至100元后,行駛單價(jià)也會(huì)由1.6元變?yōu)?.4元。

在上述過程中,一旦start_stop置0,整個(gè)系統(tǒng)將處于暫停狀態(tài),停留在暫停前一時(shí)刻的狀態(tài)。一旦reset置0,整個(gè)系統(tǒng)復(fù)位,回到初始狀態(tài)。

本系統(tǒng)中各個(gè)收費(fèi)參數(shù)標(biāo)準(zhǔn)都可精確到0.1元,在程序中可輕松更改起步價(jià)、里程單價(jià)、等待時(shí)間收費(fèi)單價(jià)等參數(shù),而無需費(fèi)力更改大量程序。

由于在數(shù)字電路的輸入信號中抖動(dòng)是不可避免的,抖動(dòng)會(huì)造成嚴(yán)重的后果。所以對輸入信號去抖是邏輯電路設(shè)計(jì)中的必要環(huán)節(jié),也是提高數(shù)字系統(tǒng)電磁兼容能力的關(guān)鍵技術(shù)[10]。所以在系統(tǒng)中加入了復(fù)位按鍵去抖電路 (Key_stable電路模塊),有效的防止在汽車上嘈雜震動(dòng)環(huán)境下的誤操作。

在使用康芯CycloneⅢ系列EP3C5E144C8型芯片實(shí)驗(yàn)板時(shí),為了實(shí)驗(yàn)演示清晰明了,利用僅有的8個(gè)LED燈順序點(diǎn)亮快慢以表示行駛速度的大小,以為客戶顯示更直觀的效果。由于系統(tǒng)總費(fèi)用的量程范圍為999.9元,總公里數(shù)的量程范圍為99.9 km,為了能夠顯示更大的量程范圍,利用實(shí)驗(yàn)板上的兩位LED數(shù)碼管分別表示總費(fèi)用和總量程的溢出標(biāo)志位,即每到1 000元或100 km后,相應(yīng)的溢出位加1,其范圍為(1~F),這樣該系統(tǒng)顯示的總費(fèi)用量程能夠達(dá)到 15 999.9元,行駛總公里數(shù)能夠達(dá)到1 599.9 km。

6 結(jié)束語

文中運(yùn)用VHDL語言采用電子產(chǎn)品設(shè)計(jì)中比較先進(jìn)的FPGA技術(shù)設(shè)計(jì)了一款出租車計(jì)費(fèi)系統(tǒng),實(shí)現(xiàn)了出租車計(jì)費(fèi)器的主要功能,運(yùn)行穩(wěn)定、可靠。EDA技術(shù)是以計(jì)算機(jī)為工具來完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計(jì)仿真等工作,電路設(shè)計(jì)者只需要完成對系統(tǒng)功能的描述,就可由計(jì)算機(jī)軟件進(jìn)行系統(tǒng)處理,得到設(shè)計(jì)結(jié)果,且修改設(shè)計(jì)方案如同修改軟件一樣方便。如本出租車計(jì)費(fèi)系統(tǒng)中設(shè)定的起步價(jià)、行駛單價(jià)、免費(fèi)行駛公里數(shù)、等待時(shí)間計(jì)費(fèi)標(biāo)準(zhǔn)、免費(fèi)等待時(shí)間等均不需要硬件電路的支持而直接可以在VHDL源程序中進(jìn)行修改??梢姡肍PGA可以極大地提高設(shè)計(jì)效率和靈活度并且修改快捷。

[1]黃再銀.基于μPD78F0034單片機(jī)的出租車計(jì)費(fèi)器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2004(8):21-24.HUANG Zai-yin.The design and realization of taxi-meter based on upD78F0034 microcontro//er[J].Electronic Design Engineering,2004(8):21-24.

[2]廖艷秋.基于FPGA的出租車計(jì)費(fèi)器設(shè)計(jì)[D].成都:電子科技大學(xué),2008.

[3]焦敏.FPGA在出租車計(jì)費(fèi)器上的應(yīng)用研究[J].中國科技信息,2009(9):145-146.JIAO Min.Research of taximeter based on FPEA[J].China Science and Technology Information,2009(9):145-146.

[4]San Jose.實(shí)現(xiàn)靈活的汽車電子設(shè)計(jì)[R].Altera公司:2007.

[5]劉欲曉,方強(qiáng),黃宛寧.EDA技術(shù)與VHDL電路開發(fā)應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2009,175-186.

[6]曹公正,陳娟,張寶利,等.FPGA在出租車記費(fèi)器上的研究與設(shè)計(jì)[J].長春工業(yè)大學(xué)學(xué)報(bào),2007,28(3):267-270.CAO Gong-zheng,CHEN Juan,ZHANG Bow-li,et al.Design of a taxi meter based on FPGA[J].Journal of changchun University of Technology,2007,28(3):267-270.

[7]白瑩杰,杜建銘,羅一星.基于FPGA的脈沖分頻技術(shù)研究[J].微計(jì)算機(jī)應(yīng)用,2010,31(3):67-71.BAI Ying-jie,DU Jian-ming,LUO Yi-xing.Research of the pulse frenquency-division technology based on FPGA[J].micro Computer Application,2010,31(3):67-71.

[8]陳英梅,席亮亮.基于FPGA的多種分頻設(shè)計(jì)與實(shí)現(xiàn)[J].電子元器件應(yīng)用,2007,9(6):47-52.CHEN Ying-mei,XI Liang-liang.Design and implementation of a mult frequency based on FPGA[J].Electronic Design Engineering,2007,9(6):47-52.

[9]陳忠平,高金定,高見芳.基于Quartus II的FPGA/CPLD設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2010.

[10]Stephen Brown,Zvonko Vranesic.數(shù)字邏輯基礎(chǔ)與VHDL設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2011.

[11]劉福奇.基于VHDL的FPGA和Nios II實(shí)例精煉[M].北京:北京航空航天大學(xué)出版社,2011.

[12]潘松,黃繼業(yè).EDA技術(shù)與VHDL[M].2版.北京:清華大學(xué)出版社,2007.

猜你喜歡
總費(fèi)用計(jì)費(fèi)計(jì)時(shí)
5G網(wǎng)絡(luò)獨(dú)立組網(wǎng)中融合計(jì)費(fèi)方案的研究
基于云計(jì)算和微服務(wù)架構(gòu)的高速公路計(jì)費(fèi)系統(tǒng)
暢游計(jì)時(shí)天地
腕表計(jì)時(shí)2.0
生活中的分段計(jì)費(fèi)
“健康中國2030”背景下京、津、滬、渝四直轄市衛(wèi)生總費(fèi)用的比較研究
12時(shí)計(jì)時(shí)法與24時(shí)計(jì)時(shí)法的互化
24時(shí)計(jì)時(shí)法
基于AM3354的電動(dòng)汽車充電監(jiān)控計(jì)費(fèi)系統(tǒng)電表通信的實(shí)現(xiàn)
21世紀(jì)我國衛(wèi)生總費(fèi)用占GDP比例首次低于4%