基于單片機PIC的車(chē)載IC卡自動(dòng)檢票機設計
0 引言
隨著(zhù)科學(xué)技術(shù)的進(jìn)步、社會(huì )經(jīng)濟的飛速發(fā)展,IC卡正越來(lái)越廣泛地應用于人們生活的各個(gè)領(lǐng)域。車(chē)載IC卡自動(dòng)檢票機以能夠反復使用的IC卡作為付費介質(zhì),用戶(hù)在其中存入一定金額,乘車(chē)時(shí)將卡靠近檢票機,檢票機自動(dòng)扣去當次票價(jià),并轉存在檢票機中,實(shí)現了無(wú)現金交易。IC卡公共汽車(chē)自動(dòng)售票系統不僅可以減輕售票員的勞動(dòng)強度,還可以避免工作出錯,從而提高了公交公司的管理水平[2]。該文設計的IC卡自動(dòng)檢票機采用PIC 單片機作為主控制器,實(shí)現了低功耗、高可靠性的設計需求。
1 車(chē)載IC卡自動(dòng)檢票機的功能
車(chē)載IC卡自動(dòng)檢票機是公交車(chē)上使用的收費設備,乘客的刷卡數據將記錄在車(chē)載機中,然后用數據采集盒或其他專(zhuān)用設備將車(chē)載機中的數據下載,并送往數據采集工作站的分公司,傳入PC 機。最后使用通信線(xiàn)路將數據傳至總公司IC卡管理中心進(jìn)行匯總。
1) 檢票功能: 當有IC卡靠近檢票機的有效工作范圍時(shí),讀取IC卡的標識碼,辨別乘客類(lèi)別,并進(jìn)行相應的讀寫(xiě)操作。成功扣除當次票價(jià)后,蜂鳴器發(fā)出短“滴”聲,同時(shí)綠燈閃亮。
2) 數據存儲功能:對成功刷卡的數據進(jìn)行保存,包括營(yíng)業(yè)額、用戶(hù)卡號、刷卡時(shí)間、用戶(hù)卡類(lèi)型等數據; 對刷卡處理不完全的或列入黑名單的卡也能予以記載。
3) 參數設置功能: 車(chē)載機可以通過(guò)設置卡進(jìn)行線(xiàn)路、票價(jià)、車(chē)號、機號、時(shí)間的設置。
4) 查詢(xún)功能: 按查詢(xún)按鈕可以翻查乘客的刷卡記錄、當班司機的簽到情況及運營(yíng)情況。
5) 時(shí)間校準功能:可以用帶有時(shí)間校準任務(wù)的采集盒,在采集數據時(shí)自動(dòng)校準車(chē)載機的時(shí)鐘。
6) 顯示功能: 可以顯示乘客卡類(lèi)型、卡號、刷卡時(shí)間、當次票價(jià)、卡內余額; 司機卡號、簽到時(shí)間等信息。
7) 報警功能: 包括語(yǔ)音報警、指示燈提示、LCD顯示。對余額不足、偽卡、不正確刷卡、黑名單卡等情況及時(shí)報警。
8) 電源監控功能: 當系統電壓過(guò)低或掉電時(shí),系統采取自我保護措施,并保存重要數據。
2 系統的硬件結構設計
在設計中,選用低功耗的PIC 系列單片機作為主控制器。該系列單片機容量適中、功能豐富、運行速度快、性能可靠、價(jià)格低,滿(mǎn)足車(chē)載機的設計要求。結構框圖如圖1 所示。
圖1 自動(dòng)檢票機的結構框圖
2. 1 RS232 與無(wú)線(xiàn)通信
系統設計了2 個(gè)標準的RS232 接口和一個(gè)無(wú)線(xiàn)通信接口。其中一個(gè)RS232 接口用于系統設置,一個(gè)用于通信。在采集數據時(shí),一般將數據采集盒插入RS232 通信接口進(jìn)行數據采集,也可以使用帶有無(wú)線(xiàn)通信功能的采集器進(jìn)行數據采集及下傳黑名單和運營(yíng)參數。
目前,車(chē)載機中使用的無(wú)線(xiàn)通信種類(lèi)繁多,有紅外線(xiàn)、藍牙、2. 4G 等。無(wú)線(xiàn)紅外技術(shù)帶寬大,穩定性佳。但紅外無(wú)線(xiàn)傳輸技術(shù)對指向性要求很高,稍微偏離角度就不能進(jìn)行操作; 另外,紅外無(wú)線(xiàn)傳輸對于發(fā)射功率要求較高。
2. 4G 技術(shù)可以雙工工作,單向傳輸速率可達2 Mbps,但價(jià)格較高。由于藍牙成本低,保密性好,目前的技術(shù)已經(jīng)相當成熟,性?xún)r(jià)比較高,所以在設計中使用藍牙技術(shù)。
2. 2 IC卡讀寫(xiě)與數據存儲
當IC卡靠近讀寫(xiě)器時(shí),車(chē)載機讀取IC卡的各種數據信息,并進(jìn)行相應的處理。設計中選用13. 56 MHz的MF RC500 來(lái)完成對MIFARE1 射頻IC卡信息的讀寫(xiě)工作。MF RC500 內部包括安全和密碼控制單元,支持快速CRYPTOI 加密算法,可用于驗證Mifare1 IC卡; MF RC500 與IC卡的通信距離最大為100 mm。在IC卡進(jìn)入工作范圍后,卡與讀寫(xiě)器之間必須進(jìn)行3 次雙向認證,只有認證通過(guò)后,才可讀寫(xiě)數據。此外,MIFARE1 卡具有16 分區,各個(gè)分區都有自己的讀寫(xiě)密碼和訪(fǎng)問(wèn)機制,能應用于不同的場(chǎng)合或系統,有很強的擴展性,可以真正做到“一卡多用”。
存儲器EEPROM 24C64 用于存放營(yíng)業(yè)額、用戶(hù)卡號、黑名單等數據。當IC卡讀寫(xiě)完畢,成功刷卡后,當次扣除的金額及用戶(hù)卡號等信息將自動(dòng)存入24C64。
2. 3 顯示器與按鈕設計
顯示器主要用來(lái)完成檢票機所扣金額和用戶(hù)所持IC卡內余額的顯示。設計采用帶字庫的128 ×64 LCD 顯示器,其特點(diǎn)是功耗低,可靠性高,電路簡(jiǎn)單。
按鈕設計有查詢(xún)按鈕和設置按鈕。操作員按查詢(xún)按鈕一次,查詢(xún)最后一位乘客的刷卡記錄,再按動(dòng)一次,查詢(xún)前一位乘客的刷卡記錄; 連續按查詢(xún)按鈕2 次,可以查詢(xún)司機卡號、簽到時(shí)間、營(yíng)業(yè)額。按動(dòng)設置按鈕,可以設置參數、翻查車(chē)載機的設置情況及取消報警。
2. 4 電源監控電路
由于一些因素,可能導致系統電壓過(guò)低或掉電,利用電源監控電路可進(jìn)行數據保存,防止數據丟失。該部分選擇DS1232 監控芯片來(lái)完成。DS1232 是一個(gè)具有看門(mén)狗功能的電源監測芯片,在電源上電、斷電、電壓瞬態(tài)下降和死機時(shí)都會(huì )輸出一個(gè)復位脈沖,十分適合電源監控電路。
3 系統的軟件設計
3. 1 主程序
主程序流程如圖2 所示。第1 步,在系統開(kāi)始檢票以前,各個(gè)模塊先進(jìn)行初始化。第2步,當沒(méi)有IC卡靠近檢票機的有效工作區域時(shí),檢票機上的顯示模塊顯示“歡迎乘坐”及時(shí)間。當有IC卡靠近時(shí),先驗證是否是本系統下發(fā)的IC卡,如果不是,則采用蜂鳴器報警,如果是,則進(jìn)行讀卡操作; 第3 步,讀取IC卡的特征碼,辨識該IC卡是管理員卡,司機卡,還是乘客卡,并執行相應的處理程序。如果不是這3 類(lèi)卡,則判定是偽卡,不能進(jìn)行刷卡。
圖2 主程序流程圖
3. 2 乘客卡處理
乘客卡的處理子程序流程如圖3 所示。當判定為乘客卡后,系統再根據第二套特征碼進(jìn)行辨識,判斷該卡是優(yōu)惠卡、老人卡、學(xué)生卡還是普通卡。判斷完后,系統將按照事先設置好的票價(jià),從IC卡中的余額扣除當次票價(jià),并將所扣金額加到營(yíng)業(yè)額,保存刷卡記錄。為了系統更加人性化,乘客刷卡成功后,系統發(fā)出“嘀”聲,且綠燈亮。當乘客卡中的金額少于當次票價(jià)時(shí),系統發(fā)出“嘀、嘀”的報警聲,并且語(yǔ)音提示“余額不足,請投幣”,紅燈亮。司機可以按動(dòng)設置按鈕一次,取消報警。當乘客卡中的金額少于5 元時(shí),每次成功刷卡后,系統語(yǔ)音提示“請充值”。
圖3 乘客卡處理子程序流程圖
3. 3 黑名單卡處理
為了防止偽造卡、丟失卡的非法使用,在讀取乘客卡號時(shí),系統將與黑名單進(jìn)行比對。若發(fā)現黑名單卡,則發(fā)出“嘀嘀嘀”的報警聲,紅燈閃爍,并將該卡鎖定,做上標記。為了黑名單能夠實(shí)時(shí)更新。數據采集盒在數據采集工作站進(jìn)行數據處理時(shí),工作站會(huì )自動(dòng)將數據采集盒中的黑名單更新;數據采集盒在對車(chē)載機進(jìn)行數據采集時(shí),會(huì )自動(dòng)將新版本黑名單下載至車(chē)載機。
4 結語(yǔ)
公交車(chē)載自動(dòng)檢票機的使用,使得目前公交行業(yè)中的收費工作大為簡(jiǎn)化,且更具開(kāi)放性。所設計的基于PIC 的非接觸式IC卡檢票機,抗振性能好、可靠性高、實(shí)用性強,收費過(guò)程所需時(shí)間短,操作簡(jiǎn)便,大大提高了工作效率。另外,非接觸式IC卡的使用壽命較長(cháng),該文所選的IC卡分區多,加密性好,為以后實(shí)現“交通一卡通”奠定了基礎。
評論