專利名稱:一種智能卡讀寫設(shè)備與智能卡之間的通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種智能卡的通信方法,特別涉及一種符合IS07816 T=0、 IS07816 T=l物理接口或標(biāo)準(zhǔn)的通用異步通訊(UART)接口的智能卡讀寫設(shè) 備與智能卡之間的通信方法。
背景技術(shù):
現(xiàn)有的智能卡分為接觸式智能卡和非接觸式智能卡兩種,其中接觸式卡的 讀寫采用的是ISO/IEC 7816 T=0/T=1通訊協(xié)議(T=0是異步半雙工字符傳輸協(xié) 議,T=l是異步半雙工塊傳輸協(xié)議),而非接觸式卡采用的是ISO/IEC 14443 TKX通訊協(xié)議(T-CL半雙工分組傳輸協(xié)議)。而現(xiàn)有的接觸式智能卡和非接 觸式智能卡這些讀寫協(xié)議只有在應(yīng)用層上可以兼容,在物理層、數(shù)據(jù)鏈路層及 傳輸層上都互不兼容;因此,確定的一種接觸式或非接觸式的物理接口只能使 用其對應(yīng)的接口協(xié)議進(jìn)行讀寫操作。即使有一種轉(zhuǎn)換設(shè)備,它同時具有非接觸式與接觸式物理接口功能,但是 由于兩種不同類型的接口之間的通信協(xié)議在物理層、數(shù)據(jù)鏈路層及傳輸層上無 法兼容,因此,無法在數(shù)據(jù)鏈路層或者傳輸層上實現(xiàn)不同類型接口的讀寫設(shè)備 和智能卡之間的通訊轉(zhuǎn)換,只能在應(yīng)用層上進(jìn)行解釋和轉(zhuǎn)換,導(dǎo)致讀寫設(shè)備和 應(yīng)用密切,嚴(yán)重影響轉(zhuǎn)換設(shè)備使用效率及應(yīng)用范圍。因此,特別需要一種智能卡讀寫設(shè)備與智能卡之間的通信方法,通過轉(zhuǎn)換 設(shè)備將采用現(xiàn)有標(biāo)準(zhǔn)的非接觸式讀寫設(shè)備快速地完成讀寫接觸式智能卡,彌補(bǔ) 現(xiàn)有的不足。發(fā)明內(nèi)容本發(fā)明的目的是提供一種智能卡讀寫設(shè)備與接觸式智能卡之間的通信方 法,將采用現(xiàn)有標(biāo)準(zhǔn)的非接觸式的讀寫設(shè)備通過轉(zhuǎn)換設(shè)備快速地完成讀寫接觸 式卡。
本發(fā)明所解決的技術(shù)問題可以采用以下技術(shù)方案來實現(xiàn) 一種智能卡讀寫設(shè)備與智能卡之間的通信方法,其特征在于,它包括如下 的步驟(1) 在字符傳輸協(xié)議的鏈路層上設(shè)定連續(xù)字符之間的最大延遲;(2) 在塊傳輸協(xié)議中使用上述字符傳輸協(xié)議中的字符幀格式,使塊傳輸 協(xié)議平滑地映射到字符傳輸協(xié)議中。所述步驟(1)中包括如下的步驟i、 在字符傳輸協(xié)議中定義字符幀格式;ii、 激活字符傳輸協(xié)議,選擇應(yīng)答請求;iii、 進(jìn)行選擇應(yīng)答;iv、 字符傳輸協(xié)議和參數(shù)選擇請求;v、 字符傳輸協(xié)議和參數(shù)選擇響應(yīng)。所述步驟(1)中還包括一差錯檢測和恢復(fù)步驟,它包括i、 對于字符傳輸協(xié)議的選擇應(yīng)答請求和選擇應(yīng)答的處理;ii、 字符傳輸協(xié)議和參數(shù)選擇請求和選擇響應(yīng)的處理;iii、 字符傳輸協(xié)議激活時,選擇應(yīng)答請求中最低有效半字節(jié)CID的處理。 本發(fā)明的智能卡讀寫設(shè)備與智能卡之間的通信方法具有如下的特點1、 針對接觸式卡兩種不同的接口提供了兩種解決方案, 一種是符合 ISO7816T=0的物理接口,另一種是符合IS07816T-1物理接口或標(biāo)準(zhǔn)的通用 異步通訊(UART)接口。2、 本發(fā)明在字符級上保持與現(xiàn)有的接口兼容,以保證現(xiàn)有的智能卡芯片 在物理結(jié)構(gòu)上無須改變。3、 本發(fā)明通過在鏈路層上規(guī)定字符之間的最大延時間隔來區(qū)別不同的通 訊幀,使非接觸式的塊傳輸協(xié)議能平滑地映射到面向字節(jié)的傳輸協(xié)議上,并且 規(guī)定有相關(guān)的校驗和有效標(biāo)識來保證通訊的可靠性。4、 本發(fā)明還通過相關(guān)的傳輸控制協(xié)議來實現(xiàn)對相關(guān)的通訊參數(shù)的設(shè)置及 通訊數(shù)據(jù)重發(fā)等。本發(fā)明的智能卡讀寫設(shè)備與智能卡之間的通信方法,采用現(xiàn)有標(biāo)準(zhǔn)的非接 觸式的讀寫設(shè)備由轉(zhuǎn)換設(shè)備通過使用本發(fā)明的通信方法,可以方便有效地完成 讀寫接觸式智能卡的功能,且無須增強(qiáng)或改變非接觸式的讀寫設(shè)備和接觸式卡 片已有的物理特性,實現(xiàn)本發(fā)明的目的。
圖1為本發(fā)明的智能卡讀寫設(shè)備與智能卡之間的通信方法的原理框圖;圖2為本發(fā)明中選擇應(yīng)答請求的結(jié)構(gòu)框圖;圖3為本發(fā)明中RATS參數(shù)1字節(jié)的編碼示意圖;圖4為本發(fā)明中RATS參數(shù)2字節(jié)的編碼示意圖;圖5為本發(fā)明中選擇應(yīng)答的結(jié)構(gòu)框圖;圖6為本發(fā)明中格式字節(jié)的編碼示意圖;圖7為本發(fā)明中接口字節(jié)TA (1)的編碼示意圖;圖8為本發(fā)明中接口字節(jié)TB (1)的編碼示意圖;圖9為本發(fā)明中接口字節(jié)TC (1)的編碼示意圖;圖IO為本發(fā)明中協(xié)議和參數(shù)選擇請求的結(jié)構(gòu)框圖;圖11為本發(fā)明中PPSS的編碼示意圖;圖12為本發(fā)明中PPS0的編碼示意圖;圖13為本發(fā)明中PPS1的編碼示意圖;圖14為本發(fā)明中協(xié)議和參數(shù)選擇響應(yīng)的結(jié)構(gòu)框圖;圖15為本發(fā)明中塊格式的結(jié)構(gòu)框圖;圖16為本發(fā)明中I-塊PCB的編碼示意圖;圖17為本發(fā)明中R-塊PCB的編碼示意圖;圖18為本發(fā)明中S-塊PCB的編碼示意圖;圖19為本發(fā)明中卡標(biāo)識符的編碼示意圖;圖20為本發(fā)明中幀等待時間圖21為本發(fā)明中S(WTX)請求的INF域編碼圖22為本發(fā)明中S(WTX)響應(yīng)得INF域編碼圖23為本發(fā)明中鏈接圖24為本發(fā)明中塊格式 具體實施方式
為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解, 下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。如圖1所示, 一種非接觸式的讀寫設(shè)備讀寫接觸式智能卡的系統(tǒng),由標(biāo)準(zhǔn) 的非接觸式讀寫設(shè)備、轉(zhuǎn)換設(shè)備及接觸式智能卡組成,其通信方法包括如下的(1 )在字符傳輸協(xié)議的鏈路層上設(shè)定連續(xù)字符之間的最大延遲; (2)在塊傳輸協(xié)議中使用上述字符傳輸協(xié)議中的字符幀格式,使塊傳輸 協(xié)議平滑地映射到字符傳輸協(xié)議中。所述步驟(1)中包括如下的步驟i、 在字符傳輸協(xié)議中定義字符幀格式;ii、 激活字符傳輸協(xié)議,選擇應(yīng)答請求;iii、 進(jìn)行選擇應(yīng)答;iv、 字符傳輸協(xié)議和參數(shù)選擇請求;v、 字符傳輸協(xié)議和參數(shù)選擇響應(yīng)。所述步驟(1)中還包括一差錯檢測和恢復(fù)步驟,它包括-i、 對于字符傳輸協(xié)議的選擇應(yīng)答請求和選擇應(yīng)答的處理;ii、 字符傳輸協(xié)議和參數(shù)選擇請求和選擇響應(yīng)的處理;iii、 字符傳輸協(xié)議激活時,選擇應(yīng)答請求中最低有效半字節(jié)CID的處理。 針對接觸式卡兩種不同的接口提供了兩種解決方案, 一種是符合IS07816T=0的物理接口,另一種是符合IS07816T4物理接口或標(biāo)準(zhǔn)的通用異步通訊 (UART)接口。一、針對IS07816T^物理接口 1、字符級單字符的傳輸和校驗采用標(biāo)準(zhǔn)的IS07816-3 T=0協(xié)議中的物理層字符傳輸 協(xié)議,但對字符之間的延遲時間作如下規(guī)定IFD或ICC發(fā)出的兩個連續(xù)字符的上升沿間的延遲時間應(yīng)不超過14 etu。 由ICC發(fā)出的第一個字符的上升沿和由IFD發(fā)出的最后一個字符的上升 沿之間的最大間隔由激活幀等待時間及幀等待時間決定。2、 協(xié)議激活——選擇應(yīng)答請求(RATS)如圖2所示,定義了帶有所有字段的選擇應(yīng)答請求(RATS),它包括開始 字節(jié)、參數(shù)1字節(jié)、參數(shù)2字節(jié)、BCC1及BCC2字節(jié)。 如圖3所示,參數(shù)l字節(jié)由以下兩部分組成——最高有效半字節(jié)b8到b5稱為FSDI,它用于編碼FSD; FSD定義了 IFD能收到的幀的最大長度。FSD的編碼在表1.1中給出。——最低有效半字節(jié)b4到bl命名為CID,它定義編址了的ICC的邏輯號 在0 14范圍內(nèi),值15為RFU。 CID由IFD規(guī)定,并且對同一時刻處在激活 狀態(tài)中的所有ICC,它應(yīng)是唯一的。CID在ICC被激活期間是固定的,并且ICC 應(yīng)使用CID作為其邏輯標(biāo)識符,它包含在接收到的第一個無差錯的RATS。表1.1 FSD到FSDI的轉(zhuǎn)換FDSI'0, '1, '2, '3, '4, '5, '6, '7, '8, '9,-'F, FSD 16 24 32 40 48 64 96 128 256 RFU>256參數(shù)2字節(jié)指示智能卡接口設(shè)備的電源的電流輸出能力(參見圖4 ):BCC1在它之前的所有字節(jié)進(jìn)行異或運(yùn)算的結(jié)果。BCC2 O表示本次傳輸?shù)臄?shù)據(jù)有效,Oxff表示無效,其它值保留。3、 選擇應(yīng)答(ATS)如圖5所示,定義了帶有所有字段的選擇應(yīng)答(ATS),它包括長度字節(jié) TL、格式字節(jié)TO、接口字節(jié)TA (1)、 TB (1)、 TC (1)、歷史字節(jié)Tl Tk、 BCC1及BCC2字節(jié)。在已定義字段中的一個沒有在ICC發(fā)送的ATS中出現(xiàn)的情況下,應(yīng)應(yīng)用 該字段的缺省值。長度字節(jié)TL以下面的順序跟隨著可選后續(xù)字節(jié)的可變號碼——格式字節(jié)T0,——接口字節(jié)TA (1), TB (1), TC (1)及 ——?dú)v史字節(jié)Tl Tk。長度字節(jié)TL是強(qiáng)制的,它規(guī)定了傳送的ATS (包括其本身)的字節(jié)長度, BCC1及BCC2字節(jié)并不包括在TL中,ATS的最大長度應(yīng)不超出指示的FSD, 因此TL的最大值應(yīng)不超過FSD-2。格式字節(jié)TO是強(qiáng)制的,并且當(dāng)長度大于l,它便出現(xiàn);當(dāng)該格式字節(jié)出現(xiàn) 時,ATS能僅包含下列可選字節(jié)。如圖6所示,格式字節(jié)TO由三部分組成——最高有效位b8應(yīng)置為0.其他值為RFU。——包含Y (1)的位b7到b5指示接口字節(jié)TC (1), TB (1)和TA (1) 的出現(xiàn)。——最低有效半字節(jié)b4到bl稱為FSCI,它用于編碼FSC, FSC定義了 ICC能接收的幀的最大長度,F(xiàn)SCI的缺省值為2,這導(dǎo)致了一個32字節(jié)的FSC。 FSC的編碼等于FSD的編碼(見表l.l)。如圖7所示,接口字節(jié)TA(l)由四部分組成——最高有效位b8編碼了為每個方向處理不同除數(shù)的可能性。當(dāng)該位被 置為l時.ICC不能為每個方向處理不同除數(shù)?!籦7到b5為ICC到IFD方向編碼了 ICC的位速率能力,稱為DS。 其缺省值應(yīng)為(000) b?!籦4被置為(0) b,其他值為RFU。——位b3到bl為IFD到ICC方向編碼了 ICC的位速率能力,稱為DR。 其缺省值應(yīng)為(000) b。為每個方向選擇特定除數(shù)可以使用PPS由IFD來完成。接口字節(jié)TB (1)通過運(yùn)送信息以定義幀等待時間和啟動幀保護(hù)時間,接 口字節(jié)TB (1)由兩部分組成(參見圖8):——最高有效半字節(jié)b8到b5稱為FWI,它編碼FWT。——最低有效半字節(jié)b4到bl稱為SFGI,它編碼了一乘數(shù)值用于定義 SFGT。 SFGT定義了在發(fā)送了ATS之后,準(zhǔn)備接收下一個幀之前ICC所需的 特定保護(hù)時間。SFGI在0 14范圍內(nèi)編碼,值15為RFU。值0指示無需SFGT, 在1 14范圍內(nèi)的值用于用下面給出的公式計算SFGT。 SFGI的缺省值為0。SFGT用下面的公式計算SFGT = (256xl6/f)x2SFGI接口字節(jié)TC(1)規(guī)定了協(xié)議的參數(shù),接口字節(jié)TC(l)由兩部分組成(參
見圖9):——最高有效位b8到b5為0000b,所有其他值為RFU?!籦2和bl定義了在ICC支持的開端字段中的可選字段。允許IFD 跳過已被指出被ICC支持的字段,但I(xiàn)CC不支持的字段應(yīng)不被IFD傳輸,缺 省值應(yīng)為(10) b。它指出支持CID和不支持NAD。——位b3和b4,指示是否支持DWP或SWP接口歷史字節(jié)Tl Tk是可選的并包含了通用信息,ATS的最大長度給出了歷 史字節(jié)的最大可能數(shù)目。歷史字節(jié)應(yīng)不少于4字節(jié),且最后4字節(jié)為ICC的唯 一識別號(UID)。BCC1字節(jié)在它之前的所有字節(jié)進(jìn)行異或運(yùn)算的結(jié)果。BCC2字節(jié)保留為0。4、協(xié)議和參數(shù)選擇請求如圖10所示,協(xié)議和參數(shù)選擇請求PPS包含被格式字節(jié)、 一參數(shù)字節(jié)跟 隨的開始字節(jié)、BCC1及BCC2字節(jié)。如圖11所示,開始字節(jié)PPSS包含兩部分——最高有效半字節(jié)b8到b5應(yīng)置為'D'并標(biāo)識了PPS。.——最低有效半字節(jié)b4到bl稱為CID,它定義了已編址的ICC的邏輯號。參數(shù)字節(jié)PPS0致使可選字節(jié)PPS1的出現(xiàn)(參見圖12)。如圖13所示,參數(shù)字節(jié)PPS1由三部分組成——最高有效半字節(jié)b8到b5為(0000) b,所有其他值為RFU。——位b4, b3稱為DSI,它編碼了已選擇的從ICC到IFD的除數(shù)整數(shù)。——位b2, bl稱為DRI,它編碼了已選擇的從IFD到ICC的除數(shù)整數(shù)。D的編碼在表1.2中給出。表1.2 0111, DSI到D的轉(zhuǎn)換fflO)b4歸a頓4D1248BCC1字節(jié)在它之前的所有字節(jié)進(jìn)行異或運(yùn)算的結(jié)果。. BCC2字節(jié)0表示本次傳輸?shù)臄?shù)據(jù)有效,Oxff表示無效,其它值保留。5、 協(xié)議和參數(shù)選擇響應(yīng)協(xié)議和參數(shù)選擇PPS響應(yīng)確認(rèn)接收到的PPS請求(參見圖14),并僅包含開始字節(jié)PPSS。BCC1字節(jié)在它之前的所有字節(jié)進(jìn)行異或運(yùn)算的結(jié)果。BCC2字節(jié)O表示本次傳輸?shù)臄?shù)據(jù)有效,0xff表示無效,其它值保留。激活幀等待時間為ICC在接收到的來自IFD的幀的結(jié)M之后開始發(fā)送其響應(yīng)幀定義了最大時間,其值為65536 / f。6、 差錯檢測和恢復(fù)(1) RATS禾n ATS的處理 IFD規(guī)則當(dāng)IFD發(fā)送了 RATS并接收到有效ATS, IFD應(yīng)繼續(xù)工作。在任何其它情 況下,IFD在采用1.8中規(guī)定的停活序列之前,可以重新傳輸RATS。 ICC規(guī)則當(dāng)ICC被最后一條命令選擇,并且收到有效RATS, ICC應(yīng)——發(fā)送回其ATS,并且——使RATS失效(停止響應(yīng)接受到的RATS)。(2) PPS請求和PPS響應(yīng)的處理 IFD規(guī)則當(dāng)IFD發(fā)送了 PPS并接收到有效PPS響應(yīng),IFD應(yīng)激活選擇的參數(shù)并繼 續(xù)工作。在任何其他情況下,IFD可以重新傳輸PPS請求并繼續(xù)工作。 ICC規(guī)則當(dāng)ICC接收到RATS,發(fā)送了其ATS,并且a) 接收到有效PPS請求,ICC應(yīng) ——發(fā)送PPS響應(yīng),——使PPS請求失效(停止響應(yīng)接收到的PPS請求)并 ——激活接收到的參數(shù)。b) 接收到無效塊,ICC應(yīng)——使PPS請求失效(停止響應(yīng)接收到的PPS請求)并
——保持在接收模式。c)接收到除了PPS請求的有效塊,ICC應(yīng)——使PPS請求失效(停止響應(yīng)接收到的PPS請求)并——繼續(xù)工作。(3)字符傳輸協(xié)議激活時,選擇應(yīng)答請求中最低有效半字節(jié)CID的處理 當(dāng)IFD發(fā)送了包含CID^不等于0的RATS,并且a) 接收到指示CID被支持的ATS, IFD應(yīng) ——發(fā)送包含CID^的塊給該ICC,并——當(dāng)該ICC處于ACTIVE狀態(tài)時.對于進(jìn)一步的RATS,不使用CID^n。b) 接收到指示CID不被支持的ATS, IFD應(yīng) ——發(fā)送不包含CID的塊給該ICC,并——當(dāng)該ICC處于ACTIVE狀態(tài)時,不激活任何其他ICC。 當(dāng)IFD發(fā)送了包含CID等于O的RATS,并且c) 接收到指示CID被支持的ATS, IFD應(yīng) ——發(fā)送包含CID等于O的塊給該ICC,并——當(dāng)該ICC處于ACTIVE狀態(tài)時,不激活任何其他ICC。d) 接收到指示CID不被支持的ATS。 IFD應(yīng) ——發(fā)送不包含CID的塊給該ICC,并——當(dāng)該ICC處于ACTIVE狀態(tài)時,不激活任何其他ICC。 7、半雙工塊傳輸協(xié)議半雙工塊傳輸協(xié)議使用字符級中定義的字符幀格式。幀格式的其他相關(guān)元素有——塊格式——最大幀等待時間-——協(xié)議操作。注應(yīng)用選擇的使用如ISO / IEC 7816-5中所定義。不推薦在多應(yīng)用的ICC 中使用隱含的應(yīng)用選擇。如圖15所示,塊格式由一個開端域(強(qiáng)制)、 一個信息域(可選)和一個 結(jié)束域(強(qiáng)制)組成,如果在任一個字符的起始位之后14個etu內(nèi)沒有收到新 的起始位,則塊傳輸結(jié)束。開端域是強(qiáng)制的,最多由三個字節(jié)構(gòu)成-——協(xié)議控制字節(jié)(強(qiáng)制), ——卡標(biāo)識符(可選), ——結(jié)點地址(可選)。協(xié)議控制字節(jié)為PCB用于傳送控制數(shù)據(jù)傳輸所需要的信息,它定義了塊 的三種基本類型——用于為應(yīng)用層的使用傳送信息的I-塊?!糜趥魉痛_認(rèn)或不確認(rèn)的.R-塊。R-塊不包含INF域。確認(rèn)涉及最后 接收到的塊?!糜谠贗FD和ICC間交換控制信息的S-塊。兩種不同類型的S-塊定 義如下1) 包含1字節(jié)長INF域的等待時間延遲,和2) 不包含證域的DESELECT。PCB的編碼依賴于它的類型,此處沒有定義的PCB編碼在其他章節(jié)使用 或為RFU, I-塊、R-塊和,S—塊的編碼在圖16、圖17、圖18中給出。卡標(biāo)識符(CID域)用于識別特定的ICC,它由三部分組成(參見圖19):——最高有效位b8, b7, b6和b5用于傳送附加信息,它沒有被定義并應(yīng) 置為(00) b,所有其他值為RFU?!籦4到bl編碼CID。ICC對CID的處理描述如下不支持CID的ICC應(yīng)——忽略任何包含CID的塊。支持CID的ICC應(yīng)——通過使用其CID響應(yīng)包含其CID的塊。 ——忽略包含其他CID的塊?!偃羝銫ID為0,亦通過不使用CID響應(yīng)不包含CID的塊。 信息域(INF域)是可選的,當(dāng)它存在時,INF域傳送I-塊中的應(yīng)用數(shù)據(jù) 或非應(yīng)用數(shù)據(jù)和S-塊中的狀態(tài)信息;信息域的長度通過計算整個塊的字節(jié)數(shù)減 去開端域和結(jié)束域得出。結(jié)束域,該域包含傳輸塊的EDC。 EDC為2字節(jié)的BCC:BCC1字節(jié)在它之前的所有字節(jié)進(jìn)行異或運(yùn)算的結(jié)果。 BCC2字節(jié)0表示本次傳輸?shù)臄?shù)據(jù)有效,0xff表示無效,其它值保留。 如圖20所示,幀等待時間(FWT),它給ICC定義了在IFD幀結(jié)束后開 始其響應(yīng)幀的最大時間。FWT通過下面的公式計算 FWT = (256xl6//)x2FWI其中FWI的值在0到14之間,15為RFU。若TB (0)被省略,則FWI 的缺省值為4。FWT應(yīng)用于檢測傳輸差錯或無響應(yīng)的ICC。如果來自ICC的響應(yīng)的開始 沒有在FWT內(nèi)被接收到。則IFD收回發(fā)送的權(quán)利。如圖21所示,當(dāng)ICC需要比定義的FWT更多的時間用于處理接收到的 塊時,應(yīng)使用S (WTX)請求等待時間擴(kuò)展。S (WTX)請求包含1字節(jié)長INF 域,它由兩部分組成——最高有效位b8, b7,它沒有被定義并應(yīng)置為(00) b,所有其他值為 RFU。——最低有效位b6到bl編碼WTXM。 WTXM在1 59范圍內(nèi)編碼,值0 和60 63為RFU。IFD應(yīng)通過發(fā)送包含1字節(jié)長INF域的S (WTX)來確認(rèn),該INF域由兩 部分組成(參見圖22)并包含了與在請求中接收到的相同的WTXM;——最高有效位b8, b7為(00) b,所有其它值為RFU?!畹陀行籦6到bl編碼了用于定義臨時FWT的確認(rèn)的WTXM值。FWT的響應(yīng)的臨時值通過下面的公式計算FWT麗=FWTx WTXMICC需要的時間FWTTEMP在IFD發(fā)送了 S (WTX)響應(yīng)之后開始。 當(dāng)公式得出的結(jié)果大于FWTMAX時,應(yīng)該使用FWTMAX。 臨時FWT僅在下一個塊被IFD接收到的時才應(yīng)用。
協(xié)議在激活后,ICC應(yīng)等待——僅IFD才有權(quán)利發(fā)送命令。在發(fā)送了塊之 后,IFD應(yīng)轉(zhuǎn)換到接受模式并在轉(zhuǎn)換回到傳輸模式之前等待塊。ICC可以傳輸 塊——僅響應(yīng)接收到的塊(對時間延遲是察覺不到的)。在響應(yīng)后,ICC應(yīng)返 回到接受模式。在當(dāng)前命令/響應(yīng)對沒有完成或幀等待時間超出而沒有響應(yīng)時,IFD不應(yīng)初 始化一新的命令/響應(yīng)對。多激活特幀允許IFD保持幾個ICC同時在激活狀態(tài),對于?;畹腎CC和 激活另一張ICC,這允許幾個ICC間直接轉(zhuǎn)換而無需另外時間。對每個已激活 的ICC, IFD需要處理分離的塊號。如圖23所示,鏈接過程允許IFD或ICC通過把信息化分成若干塊來傳輸 不符合分別由FSC或FSD定義的單塊信息,每一塊的長度應(yīng)分別小于或等于 FSC或FSD。塊的鏈接通過I-塊PCB中的鏈接位來控制,每一個帶鏈接位集的I-塊應(yīng)被 R-塊確認(rèn)。鏈接的特性在圖23中給出,16字節(jié)長字串分成三塊來傳輸。記號(本例中沒有使用可選字段NAD和CID):I(l)X 帶有塊號x且設(shè)置了鏈接位的I-塊I(O)X 帶有塊號x但未設(shè)置鏈接位(一鏈接中的末塊)的I-塊R(ACK)X塊編號規(guī)則IFD規(guī)則規(guī)則A:對每一張激活的ICC, IFD塊號應(yīng)被初始化為O。 規(guī)則B:當(dāng)帶有塊號等于當(dāng)前塊好的I-塊或R(ACK)塊被接收到時,IFD 在可選的發(fā)送塊前為該ICC切換當(dāng)前塊號。 ICC規(guī)則規(guī)則C:在激活時,ICC塊號應(yīng)被初始化為1 。規(guī)則D:當(dāng)I-塊被接收到(獨(dú)立與其塊號),ICC在發(fā)送塊前切換塊號。 規(guī)則E:當(dāng)帶有塊號不等于當(dāng)前塊號的R(ACK)塊被接收到時,ICC在發(fā)送塊前切換其塊號。
塊處理規(guī)則規(guī)則l:首塊應(yīng)由IFD來發(fā)送。規(guī)則2:當(dāng)I-塊指示鏈接已被接收到時,塊應(yīng)由R(ACK)塊來確認(rèn)。規(guī)則3: S-塊僅成對使用。S(…)請求塊總是跟隨著S(…)響應(yīng)塊。IFD規(guī)則規(guī)則4:當(dāng)接收到無效塊或FWT超時,則R(NAK)塊被發(fā)送(IFD鏈接或 S(DESELECT)情況除外)規(guī)則5:在ICC鏈接的情況下,當(dāng)接收到無效塊或FWT超時,R(ACK)塊被發(fā)送。規(guī)則6:當(dāng)接收到R(ACK)塊,如果其塊號不等于ICC的當(dāng)前塊號,則最 后的I-塊被重新傳送。規(guī)則7:當(dāng)接收到R(ACK欺,如果其塊號等于IFD的當(dāng)前塊號,貝U繼續(xù) 鏈接。規(guī)則8:如果S(DESELECT)請求沒有被無差錯S(DESELECT)響應(yīng)進(jìn)行回 答。貝lj S(DESELECT)請求可以被重新傳送或ICC可以被忽視。 ICC規(guī)則規(guī)則9:允許ICC發(fā)送S(WTX)塊而不發(fā)送I-塊或R(ACK)塊。 規(guī)則10:當(dāng)I一塊沒有指示鏈接已被接收到時,塊應(yīng)由I-塊來確認(rèn)。 規(guī)則lh當(dāng)接收到R(ACK)塊或R(NAK)塊,如果其塊號等于ICC的當(dāng)前塊號,則最后的塊被重新傳送。規(guī)則12:當(dāng)接收到R(NAK)塊,如果其塊號不等于ICC的當(dāng)前塊號,則R(ACK)塊被發(fā)送。規(guī)則13:當(dāng)接收到R(ACK)i央,如果其塊號不等于ICC的當(dāng)前塊號,則繼續(xù)鏈接。差錯檢測和恢復(fù)當(dāng)檢測到差錯時,應(yīng)試圖使用下列恢復(fù)規(guī)則。本章中的定義支配塊處理規(guī)則。下列差錯應(yīng)被IFD檢測到
a) 傳輸差錯(幀差錯或EDC差錯)或FWT超時 IFD應(yīng)試圖通過以下順序示出的技術(shù)進(jìn)行差錯恢復(fù) ——塊的重新傳輸(可選),——S(DESELECT)請求的使用, ——忽視ICC。b) 協(xié)議差錯(違反了PCB編碼或違反了協(xié)議規(guī)則) IFD應(yīng)試圖通過以下順序示出的技術(shù)進(jìn)行差錯恢復(fù) ——S(DESELECT)請求的使用,——忽視ICC。 下列差錯應(yīng)被ICC檢測到a) 傳輸差錯(幀差錯或EDC差錯),b) 協(xié)議差錯(違反了協(xié)議規(guī)則)。ICC應(yīng)盡量沒有差錯恢復(fù)。當(dāng)傳輸差錯或協(xié)議差錯發(fā)生時,ICC始終應(yīng)返 回接收模式.在任何時候它都應(yīng)接收S(DESELECT)請求。R(NAK)塊不由ICC 發(fā)送。ICC的協(xié)議?;領(lǐng)FD和ICC間的交易完成之后,ICC應(yīng)被?;?。 ICC的?;钔ㄟ^使用DESELECT命令來完成。DESELECT命令象協(xié)議的S-塊那樣編碼,并由IFD發(fā)送的S(DESELECT) 請求塊和ICC作為確認(rèn)發(fā)送的S(DESELECT)響應(yīng)組成。停活幀等待時間?;顜却龝r間給ICC定義了接收到來自IFD的S(DESELECT)請求幀的 末端后開始發(fā)送其S(DESELECT)響應(yīng)的最短時間,其值為65536/f。差錯檢測和恢復(fù)當(dāng)IFD發(fā)送了 S(DESELECT)請求并接收到了 S(DESELECT)卩向應(yīng),則ICC 已被成功地置為了?;顮顟B(tài)并且分配給它的CID也被釋放。當(dāng)IFD沒有接收到S(DESELECT)響應(yīng),則IFD可以重新進(jìn)行停活序列。二、針對兼容IS07816T^的快速接口 1、字符級 位傳輸時間(etu): 初始的位傳輸時間letu=16/f。IFD或ICC發(fā)出的兩個連續(xù)字符的上升沿間的延遲應(yīng)不超過14 etu。由ICC發(fā)出的第一個字符的上升沿和由IFD發(fā)出的最后一個字符的上升沿之間的最大間隔由激活幀等待時間及幀等待時間決定。其它,包括協(xié)議激活——選擇應(yīng)答請求(RATS)、選擇應(yīng)答(ATS)、協(xié)議和參數(shù)選擇請求、協(xié)議和參數(shù)選擇響應(yīng)、差錯檢測和恢復(fù)及半雙工塊傳輸協(xié)議都與針對IS07816 T=0物理接口的相應(yīng)設(shè)置相同。三、針對兼容IS0 7816T-1或UART接口1、字符級位傳輸時間(etu):初始的位傳輸時間letu=128/f。單字符的傳輸需要lOetu-采用標(biāo)準(zhǔn)UART通信接口協(xié)議——1位起始位——8位數(shù)據(jù)位——無校驗位 , ——1位停止位 字符之間的延遲時間IFD或ICC發(fā)出的兩個連續(xù)字符的上升沿間的延遲應(yīng)不超過12 etu。由ICC發(fā)出的第一個字符的上升沿和由IFD發(fā)出的最后一個字符的上升 沿之間的最大間隔由激活幀等待時間及幀等待時間決定。其它,包括協(xié)議激活——選擇應(yīng)答請求(RATS)、選擇應(yīng)答(ATS)、協(xié)議 和參數(shù)選擇請求、協(xié)議和參數(shù)選擇響應(yīng)及差錯檢測和恢復(fù)都與針對IS07816 T=0物理接口的相應(yīng)設(shè)置相同。半雙工塊傳輸協(xié)議使用字符級中定義的字符幀格式。幀格式的其他相關(guān)元素有 ——塊格式——最大幀等待時間-——協(xié)議操作。如圖24所示,塊格式由一個開端域(強(qiáng)制)、 一個信息域(可選)和一個 結(jié)束域(強(qiáng)制)組成,如果在任一個字符的起始位之后12個etu內(nèi)沒有收到新 的起始位,則塊傳輸結(jié)束。其它,包括開端域、結(jié)束域、幀等待時間(FWT)、幀等待時間擴(kuò)展、協(xié) 議操作及ICC的協(xié)議停活與針對IS07816 T=0物理接口的相應(yīng)設(shè)置相同。以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè) 的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中 描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明 還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi),本 發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1、一種智能卡讀寫設(shè)備與智能卡之間的通信方法,其特征在于,它包括如下的步驟(1)在字符傳輸協(xié)議的鏈路層上設(shè)定連續(xù)字符之間的最大延遲;(2)在塊傳輸協(xié)議中使用上述字符傳輸協(xié)議中的字符幀格式,使塊傳輸協(xié)議平滑地映射到字符傳輸協(xié)議中。
2、 如權(quán)利要求1所述的通信方法,其特征在于,所述步驟(1)中包括如 下的步驟i、 在字符傳輸協(xié)議中定義字符幀格式;ii、 激活字符傳輸協(xié)議,選擇應(yīng)答請求;iii、 進(jìn)行選擇應(yīng)答;iv、 字符傳輸協(xié)議和參數(shù)選擇請求;v、 字符傳輸協(xié)議和參數(shù)選擇響應(yīng)。
3、 如權(quán)利要求1所述的通信方法,其特征在于,所述步驟(1)中還包括 一差錯檢測和恢復(fù)步驟,它包括i、 對于字符傳輸協(xié)議的選擇應(yīng)答請求和選擇應(yīng)答的處理;ii、 字符傳輸協(xié)議和參數(shù)選擇請求和選擇響應(yīng)的處理;iii、 字符傳輸協(xié)議激活時,選擇應(yīng)答請求中最低有效半字節(jié)CID的處理。
全文摘要
本發(fā)明提供一種智能卡讀寫設(shè)備與接觸式智能卡之間的通信方法,將采用現(xiàn)有標(biāo)準(zhǔn)的非接觸式的讀寫設(shè)備通過轉(zhuǎn)換設(shè)備快速地完成讀寫接觸式卡;它包括如下的步驟(1)在字符傳輸協(xié)議的鏈路層上設(shè)定連續(xù)字符之間的最大延遲;(2)在塊傳輸協(xié)議中使用上述字符傳輸協(xié)議中的字符幀格式,使塊傳輸協(xié)議平滑地映射到字符傳輸協(xié)議中;采用現(xiàn)有標(biāo)準(zhǔn)的非接觸式的讀寫設(shè)備由轉(zhuǎn)換設(shè)備通過使用本發(fā)明的通信方法,可以方便有效地完成讀寫接觸式智能卡的功能,且無須增強(qiáng)或改變非接觸式的讀寫設(shè)備和接觸式卡片已有的物理特性,實現(xiàn)本發(fā)明的目的。
文檔編號G06K7/00GK101211404SQ20071017284
公開日2008年7月2日 申請日期2007年12月24日 優(yōu)先權(quán)日2007年12月24日
發(fā)明者姜福興, 宋莉莉, 綱 張, 蔚 李, 俊 陸, 陳安新 申請人:上海復(fù)旦微電子股份有限公司