當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]設(shè)計(jì)了智能卡操作系統(tǒng)底層驅(qū)動(dòng)模塊和FI。AsH讀寫(xiě)模塊,并提出針對(duì)這些模塊函數(shù)的測(cè)試方案。首先介紹智能卡操作系統(tǒng)的基本概念和智能卡硬件的基本結(jié)構(gòu);然后以接觸式智能卡為例,從芯片的硬件結(jié)構(gòu)出發(fā),提出COS操作系統(tǒng)通信和硬件模塊以及操作系統(tǒng)的異常處理機(jī)制的設(shè)計(jì)方案,并提出一種操作系統(tǒng)底層的測(cè)試方案,即Testing COS。這里從COS性能的角度出發(fā)設(shè)計(jì)底層模塊,并提出針對(duì)底層模塊函數(shù)的測(cè)試方案。

0 引 言
    隨著科學(xué)技術(shù)的不斷進(jìn)步,智能卡的應(yīng)用已經(jīng)越來(lái)越廣泛,涉及到人類(lèi)生活的各個(gè)領(lǐng)域,如商業(yè)、醫(yī)療、保險(xiǎn)、交通、社會(huì)公共事業(yè)等多種領(lǐng)域,所以如何設(shè)計(jì)一個(gè)高效穩(wěn)定的智能卡操作系統(tǒng)口具有較高的社會(huì)意義。這里針對(duì)智能卡的硬件結(jié)構(gòu)設(shè)計(jì)了操作系統(tǒng)的通信和硬件其他模塊,并提出了一種測(cè)試方案以檢測(cè)芯片底層模塊的穩(wěn)定性。

1 智能卡操作系統(tǒng)概述
    片內(nèi)操作系統(tǒng)(Chip Operating System,COS)一般是緊緊圍繞著它所服務(wù)的智能卡的特點(diǎn)而開(kāi)發(fā)的。與常見(jiàn)的微機(jī)上的操作系統(tǒng)相比,COS在本質(zhì)上更加接近于監(jiān)控程序。在此以具體開(kāi)發(fā)實(shí)例說(shuō)明卡片操作系統(tǒng)的基本問(wèn)題,并提出一種可行可測(cè)試的芯片層設(shè)計(jì)方案及一種芯片底層的測(cè)試方案。

