當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]摘要:介紹一款基于單片機(jī)的新型出租車計價器設(shè)計方法。詳細(xì)介紹計價器計程、計時、統(tǒng)計功能的實現(xiàn)原理,并依次做了誤差分析,同時還給出了部分軟件設(shè)計流程。計價器在車輪轉(zhuǎn)一圈最少需要的33.9 ms內(nèi),可以完成所有

摘要:介紹一款基于單片機(jī)的新型出租車計價器設(shè)計方法。詳細(xì)介紹計價器計程、計時、統(tǒng)計功能的實現(xiàn)原理,并依次做了誤差分析,同時還給出了部分軟件設(shè)計流程。計價器在車輪轉(zhuǎn)一圈最少需要的33.9 ms內(nèi),可以完成所有計程、計時的計算a軟件設(shè)計靈活,誤差小。統(tǒng)計功能的設(shè)計為出租車管理部門制定合理決策提供了最詳實的依據(jù)。
關(guān)鍵詞:AT24C256;軟件設(shè)計;出租車計價器,計程原理

0 引言
    隨著物價升高,燃油費(fèi)增長等原因,出租車行業(yè)難免有調(diào)整單價,增收燃油附加費(fèi)的需求?,F(xiàn)有的出租車計價器調(diào)整單價比較麻煩。需要更換計價器中的芯片。另外,現(xiàn)有的計價器沒有附加費(fèi)功能,若需要加收燃油附加費(fèi)時,乘客在不了解的情況下,難免會和出租車司機(jī)產(chǎn)生不必要的糾紛;而當(dāng)附加費(fèi)取消耐,還要防止出租車司機(jī)仍舊向乘客收取這部分費(fèi)用。在這種情況下,有必要去研制一款計價參數(shù)較易調(diào)整,且具有附加費(fèi)功能的出租車計價器。

1 計價參數(shù)設(shè)計
    在出租車計價器里,要讓起步價、夜班價、附加費(fèi)等計價參數(shù)容易調(diào)整,就要求在軟件設(shè)計時不能固定參數(shù),需要把參數(shù)先存儲起來,計價器啟動后從存儲地址去讀取計價參數(shù)。因為單片機(jī)數(shù)據(jù)存儲器容量有限,需要另外擴(kuò)展存儲芯片,為了節(jié)省單片機(jī)I/O口,采用擴(kuò)展I2C方式的存儲芯片AT24C256。
    AT24C256具有32 KB容量,地址為0000H~7FFFH。對于AT24C256,除了存計價參數(shù)外,還可以存儲出租車的基本信息和統(tǒng)計信息,其地址內(nèi)容分配如表1所示。其中計價參數(shù)從0100H開始存放,初始設(shè)置如表2所示。通過表2可以看出,已經(jīng)將附加費(fèi)作為一個計價參數(shù)存儲起來,當(dāng)計算價錢時會自動加上附加費(fèi)值,也會在打印票據(jù)時體現(xiàn)出來。當(dāng)計價參數(shù)需要改變時,只要軟硬件設(shè)置好,計價器能與PC機(jī)串口通信的話,通過PC機(jī)向芯片發(fā)送新的數(shù)據(jù)即可。為了更方便起見,還可以采用無線數(shù)據(jù)收發(fā)方式。



2 計程
2.1 計程原理與軟件設(shè)計
    將安裝在車輛變速箱輸出端齒輪的霍爾傳感器接到單片機(jī)外部中斷接口上,車輪每轉(zhuǎn)動一圈,霍爾傳感器將產(chǎn)生一個下降沿脈沖(霍爾脈沖),觸發(fā)外部中斷。設(shè)車輪直徑0.6 m,最高時速200 km/h,則兩次外部中斷之間最短時間間隔為:0.6×3.14/(200×1 000/3 600)×1 000=33.9 ms。
    對單片機(jī)而言,所有計價、計時、顯示、統(tǒng)計等功能,都可在33.9 ms時間內(nèi)完成,所以對計程部分采用每次外部中斷到來時(F_int0= 1),調(diào)用外部中斷處理程序來處理計程價。具體流程如圖1所示。
    設(shè)計一個占5字節(jié)的計程單元S,車輪周長占3 B,每1 B存儲內(nèi)容如表3所示。對計程價每100 m處理1次,所以在計程計子程序中首先是讓計程單元加上車輪周長,判斷是否已行駛100 m。從表3可以看出,做加法計算時如果第3字節(jié)有向第4字節(jié)進(jìn)位,說明已經(jīng)行駛了100 m,這時再判斷計程單元的大小,判斷是起步價,還是3~8 km的短途價或是8 km以上的長途價,繼而再根據(jù)時間判斷是夜班還是白班,加上不同的計價參數(shù)。


