下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
CPU卡中T=0通訊協(xié)議的分析與實(shí)現(xiàn)摘要=0是國(guó)際標(biāo)準(zhǔn)中規(guī)定的一種接觸式卡通訊協(xié)議。結(jié)合開發(fā)實(shí)踐,將該協(xié)議分為四個(gè)層次,主要從卡的角度出發(fā),結(jié)合終端,從兩個(gè)方面系統(tǒng)地闡述了該協(xié)議的特點(diǎn)和實(shí)現(xiàn)過程,并對(duì)=0協(xié)議的優(yōu)缺點(diǎn)進(jìn)行了分析,目前已將開發(fā)成果應(yīng)用于實(shí)際中。關(guān)鍵詞卡片操作系統(tǒng)終端應(yīng)用層終端傳輸層應(yīng)用協(xié)議數(shù)據(jù)單元傳輸協(xié)議數(shù)據(jù)單元卡的應(yīng)用越來越廣泛,從存儲(chǔ)卡到邏輯加密卡,目前卡已經(jīng)逐漸在應(yīng)用中占據(jù)主導(dǎo)地位??ǜ鶕?jù)通訊協(xié)議可分為兩種接觸式和非接觸式。接觸式卡主要采用兩種通訊協(xié)議=0和=1通訊協(xié)議。=0是異步半雙工字符傳輸協(xié)議,=1是異步半雙工塊傳輸協(xié)議。目前=0通訊協(xié)議的應(yīng)用較為廣泛,國(guó)內(nèi)外大多數(shù)卡都支持該協(xié)議,在金融交易中也采用這種通訊協(xié)議。為了便于說明問題,本文從=0協(xié)議的功能出發(fā),將該協(xié)議分為四個(gè)層次物理層、數(shù)據(jù)鏈路層、終端傳輸層和應(yīng)用層,見圖1。由于該協(xié)議的特殊性,終端傳輸層與應(yīng)用層聯(lián)系非常緊密,實(shí)現(xiàn)起來比較繁瑣,在卡中,這些任務(wù)通過卡片操作系統(tǒng)來實(shí)現(xiàn)。終端在與卡的信息交換中,范文先生網(wǎng)收集整理始終處于主動(dòng)地位,終端向卡發(fā)送符合=0協(xié)議的命令字節(jié),卡中的完成對(duì)數(shù)據(jù)的處理并將處理結(jié)果返回給終端下面對(duì)=0協(xié)議的四個(gè)層次進(jìn)行詳述。1=0協(xié)議的物理層描述終端與智能卡之間通過改變傳輸線上的電平來交換信息。由于=0協(xié)議是面向字符的傳輸協(xié)議,這里先定義字符幀的結(jié)構(gòu),并對(duì)組成字符幀位的信息表示作了具體描述。字符幀的結(jié)構(gòu)如圖2所示。字符幀由1個(gè)起始位、8個(gè)數(shù)據(jù)位和1個(gè)偶校驗(yàn)位共10位組成。在數(shù)據(jù)傳輸中每一位的持續(xù)時(shí)間稱為基本時(shí)間單元,的值由時(shí)鐘頻率決定,與時(shí)鐘頻率呈現(xiàn)性關(guān)系1=x11其中稱為時(shí)鐘頻率轉(zhuǎn)換因子,稱為波特率調(diào)整因子。時(shí)鐘頻率的范圍為1?5,正常的工作頻率為357,數(shù)據(jù)傳輸?shù)牟ㄌ芈什捎?600,根據(jù)國(guó)際標(biāo)準(zhǔn)的取值范圍,取=372,=1,代入式1,可得1=372=3722即一個(gè)基本時(shí)間單元為372個(gè)時(shí)鐘周期。將工作頻率定為357,可以保證數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿?6000如果要提高數(shù)據(jù)的傳輸率,可以調(diào)整參數(shù)來確定傳輸率。對(duì)每一位電平采用三次采樣來確定,在位持續(xù)時(shí)間的中間和左右15的間隔各取樣一次,取樣點(diǎn)如圖3所示。當(dāng)有兩次以上電平為低,則判斷該位為0;否則該位為1,這樣確保了取樣值的可靠性。由于數(shù)據(jù)位的持續(xù)時(shí)間是用匯編語句來控制的,可以通過延時(shí)語句調(diào)整米樣的時(shí)間間隔但實(shí)現(xiàn)采樣的最基本匯編語句的執(zhí)行時(shí)間不能再縮短,因此數(shù)據(jù)傳輸率有一上限。當(dāng)每一位取樣三次時(shí),數(shù)據(jù)傳輸率最高可達(dá)到576000如果再提高速率,取樣時(shí)序?qū)o法保證。字符幀的起始位為低電平,起始位的檢測(cè)是通過周期性地對(duì)傳輸線進(jìn)行采樣來得到。國(guó)際標(biāo)準(zhǔn)中規(guī)定采樣時(shí)間間隔不得大于02,實(shí)際上起始位的采樣時(shí)間間隔只有幾個(gè)時(shí)鐘周期,完全滿足要求。2=0協(xié)議的數(shù)據(jù)鏈路層實(shí)現(xiàn)數(shù)據(jù)鏈路層描述了字符交換的時(shí)序要求和差錯(cuò)控制以及終端對(duì)面向傳輸?shù)腻e(cuò)誤的處理,在邏輯上保證終端和卡片之間能夠正確可靠地通訊。采用上述的字符幀,終端與卡之間進(jìn)行數(shù)據(jù)將交換,字符之間有嚴(yán)格的時(shí)序,時(shí)序是通過匯編程序語句的執(zhí)行時(shí)間來控制的。從終端到卡發(fā)送的連續(xù)字符的起始位下降沿之間的最小時(shí)間間隔由復(fù)位應(yīng)答信息通知終端,其值在12?266之間。從卡發(fā)送到終端的連續(xù)字符的起始位下降沿之間的最小時(shí)間間隔應(yīng)為12。如果字符接收不正確或字符接收正確但校驗(yàn)位不正確,接收端需要在字符起始位下降沿后的105±02f時(shí)刻將線置為低電平約1?2個(gè),見圖4,用于向發(fā)送端指明錯(cuò)誤;發(fā)送端在11±02t時(shí)刻檢測(cè)線。如為高電平則表示字符已經(jīng)正確接收;如果發(fā)送端檢測(cè)到錯(cuò)誤,則在檢測(cè)到錯(cuò)誤那一刻起,2個(gè)后重發(fā)該字符,但重復(fù)發(fā)送同一字符的次數(shù)不得超過3次。如果最后一次發(fā)送失敗,當(dāng)終端是接收端時(shí),則終端應(yīng)該在無效字符的起始位下降沿后的960個(gè)時(shí)間范圍內(nèi)啟動(dòng)釋放序列;當(dāng)終端是發(fā)送端時(shí),在卡片檢測(cè)到字符的偶校驗(yàn)錯(cuò)誤后960個(gè)時(shí)間范圍內(nèi),終端啟動(dòng)釋放序列。命令的執(zhí)行總是由終端應(yīng)用層啟動(dòng),通過終端傳輸層送給卡片。與卡片進(jìn)行命令字節(jié)和數(shù)據(jù)字節(jié)交換時(shí),要保證能夠有序正確地進(jìn)行。因此,在數(shù)據(jù)交換過程中,在任何時(shí)刻和卡片都應(yīng)該隱含地知道哪一方是發(fā)送者,哪一方是接收者。當(dāng)卡片接收到5個(gè)字節(jié)的命令字節(jié)后,需要向返回一個(gè)過程字節(jié)或兩個(gè)字節(jié)的狀態(tài)字節(jié),具體含義如表1、表2所示。表1終端對(duì)過程字節(jié)的處理過程字節(jié)執(zhí)行的操作與字節(jié)相同向卡片發(fā)送或從卡片接收所有數(shù)據(jù)字節(jié)的補(bǔ)碼向卡片發(fā)送或從卡片接收下一個(gè)字節(jié)60延長(zhǎng)等待時(shí)間61等待第二個(gè)過程字節(jié)并根據(jù)發(fā)命令取回?cái)?shù)據(jù)6等待第二個(gè)過程字節(jié)并根據(jù)重發(fā)上一條命令表2卡返回的狀態(tài)字節(jié)編碼第一個(gè)狀態(tài)字節(jié)值執(zhí)行的操作6或9除表1中的值外等待第二個(gè)過程字節(jié)2當(dāng)返回的過程字節(jié)或狀態(tài)字節(jié)均不是表中規(guī)定的值時(shí),終端在接收到的無效字符的起始位降沿開始的9600個(gè)時(shí)間范圍內(nèi)啟動(dòng)釋放序列。3=0協(xié)議的終端傳輸層和應(yīng)用層的實(shí)現(xiàn)數(shù)據(jù)鏈路層保證了與卡片正常的數(shù)據(jù)交換。在此基礎(chǔ)上,定義了命令和響應(yīng)通過和卡片之間的數(shù)據(jù)傳輸機(jī)制,因此該層協(xié)議定義了到的映射機(jī)制以及和卡片之間如何來完成數(shù)據(jù)的交換。根據(jù)命令和響應(yīng)包含的數(shù)據(jù)情況,共有四種不同的,應(yīng)能夠?qū)λ姆N情況進(jìn)行處理,完成終端和卡之間的數(shù)據(jù)交換。由于=0協(xié)議的特殊性,終端傳輸層和應(yīng)用層并沒有完全隔離開。為了便于說明問題,先簡(jiǎn)要描述一下應(yīng)用層,然后將終端傳輸層和應(yīng)用層結(jié)合起來進(jìn)行說明。應(yīng)用層協(xié)議定義了-和-的具體結(jié)構(gòu)。應(yīng)用層之間的數(shù)據(jù)交換都是由一個(gè)命令-響應(yīng)對(duì)完成的,通過將-送給集成電路卡,處理完后將處理結(jié)果組成-通過送給。由命令報(bào)文和響應(yīng)報(bào)文共同組成,根據(jù)-和-是否包含數(shù)據(jù)域,有四種情況,見表3。表3包含數(shù)據(jù)的情況命令數(shù)據(jù)域響應(yīng)數(shù)據(jù)域1無無2無有3有無4有有-由一個(gè)強(qiáng)制性的四字節(jié)命令頭、、1、2和一個(gè)可變長(zhǎng)度的條件體組成。為命令類型字節(jié);為命令代碼字節(jié);1和2為命令參數(shù);條件體包括命令數(shù)據(jù)域長(zhǎng)度字節(jié),命令數(shù)據(jù)域和響應(yīng)返回的最大長(zhǎng)度字節(jié)。根據(jù)不同的命令,條件體的組成也不相同,-有四種情況,見表4。表4-的結(jié)構(gòu)情況-結(jié)構(gòu)112212312412-由一個(gè)最大長(zhǎng)度為的數(shù)據(jù)域和一個(gè)強(qiáng)制性的兩字節(jié)狀態(tài)代碼組成,狀態(tài)代碼給出了卡對(duì)當(dāng)前命令的處理結(jié)果。對(duì)于-,終端先將其映射成=0傳輸層的格式,然后通過傳送給卡片,卡片返回的數(shù)據(jù)和狀態(tài)先返回給,再映射成-返回給。這里根據(jù)四種不同的情況,分析了-到-以及-到-的映射方法,并對(duì)情況2和情況4時(shí),如何使用命令進(jìn)行了說明。-到-的映射根據(jù)命令的情況決定,卡片返回的數(shù)據(jù)和狀態(tài)到-的映射要根據(jù)返回?cái)?shù)據(jù)的長(zhǎng)度來判斷。對(duì)于卡片返回的過程字節(jié)61和6,將用于和卡片之間進(jìn)行數(shù)據(jù)交換,當(dāng)卡片返回61時(shí),表示命令沒有結(jié)束,不將過程字節(jié)返回給,而是從直接向卡片發(fā)出命令,取回上一條命令應(yīng)該返回的數(shù)據(jù)。并返回給。當(dāng)卡片返回6時(shí),將根據(jù)的值調(diào)整并重發(fā)上一條命令。下面分別對(duì)四種命令情況進(jìn)行分析。1當(dāng)-和-均不含有數(shù)據(jù)時(shí),將-的、、1、2映射為-的、、1、2、-的3置為00,卡片接收到-后,根據(jù)命令頭決定該命令所含數(shù)據(jù)的情況。接收到卡片返回的狀態(tài)后,該命令完成,將狀態(tài)字節(jié)強(qiáng)制性地加到-的尾部。2當(dāng)-不含有數(shù)據(jù)而-含有數(shù)據(jù)時(shí),將-的、、1、2、映射為-的、、1、2、3,其中3可以置為00,也可以置為需要返回的數(shù)據(jù)字節(jié)數(shù),卡片接收到-后,如果命令處理失敗,卡片直接將狀態(tài)代碼通過返回給;當(dāng)命令能夠正常處理時(shí),如果3指定的字節(jié)數(shù)能夠正確返回,待卡片內(nèi)部應(yīng)用數(shù)據(jù)處理完成后,這時(shí)卡片首先返回給該命令的過程字節(jié),通知準(zhǔn)備接收卡片數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),然后卡片直接將3字節(jié)的數(shù)據(jù)和狀態(tài)字節(jié)通過返回給,否則,卡片只將過程字節(jié)6或61返回給這一層。當(dāng)過程字節(jié)為6時(shí),根據(jù)重發(fā)命令取回?cái)?shù)據(jù),當(dāng)過程字節(jié)為61時(shí),發(fā)命令取回?cái)?shù)據(jù)。3當(dāng)-含有數(shù)據(jù)而-不含數(shù)據(jù)時(shí),將-的、、1、、映射為-的、、1、2、3,待卡片對(duì)-檢查通過后,卡片直接將過程字節(jié)返回給,根據(jù)返回的過程字節(jié)繼續(xù)向卡片發(fā)送3字節(jié)的后續(xù)數(shù)據(jù)。待數(shù)據(jù)接收完后,卡片對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理,然后將處理結(jié)果以狀態(tài)字節(jié)的方式通過返回給。4當(dāng)-和-均含有數(shù)據(jù)時(shí),將-的、1、2、映射為-的、,1、2、3,待卡片對(duì)-檢查通過后,卡片直接將過程字節(jié)返回給,根據(jù)返回的過程字節(jié)繼續(xù)向卡片發(fā)送3字節(jié)的后續(xù)數(shù)據(jù)。待數(shù)據(jù)接收完后,卡片對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理,如果命令處理失敗,卡片直接將狀態(tài)代碼返回給。當(dāng)命令正常處理時(shí),卡片返回給過程字節(jié)6或61,當(dāng)為6時(shí),根據(jù)重發(fā)命令取回?cái)?shù)據(jù)。當(dāng)過程字節(jié)為61時(shí),發(fā)命令取回?cái)?shù)據(jù)。1由于=0協(xié)議字符級(jí)檢錯(cuò)重發(fā),與面向塊的傳輸協(xié)議=1相比,在出現(xiàn)傳輸錯(cuò)誤時(shí),=0協(xié)議可以不必整個(gè)數(shù)據(jù)報(bào)文全部重發(fā),節(jié)省了時(shí)間。2在編程過程中,對(duì)位幀進(jìn)行采樣時(shí),采用了三次采樣判決的方式,避免了由于采樣時(shí)的偶然誤差而造成誤碼。3=0協(xié)議是應(yīng)用于智能卡中的第一個(gè)接觸式通訊協(xié)議,但該協(xié)議并沒有考慮傳輸中斷和檢測(cè)到傳輸錯(cuò)誤碼后卡和讀寫器的再同步問題。唯一的檢錯(cuò)機(jī)制就是奇偶位校驗(yàn)。對(duì)錯(cuò)誤的處理就是對(duì)出錯(cuò)的字節(jié)重新發(fā)送一次,這樣極有可能導(dǎo)致無限次的循環(huán)狀態(tài)4=0協(xié)議并沒有與應(yīng)用層完全分割開,應(yīng)用層的命令解釋器必須告訴傳輸層當(dāng)前命令是接收還是發(fā)送數(shù)據(jù)。由于這個(gè)原因,這兩個(gè)模塊在命令處理過程中需要交互操作,在程序中能夠提取出一個(gè)通用的傳輸層,供應(yīng)用層調(diào)用來負(fù)責(zé)完成數(shù)據(jù)的傳輸。這種情況給編程和調(diào)試帶來了不便。同時(shí)造成模塊的可重用性較差。5對(duì)于命令報(bào)文中包含數(shù)據(jù)域,同時(shí)又需要卡片返回?cái)?shù)據(jù)的命令,=0協(xié)議不能用一條命令來實(shí)現(xiàn),必須分為兩步實(shí)現(xiàn)第一條命令為卡片提供數(shù)據(jù),然后用另外一條相關(guān)的命令來取回?cái)?shù)據(jù)。這樣給卡片的編程帶來很大麻煩,同時(shí)卡片內(nèi)存中必須保留上一次操
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《微波技術(shù)總結(jié)》課件
- 2022年浙江省嘉興市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年黑龍江省鶴崗市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年黑龍江省齊齊哈爾市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年內(nèi)蒙古自治區(qū)烏海市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 《夢(mèng)想學(xué)堂使用手冊(cè)》課件
- 經(jīng)典搞笑句子
- 英語請(qǐng)假條的格式
- 遼寧省本溪市(2024年-2025年小學(xué)六年級(jí)語文)統(tǒng)編版小升初模擬(上學(xué)期)試卷及答案
- 2025年電池化學(xué)品項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2020年10月自考00020高等數(shù)學(xué)一高數(shù)一試題及答案含評(píng)分標(biāo)準(zhǔn)
- 勞務(wù)派遣方案
- 電費(fèi)異常問題篩選及處理途徑
- 幼兒園中班語言繪本《三只蝴蝶》課件
- (完整word版)酒店流水單
- 高中英語校本教材《英語美文閱讀與欣賞》
- 深邃的世界:西方繪畫中的科學(xué)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 學(xué)校教育系統(tǒng)隊(duì)伍教育整頓自查問題清單
- 輔酶Q10-教學(xué)講解課件
- 我的太爺老師(2020河南中考記敘文閱讀試題含答案)
- NB/T 11146-2023電能質(zhì)量監(jiān)測(cè)裝置在線比對(duì)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論