2 COS芯片模塊設(shè)計(jì)

    COS底層模塊在設(shè)計(jì)時(shí)一般都是緊密結(jié)合智能卡內(nèi)存儲(chǔ)器分區(qū)的情況,按照國(guó)際標(biāo)準(zhǔn)中所規(guī)定的一些功能進(jìn)行設(shè)計(jì)、開(kāi)發(fā)。
    IS07816是接觸式智能卡必須遵循的國(guó)際規(guī)范其中IS07816—3主要描述接觸式智能卡的電信號(hào)和傳輸協(xié)議,其中包括各個(gè)觸點(diǎn)的電壓電流承受范圍、卡復(fù)位應(yīng)答各個(gè)信息位的實(shí)際表示和T=0,T=1的傳輸協(xié)議。ISO/IEC 7816—3規(guī)定了IC卡的電氣特性和傳輸協(xié)議。包括該類(lèi)卡和接口設(shè)備問(wèn)的電源、電氣信號(hào)協(xié)議和信息交換協(xié)議。通信過(guò)程中,由接口設(shè)備給IC卡提供電源(Vcc),復(fù)位信號(hào)(RST)和時(shí)鐘(CLK),卡和接口設(shè)備間通過(guò)I/O端口進(jìn)行串行通信。
    (1)通信模塊設(shè)計(jì)。根據(jù)T=0異步半雙工字符傳輸協(xié)議,Ic卡和接口設(shè)備之間以字符為單位(簡(jiǎn)稱(chēng)字符幀)進(jìn)行傳輸,采用偶校驗(yàn),每個(gè)字符由10 b組成。傳輸字符幀之前,I/O線(xiàn)處于狀態(tài)z,第1 b為起始位(狀態(tài)A);后面8 b為數(shù)據(jù)位D1~D8;第10 b為偶校驗(yàn)位,即8位數(shù)據(jù)和奇偶校驗(yàn)位中1的個(gè)數(shù)為偶數(shù)。
    串行通信是按位傳送的,每位信息寬度(持續(xù)時(shí)間)定義為基本時(shí)間單位ETU(Elementary Time Unit)。在復(fù)位應(yīng)答期間的信息寬度稱(chēng)為“初始ETU”,它等于372個(gè)時(shí)鐘周期,即1ETU=372/f。復(fù)位應(yīng)答后的信息寬度稱(chēng)為“當(dāng)前ETU”,其計(jì)算公式為:當(dāng)前ETU=(F/D)(1/f)。其中:F是時(shí)鐘頻率變換因數(shù);D是比特率調(diào)整因數(shù);f是時(shí)鐘頻率。
    IC卡必須與相應(yīng)的讀寫(xiě)設(shè)備(IFD)通信。從這個(gè)角度講,智能IC卡操作系統(tǒng)的作用就是從讀寫(xiě)設(shè)備(IFD)接收命令、執(zhí)行命令并將結(jié)果返回讀寫(xiě)設(shè)備(IFD)。所以,通信管理功能模塊在操作系統(tǒng)中具有十分重要的作用。通信管理功能模塊主要實(shí)現(xiàn)以下幾種功能:實(shí)現(xiàn)某一通信協(xié)議的數(shù)據(jù)鏈路層的傳輸管理功能;實(shí)現(xiàn)ISO/IEC 7816標(biāo)準(zhǔn)規(guī)定的ATR(復(fù)位響應(yīng))等功能;為操作系統(tǒng)中的其他功能模塊提供相應(yīng)接口。
    按ISO/IEC 7816標(biāo)準(zhǔn),IC卡和讀寫(xiě)設(shè)備之間的通信協(xié)議有多種,一般一種卡片只支持某一種通信協(xié)議。下面以符合ISO/IEC 7816—3標(biāo)準(zhǔn)的T=0字符傳輸協(xié)議的智能IC卡為例介紹通信管理功能(支持其他通信協(xié)議的卡的通信管理功能與此相似)。
    ICC上電之后,IFD將向ICC發(fā)送命令數(shù)據(jù),在這樣一次典型的通信過(guò)程中,通信管理功能主要從事6個(gè)步驟的具體工作。如圖1所示。

    以下是卡片接收指令相關(guān)的源代碼:


    (2)硬件模塊設(shè)計(jì)。智能卡COS上電后首先要進(jìn)行芯片初始化,其主要設(shè)置以下幾個(gè)方面:芯片初始工作時(shí)的頻率,以及使用外頻還是內(nèi)頻;芯片串口初始工作的速率(一般為“l(fā)l”的波特率)-芯片串口的工作模式(包括T=0還是T=1協(xié)議,正向傳輸還是反向傳輸,奇校驗(yàn)還是偶校驗(yàn)等);存儲(chǔ)器的初始映射方式。
    智能卡芯片(以下以51系列智能卡芯片為例)一般包含幾十到幾百KB的FLASH,以1個(gè)頁(yè)面為單位進(jìn)行擦除,根據(jù)FLASH編程寫(xiě)的特點(diǎn),也就是1能寫(xiě)成0,而0不能寫(xiě)成1,故在設(shè)計(jì)編程寫(xiě)函數(shù)時(shí)為了保證寫(xiě)數(shù)據(jù)的正確性,特采取如下的方式實(shí)現(xiàn)此功能:
    第一步:取出要寫(xiě)入地址的數(shù)據(jù)(為A),與要寫(xiě)入的數(shù)據(jù)(為B)進(jìn)行與操作(結(jié)果為C);
    第二步:在要寫(xiě)入數(shù)據(jù)的地址寫(xiě)入數(shù)據(jù)(B);
    第三步:取出寫(xiě)人數(shù)據(jù)后的地址的數(shù)據(jù)與數(shù)據(jù)C進(jìn)行比較。
    對(duì)于51系列智能卡芯片,由于標(biāo)準(zhǔn)的8051對(duì)程序存儲(chǔ)器最大值支持64 KB,所以芯片采用BANK的編址方式。這時(shí)往往需要一個(gè)映射函數(shù)來(lái)實(shí)現(xiàn)不同BANK的跳轉(zhuǎn)。如果一款智能卡芯片的程序存儲(chǔ)器采用128 KB的FLASH用來(lái)存放COS和用戶(hù)數(shù)據(jù)。128 KB的FLASH均分4個(gè)32 KB的BANK,在這4個(gè)區(qū)域里,Commom區(qū)是3個(gè)Bnak的公共區(qū)域,即Commom區(qū)和每個(gè)32 KB的BANK都可以組成64 KB的連續(xù)空間。3個(gè)Bnak之間不能直接互相訪(fǎng)問(wèn),而必須調(diào)用Commom區(qū)里的程序才能實(shí)現(xiàn)相互的訪(fǎng)問(wèn)。所以在創(chuàng)建工程時(shí)要把經(jīng)常使用的程序和常數(shù),如中斷入口函數(shù)、Bank Switch跳轉(zhuǎn)表等都放到Commom區(qū)里,這樣才能實(shí)現(xiàn)各個(gè)區(qū)域的相互訪(fǎng)問(wèn)。
    (3)異常保護(hù)模塊設(shè)計(jì)。IS07816—3規(guī)定2個(gè)連續(xù)字符上升沿之間的延遲至少是12 ETU,且2個(gè)連續(xù)字符上升沿之間的延遲應(yīng)不超過(guò)9 600 ETU。所以COS在設(shè)計(jì)時(shí)要加入發(fā)送“60”來(lái)實(shí)現(xiàn)正常的通信。
    發(fā)送“60”采用芯片定時(shí)器中斷的方式,設(shè)置定時(shí)器的工作模式,使用時(shí)鐘和的初始值。定時(shí)器的中斷服務(wù)程序的實(shí)現(xiàn)流程:關(guān)閉發(fā)送“60”定時(shí)器;發(fā)送“60”;打開(kāi)發(fā)送“60”定時(shí)器。
    操作系統(tǒng)的異常處理,此函數(shù)為COS進(jìn)行異常狀態(tài)時(shí)調(diào)用的函數(shù)。進(jìn)入異常狀態(tài)時(shí),要關(guān)閉發(fā)送“60”的定時(shí)器,然后進(jìn)入死循環(huán)狀態(tài)。

