劉瑞濤


摘要: 本文在深入分析非接觸式IC卡工作原理的基礎上,提出了一種基于AT89S51單片機控制的S50系列IC卡讀卡器的設計方法,并從元器件選型,硬件電路設計,軟件程序設計等方面進行了探討,并結合公共交通收費系統的實際應用,系統地講解了公交車刷卡機的讀寫技術和工作原理。
Abstract: Based on thorough analysis of the working principle of contactless IC card, this paper proposes a design method of S50 series IC card reader based on AT89S51 control. It discusses the design from the components selection, hardware circuit design, software program design and other aspects. Combined with the practical application of public transport charge system, the reading and writing techniques and working principle of bus card machine is systematically explained.
關鍵詞: 非接觸式IC卡;單片機;S50系列;刷卡機
Key words: contactless IC card;single chip microcomputer;S50 series;card machine
中圖分類號:TN409 文獻標識碼:A 文章編號:1006-4311(2014)12-0027-02
0 引言
非接觸式IC卡因其使用方便,安全可靠,成本低廉等特點正逐步應用于居民生活的各個方面,已經廣泛使用在公共交通收費系統,醫院信息管理系統,學校一卡通系統,小區門禁系統,停車場管理收費系統等諸多方面,給人民的日常生活,醫院就醫,外出交通提供了很大便利。本設計是主要采用非接觸式IC卡讀卡模塊進行信息采集,并用市場上比較常用AT89S51作為主控芯片設計一款公交刷卡器系統。其主要功能如下:能夠讀取非接觸式IC卡信息并能自動扣費;正常扣費時發出短提示音,當卡中費用低于限額時發出長提示音;通過數碼管顯示卡中余額及其他信息。
1 設計思路及流程
根據前面所講的功能要求,IC卡讀卡器系統可以分為單片機模塊、電源模塊、讀卡器模塊、顯示模塊、報警模塊5部分組成。如圖1所示。
單片機模塊采用AT89S51作為核心控制器,并配有基本的復位電路與晶振電路,其從讀卡器模塊中讀取IC卡信息及數據,通過顯示模塊向外輸出顯示,同時通過報警模塊發出對應的提示音。
電源模塊可以采用兩種方式供電,一種是市電交流220V供電,讀卡器系統內部必須使用開關電源,將交流電轉變為直流5V,供系統正常工作;另一種是利用公交車上的車載電源12V供電,這時系統內部必須使用線性穩壓芯片7805將12V直流電轉變成5V直流電。
讀卡器模塊用于對IC卡進行讀寫卡操作,IC卡采用飛利浦公司的S50卡,使用13號存儲塊存儲乘車人各類信息,并采用與之配套的專用讀寫卡模塊進行數據讀寫
操作。
顯示模塊主要顯示IC卡信息及待乘車次數,由于只是顯示數字信息,所以采用控制比較簡單的數碼管作為顯示器件,使用四位一體數碼管顯示,采用靜態顯示方式。
報警模塊主要發出長音和短音兩種提示音,方便乘客在刷卡時確認是否刷卡成功,發音器件采用市場上常見的蜂鳴器。
2 硬件電路設計
本系統中涉及到的芯片主要包括單片機AT89S51,線性穩壓芯片7805,讀卡模塊和S50卡片。由于AT89S51和7805芯片是比較常用的芯片,在一般的教學中都會重點講解,所以在此不再贅述。本文主要介紹讀卡模塊和S50卡。
2.1 非接觸式IC卡S50卡 S50系列IC卡的核心是飛利浦公司的S50系列芯片,并采用了國際上常用的ISO14443 TYPE A標準,IC卡的制造標準采用Mifare技術作為標準,其功能框圖如圖2所示。
IC卡主要包括RF射頻接口電路和數字電路部分。在射頻接口電路中,波形轉換模塊可以接收讀卡器發出的13.56MHz無線電調制信號,進行調試、解調,并進行波形轉換,之后又電壓模塊進行電壓轉換并輸出到卡上的各個電路上,最后使電路同步啟動。數字電路部分包括請求應答模塊,存儲控制模塊等部件,主要實現對IC卡的選擇與認證,數據的讀與寫。
2.2 S50卡讀寫模塊 對S50卡的讀寫操作由MFRC500芯片完成,現今市場上已經將此芯片集成為專用的讀寫模塊MF-500M。此模塊是采用最新的MIFARE技術設計的微型嵌入式、非接觸式IC卡讀寫模塊,內嵌ISO14443 TYPE A協議解釋器,并具有射頻驅動及接受功能,可以實現對S50卡的讀寫操作,操作距離為10cm。其特性為5V供電,RS-232接口,射頻頻率13.56MHz,106kbit/s傳輸率,工作溫度-20~+75℃
2.3 讀卡電路 硬件設計中單片機通過串口向讀卡模塊發送指令及接受數據,因此單片機的TXD、RXD引腳分別接讀卡模塊的RXD、TXD。同時為了能夠將數據傳輸過程實時的顯示出來,將單片機的TXD、RXD引腳分別連接上一個LED和1KΩ的限流電阻,當有數據交換時,LED燈閃爍。
3 軟件程序設計
軟件程序主要實現讀卡模塊對IC卡進行讀寫操作,并將信息顯示到數碼管上及發出提示音。主要包括:主程序模塊,調用各個子程序,實現IC卡讀寫操作;讀卡子程序模塊,根據讀寫電路,實現對IC卡的讀寫操作;顯示子程序模塊,根據顯示電路,將信息輸出到數碼管顯示;報警子程序模塊,根據報警電路,控制蜂鳴器發出長短提示音。在讀卡子程序模塊中要根據MF-500的指令結構圖與指令集分別編寫尋卡函數、讀卡函數、寫卡函數以及停卡
函數。
4 結束語
本文針對公交車IC卡收費系統提出了具有針對性、專業性的設計方案,并給出了硬件設計和軟件編程的思路與方法。在硬件設計中,由于外界環境干擾信號較多,可以采用看門狗功能芯片,當系統死機時能夠強迫其復位。在本系統的基礎上,還可以加上時鐘芯片和存儲芯片,記錄刷卡時間,便成為考勤機,如果再加上與上位機的通信模塊,還可將數據傳輸到上位機上,便于建立數據庫。
參考文獻:
[1]黃春耀,王清輝.非接觸式IC卡開放實驗室管理系統下位機設計[J].龍巖學院學報,2012(4):27-31.
[2]林君.基于STC12C5A60S2單片機的射頻讀卡器設計[J].科技信息,2012(35):155,173.
[3]張鳳濤.基于單片機技術的非接觸式IC卡考勤機設計方案研究[J].河南科技,2013(1):20.
[4]于豐華,雷宇橋,胡玉杰,孫浩,朱鳳武.基于非接觸式IC卡的考勤系統設計[J].電子世界,2013(4):18-19,33.endprint