非接觸式IC卡模塊說明
文章出處:http://srpd123.com 作者:北京達(dá)盛科技有限公司 人氣: 發(fā)表時(shí)間:2011年10月11日
非接觸式 IC 卡模塊由非接觸式IC 卡讀卡器芯片F(xiàn)M1702及其外圍電路組成。
一、 FM1702 芯片介紹
FM17XX 系列是復(fù)旦微電子股份有限公司設(shè)計(jì)的,基于ISO14443 標(biāo)準(zhǔn)的系列非接觸卡讀卡機(jī)專用芯片,采用0.6 微米CMOS EEPROM 工藝,可分別支持13.56MHz 頻率下的typeA、typeB、15693 三種非接觸通信協(xié)議,支持MIFARE和SH 標(biāo)準(zhǔn)的加密算法,可兼容Philips 的RC500、RC530、RC531、及RC632 等讀卡機(jī)芯片。芯片內(nèi)部高度集成了模擬調(diào)制解調(diào)電路,只需最少量的外圍電路就可以工作。支持6 種微處理器接口,數(shù)字電路具有TTL、CMOS 兩種電壓工作模式,適用于各類計(jì)費(fèi)系統(tǒng)的讀卡器的應(yīng)用。
1、產(chǎn)品特點(diǎn)
●高集成度的模擬電路只需最少量的外圍線路
●操作距離可達(dá)10cm
●支持ISO14443 typeA typeB 15693 協(xié)議
●包含512byte 的EEPROM
●支持MIFARE 和SH 標(biāo)準(zhǔn)的加密算法
●支持六種接口模式
●包含64byte 的FIFO
●數(shù)字電路具有TTL/CMOS 兩種電壓工作模式
●軟件控制的power down 模式
●一個(gè)可編程計(jì)時(shí)器
●一個(gè)中斷處理器
●一個(gè)串行輸出輸入口
●啟動(dòng)配置可編程
●數(shù)字模擬和發(fā)射模塊都有獨(dú)立的電源供電
●采用SOP32 封裝
●FM17XXL 的版本表示該芯片的三路電源都可適用于低電壓
2、各型號區(qū)別:
二、 FM1702 芯片功能框圖及引腳圖
三、對非接觸式 IC 卡操作流程圖如下:
上電后首先用程序?qū)ψx卡器芯片(以下簡稱 PCD)進(jìn)行寄存器初始化,完成后進(jìn)入尋卡狀態(tài),通過天線發(fā)出尋卡信號。當(dāng)有IC 卡(以下簡稱PICC,實(shí)驗(yàn)程序所使用的卡為MF1 S50 卡)進(jìn)入天線有效操作區(qū),并且得到能量后,返回給PCD 卡類型值。下一步PCD 對卡進(jìn)行沖突操作,PICC 得到防沖突操作信號后,返回給PCD 卡序列號。PCD接收到序列號后,程序?qū)π蛄刑栍行耘卸?。?dāng)確認(rèn)PICC 序列號有效后,PCD 發(fā)送選卡命令,選卡命中包含送出所選卡序列號,這樣保證進(jìn)行下一步操作的卡唯一。PCD 裝載密匙,所裝載密匙與所要操作的PICC 扇區(qū)密匙一致,同一個(gè)扇有兩組密匙,密匙A、B。如進(jìn)行A 密匙認(rèn)證則,裝載的密匙為A 密匙,進(jìn)行B 密匙認(rèn)證,則需裝載B 密匙。裝載密匙成功后,開始三遍認(rèn)證操作。
如下圖所示為三遍認(rèn)證的令牌原理框圖:
認(rèn)證過程是這樣進(jìn)行的:
(A)環(huán):由 Mifare 1 卡片向讀寫器 發(fā)送一個(gè)隨機(jī)數(shù)據(jù) RB;
(B)環(huán):由讀寫器收到RB 后向Mifare 1 卡片發(fā)送一個(gè)令牌數(shù)據(jù)TOKEN AB,其中包含了讀寫器發(fā)出的一個(gè)隨機(jī)數(shù)據(jù) RA;
(C)環(huán):Mifare 1 卡片收到 TOKEN AB 后,對TOKEN AB 的加密的部分進(jìn)行解密,并校驗(yàn)第一次由(A)環(huán)中Mifare 1 卡片發(fā)出去的隨機(jī)數(shù)RB 是否與(B)環(huán)中接收到的TOKEN AB 中的RB 相一致;
(D)環(huán) : 如果(C)環(huán)校驗(yàn)是正確的,則Mifare 1 卡片向讀寫器發(fā)送令牌TOKENBA 給讀寫器;
(E)環(huán):讀寫器收到令牌TOKEN BA 后,讀寫器將對令牌TOKEN BA 中的RB(隨機(jī)數(shù))進(jìn)行解密;并校驗(yàn)第一次由(B)環(huán)中讀寫器發(fā)出去的隨機(jī)數(shù)RA 是否與(D)環(huán)中接收到的 TOKEN BA 中的RA 相一致;
如果上述的每一個(gè)環(huán)都為“真”,都能正確通過驗(yàn)證,則整個(gè)的認(rèn)證過程將成功。讀寫器將能對剛剛認(rèn)證通過的卡片上的這個(gè)扇區(qū)可以進(jìn)入下一步的操作(READ/WRITE 等操作)。
卡片中的其他扇區(qū)由于有其各自的密碼,因此不能對其進(jìn)行進(jìn)一步的操作。如想對其他扇區(qū)進(jìn)行操作,必須完成上述的認(rèn)證過程。認(rèn)證過程中的任何一環(huán)出現(xiàn)差錯(cuò),整個(gè)認(rèn)證將告失敗。必須從新開始。如果事先不知卡片上的密碼,則由于密碼的變化可以極其復(fù)雜,因此靠猜測密碼而想打開卡片上的一個(gè)扇區(qū)的可能性幾乎為零。
這里提醒一下程序員和卡片的使用者,必須牢記卡片中的 16 個(gè)扇區(qū)的每一個(gè)密碼,否則,遺忘某一扇區(qū)的密碼,將使該扇區(qū)中的數(shù)據(jù)不能讀寫。沒有任何辦法可以挽救這種低級錯(cuò)誤。但是,卡片上的其他扇區(qū)可以照樣使用。
上述的敘述已經(jīng)可以充分地說明了 Mifare 1 卡片的高度安全性,保密性,及卡片的應(yīng)用場合多樣性,一卡多用(一卡通)。
詳細(xì)操作流程參閱:FM1702 手冊,MF1 S50 手冊,14443 協(xié)議。
四、電路原理圖
五、模塊的基本測試方法
用跳線帽短接模塊的 CS0,模式選擇Mode_Select 選擇獨(dú)立方式,即把ALE、A0、A1、A2 跳短選擇全部接Separate 端。模塊的REST 接實(shí)驗(yàn)箱的P+。
把模塊插入單片機(jī)實(shí)驗(yàn)箱擴(kuò)展插槽,上電,打開文件:Hardware.asm。編譯、調(diào)試,按程序中注釋棄置斷點(diǎn),運(yùn)行程序,依次觀察前三個(gè)斷點(diǎn)處內(nèi)容。
第一個(gè)斷點(diǎn)處,30H-5FH 單元內(nèi)容全部為:0FFH。
第二個(gè)斷點(diǎn)處,A 內(nèi)容為4,正常。
第三個(gè)斷點(diǎn)處,39H-3CH 單元內(nèi)容有變化,為讀卡芯片的序列號。每個(gè)讀卡芯片的序列號不同。
第四個(gè)斷點(diǎn)處,L1,L2 右端測得有峰峰值為7V 左右的正弦波,并且L1 與L2 波形反向;C3,C5 右端有峰峰值為3.5V 左右的正弦波,波形反向;C12,C13 右端有峰峰值為7V 左右正弦波,波形反向。如把示波器探頭的地端與探測端相連,圈成大小與天線線圈大相等的圈,圈放于天線上方緊貼電路板,則能感應(yīng)到峰峰值為2.5V 左右的正弦波。前三個(gè)斷點(diǎn)處都正確,則說明寄存器訪問正常。第四個(gè)斷點(diǎn)處,所測數(shù)據(jù)為正常模塊數(shù)據(jù)。
去掉斷點(diǎn)1,2,3。保留斷點(diǎn)4,設(shè)置斷點(diǎn)5,6。調(diào)試用M1卡(MF1 S50卡)。從斷點(diǎn)4運(yùn)行程序,把卡放于讀卡模塊天線線圈上方4厘米左右,反復(fù)執(zhí)行程序觀察斷點(diǎn)5處A或R6的值是否正常,保持卡在天線上方的位置不改變。如正常則繼續(xù)往下執(zhí)行程序,到斷點(diǎn)6處,觀察30H,31H內(nèi)容是否為:04H,00H。則尋卡有效。模塊可以對卡進(jìn)行正常操作??梢允钩绦蚍磸?fù)運(yùn)行,觀察對卡操作的有效距離變化。