3 芯片測(cè)試方案設(shè)計(jì)
   
以下提出一種針對(duì)芯片模塊函數(shù)的測(cè)試方案。即嵌入式Testing COS。
    (1)Testing COS測(cè)試平臺(tái)組成。T-COS平臺(tái)由MAIN.C文件、API.C文件、常量配置、A51文件以及芯片庫(kù)、LIB文件組成。其中,針對(duì)不同的芯片,main.c,api.C是相同的,而常量配置文件和芯片庫(kù)文件則不同,在使用時(shí)需要更改或更換。
    另外,MAIN.C文件中的CommandInterpreter()命令解釋器函數(shù)是對(duì)發(fā)送命令的識(shí)別解釋(在此函數(shù)中,為所有需要測(cè)試的函數(shù)定義了指令嗎)。被測(cè)函數(shù)的函數(shù)體在API.C文件中。芯片庫(kù)在API.C文件中被具體調(diào)用。
    此Testing COS可直接寫(xiě)入智能卡中,設(shè)計(jì)思路是:采用直接APDU指令調(diào)用的形式,直接調(diào)用硬件模塊函數(shù),如擦一頁(yè)函數(shù)。執(zhí)行完指令,函數(shù)返回一個(gè)狀態(tài)字。
    主程序是一個(gè)死循環(huán),如下:

   
    命令解釋器函數(shù)支持多個(gè)函數(shù),為用戶(hù)對(duì)硬件的直接操作提供接口,可以通過(guò)發(fā)送APDU指令實(shí)現(xiàn)對(duì)芯片的多種操作。


    例如:APDU:80 00 10 00 00表示擦除地址0x1000所在頁(yè)面。
    APDU:80 0C 10 00 10表示從地址Oxl000開(kāi)始讀取長(zhǎng)度為Oxl0的數(shù)據(jù)。 
    (2)Tesling COS測(cè)試平臺(tái)的使用。T—COS測(cè)試 平臺(tái)測(cè)試流程,如圖2所示:

    (3)Testing COS測(cè)試平臺(tái)局限性分析。T—COS平臺(tái)使用方便簡(jiǎn)潔,易于觀察執(zhí)行結(jié)果,但是其不能觀察過(guò)程。因此,在返回結(jié)果與預(yù)期結(jié)果不一致,或者出現(xiàn)錯(cuò)誤的情況下,無(wú)法判斷產(chǎn)生錯(cuò)誤的原因。在這種情況下,需要借助仿真器,跟蹤執(zhí)行過(guò)程,最終找出產(chǎn)生問(wèn)題的原因。

4 結(jié) 語(yǔ)
   
智能卡操作系統(tǒng)根本的部分就在于芯片底層各個(gè)模塊的穩(wěn)固性。芯片層開(kāi)發(fā)是電信、稅控等產(chǎn)品開(kāi)發(fā)的重要組成部分之一,也是最基礎(chǔ)的部分。為了保證電信、稅控產(chǎn)品可以在不同芯片之間的平穩(wěn)移植,需要對(duì)芯片層的開(kāi)發(fā)提出一定的要求和標(biāo)準(zhǔn),這樣可以保證上層開(kāi)發(fā)的一致性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