2.2 計程誤差分析
    因為在計程時用的是每來一個霍爾脈沖加一個車輪周長的方法,車輪周長誤差的累積將引起總計程的系統(tǒng)誤差。車輪周長用3 B壓縮BCD碼表示,1 B整數(shù)(單位:m),2 B小數(shù),每次系統(tǒng)誤差為10-4m,相對誤差小于0.01%。
    假設(shè)最大計程1000km,車輪周長1.5m,則計程最大系統(tǒng)誤差為:(1 000×1 000/1.5)×10-4=66.7m,偶然誤差為2個周長,即3.0m。
    對計程價每100 m加1次,即計程誤差小于1個計價單位。

3 誤時
3.1 誤時原理與軟件設(shè)計
    誤時價的計算是以Vwait=5 km/h為切換點(diǎn),當(dāng)速度低于5 km/h時,需要計算誤時價。已知:速度=周長/時間間隔。為了判斷出租車速度,開啟單片機(jī)定時器來計算兩次霍爾脈沖的時間間隔。為了計算方便,對于51單片機(jī)開設(shè)50 ms的定時器中斷。特別設(shè)計一個占5 B的總誤時單元,3 B的計時單元。這里第3字節(jié)存儲的是50 ms中斷的次數(shù),具體存儲內(nèi)容如表4所示。其中總誤時單元存儲的是總的誤時時間,計時單元專門存儲霍爾脈沖間隔。


    當(dāng)行駛速度為5 km/h時,這時霍爾脈沖的時間間隔為:0.6×3.14/(5×1 000/3 600)×1 000=1 356.48≈27×50 ms。
    根據(jù)上面計算,在兩次霍爾脈沖之間,50 ms中斷的次數(shù)大于27時,要計算誤時價。而對誤時價是10s處理1次,即調(diào)用1次誤時價子程序,這時分兩種情況:
    第一種情況是在外部中斷處理程序中。外部中斷到來(F_int0=1)后,計時單元中50 ms次數(shù)大于27,這時總誤時單元要加上計時單元,總誤時單元的50 ms次數(shù)如果大于或等于200,則調(diào)用誤時價子程序。還要注意的是,因為中斷到來后,定時器會重新賦初值,所以需要把上一次定時器中不足50 ms的計數(shù)值轉(zhuǎn)換為微秒,存儲到計時單元的第1和第2個字節(jié)中。流程圖如圖1所示。
    第二種情況是在50 ms中斷處理程序中。計時單元50 ms中斷次數(shù)已達(dá)到200次即兩次霍爾脈沖的間隔超過了10 s,這時計時單元清零,也要調(diào)用誤時價子程序。流程圖如圖2所示。


    誤時價子程序里先將總誤時的10 s單元加1,然后判斷有沒有超過起價等待時間,如果超過的話,再根據(jù)時間判斷,是要加白天10 s誤時價,還是加夜間10 s誤時價。
3.2 誤時價誤差
    用單片機(jī)內(nèi)部定時器測兩個霍爾脈沖間的時間間隔,系統(tǒng)誤差是1μs。假設(shè)最大誤時計時60 min,車速按最快的200 km/h估計,兩脈沖間隔時間為33.9 ms,即每測33.9 ms有1μs的誤差。誤時計時最大系統(tǒng)誤差等于(60×60×1 000/33.9)×1μs=0.1 s。因為誤時價每10 s加1次,即計時誤差小于1個計價單位。

