出租車(chē)多功能計(jì)費(fèi)器設(shè)計(jì)論文

時(shí)間:2022-03-05 02:13:00

導(dǎo)語(yǔ):出租車(chē)多功能計(jì)費(fèi)器設(shè)計(jì)論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢(xún)客服老師,歡迎參考。

出租車(chē)多功能計(jì)費(fèi)器設(shè)計(jì)論文

1原理框圖

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

1.1主控模塊

主控模塊如圖2所示。

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

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

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

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

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

(4)具有1.25V門(mén)限值檢測(cè)器,第4腳為輸入,第5腳為輸出。

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

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

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

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

計(jì)費(fèi)器通過(guò)一條I/O線(xiàn)控制語(yǔ)言接口電路。乘客上車(chē)時(shí),CPU給出50ms的低脈沖使語(yǔ)音接口電路說(shuō)一段話(huà)。乘客下車(chē)時(shí),CPU給出20ms的低脈沖使語(yǔ)音接口電路說(shuō)另一段話(huà)。

計(jì)費(fèi)器可通過(guò)RS-232與電腦進(jìn)行

串行通信,通過(guò)電腦設(shè)置計(jì)費(fèi)器的各種參數(shù)及采集計(jì)費(fèi)器里存儲(chǔ)的各種數(shù)據(jù)。

1.2稅控模塊

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

1.3電源模塊

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

1.4按鍵顯示模塊

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

1.5防作弊及脈沖輸入模塊

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

2軟件設(shè)計(jì)應(yīng)注意的問(wèn)題

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

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

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

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

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

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

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

目前,該計(jì)費(fèi)器在使用過(guò)程中用戶(hù)反應(yīng)良好,返修率很低。另外,個(gè)別地方要求計(jì)費(fèi)器能存儲(chǔ)2000條客次記錄,而每條客次記錄約點(diǎn)50byte,這樣選用DS-1244Y顯示不夠。此時(shí),可改用DS1248,該芯片的容量為128Kbyte,其它與DS1244Y完全一樣。