複製鏈接
請複製以下鏈接發送給好友

出租車計費器設計

鎖定
出租車計費器設計共由五個模塊組成,分別為主控模塊、按鍵顯示模塊、防作弊及脈衝輸入模塊、通信模塊和電源模塊。
中文名
出租車計費器設計
外文名
Taxi meter design
主控模塊
指令週期為0.24μs
通信模塊
一些電阻電容等組成
顯示模塊
20個數碼管及一些發光二極管組成
1 系統中各模塊的硬件結構
這種用μPD78F0034為主控器件設計的計費器的組成框圖,整個計費器系統共由五個模塊組成,分別為主控模塊、按鍵顯示模塊、防作弊及脈衝輸入模塊、通信模塊和電源模塊。
1.1 主控模塊
主控模塊的結構框中的單片機為日本NEC 公司的μPD78F0034,該芯片的主要特點如下:
●時鐘為8.38MHz時,指令週期為0.24μs;
●ROM為32kB FLASH,RAM為1024 bytes;
●可尋址空間為64kB bytes,有5個外部中斷和15個內部中斷;
●帶有39個CMOS I/O,8個CMOS輸入和4個N-CH漏極開路I/O;
●帶有1個16位定時/計數器和2個8位定時/計數器;
●帶有1個時鐘定時器、1個看門狗定時器和1個UART端口;
●支持I2C 總線,可輸出時鐘及蜂鳴信號;
●外部數據總線為8位,內部寄存器為16位;
●有8位無符號乘法指令和16位除法指令;
●工作電壓範圍為1.8V~5.5V,具有STOP/HALT工作模式。
1.2 通信模塊
它主要由單片機的兩個I/O口、MAX232和一些電阻電容等組成。如電阻均為10kΩ,電容均為10μF;單片機的P30為串行數據接收腳、P31為串行數據發送腳,通信的波特率設為9600。MAX232芯片的作用是將單片機輸出的TTL電平轉換成PC機能接收的232電平或將PC機輸出的232電平轉換成單片機能接收的TTL電平。計費器通過通信模塊與PC機或手持式資料傳數器進行串行通信,以便設置計費器的各種參數及採集計費器裏存儲的各種數據。
1.3 按鍵及顯示模塊
按鍵及顯示模塊,該模塊由4片4511、1片4028、1片2003、20個數碼管及一些發光二極管(作為計程、計時收費指示燈)組成。計費器有6個功能鍵,而實際上對外只有四個按鍵,分別設為A、B、C、D鍵。空車狀態按下C鍵,計費器進入載客模塊;空車狀態按下B鍵,計費器進入通信模塊;空車狀態按下A鍵,計費器進入查詢模塊,然後按A鍵往上查詢、按D鍵往下查詢。另兩個功能按鍵放在計費器內,用跳線J1、J2表示。在空車狀態,J1短路時,計費器清除存儲的所有數據;當計費器復位時,如J2短路,計費器直接進入資料傳輸模塊(此功能主要為了防止計費器內資料紊亂或新計費器沒有資料時進入死循環)。
a 單信號防作弊的工作原理 當計費器通過選項選定單信號防作弊方式後,跳線開關B與A相連、B與C斷開,單片機通過P35使開關與K點相連。當有脈衝輸入時,INT0產生一中斷,單片機執行中斷子程序;然後通過P35使開關與K點斷開,即斷開脈衝傳感器的電源,此時檢測P36的電平,如為低,則為正常,為高則為作弊脈衝。當作弊脈衝累積到一定數量(此數值由計費器的參數設定)後,計費器便認定有作弊發生,於是報警,同時產生一系列動作如車資、計程公里和計程時間全部清零或者鎖死計費器等,究竟產生何種動作,可由選項來決定。
b 雙信號防作弊的工作原理 當計費器選定雙信號防作弊後,跳線開關B與C接通、B與A斷開。當有脈衝輸入時,INT0產生一中斷,單片機執行中斷子程序,此時單片機須判別P36腳輸入的信號是否為低電平,為低則正常,否則為作弊脈衝。其餘與單信號防作弊時一樣。
1.4電源模塊
該模塊為一開關電源,用於將輸入的12V直流電源變為穩定的5V電源。由於12V電源由出租車上的電瓶提供,有一定的分散性,尤其當電瓶質量不好時,12V電源較低。而開關電源的適用範圍較廣,且驅動能力較強,因此,使用開關電源可有效防止因輸入電壓過低而產生的各種故障。 2 軟件設計 該計費器的軟件設計主要由兩部分組成,一是單片機的軟件設計,二是PC機的軟件設計。由於二者均採用模塊化設計方法,因此,該程序結構清晰,便於今後修改及升級。鑑於篇幅的限制,下面只介紹這兩部分的設計流程。
2.1 單片機的軟件設計
單片機的軟件設計流程。其中初始化模塊由硬件初始化和軟件初始化兩部分組成,硬件初始化主要是對單片機及其它相關芯片進行初始化;而軟件初始化主要是對各種軟件標誌進行初始化,同時將斷電前保存的各種狀態數據讀入單片機的RAM中;然後根據選項決定是否要識別司機卡、以及是直接回到空車狀態還是回到斷電前計費器所處的載客狀態(如復位選項為0,則計費器復位後直接回到空車狀態;而在為1時,如斷電前計費器處於載客狀態,則復位後回到載客狀態,如斷電前計費器處於非載客狀態,則復位後直接回到空車狀態)。每個模塊均由許多子模塊組成,如載客模塊應包含計程計費、計時計費、打印車票、暫停、客次數據寫入RAM中等子模塊;而查詢則包括查詢當天累計數據、總累積數據及客次記錄等子模塊。每個模塊均可通過按鍵回到空車模塊。
2.2 PC機的軟件設計
由於VB6.0有串行通訊MSComm(電話盒)控件來為應用程序提供串行通信,且具有良好的用户界面及簡單方便的串行通信功能,因此,無須借用其它語言就可以開發出優秀的通信軟件。PC機軟件主要由以下幾個模塊組成:計費資料修改及傳輸、打印命令數據修改及傳輸、選項數據修改及傳輸、採集當天累積、採集總累積和採集客次記錄等。由於軟件中設置了下拉式菜單及各種控制按鈕,因此,直接用鼠標點擊控制按鈕或下拉式菜單即可完成相應的操作(當然,也可通過按下快捷鍵來實現)。計費資料、打印命令數據及選項數據均各自存於一文本文件中;此外,該軟件還設置了各種口令,可防止無關人員非法修改數據。
3 設計時應注意的問題
該計費器的選項多達64個,功能齊全,能適應不同地區的需要,但軟件編程及調試也比較複雜,需要特別小心。為了使計費器能夠穩定、可靠地工作,進行軟、硬件設計時要注意以下幾點:
(1)為了防止計費器死機,軟件編程時應採用指令冗餘技術、軟件陷阱技術以及軟件看門狗技術。有興趣者可查閲參考文獻。
(2)由於司機卡、採集卡、收費卡共用一個IC卡接口,因此,主控模塊要注意區分卡的類型,應按照IC卡的有關控制命令正確編程。
(3)儘量不用IC插座。由於IC插座有較大的分佈電容,因此,應把IC直接焊在印刷電路板上。每個IC應加一個去耦電容,去耦電容在印刷電路板上的引腳要儘量短。另外,石英晶體的外殼也要接地。
(4)由於計費器採用開關電源,因此,設計時第一要在開關管的C、E極間加RC吸收電路。並在二次整流回路的整流二極管兩端加RC吸收電路以抑制浪湧電壓。第二要加厚開關管與散熱片之間絕緣墊片的厚度,以減少開關管與散熱片之間的耦合電容。第三要使用電源濾波器。因為在電源的輸入端加入濾波器可以抑制輸入端的瞬態干擾;直流電源的輸出端也要接入電容濾波器,以將輸出電壓的紋波限制在一定範圍內,同時抑制數字信號產生的脈衝干擾。第四還應採用屏蔽措施來進一步減少開關電源的干擾。
4 結束語
本計費器的設計由於採用了功能很強的單片機μPD78F0034、電源監控和看門狗芯片MAX705及單、雙信號防作弊技術,因而基本上杜絕了出租車在營運過程中計費器的死機現象及作弊現象。從使用情況看,該計費器穩定性好、可靠性高、返修率很低。另外,由於採用了模塊式結構和在系統可編程方法,因此,其軟件的修改和升級也非常方便。 [1] 
參考資料