《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 出租車多功能計費(fèi)器的設(shè)計

出租車多功能計費(fèi)器的設(shè)計

2009-01-04
作者:黃再銀

??? 摘? 要: 介紹了出租車多功能計費(fèi)器的設(shè)計方法,闡述了MAX813和DS1244Y的使用方法,同時提出了防止計費(fèi)器死機(jī)和防止司機(jī)作弊的解決方法,。?

??? 關(guān)鍵詞: 出租車計費(fèi)器? 防作弊? 看門狗? MAX813? DS1244Y

?

??? 隨著出租車行業(yè)的發(fā)展,對出租車計費(fèi)器的要求也越來越高,用戶不僅要求計費(fèi)器性能穩(wěn)定,計費(fèi)準(zhǔn)確,有防作弊功能;同時還要求其具有車票資料打印、IC卡付費(fèi),、語言報話和電腦串行通信稅控功能,。不同國家和地區(qū)的計費(fèi)方式存在差異,如有些地區(qū)有夜間收費(fèi)及郊區(qū)收費(fèi)等,而有些地區(qū)則無夜間收費(fèi)和郊區(qū)收費(fèi);目前國內(nèi)有些大城市要求計費(fèi)器有稅控功能,而有些城市則無此要求;即使同一地區(qū),不同車型的出租車其計費(fèi)方式也有差別;而且出租車還面臨幾年一次的調(diào)價或調(diào)整計費(fèi)方式等問題。為此,我們設(shè)計了一款計費(fèi)器,。該計費(fèi)器內(nèi)設(shè)置了多達(dá)64個選項(1表示有某項功能,0表示沒有),幾乎涵蓋了大多數(shù)國家和地區(qū)的出租車計費(fèi)方式,無需更改計費(fèi)器的硬件,只需更改相應(yīng)的選項資料,便可適用于不同的國家和地區(qū),且計費(fèi)資料的傳送可由電腦通過RS-232或?qū)S玫氖殖质劫Y料傳輸器來完成,非常方便,。目前該計費(fèi)器已在我國大陸的一些大中城市,香港、澳門和臺灣地區(qū)以及越南使用,。?

1 原理框圖?

??? 計費(fèi)器組成方框圖如圖1所示,。?

?

?

1.1 主控模塊?

??? 主控模塊如圖2所示。

?

?

??? CPU選89C51RC2,它的主要特點(diǎn)是:ROM為32K FLASH,RAM為512byte;具有雙DPTR寄存器、一個硬件看門狗定時器,、3個16位定時/計數(shù)器,、7個中斷源,其它與MCS-51基本相同。雙DPTR寄存器給軟件編程帶來了很大的方便,。?

??? 復(fù)位,、看門狗及電源監(jiān)控由MAX813芯片來完成。計費(fèi)器在營運(yùn)過程中,由于干擾等各種因素的影響,。有可能出現(xiàn)死機(jī)現(xiàn)象導(dǎo)致出租車無法正常營運(yùn),。為了克服這一現(xiàn)象,除了充分利用CPU本身的看門狗定時器外,還需外加看門狗電路。MAX813的主要特點(diǎn)如下:?

??? (1)系統(tǒng)上電,、掉電以及供電電壓降低時,第7腳產(chǎn)生復(fù)位輸出,復(fù)位脈沖寬度的典型值為200ms,高電平有效,復(fù)位門限為4.65V,。?

??? (2)如果在1.6s內(nèi)沒有觸發(fā)該電路(即第6腳無脈沖輸入),則第8腳輸出一個低電平信號,即看門狗電路輸出信號。?

??? (3)手動復(fù)位輸入,低電平有效,即第1腳輸入一個低電平,則第7腳產(chǎn)生復(fù)位輸出,。?

??? (4)具有1.25V門限值檢測器,第4腳為輸入,第5腳為輸出,。?

??? 實際應(yīng)用時,將第1腳與第8腳相連,第7腳接CPU的復(fù)位腳(89C51RC2的第9腳),第6腳與CPU的P1.0相連。在營運(yùn)過程中,P1.0不斷輸出脈沖信號,。如果因某種原因CPU進(jìn)入死循環(huán),則P1.0無脈沖輸出,。于是1.6秒后在MAX813的第8腳輸出低電平,該低電平加到第1腳,使MAX813產(chǎn)生復(fù)位輸出,使CPU有效復(fù)位,擺脫死循環(huán)的困境。另外,當(dāng)電源電壓低于門限值4.65V時,MAX813也產(chǎn)生復(fù)位輸出,CPU處于復(fù)位狀態(tài),不執(zhí)行任何指令,直至電源電壓恢復(fù)正常,因此可有效防止因電源電壓較低時CPU產(chǎn)生錯誤的動作,。?

