《IC卡接口技術(shù)》PPT課件.ppt_第1頁
《IC卡接口技術(shù)》PPT課件.ppt_第2頁
《IC卡接口技術(shù)》PPT課件.ppt_第3頁
《IC卡接口技術(shù)》PPT課件.ppt_第4頁
《IC卡接口技術(shù)》PPT課件.ppt_第5頁
已閱讀5頁,還剩136頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

IC卡 IntegratedCircuitCard 即 集成電路卡 在日常生活中已隨處可見 自1972年法國人羅蘭 莫雷諾 RolandMoreno 首先提出IC卡的設(shè)想 1976年法國布爾 Bull 公司研制出世界第一張IC卡以來 IC卡技術(shù)飛速發(fā)展 已經(jīng)形成涉及全球眾多著名電子巨頭的新興技術(shù)產(chǎn)業(yè) 第9章IC卡接口技術(shù) IC卡概述接觸式IC卡接口技術(shù)非接觸式IC卡接口技術(shù) 本章主要內(nèi)容 第9章IC卡接口技術(shù) IC卡概述 IC卡的分類IC卡應(yīng)用系統(tǒng)的構(gòu)成要素IC卡的國際標(biāo)準(zhǔn) IC卡的分類 按鑲嵌芯片的不同分類簡單的串行通信協(xié)議的設(shè)計(jì)根據(jù)卡與外界數(shù)據(jù)交換界面的不同分類根據(jù)應(yīng)用領(lǐng)域的不同分類根據(jù)與外界數(shù)據(jù)傳輸形式的不同分類 按鑲嵌芯片的不同分類 按卡內(nèi)鑲嵌芯片的不同可將智能卡分為存儲器卡 邏輯加密卡和CPU卡三類 1 存儲器卡 存儲器卡卡內(nèi)嵌入的芯片為存儲器芯片 這些芯片多為通用E2PROM 或FlashMemory 無安全邏輯 可對片內(nèi)信息不受限制地任意存取 卡片制造中也很少采取安全保護(hù)措施 不完全符合或支持ISO IEC7816國際標(biāo)準(zhǔn) 而多采用兩線串行通信協(xié)議 I2C總線協(xié)議 或3線串行通信協(xié)議 特點(diǎn) 按鑲嵌芯片的不同分類 2 邏輯加密卡 邏輯加密卡由非易失性存儲器和硬件加密邏輯構(gòu)成 一般是專門為IC卡設(shè)計(jì)的芯片 具有安全控制邏輯 安全性能較好 同時采用ROM PROM E2PROM等存儲技術(shù) 從芯片制造到交貨 均采取較好的安全保護(hù)措施 如運(yùn)輸密碼TC TransportCard 的取用 支持ISO IEC7816國際標(biāo)準(zhǔn) 特點(diǎn) 3 CPU卡 CPU卡也稱智能卡 保密微控制器卡 加密微控制器卡 片內(nèi)帶加密協(xié)處理器 在IC卡家族中出現(xiàn)最晚 也最具生命力 CPU卡的硬件構(gòu)成包括CPU 存儲器 含RAM ROM E2PROM等 卡與讀寫終端通信的I O接口及加密運(yùn)算協(xié)處理器CAU ROM中則存放有COS ChipOperationSystem 片內(nèi)操作系統(tǒng) 有很高的數(shù)據(jù)處理和計(jì)算能力以及較大的存儲容量 因此應(yīng)用的靈活性 適應(yīng)性較強(qiáng) 極強(qiáng)的安全防偽能力 它不僅可驗(yàn)證卡和持卡人的合法性 而且可鑒別讀寫終端 已成為一卡多用及對數(shù)據(jù)安全保密性特別敏感場合的最佳選擇 如金融信用卡和手機(jī)SIM卡等 真正意義上的 智能卡 特點(diǎn) 按鑲嵌芯片的不同分類 根據(jù)卡與外界數(shù)據(jù)交換界面的不同分類 接觸式IC卡 接觸式IC卡以符合ISO IEC7816標(biāo)準(zhǔn)的多個金屬觸點(diǎn)為卡芯片與外界的信息傳輸媒介 成本低 實(shí)施相對簡便 非接觸式IC卡則不用觸點(diǎn) 而是借助無線收發(fā)傳送信息 因此在前者難以勝任的交通運(yùn)輸?shù)戎T多場合有較多應(yīng)用 根據(jù)卡與外界數(shù)據(jù)交換界面的不同可將智能卡分為 非接觸式IC卡 根據(jù)應(yīng)用領(lǐng)域的不同分類 根據(jù)應(yīng)用領(lǐng)域的不同可將智能卡分為金融卡和非金融卡 即銀行卡和非銀行卡 金融卡又分為信用卡和現(xiàn)金卡 前者用于消費(fèi)支付時 可按預(yù)先設(shè)定額度透支資金 后者可用做電子錢包和電子存折 但不得透支 而非金融卡的涉及范圍極廣 實(shí)質(zhì)上囊括了金融卡之外的所有領(lǐng)域 如門禁卡 組織代碼卡 醫(yī)療卡 保險卡 IC卡身份證 電子標(biāo)簽等 根據(jù)與外界數(shù)據(jù)傳輸形式的不同分類 根據(jù)與外界數(shù)據(jù)傳輸形式的不同可將智能卡分為串行通信卡和并行通信卡 串行通信卡即為目前最常用的卡 也是目前國際標(biāo)準(zhǔn)中所規(guī)定的接口方式 采用串行方式與外界交換信息 卡芯片引腳較少 易于封裝和接口 但隨著芯片存儲容量的增大 引發(fā)了兩個問題 一是芯片面積急劇增長 給卡的封裝帶來困難 二是讀寫時間過長 讀寫1MB的容量需要12分鐘 并行通信卡由于采用并行通信 故無此二弊 但國際標(biāo)準(zhǔn)中尚無此類接口標(biāo)準(zhǔn) 深圳艾柯電子公司研制的P型IC卡的引腳數(shù)多達(dá)32個 不僅速度極快 而且容量增大 與串行通信卡一樣 它也有存儲型 邏輯加密型和CPU型 并已在納稅申報等系統(tǒng)中得以應(yīng)用 IC卡應(yīng)用系統(tǒng)的構(gòu)成要素 一個標(biāo)準(zhǔn)的IC卡應(yīng)用系統(tǒng)通常包括 IC卡 IC卡接口設(shè)備 IC卡讀寫器 PC 較大的系統(tǒng)還包括通信網(wǎng)絡(luò)和主計(jì)算機(jī)等 如圖所示 IC卡應(yīng)用系統(tǒng)的基本構(gòu)成 IC卡應(yīng)用系統(tǒng)的構(gòu)成要素 1 IC卡 IC卡即由持卡人掌管 記錄有持卡人的特征代碼 文件資料的便攜式信息載體 2 IC卡接口設(shè)備 InterFaceDevice IFD 接口設(shè)備即通常所說的IC卡讀寫器 是卡與PC進(jìn)行信息交換的橋梁 而且常常是IC卡的能量來源 其核心通常為工作可靠的工業(yè)控制單片機(jī) 如Intel的51系列等 3 PC PC是系統(tǒng)的核心 完成信息匯總 統(tǒng)計(jì) 計(jì)算 處理 報表的生成 輸出和指令的發(fā)放 系統(tǒng)的監(jiān)控管理以及卡的發(fā)行與掛失 黑名單的建立等 4 網(wǎng)絡(luò)與計(jì)算機(jī) 在金融服務(wù)等相對大的系統(tǒng)中 網(wǎng)絡(luò)是使前端PC與上級控制 授權(quán) 服務(wù) 管理中心 即中央計(jì)算機(jī) 主計(jì)算機(jī) 連接的必備條件 IC卡的國際標(biāo)準(zhǔn) 1 接觸式IC卡的國際標(biāo)準(zhǔn) ISO IEC7816是IC卡遵循的主要國際標(biāo)準(zhǔn) 該標(biāo)準(zhǔn)也引用了以前制定的有關(guān)識別卡標(biāo)準(zhǔn) ISO IEC推出的7816國際標(biāo)準(zhǔn)已有10個部分 分別對IC卡的物理特性 卡觸點(diǎn)的尺寸與位置 電信號與傳輸協(xié)議 行業(yè)間交換命令 數(shù)據(jù)元以及IC卡注冊管理辦法等做出了詳細(xì)規(guī)定 IC卡的國際標(biāo)準(zhǔn) 2 非接觸式IC卡的國際標(biāo)準(zhǔn) 每個國際標(biāo)準(zhǔn)又由幾個部分組成 但到目前為止 部分標(biāo)準(zhǔn)尚未正式通過 還是草案 ISO IEC7816中的大部分內(nèi)容仍適合于非接觸式IC卡 ISO IEC10536 ISO IEC14443和ISO IEC15693 3 測試標(biāo)準(zhǔn) ISO IEC10373 接觸式IC卡接口技術(shù) 所謂接觸式IC卡 就是在使用時通過有形的金屬電極觸點(diǎn)將卡的集成電路與外部接口設(shè)備直接接觸連接 提供集成電路工作的電源并進(jìn)行數(shù)據(jù)交換的IC卡 其特點(diǎn)是在卡的表面有符合ISO IEC7816標(biāo)準(zhǔn)的多個金屬觸點(diǎn) 在本節(jié)中將以一種應(yīng)用較為廣泛的接觸式IC卡 SLE4442卡為典型實(shí)例 介紹接觸式IC卡的接口技術(shù) SLE4442卡概述SLE4442卡硬件接口電路SLE4442卡讀寫技術(shù) SLE4442卡概述 SLE4442是由德國西門子 Siemens 公司設(shè)計(jì)的邏輯加密存儲卡 它具有2KB的存儲容量和完全獨(dú)立的可編程加密代碼 ProgrammableSecurityCode PSC 存儲器 內(nèi)部電壓提升電路保證了芯片能夠以單 5 電壓供電 較大的存儲容量能夠滿足通常應(yīng)用領(lǐng)域的各種要求 因此是目前國內(nèi)應(yīng)用較多的一種IC卡芯片 SLE4442卡概述 1 總體描述 1 采用多存儲器結(jié)構(gòu) 2 2線連接協(xié)議 復(fù)位響應(yīng)滿足ISO IEC7816 3標(biāo)準(zhǔn) 3 觸點(diǎn)配置及串行接口滿足ISO IEC7816 同步傳輸協(xié)議 4 僅當(dāng)正確輸入3個字節(jié)的可編程加密代碼 PSC 后方可修改數(shù)據(jù) 5 芯片采用NMOS工藝技術(shù) 每個字節(jié)的寫入 擦除編程時間為2 5ms 6 存儲器具有至少104次的寫入 擦除周期 數(shù)據(jù)保持時間至少10年 SLE4442卡芯片的特點(diǎn)如下 SLE4442卡概述 SLE4442卡的觸點(diǎn) SLE4442卡的引腳定義和功能說明 SLE4442卡的觸點(diǎn)如圖所示 引腳定義和功能如表所示 SLE4442卡概述 2 存儲器結(jié)構(gòu) SLE4442的存儲器結(jié)構(gòu)如圖所示 主要包括3個存儲器 256 8B的E2PROM型主存儲器 32 1B的PROM型保護(hù)存儲器 4 8B的E2PROM型加密存儲器 SLE4442卡的存儲器結(jié)構(gòu) SLE4442卡概述 1 主存儲器 MainMemory 存儲器為可重復(fù)擦除使用的E2PROM型存儲器 按字節(jié)尋址 擦除和寫入 主存儲器的地址是從0 00H 255 FFH 共256B 2KB 主存儲器可分為兩個數(shù)據(jù)區(qū) 保護(hù)數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū) 保護(hù)數(shù)據(jù)區(qū)主存儲器前32B為保護(hù)數(shù)據(jù)區(qū) 地址從0 00H 31 1FH 這部分的數(shù)據(jù)讀出不受限制 但擦除和寫入操作均受到保護(hù)存儲器內(nèi)部數(shù)據(jù)狀態(tài)的限制 根據(jù)這一特性 主存儲器的保護(hù)數(shù)據(jù)區(qū)一般均作為IC卡的標(biāo)識數(shù)據(jù)區(qū) 存放一些固定不變的標(biāo)識參數(shù) 如廠商代碼 發(fā)行商代碼等 應(yīng)用數(shù)據(jù)區(qū)主存儲器后224B為應(yīng)用數(shù)據(jù)區(qū) 地址從32 20H 255 FFH 這部分的數(shù)據(jù)讀出不受限制 但擦除和寫入均受控于加密存儲器數(shù)據(jù)校驗(yàn)比較結(jié)果的影響 SLE4442卡概述 2 保護(hù)存儲器 ProtectionMemory 保護(hù)存儲器是一個32 1B的一次性可編程只讀存儲器 PROM 它按位尋址和寫入 保護(hù)存儲器每個被寫 0 的單元所對應(yīng)控制的主存儲器的字節(jié)單元不再接受任何擦除和寫入操作命令 從而使得該字節(jié)單元內(nèi)的數(shù)據(jù)不可再被改變 因此 對保護(hù)存儲器單元的寫入一定要特別小心 SLE4442卡概述 3 加密存儲器 SecurityMemory 加密存儲器是一個4 8B的E2PROM型存儲器 在這個存儲器中 第0個字節(jié)為 密碼輸入錯誤計(jì)數(shù)器 ErrorCounter EC 密碼輸入錯誤計(jì)數(shù)器的有效位是低3位 在芯片初始化時 計(jì)數(shù)器設(shè)置成 111 這一字節(jié)是可讀的 每次比較密碼時 先要判定計(jì)數(shù)器中是否還有 1 如果還有 1 則將一個 1 寫成 0 然后進(jìn)行比較 校驗(yàn)字 操作 如果比較結(jié)果一致 則密碼錯誤計(jì)數(shù)器將允許進(jìn)行擦除操作 注意 芯片不能自動進(jìn)行擦除操作 同時打開主存儲器 保護(hù)存儲器和加密存儲器 并允許進(jìn)行擦除和寫入操作 如果比較結(jié)果不一致 則密碼錯誤計(jì)數(shù)器中為 1 的個數(shù)減少1位 只要計(jì)數(shù)器的內(nèi)容不全為 0 則芯片的比較 校驗(yàn)字 操作還允許再次進(jìn)行 當(dāng)連續(xù)3次輸入錯誤密碼后 即密碼計(jì)數(shù)器減少為0 則芯片的存儲單元將全部被鎖死 由此可見 加密存儲器可以理解為進(jìn)入整個芯片的 關(guān)卡 SLE4442卡硬件接口電路 SLE4442卡接口設(shè)備的硬件組成包括 卡座 IC卡適配插座 輸入接口電路 存儲器 微處理器和外圍接口組成 如圖所示 卡座 卡座是讀寫器與卡的物理連接部件 是影響讀寫器壽命的主要因素 也是設(shè)計(jì)或選購讀寫器的重要指標(biāo) 它包括與卡接觸的8個片觸點(diǎn) 檢測 插卡到位 的一對狀態(tài)開關(guān) 固定和彈出卡的機(jī)械裝置 與輸入接口電路相接的電氣終端和安裝基座 1 按觸點(diǎn)接觸方式分類 滑觸式著落式 2 按卡的插入 退出形式分類 推入 拉出式推入 推入彈出式推入 自動彈出式 推入 提 壓式只推式電動出入卡式 卡座 3 選擇卡座的標(biāo)準(zhǔn)和依據(jù) 觸點(diǎn)電氣性能及與卡接觸的可靠性 插拔壽命 對卡觸點(diǎn)及其他部分的磨損程度 卡從接觸好到識別有效的位置差 價格因素 對應(yīng)用現(xiàn)場的適應(yīng)性 輸入接口電路 IC卡的輸入接口電路是連接IC卡與讀寫器的通路 由它實(shí)現(xiàn)對IC卡的供電并滿足不帶電插拔IC卡的要求 以及實(shí)現(xiàn)時鐘供給和信號的可靠傳輸 1 電源供給 對IC卡和讀寫器應(yīng)分別設(shè)置各自獨(dú)立的供電電路 如圖所示 IC卡接口設(shè)備供電電路 輸入接口電路 2 接口電路 IC卡芯片的邏輯端口一般采用漏極 集電極 開路輸出及非嵌位保護(hù)式輸入結(jié)構(gòu) 因此 讀寫器輸入接口電路與IC卡各信號端口的接口必須外加上拉電阻 如圖所示 SLE4442卡接口電路 輸入接口電路 3 外圍接口 讀寫器的外圍接口對象通常為LED 數(shù)碼 或LCD 字符 點(diǎn)陣 顯示屏和簡易鍵盤 PC以及條碼閱讀器 電量傳感器等信號輸入設(shè)備 電磁鎖 電閘等被控對象 與PC的通信多取RS232或RS485串行通信標(biāo)準(zhǔn) 也有取并行通信方式的 并配以MAX232 MAX485 491接口驅(qū)動芯片 為實(shí)現(xiàn)鍵盤輸入和屏顯輸出 必須設(shè)置相應(yīng)掃描驅(qū)動電路 LCD液晶顯示器在應(yīng)用中注意溫度和背光源的選擇 脫機(jī)考勤機(jī)和不少手持機(jī)常要求輸出年 月 日 星期 時 分和秒等時間信息 必須要考慮備用電池 SLE4442卡讀寫技術(shù) 傳送協(xié)議與操作模式芯片的操作命令PSC校驗(yàn)中止與錯誤狀態(tài) 傳送協(xié)議與操作模式 SLE4442卡與接口設(shè)備 InterFaceDevice IFD 之間的傳送采用兩線連接協(xié)議 滿足ISO IEC7816同步傳送協(xié)議 I O線上的數(shù)據(jù)變化只在CLK信號下降沿有效 傳送協(xié)議包括4種模式 復(fù)位和復(fù)位響應(yīng) Answer To Reset ATR 命令模式 CommandMode 輸出數(shù)據(jù)模式 OutgoingDataMode 和處理模式 ProcessingMode 復(fù)位和復(fù)位響應(yīng) SLE4442卡芯片的復(fù)位方式有以下兩種 復(fù)位和復(fù)位響應(yīng) 外部復(fù)位方式 基于ISO IEC7816 3的同步協(xié)議 加電復(fù)位 PoweronReset 內(nèi)部復(fù)位方式 加電后I O被置于高阻態(tài) 必須在對任意地址進(jìn)行讀操作或做一個復(fù)位響應(yīng)操作之后才可以進(jìn)行數(shù)據(jù)交換 在操作期間的任意時刻都可以復(fù)位 復(fù)位及復(fù)位響應(yīng)的時序關(guān)系如圖所示 在復(fù)位響應(yīng)期間 啟動 和 停止 狀態(tài)都被忽略 復(fù)位和復(fù)位響應(yīng) 復(fù)位子程序RESET CLRRSTCLRCLKCLRI OLCALLDELAY 12 sLCALLDELAY 12 sSETBRSTLCALLDELAY 12 sSETBCLKLCALLDELAY 12 sCLRCLK LCALLDELAY 12 sCLRRSTLCALLDELAY 12 sMOVB 20HRESET0 SETBCLKLCALLDELAY 12 sCLRCLKLCALLDELAY 12 sDJNZB RESET0SETBI ORET 復(fù)位子程序如下 命令模式 復(fù)位響應(yīng)以后 芯片等待命令 每條命令都以 啟動狀態(tài) 開始 整個命令包括3個字節(jié) 隨后緊跟著一個附加脈沖并用一個 停止?fàn)顟B(tài) 來結(jié)束操作 圖為命令模式的時序關(guān)系 命令模式的時序關(guān)系 命令模式 啟動狀態(tài) 在CLK為高狀態(tài) H狀態(tài) 期間 I O線的下降沿為啟動狀態(tài) 停止?fàn)顟B(tài) 在CLK為高狀態(tài) H狀態(tài) 期間 I O線的上升沿為停止?fàn)顟B(tài) 讀數(shù)據(jù)時處于輸出數(shù)據(jù)模式 寫入 將數(shù)據(jù)1改寫為0稱為 寫 和擦除 將數(shù)據(jù)0改寫為1稱為 擦除 以及校驗(yàn)數(shù)據(jù)時處于處理模式 命令子程序 接收了一個命令之后 卡芯片處于兩種可能的模式 輸出數(shù)據(jù)模式 在這一模式下IC卡芯片發(fā)送數(shù)據(jù)給IFD 圖右上角為輸出數(shù)據(jù)模式的時序關(guān)系圖 命令模式的時序關(guān)系 處理模式 當(dāng)命令為修改 寫入或校驗(yàn)數(shù)據(jù)時 卡芯片在執(zhí)行命令后將處于處理模式 在這一模式下對IC卡芯片做內(nèi)部處理 圖右下角為處理模式的時序關(guān)系圖 命令模式的時序關(guān)系 處理模式 在處理模式期間 根據(jù)新舊數(shù)據(jù) 可能發(fā)生下列幾種情況 所有的值都以50kHz的時鐘頻率為準(zhǔn) 先擦除后寫入 5ms 相當(dāng)于M 256個時鐘脈沖 只寫入不擦除 2 5ms 相當(dāng)于M 124個時鐘脈沖 只擦除不寫入 2 5ms 相當(dāng)于M 124個時鐘脈沖 數(shù)據(jù)校驗(yàn) 2 5ms 相當(dāng)于M 124個時鐘脈沖 處理模式子程序 芯片的操作命令 1 命令格式 每條命令包含3個字節(jié) 其排列順序如下 SLE4442具有7種命令 其格式和功能如表所示 芯片的操作命令 2 讀主存儲器 ReadMainMemory 讀主存儲器命令格式如下 讀主存儲器命令讀出主存儲器的內(nèi)容 命令的控制字為30H 讀主存儲器的時序如圖所示 讀主存儲器的時序圖 讀主存儲器子程序 芯片的操作命令 3 讀保護(hù)存儲器 ReadProtectionMemory 讀保護(hù)存儲器命令格式如下 讀保護(hù)存儲器命令的控制字為34H 對保護(hù)存儲器進(jìn)行讀取操作不受限制 讀保護(hù)存儲器的時序如圖所示 讀保護(hù)存儲器的時序圖 芯片的操作命令 4 讀加密存儲器 ReadSecurityMemory 讀加密存儲器命令格式如下 讀加密存儲器命令類似于讀保護(hù)存儲器 可以讀出4B的加密存儲器的內(nèi)容 該命令的控制字為31H 讀加密存儲器的時序如圖所示 讀加密存儲器的時序圖 芯片的操作命令 5 修改主存儲器 UpdateMainMemory 修改主存儲器命令格式如下 修改主存儲器命令根據(jù)所傳送的字節(jié)數(shù)據(jù) 尋址主存儲器的E2PROM字節(jié) 然后修改相應(yīng)字節(jié)的內(nèi)容 該命令的控制字為38H 其命令時序如圖所示 修改主存儲器的時序圖 芯片的操作命令 修改主存儲器的子程序如下 修改主存儲器子程序WRITE MOVR4 21H 取要寫的字節(jié)數(shù)WRITE0 MOVR7 38H 設(shè)置修改主存儲器命令控制字MOVR6 20H 取修改主存儲器命令地址字MOVA R0MOVR5 A 取修改主存儲器命令數(shù)據(jù)字LCALLCOMMAND 送修改主存儲器命令給卡LCALLOPERA254 處理模式INC32H 地址字指向主存儲器下一個單元INCR0 指向下一個數(shù)據(jù)DJNZR4 WRITE0 未寫完繼續(xù)RET 芯片的操作命令 6 修改加密存儲器 UpdataSecurityMemory 修改加密存儲器命令格式如下 為保護(hù)參照字字節(jié) 這一命令僅當(dāng)PSC成功校驗(yàn)之后方能執(zhí)行 否則 只能對錯誤計(jì)數(shù)器 地址0 進(jìn)行由 1 寫 0 的操作 7 寫保護(hù)存儲器 WriteProtectionMemory 寫保護(hù)存儲器命令格式如下 寫保護(hù)存儲器命令的執(zhí)行過程包含一個把被輸入的數(shù)據(jù)與在E2PROM中對應(yīng)數(shù)據(jù)進(jìn)行比較的過程 芯片的操作命令 8 比較校驗(yàn)數(shù)據(jù) CompareVarificationData 比較校驗(yàn)數(shù)據(jù)命令格式如下 該命令把輸入的 校驗(yàn)數(shù)據(jù) 的各個字節(jié)與相對應(yīng)的參照數(shù)據(jù) 存放在加密存儲器中 進(jìn)行比較 這一過程將在處理模式中需要給出時鐘脈沖 比較校驗(yàn)數(shù)據(jù)命令的時序如圖所示 比較校驗(yàn)數(shù)據(jù)命令的時序圖 PSC校驗(yàn) 如果需要修改SLE4442的數(shù)據(jù) 那么必須正確校驗(yàn)存儲在加密存儲器中的可編程加密代碼PSC 校驗(yàn)的過程并不是僅由比較校驗(yàn)數(shù)據(jù)命令來完成的 而是由多個命令構(gòu)成的一個流程來共同完成 這一流程必須被精確執(zhí)行 任何變化都將導(dǎo)致校驗(yàn)失敗 從而使寫入 擦除操作被禁止 只要校驗(yàn)過程未能成功完成 密碼錯誤計(jì)數(shù)器的一個字位將只會被從 l 寫成 0 并且不能被擦除 PSC校驗(yàn)流程如下圖所示 PSC校驗(yàn) PSC校驗(yàn) 表為PSC校驗(yàn)所需命令一覽表 校驗(yàn)過程必須按表中順序執(zhí)行各命令 PSC校驗(yàn)子程序 中止與錯誤狀態(tài) 1 中止 Break 在CLK為低狀態(tài)期間 如果RST置為高狀態(tài) 則任何操作均無效 I O線被鎖定到高阻狀態(tài) Z狀態(tài) 需要一個最小維持時間tRES 5 s之后 芯片才能接收新的有效復(fù)位 中止后芯片準(zhǔn)備做進(jìn)一步的操作 2 錯誤狀態(tài) Failures 在芯片操作過程中 可能出現(xiàn)以下幾種操作失敗的情況 比較失敗 錯誤命令 不正確的命令脈沖數(shù) 對已被保護(hù)的字節(jié)進(jìn)行重寫或擦除操作 對保護(hù)存儲器的一位進(jìn)行重寫或擦除操作 在上述錯誤發(fā)生時 芯片總是在8個時鐘脈沖的最后 將I O線置成高阻狀態(tài) Z狀態(tài) 非接觸式IC卡接口技術(shù) 源起與射頻識別技術(shù)的非接觸式IC卡技術(shù)近年來發(fā)展十分迅速 產(chǎn)品占據(jù)了非金融卡的絕大部分市場 而其技術(shù)與標(biāo)準(zhǔn)也正在發(fā)展與完善中 荷蘭Philips公司的MIFARE技術(shù)是當(dāng)今非接觸式IC卡的主流技術(shù) 由于其自身優(yōu)越的性能和極高的安全性 自推出之日起就得到了業(yè)界的一致認(rèn)同并得到了廣泛的應(yīng)用 現(xiàn)在 MIFARE技術(shù)已經(jīng)被制定為非接觸IC卡的國際標(biāo)準(zhǔn)即ISO IEC14443 TYPEA 在本節(jié)中將以Philips公司的MIFARE1卡片為典型實(shí)例介紹非接觸式IC卡技術(shù)與接口技術(shù) 非接觸式IC卡接口技術(shù) MIFARE1非接觸式IC卡MIFARE1卡接口設(shè)備內(nèi)核技術(shù)實(shí)踐與思考 MIFARE1非接觸式IC卡 MIFARE1非接觸式IC卡的總體描述MIFARE1非接觸式IC卡的功能組成MIFARE1卡的存儲結(jié)構(gòu) MIFARE1非接觸式IC卡的總體描述 MIFARE1非接觸式IC智能 射頻 卡采用先進(jìn)的芯片制造工藝制作 內(nèi)建有高速的CMOSE2PROM ASIC等 卡片上除了IC微晶片及一副高效率天線外 無任何其他元件 根據(jù)ISO IEC14443A標(biāo)準(zhǔn) Philips開發(fā)了無線智能卡芯片MIFARE1ICS50 它是MIFARE1非接觸式IC智能 射頻 卡的核心 該芯片的通信層MIFARERF接口遵從ISO IEC14443A標(biāo)準(zhǔn)的第2部分和第3部分 保密層 SecurityLayer 使用經(jīng)區(qū)域驗(yàn)證的CRYPTO1流密碼 field provenCRYPTO1streamcipher 使典型MIFARE系列芯片的數(shù)據(jù)交換得到保密 MIFARE1非接觸式IC卡的總體描述 1 MIFARERF接口 ISO IEC14443A 無線傳送數(shù)據(jù)和能量 1 無線傳送數(shù)據(jù)和能量 即MIFARE卡片上無源 無任何電池 MIFARE1ICS50連接著幾匝線圈 線圈嵌入到塑料卡片中 這就形成了一張無源的無線智能卡 工作時的電源能量由讀寫器天線發(fā)送無線電載波信號耦合到卡片的天線上而產(chǎn)生電能 一般可達(dá)2V以上 供卡片上IC工作 其工作距離最高可達(dá)100mm 由天線的結(jié)構(gòu)決定 2 工作頻率為13 56MHz 3 數(shù)據(jù)傳送速率快 且為106Kbps MIFARE1非接觸式IC卡的總體描述 2 真正的防沖突 智能的防沖突功能允許同一工作區(qū)域中有不止一張卡同時工作 防沖突算法每次只選擇一張卡 確保對被選中的卡正確執(zhí)行操作 而且同一區(qū)域中的其他卡不會破壞數(shù)據(jù) 3 保密性 Security MIFARE卡的一個特殊要點(diǎn)是高保密性 防止欺騙 相互認(rèn)證 MutualChallenge 和響應(yīng)確認(rèn)數(shù)據(jù)保密 報文確認(rèn)檢查防止系統(tǒng)受到任何干擾 序列號不可修改更保證了每張卡都是唯一的 MIFARE1非接觸式IC卡的總體描述 1 需要通過3次相互認(rèn)證 MutualThreePassAuthentication 符合ISO IECDIS9798 2的規(guī)定 2 RF信道的數(shù)據(jù)加密 多重防攻擊保護(hù) 3 每個扇區(qū) 每個應(yīng)用 有兩套獨(dú)立的密鑰 支持帶密鑰層次的多應(yīng)用 SupportMulti applicationwithKeyHierarchy 4 每張卡有全球唯一的序列號 5 在運(yùn)輸過程中訪問E2PROM有傳輸密鑰保護(hù) TransportKeyProtectsAccesstoE2PROMonChipDelivery MIFARE1非接觸式IC卡的總體描述 4 數(shù)據(jù)高度可靠 正確 讀寫器和卡之間的無線通信鏈路使用了以下機(jī)制確保數(shù)據(jù)可靠地傳輸 1 卡片上有高速的CRC協(xié)處理器實(shí)現(xiàn)每個塊16位CRC 2 每個字節(jié)都有奇偶校驗(yàn)位 3 位計(jì)數(shù)檢查 4 用位編碼區(qū)別1 0和沒有信息 5 信道監(jiān)控 協(xié)議序列和位流分析 MIFARE1非接觸式IC卡的總體描述 5 E2PROM存儲器結(jié)構(gòu)提供多應(yīng)用 MIFARE系統(tǒng)提供了一個實(shí)時的多應(yīng)用功能 每區(qū)有兩個不同的密鑰 這樣系統(tǒng)可以使用密鑰層次 1 內(nèi)建1KBE2PROM 分成16個扇區(qū) 每扇區(qū)又分成4個數(shù)據(jù)塊 每一塊中有16個字節(jié) 2 用戶可以定義每一個存儲器塊的訪問條件 3 每個扇區(qū) 每個應(yīng)用 有兩套獨(dú)立的密鑰 支持帶密鑰層次的多應(yīng)用 4 數(shù)據(jù)保存期可達(dá)10年以上 5 可寫100000次以上 6 卡片抗靜電保護(hù)能力達(dá)2kV以上 MIFARE1非接觸式IC卡的總體描述 6 方便用戶 系統(tǒng)的設(shè)計(jì)使用戶使用更加方便 例如 卡片上還內(nèi)建有增值 減值的專項(xiàng)的數(shù)學(xué)運(yùn)算電路 非常適合公交 地鐵等行業(yè)的定額收費(fèi)系統(tǒng) 由于數(shù)據(jù)傳送速率很高 典型的購票處理時間 TicketingTransaction 小于100ms 包括備份管理 這樣MIFARE卡用戶就不需要停在讀寫器前面 增大了通道門的吞吐量 減少了上公共汽車的時間 如果卡放在錢包中 甚至錢包中有硬幣也可以進(jìn)行交易 MIFARE1非接觸式IC卡的功能組成 MIFARE1非接觸式ICS50非接觸式IC卡的功能組成如圖所示 整個卡片包含了兩個部分 即RF射頻接口電路和數(shù)字電路部分 MIFARE1ICS50非接觸式IC卡的功能組成圖 MIFARE1非接觸式IC卡的功能組成 1 RF射頻接口電路 在卡的RF射頻接口電路中 波形轉(zhuǎn)換模塊接收讀寫器所發(fā)送的13 56MHz的無線電調(diào)制信號 一方面送調(diào)制 解調(diào)模塊 經(jīng)解調(diào)得到相應(yīng)的數(shù)字信息送數(shù)字電路模塊 另一方面進(jìn)行波形轉(zhuǎn)換 將正弦波轉(zhuǎn)換為方波 然后對其整流濾波 由電壓調(diào)節(jié)模塊對電壓進(jìn)行進(jìn)一步的處理 包括穩(wěn)壓等 最終輸出提供卡片上各電路的工作電壓 POR模塊主要是對卡片上的各個電路進(jìn)行POWER ON RESET 上電復(fù)位 使各電路同步啟動工作 而數(shù)字電路模塊送出的數(shù)字信息則經(jīng)由調(diào)制 解調(diào)模塊調(diào)制為13 56MHz的無線電調(diào)制信號 再送往波形轉(zhuǎn)換模塊發(fā)送給讀寫器 MIFARE1非接觸式IC卡的功能組成 2 數(shù)字電路部分模塊 1 ATR模塊 AnswerToRequest 請求之應(yīng)答 建立卡與讀寫器的第一步通信聯(lián)絡(luò) 2 AntiCollision模塊 防 卡片 沖突功能 3 SelectApplication模塊 卡片的選擇 4 Authentication AccessControl模塊 認(rèn)證及存取控制模塊 5 Control ArithmeticUnit 控制及算術(shù)運(yùn)算單元 MIFARE1非接觸式IC卡的功能組成 6 RAM ROM單元 RAM主要配合控制及算術(shù)運(yùn)算單元 將運(yùn)算的結(jié)果進(jìn)行暫時存儲 7 CryptoUnit 數(shù)據(jù)加密單元 8 E2PROM存儲器及其接口電路 E2PROMINTERFACE EEPROMMEMORY 該單元主要用于存儲用戶數(shù)據(jù) 在卡失掉電源后 卡片離開讀寫器天線的有效工作范圍 數(shù)據(jù)仍將被保持 MIFARE1卡的存儲結(jié)構(gòu) MIFARE1卡片的存儲區(qū)劃分MIFARE1卡的密碼認(rèn)證方式MIFARE1卡存取控制與數(shù)據(jù)區(qū)的關(guān)系 MIFARE1卡片的存儲區(qū)劃分 MIFARE1卡片的存儲容量為1024 8B 即1KB 采用E2PROM作為存儲介質(zhì) 整個結(jié)構(gòu)劃分為16個扇區(qū) 編為扇區(qū)0 15 每個扇區(qū)有4個塊 Block 分別為塊0 塊1 塊2和塊3 每個塊有16個字節(jié) 一個扇區(qū)共有16B 4 64B 如圖所示 MIFARE1卡片的存儲結(jié)構(gòu)圖 1 廠商塊 2 數(shù)據(jù)塊 3 區(qū)尾塊 廠商塊 廠商塊是存儲器第1個扇區(qū) 扇區(qū)0 的第1個數(shù)據(jù)塊 塊0 它包含了IC卡廠商的數(shù)據(jù) 基于保密性和系統(tǒng)的安全性 這一塊在IC卡廠商編程之后被置為寫保護(hù) 因此該塊不能再復(fù)用為應(yīng)用數(shù)據(jù)塊 其中 第0 3個字節(jié)為卡片的序列號 第4個字節(jié)為序列號的校驗(yàn)碼 第5個字節(jié)為卡片的容量 Size 字節(jié) 第6 7個字節(jié)為卡片的類型號字節(jié) 即TagType字節(jié) 其他字節(jié)由廠商另加定義 數(shù)據(jù)塊 所有的扇區(qū)都包含3個數(shù)據(jù)塊 扇區(qū)0只有兩個數(shù)據(jù)塊和一個只讀的廠商塊 每個塊有16B 數(shù)據(jù)塊可以被以下的訪問控制位 AccessBits 配置為讀寫塊或值塊 讀寫塊 用做一般的數(shù)據(jù)保存 可用讀 寫命令直接讀 寫整個塊 例如 在食堂消費(fèi)時采用輸入飯菜金額的方式扣款 值塊 用做數(shù)值塊 可以進(jìn)行初始化值 加值 減值 讀值的運(yùn)算 系統(tǒng)配用相應(yīng)的函數(shù)完成上述功能 有效的命令包括加 減 恢復(fù) 發(fā)送命令 例如 在食堂消費(fèi)時對于定額套餐采用輸入餐號的方式加以扣款 以及用于公交 地鐵等行業(yè)的檢票 收費(fèi)系統(tǒng) 數(shù)據(jù)塊 值塊有一個固定的數(shù)據(jù)格式 可以進(jìn)行錯誤檢測和糾正并備份管理 值塊只能在值塊格式的寫操作時產(chǎn)生 值塊格式如表所示 區(qū)尾塊 密鑰A 第0 5B 共6B 和密鑰B 第10 15B 共6B 可選 讀密鑰時返回邏輯0 存取控制位 AccessBits 第6 9B 共4B 訪問這個扇區(qū)中4個塊的條件 存取控制位也可以指出數(shù)據(jù)塊的類型 讀寫或值 密鑰A的默認(rèn)值為A0A1A2A3A4A5H 密鑰B的默認(rèn)值為B0B1B2B3B4B5H 存取控制位的默認(rèn)值為FF078069H 如果不需要密鑰B 那么塊3的最后6B可以作為數(shù)據(jù)字節(jié) 用戶數(shù)據(jù)可以使用區(qū)尾的第9B 這個字節(jié)具有與字節(jié)6 7和8一樣的訪問權(quán)限 每個區(qū)都有一個區(qū)尾 SectorTrailer 它包括以下兩點(diǎn) MIFARE1卡的密碼認(rèn)證方式 MIFARE1卡的密碼認(rèn)證采用3次相互認(rèn)證的方法 具有很高的安全性 如圖所示 為3次相互認(rèn)證的令牌原理框圖 3次相互認(rèn)證的令牌原理框圖 A 環(huán) 由MIFARE1卡片向讀寫器發(fā)送一個隨機(jī)數(shù)據(jù)RB B 環(huán) 由讀寫器收到RB后向MIFARE1卡片發(fā)送一個令牌數(shù)據(jù)TOKENAB 其中包含了用讀寫器中存放的密碼加密后的RB及讀寫器發(fā)出的一個隨機(jī)數(shù)據(jù)RA MIFARE1卡的密碼認(rèn)證方式 C 環(huán) MIFARE1卡片收到TOKENAB后 用卡中的密碼對TOKENAB的加密的部分進(jìn)行解密得到RB 并校驗(yàn)第一次由 A 環(huán)中MIFARE1卡片發(fā)出去的隨機(jī)數(shù)RB是否與 B 環(huán)中接收到的TOKENAB中的RB 相一致 若讀寫器與卡中的密碼及加密 解密算法一致 將會有RB RB 校驗(yàn)正確 否則將無法通過校驗(yàn) D 環(huán) 如果 C 環(huán)校驗(yàn)是正確的 則MIFARE1卡片用卡中存放的密碼對RA加密后發(fā)送令牌TOKENBA給讀寫器 E 環(huán) 讀寫器收到令牌TOKENBA后 用讀寫器中存放的密碼對令牌TOKENBA中的RA 隨機(jī)數(shù) 進(jìn)行解密得到RA 并校驗(yàn)第一次由 B 環(huán)中讀寫器發(fā)出去的隨機(jī)數(shù)RA是否與 D 環(huán)中接收到的TOKENBA中的RA 相一致 同樣 若讀寫器與卡中的密碼及加密 解密算法一致 將會有RA RA 校驗(yàn)正確 否則將無法通過校驗(yàn) MIFARE1卡的密碼認(rèn)證方式 如果上述的每一個環(huán)都為 真 且都能正確通過驗(yàn)證 則整個的認(rèn)證過程將成功 讀寫器將允許對剛剛認(rèn)證通過的卡片上的這個扇區(qū)進(jìn)入下一步的操作 讀 寫等操作 卡片中的其他扇區(qū)由于有其各自的密碼 因此不能對其進(jìn)行進(jìn)一步的操作 如果想對其他扇區(qū)進(jìn)行操作 則必須完成相應(yīng)扇區(qū)的認(rèn)證過程 認(rèn)證過程中的任何一環(huán)出現(xiàn)差錯 整個認(rèn)證將告失敗 必須重新開始 如果事先不知卡片上的密碼 由于密碼的變化極其復(fù)雜 因此靠猜測密碼而想打開卡片上的一個扇區(qū)的可能性幾乎為零 MIFARE1卡存取控制與數(shù)據(jù)區(qū)的關(guān)系 在MIFARE1卡中每個扇區(qū)的塊3 即第4塊 包含了該扇區(qū)的密碼A 6個字節(jié) 存取控制 4個字節(jié) 密碼B 6個字節(jié) 是一個特殊的塊 下面將對密碼A 密碼B 存取控制與數(shù)據(jù)區(qū)的關(guān)系加以說明 存取控制的結(jié)構(gòu)如表所示 存取控制的結(jié)構(gòu)表 b表示取反 如C2X3 b即C2X3取反 X表示扇區(qū)號 Y表示第幾塊 C表示控制位 B表示備用位 MIFARE1卡存取控制與數(shù)據(jù)區(qū)的關(guān)系 存取控制對塊3的控制如表所示 X 0 15 存取控制對塊3的控制表 KEYA B表示密碼A或密碼B never表示沒有條件實(shí)現(xiàn) MIFARE1卡存取控制與數(shù)據(jù)區(qū)的關(guān)系 對數(shù)據(jù)塊的控制如表所示 對數(shù)據(jù)塊的控制表 X 0 15扇區(qū) Y 每個扇區(qū)的0 2塊 MIFARE1卡存取控制與數(shù)據(jù)區(qū)的關(guān)系 存取控制位表示如表所示 位 76543210 開發(fā)應(yīng)用人員可以根據(jù)自己應(yīng)用的具體情況 對不同的扇區(qū)可選用不用的存取控制 不同的密碼 但應(yīng)注意其每一位的格式 以免誤用 注意 MIFARE1卡接口設(shè)備內(nèi)核技術(shù) MIFARE1非接觸式IC卡讀寫模塊硬件內(nèi)核電路MCM的硬件內(nèi)核寄存器描述MCM的軟件編程 MIFARE1非接觸式IC卡讀寫模塊硬件內(nèi)核電路 MCM200 MCM500讀寫模塊總體描述MCM的硬件內(nèi)核接口電路 MCM200 MCM500讀寫模塊總體描述 Philips公司的MIFARE1非接觸式IC卡讀寫模塊主要有兩種產(chǎn)品型號 即MCM200和MCM500 這兩種智能模塊均用于MIFARE1非接觸式IC卡讀寫器中 負(fù)責(zé)讀寫器中對非接觸式IC卡的讀寫等功能 其基本功能包括調(diào)制 解調(diào) 產(chǎn)生射頻信號 安全管理和防沖突處理 是讀寫器MCU 微控制器 與非接觸式IC卡交換信息的橋梁 MCM200的軟件與MCM500模塊100 兼容 其主要區(qū)別在于讀寫距離不同 MCM200模塊對卡片的操作距離為25mm 而MCM500模塊對卡片的操作距離為100mm MIFARE1所具有的獨(dú)特的MIFARE1RF 射頻 非接觸式接口標(biāo)準(zhǔn)已被制定為國際標(biāo)準(zhǔn) ISO IEC14443TYPEA標(biāo)準(zhǔn) MCM200 MCM500讀寫模塊總體描述 MCM200模塊特性 標(biāo)準(zhǔn)的雙列直插32引腳 工作頻率 13 56MHz 標(biāo)準(zhǔn)的 5V電源供電 供電范圍為4 75 5 25V 典型 電流消耗40mA 最大不超過80mA 最小10mA左右 讀寫卡片距離可達(dá)25mm以上 與卡片的通信速率可達(dá)106Kbps 模塊與卡片通信時 數(shù)據(jù)加密 每個扇區(qū)設(shè)有3套密碼及其認(rèn)證和密碼存儲器 有防卡片重疊功能 MCM200模塊引腳排列示意圖 MCM200模塊引腳排 MCM引腳功能描述表如表所示 MCM200 MCM500讀寫模塊總體描述 16個字節(jié)的FIFO 先進(jìn)先出 隊(duì)列接收 發(fā)送緩沖寄存器 在模塊與卡片通信時自動偵查錯誤 自動對數(shù)據(jù)流分析 對RF 射頻 通道自動監(jiān)控 內(nèi)建8位 16位的CRC協(xié)處理器 提供CRC PARITY等數(shù)據(jù)校驗(yàn) 支持多種方式的活動天線 并且不需 天調(diào)系統(tǒng) 天線調(diào)節(jié)系統(tǒng) 對天線進(jìn)行補(bǔ)償調(diào)節(jié) 標(biāo)準(zhǔn)的MIFARE并行接口與MCM500100 全兼容 MCM200的軟件與MCM500模塊100 全兼容 可控制 級聯(lián)MCM500模塊 工作溫度范圍在 20 70 MCM200 MCM500讀寫模塊總體描述 MCM引腳功能描述表如表所示 MCM的硬件內(nèi)核接口電路 MCM的硬件內(nèi)核接口電路可分為以下4部分 與MCU 微處理機(jī)CPU 接口電路 RF模塊接口電路 與天線射頻接口電路 與電源接口電路 與MCU 微處理機(jī)CPU 接口電路 MCM可由外部MCU發(fā)出特殊命令來啟動運(yùn)行 在任何情況下 MCM都可以由對地址的選擇來啟動工作 對MCM內(nèi)部存儲器的存取 意味著將激活和CS信號 以及對地址為00H 0FH的寄存器的合適設(shè)置 通過讀特殊I O地址的信息 可以得到MCM的狀態(tài)信息 采用不同的MCU及其連接方法 將會有不同的硬件信號時序及數(shù)據(jù)信息流信息等 如圖所示 MCM可以由標(biāo)準(zhǔn)的MCU接口信號來控制 這些標(biāo)準(zhǔn)的控制信號可以控制MCM的ASIC進(jìn)行工作 其中使用了標(biāo)準(zhǔn)的微控制器和微處理機(jī)通信協(xié)議 MCM與MCU的接口電路 RF模塊接口電路 MCM與RF模塊的接口電路如圖所示 RF模塊接口一般由以下幾個引腳來實(shí)現(xiàn) 通過KOMP0與PAUSE0可與RF0模塊相連接 通過KOMP1與PAUSE0可與RF1模塊相連接 僅MCM500有兩個RF模塊 通過RxKOMP與TxPAUSE0可與其他的級聯(lián)MCM模塊相連接 RF模塊接口電路 與天線射頻接口電路 ANT和GND引腳可用阻抗50 的同軸電纜直接與正極性天線相連接 連接長度一般應(yīng)小于50cm MCM的外部金屬屏蔽盒 僅有MCM500 必須連接到同軸電纜的外屏蔽包裹線 以使信號不能擴(kuò)散 且免受外界電磁輻射信號等的影響 如果天線工作不正常 則可用 天線調(diào)諧器 來調(diào)諧 使之能將MIFARE1卡的有效操作距離保持在25mm 100mm以上 與電源接口電路 與電源的接口包括這樣幾組信號 DVDD 數(shù)字電路正電源端 5V DGND 數(shù)字電路接地端 0V BP 緩沖器供電 通電工作時為 5V 不通電工作時為 3V RFVDD RF電路正電源端 MCM500 12V MCM200 5V RFGND RF電路接地端 0V RFGND和DGND應(yīng)該分開接地或接到系統(tǒng)的接地端 連接線應(yīng)該具有高導(dǎo)電特性且愈短愈粗愈好 MCM供電電源端與GND端必須跨接100nF的電容 這些電容應(yīng)盡可能靠近MCM 為避免引起接地環(huán)路 整個系統(tǒng)應(yīng)由單一電源供電 且紋波電壓應(yīng)小于50mV 注意 MCM的硬件內(nèi)核寄存器描述 MCU是通過對MCM內(nèi)核特殊的內(nèi)存寄存器的讀寫來控制MCM的 這些寄存器位于MCM中的ASIC 特殊應(yīng)用IC 的內(nèi)部 共有16個寄存器可存取 讀取MCM 一般的指向MIFARE1卡請求 MCM實(shí)際上是MCU與非接觸式IC智能 射頻 卡之間信息 數(shù)據(jù) 交換的 中間人 任何讀取卡片上的數(shù)據(jù) 或?qū)戇M(jìn)卡片上的數(shù)據(jù) 均必須通過MCM來傳遞 寫MCM意味著去控制MCM 例如 送一些類型的指令給它 MCM的硬件內(nèi)核寄存器描述 如表所示是MCM中ASIC內(nèi)核特殊寄存器一覽表 數(shù)據(jù)寄存器 DATA寄存器 STACON寄存器ENABLE寄存器BCNTS寄存器BCNTR寄存器BAUDRATE寄存器TOC寄存器MODE寄存器CRCDATA寄存器CRCSTACON寄存器KEYDATA寄存器KEYSTACON寄存器KEYADDR寄存器RCODE寄存器 數(shù)據(jù)寄存器 DATA寄存器 任何傳遞到MIFARE1卡的數(shù)據(jù)或來自MIFRAE1卡的數(shù)據(jù)都必須分別地被寫入DATA寄存器或從DATA寄存器中讀出 DATA寄存器中有一個16B的FIFO 先進(jìn)先出 隊(duì)列寄存器 數(shù)據(jù)寫到DATA寄存器后 被存放在這個16B的FIFO 先進(jìn)先出 隊(duì)列寄存器中 等待向卡片或MCU傳送 在傳送DATA寄存器中的數(shù)據(jù)之前必須先設(shè)定要傳輸多少位 bit 或多少字節(jié) Byte 即必須對BCNTS和BCNTR寄存器進(jìn)行有效的正確設(shè)置 以確定有多少字節(jié)將要被寫入DATA寄存器發(fā)送給卡或?qū)目ń邮斩嗌賯€字節(jié)到DATA寄存器中 當(dāng)來自卡的數(shù)據(jù)流接收結(jié)束或沒有被接收時 STACON寄存器中的DV標(biāo)志被置位 1 而且MCM上的引腳也將由 HIGH 變?yōu)?LOW 當(dāng)DV位為1時 STACON寄存器中的error bit 出錯位 將被設(shè)置 如果沒有相關(guān)的error bit被設(shè)置 則FIFO寄存器中的數(shù)據(jù)將被假設(shè)為正確 且可以被讀出 注意 STACON寄存器 STACON寄存器地址 01H 是一個狀態(tài)控制寄存器 將數(shù)據(jù)寫到STACON寄存器中將對MCM進(jìn)行狀態(tài)控制 如表所示為STACON寄存器控制位表 當(dāng)寫數(shù)據(jù)到STACON寄存器時 即對STACON寄存器進(jìn)行設(shè)置 在寫數(shù)據(jù)到STACON寄存器的這一寫周期中 RFS位的設(shè)置必須與RF單元相互一致 設(shè)置AC位 即 AC 1 將使防重疊狀態(tài)機(jī)啟動工作 執(zhí)行內(nèi)部存取 這一存取在設(shè)置AC位后的12 s開始 至35 s結(jié)束 在這一間隙時間 不允許MCU向MCM進(jìn)行寫 Write 數(shù)據(jù)操作 必須延遲35 s 這是為了保證防重疊狀態(tài)機(jī)處理軟件的正確運(yùn)行 讓其能識別疊放在一起的多張MIFARE1卡片 為下一步進(jìn)行選擇一張指定SN SerialNumber 的MIFARE1卡片進(jìn)行數(shù)據(jù)讀 寫而做準(zhǔn)備 注意 STACON寄存器 讀取STACON寄存器 將告訴一系列的MCM及卡片的當(dāng)前狀況信息 如表所示為讀取STACON寄存器后的一系列標(biāo)志位表 STACON寄存器 在上表中 僅當(dāng)DV DataValid數(shù)據(jù)有效 位被設(shè)置有效時 即DV 1 TE PE CE BE及AE標(biāo)志才有效 但有一例外 即當(dāng)認(rèn)證 Authentication 正確完成后 AE標(biāo)志也直接有效 SOR是SoftwareReset 軟件復(fù)位 的縮寫 當(dāng)執(zhí)行SOR后 所有的標(biāo)志將被清除 且當(dāng)對MCM的任何一個寄存器執(zhí)行寫周期時 所有的標(biāo)志也將被清除 當(dāng)對MCM內(nèi)的任何一個寄存器執(zhí)行寫周期時 所有的這些標(biāo)志也將被清除 僅當(dāng)FIFO是空時 DV標(biāo)志將被寫周期清除 有時候MCM接收少于8bits 例如在接收ACK或NACK時 時 MCM將不影響PE CE及AE標(biāo)志 在MCU與MCM MCM與MIFARE1卡片進(jìn)行數(shù)據(jù)通信時 經(jīng)常會出現(xiàn)各種錯誤 例如 卡片沒能認(rèn)證 Authentication 通過 則會使AE出錯位置位等 STACON寄存器 以下是在檢查DV位之后 相關(guān)的出錯情況 如下表所示 ENABLE寄存器 ENABLE寄存器地址 02H ENABLE寄存器的設(shè)置將影響卡片在通信時對Parity和CRC的校驗(yàn) 在ENABLE寄存器中有針對Parity和CRC校驗(yàn)的復(fù)位允許位 resetENABLEbits 對ENABLE寄存器進(jìn)行寫操作 將執(zhí)行對Parity和CRC塊的控制 在對MCM進(jìn)行編程的開始時 必須對ENABLE寄存器進(jìn)行寫操作 即必須將CE位關(guān)閉 僅當(dāng)執(zhí)行 Select 命令操作時才打開CE位 由于MCM在電源接通時或在任何數(shù)據(jù)通信開始時 都會復(fù)位Parity和CRC塊 因此無須額外地去執(zhí)行這一操作 注意 BCNTS寄存器 BCNTS寄存器地址 03H BCNTS是傳送時的位計(jì)數(shù)器 寄存器 這里的傳送指的是CPU向MCM的DATA寄存器寫數(shù)據(jù) 因此BCNTS寄存器實(shí)際上是一個字節(jié)發(fā)送控制器 它控制了MCU向DATA寄存器中寫進(jìn)的數(shù)據(jù)字節(jié)數(shù)目 例如 設(shè)置BCTRS 10H 則可向MCM的DATA寄存器寫進(jìn)的數(shù)據(jù)字節(jié)數(shù)目為2個 8位字長的數(shù)據(jù) 因?yàn)榭偟腷it數(shù)目 10H 16D 多余的數(shù)據(jù) MCM將不予接收 由于BCNTS寄存器是控制向DATA寄存器寫數(shù)據(jù)的字節(jié)數(shù)目 因此這一操作必須在數(shù)據(jù)寫入DATA寄存器之前完成 并要求使用二進(jìn)制代碼來操作 BCNTR寄存器 BCNTR寄存器地址 04H BCNTR是接收時的位計(jì)數(shù)器 寄存器 與BCNTS寄存器相反 BCNTR寄存器控制了MCU讀取DATA寄存器的數(shù)據(jù)字節(jié)數(shù)目 例如 設(shè)置BCNTR 20H 則可向MCM的DATA寄存器讀取的數(shù)據(jù)字節(jié)數(shù)目為4個 8位字長的數(shù)據(jù) 因?yàn)榭偟腷it數(shù)目 20H 32D 多余的數(shù)據(jù) MCM將不予理會 由于BCNTR寄存器是控制向DATA寄存器讀取數(shù)據(jù)的字節(jié)數(shù)目 因此這一操作必須在讀DATA寄存器之前完成 并要求使用二進(jìn)制代碼來操作 BCNTR寄存器中的值將與實(shí)際接收到的數(shù)據(jù)字節(jié)相比較 如果有差別 則STACON寄存器中的BE標(biāo)志被設(shè)置 BAUDRATE寄存器 BAUDRATE寄存器地址 05H BAUDRATE指為數(shù)據(jù)傳輸?shù)娇ㄆ匣蚩ㄆ系臄?shù)據(jù)傳到MCM時通信的位速率 雖然BAUDRATE寄存器的后4位相關(guān)與指定的位速率 但是實(shí)際有用于MIFARE1卡的只是最后一位 位速率的計(jì)算公式 如果BRX 0X0Eh則有 tbit 9 44 s 1 105 94kHz 上述BRX 0X0Eh為對BAUDRATE寄存器進(jìn)行設(shè)置的推薦值 對于MIFRAE1卡來說BRX大約值為0X0Eh 即初始化時BAUDRATE寄存器應(yīng)設(shè)置為 00001110B 0Eh TOC寄存器 TOC寄存器地址 06H TOC是英文TimeOutCounter 定 時間溢出數(shù)器 的縮寫 對TOC寄存器的設(shè)置即對定時時間的控制 寫數(shù)據(jù)至TOC寄存器 可以控制定時溢出計(jì)數(shù)器 定時溢出的計(jì)算公式如下 如果用0X00H寫給TOC 即TOC 0X00H 則將關(guān)閉定時溢出記數(shù)器 即tTOC 0 TOC寄存器 注意 TOC寄存器中的值必須在MCM與MIFARE1卡片通信時被設(shè)置 TOC寄存器常用的設(shè)置值為0AH 即定時tTOC 100 10 s 1ms TOC寄存器中的值 非零值 將在沒有通信時 永久地被遞減 因此 在沒有通信時 或通信剛結(jié)束時 TOC寄存器中的值必須被設(shè)置 即設(shè)置TOC 0X00H 例如 在FIFO中的數(shù)據(jù)有效時 就必須這樣做 否則將影響STACON寄存器的TE出錯標(biāo)志 如果有溢出出現(xiàn) 則TE標(biāo)志被設(shè)置 DV標(biāo)志被激活 在完成寫數(shù)據(jù)到DATA寄存器 定時溢出計(jì)數(shù)器應(yīng)該經(jīng)常被初始化 但有一個例外 即在認(rèn)證操作 AUTHENCATION 的開始時段 定時溢出計(jì)數(shù)器應(yīng)該在存取 KEYSTACON 和 KEYADDR 寄存器之后 在存取DATA寄存器之前被初始化 一般在讀取 Read 和保存 Save 了STACON寄存器中的數(shù)據(jù)之后定時溢出計(jì)數(shù)器必須被關(guān)閉 MODE寄存器 MODE寄存器地址 07H MODE 指在與卡片數(shù)據(jù)相互往來時的數(shù)據(jù)編碼模式 MODEofDATACoding MODE寄存器的設(shè)置控制了MCM在與卡片數(shù)據(jù)相互通信時的數(shù)據(jù)編碼模式 MODE寄存器的每一位都與數(shù)據(jù)通信模式有關(guān) 但在使用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論