4 統(tǒng)計功能的設(shè)計
4.1 總價計算
    總的費(fèi)用由里程價、誤時價和附加費(fèi)三部分組成。在出租車停止載客后,計價器會計算總體費(fèi)用,并從AT24C256中讀取當(dāng)天營業(yè)額,加上當(dāng)次的費(fèi)用后存回到AT24C256中。
4.2 誤差分析
    計程價每100 m加1次,誤時價每10 s加一次,單價用2B(4位)壓縮型BCD碼表示,最高位“元”,精度為10-3元。計價誤差由計程誤差、誤時誤差、每次計價誤差三分部分構(gòu)成。如果計程誤差小于1個計價單位,誤時誤差小于1個計價單位,可以忽略不計。每次計價誤差包括計程單價誤差和誤時單價誤差。其中若無計程單價誤差,則誤時單價按每分鐘計無,每10 s計,除6盡則無,若除不盡最大計時60 min,每10s計一次,誤差為10-3,則因誤時單價誤差累積的最大計價總誤差為:(60×60/10)×10-3=0.36元。
4.3 統(tǒng)計功能的實現(xiàn)
    AT24C256存儲芯片有32 KB的存儲容量(0000~7FFF)。1日的統(tǒng)計信息按最大99 999.999元考慮,最多需要4 B的存儲空間,分別存儲萬位、千位、百位十位、個位角位以及分厘。則1年的統(tǒng)計信息需要365×4=1 460 B。1片256可供存儲幾年的統(tǒng)計信息,如果需要還可以擴(kuò)展多片AT24C256。根據(jù)表1已知,統(tǒng)計信息從0200H開始存放。
    在載客變空車以后,要將當(dāng)次營業(yè)額加到當(dāng)天的營業(yè)額中,即需要讀取AT24C256中相應(yīng)地址中的數(shù)據(jù),加上當(dāng)次營業(yè)額后,再存回AT24 C256中。也就是必須給每天分配一個絕對的地址,需要設(shè)計一個日期轉(zhuǎn)換256地址的子程序。因為出租車都需要年檢,故按1年的需求設(shè)計。
    理論上1個月最多31天,用公式:
    (月-1)×31×4+(日-1)×4+ADDRESS_AT3      (1)
    即可,但是單片機(jī)中計算乘法是比較麻煩的,如果按32天計算及用公式:
    (月-1)×32×4+(日-1)×4+ADDRESS_AT3      (2)
    雖然浪費(fèi)了一些存儲空間,但是乘以128和乘4的運(yùn)算的確可以通過簡單的移位指令實現(xiàn),大大減小了單片機(jī)的運(yùn)算量。日期轉(zhuǎn)256地址的計算如子程序DATE_TO_ATA所示。
   
   
    這樣1年的信息需要32×4×12=1 536 B,轉(zhuǎn)換為16進(jìn)制數(shù)為600H。則第一年占用的存儲空間為0200~07FFH,如果要存儲第二年的信息,則設(shè)計一個變量ADDRESS_AT4,統(tǒng)計信息從0800H開始存放,其余以此類推。
4.4 統(tǒng)計功能的意義
    和參數(shù)傳遞一樣的道理,設(shè)計了計價器可以與PC機(jī)通信的話,不管是按串口通信方式還是無線通信方式,都可以供出租車管理部門采集到詳實、準(zhǔn)確的營運(yùn)數(shù)據(jù),這些數(shù)據(jù)經(jīng)過PC機(jī)處理后能夠詳細(xì)地做出日報表、月報表、運(yùn)作分析表等,比較直觀的反映出租車的營運(yùn)情況,便于管理部門全面掌握第一手資料,及時針對所出現(xiàn)的情況做出準(zhǔn)確的判斷和決策,從而實現(xiàn)微機(jī)化、科學(xué)化管理。

5 結(jié)語
    本文詳細(xì)的闡述了在出租車計價器中計程、計時的原理,并做了誤差分析。該設(shè)計巧妙,合理地利用存儲芯片AT24C256,不但使計價器具有附加費(fèi)功能,容易改變計價參數(shù),還能存儲營運(yùn)信息,為管理部門制定相關(guān)政策,提供一手依據(jù)。根據(jù)本文方法設(shè)計的計價器誤差小,軟件設(shè)計靈活性高。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