0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-07 08:46 ? 次閱讀

CPU卡也稱智能卡,卡內(nèi)的集成電路中帶有微處理器CPU、存儲單元(包括隨機(jī)存儲器RAM、程序存儲器ROM以及芯片操作系統(tǒng)COS。裝有COS的CPU卡相當(dāng)于一臺微型計算機(jī),不僅具有數(shù)據(jù)存儲功能,同時具有命令處理和數(shù)據(jù)安全保護(hù)等功能。要了解什么是CPU卡,就必須從IC卡說起。

IC卡是集成電路卡的簡稱,是鑲嵌集成電路芯片的塑料卡片,其外形和尺寸都遵循國際標(biāo)準(zhǔn)(ISO)。芯片一般采用不易揮發(fā)性的存儲器(ROM、EEPROM)、保護(hù)邏輯電路、甚至帶微處理器CPU。帶有CPU的IC卡才是真正的智能卡。按照嵌入集成電路芯片的形式和芯片類型的不同IC卡大致可分為接觸式,非接觸式、雙界面卡。CPU卡既有接觸式也有非接觸式的。非加密存儲器卡:卡內(nèi)的集成電路芯片主要是EEPROM,具有數(shù)據(jù)存儲功能,不具有數(shù)據(jù)處理功能和硬件加密功能。邏輯加密存儲器卡:在非加密存儲器卡的基礎(chǔ)上增加了加密邏輯電路,加密邏輯電路通過校驗密碼方式來保護(hù)卡內(nèi)的數(shù)據(jù)對于外部訪問是否開放,但只是低層次的安全保護(hù),無法防范惡意性的攻擊。由于沒有掌握關(guān)鍵的生產(chǎn)工藝,原來我國設(shè)計的CPU卡芯片一直在國外生產(chǎn)。這次我國自主設(shè)計、制造的CPU卡容量達(dá)到了128K。CPU卡可適用于金融、保險、交警、政府行業(yè)等多個領(lǐng)域,具有用戶空間大、讀取速度快、支持一卡多用等特點,并已經(jīng)通過中國人民銀行和國家商秘委的認(rèn)證。

1 CPU卡的接口特性

1.1 觸點定義

觸點的定義遵循ISO7816-2的規(guī)定,如圖1所示。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

符號說明如表1所列。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

表1 符號說明

1.2 字符幀

數(shù)據(jù)在I/O上以圖2所示的字符幀方式傳輸。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

每個位寬是1個etu,etu = 372/f。在此處,f = 3.57 MHz。

起始位由接收端通過對I/O周期采樣獲得,采樣周期應(yīng)小于0.2 etu。2個連續(xù)字符起始位上升沿之間的間隔時間等于(10±0.2)etu加上1個保護(hù)時間(最少2個etu)。在保護(hù)時間內(nèi),卡與終端都應(yīng)處于接收模式(I/O為高電平狀態(tài))。如果卡或終端作為接收方檢測出奇偶錯誤,則I/O被置為低電平,以向發(fā)送方表明出現(xiàn)錯誤。

1.3 卡操作

卡操作的步驟如下:

① 將卡插入終端接口設(shè)備,使兩者的觸點相接并激活觸點;

② 將卡復(fù)位,建立卡與終端間的通信;

③ 執(zhí)行操作;

④ 釋放觸點,并從接口設(shè)備取出卡片。

以下是除第③步(執(zhí)行操作)以外,各步的時序要求。

(1)觸點激活

時序如圖3所示。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

(2)卡復(fù)位

卡利用低電平復(fù)位來完成異步復(fù)位應(yīng)答,隨著觸點的激活,終端將進(jìn)行一個冷復(fù)位并從卡獲得復(fù)位應(yīng)答。冷復(fù)位時序如圖4所示。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

冷復(fù)位過程之后,如果收到的復(fù)位應(yīng)答信號不滿足標(biāo)準(zhǔn)的規(guī)定,終端將啟動一個熱復(fù)位并從卡獲得復(fù)位響應(yīng)。熱復(fù)位時序如圖5所示。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

在實際程序設(shè)計時,由Reset子程序?qū)崿F(xiàn)觸點激活和卡復(fù)位。

(3)觸點釋放時序

觸點釋放時序過程如圖6所示。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

2 傳輸協(xié)議與卡命令處理程序

ISO7816-4及中國金融集成電路(IC)卡規(guī)范所規(guī)定的異步半雙工傳輸協(xié)議,是關(guān)于終端為實現(xiàn)傳輸控制和特殊控制而發(fā)出的命令的結(jié)構(gòu)及其處理過程,包括了兩種協(xié)議:字符傳輸協(xié)議(T = 0)和塊傳輸協(xié)議(T = 1)。本文著重討論字符傳輸協(xié)議(T = 0)協(xié)議,它是IC卡推薦使用的通信協(xié)議。