??? 時鐘及存儲器由芯片DS1244Y來完成,該芯片是一具有幽靈式(Phantom)時鐘的32K×8NVSRAM,第1腳為復(fù)位腳,其余和一般SRAM兼容,。它提供嵌入式RTC和全靜態(tài)非揮發(fā)性RAM,含有內(nèi)芷式鋰電池和控制電路。此控制電路不斷監(jiān)視Vcc,當(dāng)Vcc>4.5V時,DS1244Y提供全部功能;當(dāng)Vcc<4.0V時,寫保護(hù)有效,所有的輸入變成“Don′t Care”,所有的輸出處于高阻態(tài);當(dāng)Vcc≤3.0V時,電源自動切到內(nèi)部的鋰電池,。NVSRAM的操作和原來的SRAM一模一樣,但時鐘操作有區(qū)別,。一次完整的時鐘操作由D0腳串行輸入預(yù)定的8個字節(jié)(即64個bit)給DS1244Y,DS1244Y收到8個字節(jié)后,再通過D0腳串行寫入或讀出8個字節(jié)(即時鐘數(shù)據(jù))。編程時可將NVSRAM的最后一個字節(jié)地址(7FFFH)定義為時鐘地址,。因此,NVSRAM的最后一個字節(jié)空間不能作RAM用,。實際設(shè)計電路時,將DS1244Y的第1腳與CPU的P1.1相連。CPU復(fù)位后,由軟件通過P1.1給出一個低電平使DS1244Y復(fù)位,。須特別注意的是DS1244Y的第1腳不要與Vcc相連,。假如與Vcc相連,當(dāng)CPU產(chǎn)生復(fù)位時(此復(fù)位可由看門狗或手動產(chǎn)生),如果此時CPU正在對時鐘進(jìn)行讀寫,則CPU復(fù)位后,會對RAM或時鐘進(jìn)行讀寫操作,導(dǎo)致意料不到的錯誤。有關(guān)DS1244Y的具體用法請見參考文獻(xiàn)[1],。?

??? 打印功能,可通過選項設(shè)定,也可選擇稅控打印,。各種打印命令及資料均由電腦通過RS-232或手持式資料傳輸器傳給計費(fèi)器,存儲在DS1244Y中。以何種格式打印何種數(shù)據(jù)完全由用戶自行選擇,因此可適用不同地區(qū),、不同客戶之需要,。?

??? 計費(fèi)器可使用司機(jī)卡、采集卡,、收費(fèi)卡及稅控卡等四種IC卡,究竟使用哪種卡可由選項控制,。司機(jī)卡表示每次開機(jī)均要插入對應(yīng)卡(一臺出租車對應(yīng)兩張司機(jī)卡),計費(fèi)器才能正常工作;采集卡可采集計費(fèi)器中存儲的各種營運(yùn)資料;收費(fèi)卡表示乘客可使用該卡支付車資;稅控卡由稅務(wù)部門發(fā)行,只有稅控計費(fèi)器才需要此卡。?

??? 計費(fèi)器通過一條I/O線控制語言接口電路。乘客上車時,CPU給出50ms的低脈沖使語音接口電路說一段話,。乘客下車時,CPU給出20ms的低脈沖使語音接口電路說另一段話,。?

??? 計費(fèi)器可通過RS-232與電腦進(jìn)行串行通信,通過電腦設(shè)置計費(fèi)器的各種參數(shù)及采集計費(fèi)器里存儲的各種數(shù)據(jù)。?

1.2 稅控模塊?

??? 該模塊由稅控部門專門提供,稅控計費(fèi)器需要此模塊,非稅控計費(fèi)器則不需要此模塊,。主控模塊與稅控模塊實行串行通信,。計費(fèi)器正常工作時,主控模塊按要求將各種數(shù)據(jù)串行傳送到稅控模塊,稅控模塊將收到的數(shù)據(jù)存儲或顯示。?

1.3 電源模塊?

??? 該模塊為一開關(guān)電源,將輸入的12V直流電源變?yōu)榉€(wěn)定的5V電源,。由于12V電源由出租車上的電瓶提供,其電壓有一定的離散性,當(dāng)電瓶質(zhì)量不好時12V電源較低,。而開關(guān)電源的適用范圍較廣,且驅(qū)動能力較強(qiáng),使用開關(guān)電源可有效防止因輸入電壓過低而產(chǎn)生的各種故障現(xiàn)象。設(shè)計電源模塊應(yīng)注意電源的抗干擾能力,。?

1.4 按鍵顯示模塊?

??? 按鍵顯示模塊如圖3所示,共需4片4511,、1片4028、1片2003,、20個數(shù)碼管及一些發(fā)光二極管(作為指示燈,如計程,、計時收費(fèi)指示燈)。計費(fèi)器提供6個按鍵功能,但稅控計費(fèi)器不需要6個按鍵,只需要3個按鍵,因而無需4028譯碼器,利用CPU的三條I/O線即可實現(xiàn)三個按鍵的功能,。?

