非接觸IC卡在考勤機上的應用設計
傳統的機械式考勤機雖然較可靠,但由于其將考勤數據記錄在紙片上,大量的考勤數據需要人工統計,既費時又費力,而且容易出錯。本文所介紹考勤機采用電子時鐘,計時準確,操作方便,考勤數據通過RS485總線上傳給計算機,統計快捷又準確。
1、系統工作原理
本考勤機以完全兼容與MCS-5l系列微處理機的ATMEL公司的AT89C52單片機作為微控制器,采用I2C總線的PCF8583作為考勤機時鐘,以I2C總線的多片(可選)AT24C64作為考勤機的不掉電存儲器,采用大屏幕點陣LCD顯示,并以RS485接口和計算機通信。組成了一套功能齊全的非接觸IC卡考勤系統。當IC卡在天線區域經過時,單片機自動把IC卡里邊的相關信息讀到考勤機上,再把打卡時間一起存到存儲器里邊,計算機可以通過RS485串口把相關打卡信息讀到計算機上,再進行統計、報表和打印輸出等。其基本原理框圖如下:
2、非接觸IC卡數據編碼格式
MIFAREl IC卡的核心是PHILIPS公司的Mifarel IC S50系列微模塊,內建高速CMOS EEPROM和MCU,并自帶一副高效率射頻天線。它總共有1 kBytes的容量,其中又分為16個扇區(Sector),每個扇區分為4個塊(Block),每塊16Bytes,考勤卡只需要使用其中的一個扇區(1扇區),地址編碼如下:
地址0-3:自定義員工工號
地址4-7:員工工號的反碼
地址8-15:備用
Blockl和Block2地址備用
Block3
地址0-5:密碼A(KEYA)
地址6-9:狀態字節
地址工0-15:密碼B(KEYB)
3、非接觸IC卡讀寫的硬件實現
非接觸IC卡的讀寫采用PHILIPS公司的讀寫模塊MFCM200。此模塊自帶天線接口,通過天線接口連接讀寫天線,直接從IC卡讀寫數據。單片機直接從數據總線讀寫天線區域的IC卡數據。IC卡讀寫的硬件原理如下圖所示:
4、非接觸IC卡讀寫的軟件實現
MFCM200能執行有限的一些指令,并將這些指令傳輸到MIFAREl卡片上。
每一個指令包含7個獨立的步驟,每一個步驟在不同的指令執行中有不一樣的時序。以下是MFCM200通信基本指令集。
Request:尋卡
Anticoll:防重疊(碰撞)
Select:選卡片
Authentication:密碼認證
Loadkey:力口載密碼
Read:讀數據
Write:寫數據
Increment:土曾值
Decrement:減值
Restore:存儲
Transfer:傳送
Halt:停止
在每一次讀寫IC卡數據時,必須按順序先執行Request、Anticoll、Select、Authentication等指令,然后才能執行Read和Write指令,下面重點介紹Read和Write指令的使用。
(1)''Read讀數據指令
Read指令允許單片機通過MFCM200來讀取MIFAREl卡片上完整的16個Bytes的數據塊(Data blocks)。
只有在預先Authentication認證指令完成后,才允許進行對Mifare l卡片上的某一數據扇區進行Read指令操作。
Read指令操作只能一個塊(B1ock)一個塊地讀,即只能16個字節一次性地讀取。如果只要求某Block中的幾個字節的數據,也只能一個整塊16個字節一起讀取,由程序員選取指定的字節。
從卡片上讀到的數據必須由單片機進行校驗,以確保數據的有效性。
(2)Write寫數據指令
Write指令允許用戶寫數據到MIFARE l卡片上(完整的16個BYTEs的數據塊(Data blocks))。只有在先Authentication認證指令完成后,才允許進行對要求的數據扇區或數據塊(Block)進行Write指令操作。
結束語
近幾年來,隨著IC智能卡中的非接觸IC卡(射頻卡)的高度穩定性和高度安全保密性,使之在IC智能卡領域中異軍突起,成為當今智能卡中的流行寵物。做為非接觸工C卡中的主流,MIFARE技術已經被制定為國際標準:IS0/IEC14443 TYPE A標準。此卡在考勤系統中使用,是IC卡最典型的應用之一,此卡同時也支持一卡多用,如考勤、門禁、售飯等,應用前景非常廣闊。
下一篇:印刷工藝中的上光與壓光
上一篇:非接觸智能卡安全分析