2.1 命 令

命令包含1個連續(xù)4字節(jié)的命令頭,用CLA、INS、P1和P2以及1個可變長度的條件體來表示。

命令頭定義如下:

◇ CLA:指令類別,除"FF"外的任何值;

◇ INS:在指令類別中的指令碼,當(dāng)最低位是"0",并且高位半字節(jié)既不是"6"也不是"9"時,INS才有效;

◇ P1、P2完成INS的參數(shù)字節(jié)。

條件體定義如下:

◇ Lc(發(fā)送數(shù)據(jù)長度)占1個字節(jié),在命令中定義為發(fā)送數(shù)據(jù)的字節(jié)數(shù),取值范圍是1~255。

◇ Data為將要發(fā)送的命令數(shù)據(jù)域,字節(jié)數(shù)由Lc定義。

◇ Le (接收數(shù)據(jù)長度)占1個字節(jié),指出命令響應(yīng)中預(yù)期的數(shù)據(jù)最大字節(jié)數(shù)。Le的取值范圍是0~255。如果Le=0,預(yù)期數(shù)據(jù)字節(jié)的最大長度是256。

可能的命令結(jié)構(gòu)的4種情況定義如表2所列。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

表2

命令全部由終端應(yīng)用層(TAL)初始化。它通過終端傳輸層(TTL)向卡發(fā)送1個由5個字節(jié)組成的命令頭,并等待一個過程字節(jié)。

2.2 過程字節(jié)

卡收到命令后,緊接著返回一個過程字節(jié)給TTL,指明下一步該作什么,如表3所列。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

表3

在(1)、(2)情況中,TTL完成動作后將等待另一個過程字節(jié)。在(3)情況中,第二個過程字節(jié)或狀態(tài)碼(SW2)被收到后,TTL將做以下事情:

◇ 如果過程字節(jié)為"61",TTL將發(fā)送一個最大長度(P3)為"XX"的得到響應(yīng)命令(GET RESPONSE)給卡,"XX"為SW2的值。GET RESPONSE命令僅適用于T = 0協(xié)議。命令報文的結(jié)構(gòu)如表4所列。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

表4

◇ 如果過程字節(jié)為"6C",TTL將立即重發(fā)前一個命令的命令頭給卡,它的P3值用"XX"代替。"XX"是SW2的值。

◇ 如果過程字節(jié)是"6X"(除"60"、"61"及"6C"之外)或"9X",與前兩者TTL自己處理不同,TTL將通過命令響應(yīng)返回狀態(tài)碼給上一層--終端應(yīng)用層(TAL),由TAL處理,并等待下一個命令。

2.3 卡命令處理程序流程圖

圖 7 是卡命令處理程序,即終端與卡的信息交互過程的流程圖。

CPU卡的接口的基本特性、通信協(xié)議與卡命令處理程序設(shè)定介紹

以下是引腳說明。

ECPU:決定卡的CLK觸點上是否有CLK信號的引腳;

ICVCC:終端與卡的Vcc觸點相接觸的引腳;

ICIO: 終端與卡的I/O觸點相接觸的引腳;

ICCLK:終端與卡的CLK觸點相接觸的引腳;

ICRST:終端與卡的RST觸點相接觸的引腳。

以下是程序中函數(shù)介紹。

◇ void isr_timer1(void) interrupt 3:定時器1中斷子程序,用于按位發(fā)送和接收數(shù)據(jù)字節(jié);

◇ void Snd(void): 發(fā)送數(shù)據(jù)子程序,由定時器1實現(xiàn);

◇ void Rcv(BYTE bytenr,BYTE *Buffer):接收數(shù)據(jù)子程序(參數(shù)含義分別是:接收數(shù)據(jù)字節(jié)數(shù)、接收數(shù)據(jù)的存放處),由定時器1實現(xiàn);

◇ 函數(shù)1 void Reset(BYTE *len, BYTE *resp):復(fù)位子程序(參數(shù)含義分別是:返回復(fù)位響應(yīng)數(shù)據(jù)的長度、復(fù)位響應(yīng)數(shù)據(jù));

◇ 函數(shù)2 void Power_off(void):觸點釋放子程序;

◇ 函數(shù)3 WORD CPUC_Cmd(BYTE len,BYTE* comm, BYTE *lenr, BYTE* resp):CPU卡命令子程序(參數(shù)含義分別是:發(fā)送命令長度、發(fā)送命令、返回字節(jié)數(shù)、返回數(shù)據(jù)),函數(shù)返回狀態(tài)字節(jié)SW1SW2。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 集成電路
    +關(guān)注

    關(guān)注

    5377

    文章

    11311

    瀏覽量

    360386
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210829
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2244

    瀏覽量

    82267