?

?

1.5 防作弊及脈沖輸入模塊?

??? 防作弊及脈沖輸入模塊如圖4所示,。為了提高計費(fèi)器的防作弊功能,采用了兩片PIC508,傳感器中裝一片PIC508,計費(fèi)器中裝一片PIC508。其工作原理如下:每次計費(fèi)器復(fù)位后,計費(fèi)器中的PIC508送一隨機(jī)數(shù)(1個字節(jié))作為密碼給傳感器中的PIC508,車輛每產(chǎn)生一個脈沖,傳感器中的PIC508均要將此密碼送回到計費(fèi)器中的PIC508,。只有密碼正確,計費(fèi)器中的PIC508才發(fā)正確信息給CPU,表示輸入了一脈沖,否則發(fā)錯誤信息給CPU,。當(dāng)CPU收到三次錯誤信息(次數(shù)可任意設(shè)置)時,CPU報警表示有作弊現(xiàn)象。由于在不同的時刻,即使同一個計費(fèi)器的密碼也不相同且是隨機(jī)的,因此采用該方法能有效地防止司機(jī)作弊,。?

2 軟件設(shè)計應(yīng)注意的問題?

??? 由于計費(fèi)器的選項多達(dá)64個,功能齊全,能適應(yīng)不同地區(qū)的需要,軟件編程及調(diào)試比較復(fù)雜,需要特別小心,。為了使計費(fèi)器穩(wěn)定、可靠地工作,軟件設(shè)計主要考慮了以下幾個方面:?

??? (1)為了防止計費(fèi)器死機(jī),軟件編程時采用了指令冗余技術(shù),、軟件陷阱技術(shù)以及軟件看門狗技術(shù),。請參見參考文獻(xiàn)[2]。?

??? (2)為了防止程序“亂飛”而非法修改計費(fèi)器所設(shè)置好的各種參數(shù),從軟件的角度對計費(fèi)器的各種參數(shù)進(jìn)行了多重保護(hù),。必須通過“合法”的途徑才能修改參數(shù),而程序“亂飛”也不能修改計費(fèi)器所設(shè)置好的參數(shù),。?

??? (3)司機(jī)卡、采集卡,、收費(fèi)卡、稅控卡共用一個IC卡接口,稅控模塊優(yōu)先訪問插入的IC卡并進(jìn)行判斷,直接與稅控初始化卡稅務(wù)信息卡和稅務(wù)稽查卡交換信息,。如果不是稅控卡,則將控制權(quán)交給主控模塊,主控模塊要注意區(qū)分卡的類型,按照IC卡的有關(guān)控制命令正確編程,。?

??? (4)對DS1244Y時鐘操作時,串行輸入數(shù)據(jù)的第5字節(jié)的第5位須置0,以便DS1244Y能接收復(fù)位信號。每次上電后,由軟件對其復(fù)位,。?

??? (5)任何時候均要注意保存好計費(fèi)器所處的狀態(tài)及各種數(shù)據(jù),復(fù)位后計費(fèi)器能夠回到原來的狀態(tài),。如計費(fèi)器處于載客狀態(tài),復(fù)位后計費(fèi)器仍然回到載客狀態(tài),且車資、收費(fèi)里程、收費(fèi)時間及單價同復(fù)位前一樣,。?

??? (6)計費(fèi)器與PC機(jī)串行通信時,PC機(jī)最好選用VB6.0語言,。VB6.0提供了串行通訊MSComm控件來為應(yīng)用程序提供串行通信,其良好的用戶界面、簡單方便的串行通信和實用性強(qiáng)的優(yōu)點(diǎn),無須借用其它語言就可以開發(fā)出優(yōu)秀的通信軟件,。?

??? 目前,該計費(fèi)器在使用過程中用戶反應(yīng)良好,返修率很低,。另外,個別地方要求計費(fèi)器能存儲2000條客次記錄,而每條客次記錄約占50byte,這樣選用DS-1244Y顯然不夠,。此時,可改用DS1248,該芯片的容量為128K byte,,其它與DS1244Y完全一樣。?

參考文獻(xiàn)?

1 薛棟梁.MCS-51/151/251 單片機(jī)原理與應(yīng)用(二).北京:?中國水利水電出版社,, 2001?

2 王幸之,王 雷.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù).北京:北京航空航天大學(xué)出版社,2001?

3 范逸之. Visual Basic與RS232 串行通訊控制.北京:中國青年出版社,, 2001(1)?

4 李東星.PIC16C5X系列單片機(jī)應(yīng)用設(shè)計. 北京:電子工業(yè)出版社, 1996

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。