收藏 人收藏

    評論

    相關(guān)推薦

    采用Nios II軟核處理器實現(xiàn)SD接口設(shè)計

    *1.4mm.圖1 SD 的形狀和接口處理器和SD之間的接口電路,要符合一定的約定,這個在SD
    發(fā)表于 05-29 05:00

    MultiMediacard大容量串行Flash存儲

    協(xié)議簡單易用,兼容性好,便于和單片機(jī)連接使用。本設(shè)計采用SPI通信協(xié)議,下文將詳細(xì)介紹。2.2 內(nèi)部邏輯結(jié)構(gòu)MMC的內(nèi)部邏輯結(jié)構(gòu)可分為四部分:MMC/SPI
    發(fā)表于 06-20 05:00

    sd接口規(guī)范(完整規(guī)范標(biāo)準(zhǔn))

    sd接口規(guī)范(完整規(guī)范標(biāo)準(zhǔn)) 特性: ◎容量:32MB/64MB/128MB/256MB/512MB/1GByte ◎兼容規(guī)范版本1.01 ◎上錯誤校正 ◎支持CPRM ◎兩個可
    發(fā)表于 08-24 17:25 ?281次下載

    IC 接口芯片TDA8007 讀寫器設(shè)計

    闡述T=0 傳輸協(xié)議,給出IC 讀寫器中使用的IC APDU 指令流程和原理框圖;重點介紹其中的IC
    發(fā)表于 05-15 15:43 ?85次下載

    基于HART協(xié)議的智能執(zhí)行器接口卡的開發(fā)

    基于HART協(xié)議的智能執(zhí)行器接口卡的開發(fā) 為了滿足工業(yè)現(xiàn)場儀表的通信要求,設(shè)計了符合HART 協(xié)議的智能執(zhí)行器通信
    發(fā)表于 02-22 15:53 ?43次下載

    RS485通信協(xié)議

    RS485通信協(xié)議 、RS485 通信協(xié)議1.概述C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信接口,用戶可通過PC/PLC 實現(xiàn)集中監(jiān)控(發(fā)送運行
    發(fā)表于 04-07 17:26 ?89次下載

    RS485 通信協(xié)議教程

    RS485 通信協(xié)議教程 概述C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信接口,用戶可通過PC/PLC 實現(xiàn)集中監(jiān)控(發(fā)送運行命令設(shè)定,變
    發(fā)表于 04-13 14:54 ?91次下載

    CPU中T=0通訊協(xié)議的分析與實現(xiàn)

    IC的應(yīng)用越來越廣泛,從存儲卡到邏輯加密,目前CPU已經(jīng)逐漸在應(yīng)用中占據(jù)主導(dǎo)地位。CPU
    發(fā)表于 03-28 16:37 ?2046次閱讀
    <b class='flag-5'>CPU</b><b class='flag-5'>卡</b>中T=0通訊<b class='flag-5'>協(xié)議</b>的分析與實現(xiàn)

    AVR的SD接口程序

    AVR的SD接口程序 SD接口程序/***************************
    發(fā)表于 04-12 12:31 ?1769次閱讀

    什么是cpu

    什么是cpu 1.基本功能是執(zhí)行程序處理數(shù)據(jù),是計算機(jī)系統(tǒng)的核心;2.CPU Card 所具有的功能是發(fā)展變化的,因
    發(fā)表于 07-03 11:23 ?6499次閱讀

    智能(CPU),什么是智能(CPU)

    智能(CPU),什么是智能(CPU) 智能
    發(fā)表于 04-02 13:36 ?3143次閱讀

    RS485接口通信協(xié)議教程

    C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信接口,用戶可通過PC/PLC 實現(xiàn)集中監(jiān)控(發(fā)送運行命令設(shè)定, 變頻器的工作參數(shù)和讀取變頻器的工作狀態(tài)),以適應(yīng)特定的使用要求。本附錄的
    發(fā)表于 03-04 15:46 ?601次下載

    ATMEL的CPU介紹

    ATMEL的CPU介紹ATMEL的CPU介紹ATMEL的
    發(fā)表于 10-30 18:08 ?5次下載

    一文弄懂CPU是什么

    CPU:也稱智能內(nèi)的集成電路中帶有微處理CPU、存儲單元(包括隨機(jī)存儲器RAM、
    的頭像 發(fā)表于 11-26 16:48 ?4.1w次閱讀

    Robin通信協(xié)議程序和工程文件免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Robin通信協(xié)議程序和工程文件免費下載
    發(fā)表于 07-09 08:00 ?0次下載
    Robin<b class='flag-5'>通信協(xié)議</b>的<b class='flag-5'>程序</b>和工程文件免費下載