jrzgy.com-四虎精彩成人永久免费中文字幕,国产欧美另类精品久久久,精品美女AⅤ国产女教师,好好日夜夜操视频,2020年国产精品久久久久精品,蜜桃国产乱码精品一区二区三区,久久6妺妺窝人体色www图片,色欲香天天综合网无码

歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

智能卡控制器IP核的設計與實現(xiàn)

文章出處:http://www.jrzgy.com 作者: 人氣: 發(fā)表時間:2012年03月07日

[文章內(nèi)容簡介]:本文介紹了一款兼容ISO7816-3協(xié)議的智能卡控制器IP核。該IP核能實現(xiàn)對智能卡的探測、電源管理、復位和讀寫控制等功能。文章側(cè)重于介紹智能卡控制器采用Verilog語言實現(xiàn)數(shù)字邏輯的方法。

    摘要:本文介紹了一款兼容ISO7816-3協(xié)議的智能卡控制器IP核。該IP核能實現(xiàn)對智能卡的探測、電源管理、復位和讀寫控制等功能。文章側(cè)重于介紹智能卡控制器采用Verilog語言實現(xiàn)數(shù)字邏輯的方法。
    關(guān)鍵詞:ASIC;ISO7816;智能卡;IP核;Verilog 語言

    1、引言

    隨著信息技術(shù)的飛速發(fā)展,越來越多的地方要求對用戶身份的識別以及重要數(shù)據(jù)的安全存儲。而智能卡(SmartCard)又稱集成電路卡(Integrated Circuit Card 即IC卡),是具有高的可靠性安全性和靈活性的數(shù)據(jù)承載設備,現(xiàn)已被廣泛應用于政府、金融、電信、交通及公共事業(yè)等領域。

    智能卡控制器是連接智能卡和主控設備的橋梁,由于智能卡的應用不斷增加,越來越多的SOC芯片內(nèi)嵌了智能卡控制器IP核。這種基于IP核的設計方式已成為IC設計的主流,這里主要介紹智能卡控制器IP核的數(shù)字邏輯實現(xiàn)方法以及其在硬盤加密芯片中的應用。

    2、協(xié)議簡介

    這里僅對本文中要用到的部分協(xié)議內(nèi)容作簡要說明,詳細的協(xié)議內(nèi)容請見參考文獻1。

    智能卡共有八個觸點,其中有用的就C1、C2、C3、C5、C6、和C7六個觸點,具體見下表:

智能卡觸點

表1:智能卡觸點

    智能卡控制器是通過智能卡觸點C7(I/O)與控制器進行半雙工串行通信的,在每一時刻觸點C7只有狀態(tài)Z和狀態(tài)A兩種狀態(tài)。

    智能卡要傳輸一個字節(jié)(8個Bit)數(shù)據(jù)的要11個Bit位的時間寬度,在下表中被記成t1到t11。其中第一個時刻t1傳輸?shù)腟tart位被稱為起始位;第二到第九個時刻,即時刻t2到時刻t9,傳輸?shù)臄?shù)據(jù)ba到bh為一個字節(jié)的八個位;時刻t10傳送的pi位為奇偶校驗位;最后一個時刻t11傳輸?shù)腟top位被稱為停止位,標志著一個字節(jié)(8個Bit)的數(shù)據(jù)傳輸完成。請見下表:

智能卡串行傳輸數(shù)據(jù)格式

表2:智能卡串行傳輸數(shù)據(jù)格式

    3、微體系結(jié)構(gòu)

    3.1、接口信號

    該IP核接口主要分為CPU總線接口、中斷信號和智能卡控制接口,這里主要介紹一下有關(guān)智能卡控制的接口信號,即連接或控制智能卡上有效觸點的信號,它們?yōu)椋?/p>

    1) 智能卡是否存在信號IC_PRES:用于探測智能卡座上是否有智能卡存在,當有智能卡插入或拔出時,該信號的電平發(fā)生跳變,本IP核能夠探測該信號的電平的變化,并以中斷等方式報告給CPU;
    2) 智能卡電源控制信號IC_PWR:用于控制智能卡的電源VCC或VPP(觸點C1或C6),用于打開和關(guān)閉智能卡電源;
    3) 時鐘信號IC_CLK:同智能卡觸點C3相連接,用于向智能卡輸入一定頻率的時鐘信號;
    4) 復位信號IC_RST:同智能卡觸點C2相連接,用于向智能卡發(fā)出復位信號;
    5) 雙向串行數(shù)據(jù)信號IC_IO:同智能卡觸點C7相連接,用于實現(xiàn)與智能卡的雙向數(shù)據(jù)通信。

    3.2、模塊和功能

    智能卡控制器核內(nèi)部有發(fā)送和接收模塊(Transmitter and Receiver)、中斷仲裁模塊(Interrupt Arbitrator)、函數(shù)模塊(Function Generator)、時鐘模塊(Clock Generator)、智能卡接口模塊(Interface Device)和訪問寄存器模塊(Register Access Control)六大模塊,這些模塊之間的關(guān)系見圖1所示:

ISO7816智能卡控制器模塊結(jié)構(gòu)圖

圖1 ISO7816智能卡控制器模塊結(jié)構(gòu)圖

    主要模塊功能及特征描述如下:

    1. 發(fā)送和接收模塊:發(fā)送和接收模塊負責處理數(shù)據(jù)幀的發(fā)送和接收。發(fā)送模塊是將FIFO發(fā)送隊列中的數(shù)據(jù)按照設定的格式把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)幀,并通過發(fā)送端口送出去。接收模塊則監(jiān)視接收端信號,一旦出現(xiàn)有效開始位,就進行接收,并實現(xiàn)將接收到的異步串行數(shù)據(jù)幀轉(zhuǎn)換為并行數(shù)據(jù),存入FIFO接收隊列中,同時檢查數(shù)據(jù)幀格式是否有錯。智能卡控制器的幀結(jié)構(gòu)是通過LCR(Line Control Reg)寄存器設置的,接收和傳送器的狀態(tài)被保存在LSR(Line Status Reg)寄存器中。
    2. 中斷仲裁模塊:當任何一種中斷條件被滿足時,并且在中斷使能寄存器(IER, Interrupt Enable Reg)中相應位置1,那么智能卡的中斷請求信號INT被置為有效狀態(tài)。為了減少和外部軟件的交互,智能卡控制器把中斷分為四個級別,并且在中斷標識寄存器(IIR, Interrupt ID Reg)中標識這些中斷。四個級別的中斷按優(yōu)先級級別由高到低的順序排列為:智能卡插拔中斷、接收線路狀態(tài)中斷、接收數(shù)據(jù)準備好中斷和傳送擁有寄存器為空中斷;。
    3. 函數(shù)模塊:該模塊產(chǎn)生智能卡的相關(guān)時序。通過向函數(shù)寄存器(FR, Function Register)相應的位置入相關(guān)的參數(shù)來探測智能卡、管理電源和產(chǎn)生復位時序等。
    4. 時鐘模塊:時鐘模塊產(chǎn)生相應頻率的時鐘供給智能卡,時鐘的頻率由CPU總線的時鐘頻率和寫入時鐘分頻寄存器(CDR, Clock Divisor Register)的值來決定,關(guān)系表達式如下:
    fIC_CLK = fCPU /(2 * CDR)
    5. 智能卡接口模塊:該模塊將相關(guān)信號進行適當?shù)恼{(diào)整,以便適合于IC智能卡的通信。
    6. 訪問寄存器模塊:當智能卡控制器被總線控制器選中時,CPU可通過讀或?qū)懖僮髟L問被地址線選中的寄存器。

    4、設計實現(xiàn)

    這部分將對本智能卡控制器中主要模塊的數(shù)字邏輯的實現(xiàn)方法逐一作簡單說明。

    4.1、數(shù)據(jù)接收模塊

    在設計接收模塊的過程中,關(guān)鍵是如何實現(xiàn)Receiver Shift的邏輯電路,下圖是本智能卡控制器數(shù)據(jù)接收模塊中有關(guān)Receiver Shift邏輯電路的主控狀態(tài)轉(zhuǎn)換圖:

圖2 接收模塊主控狀機

    該狀態(tài)機共有十個狀態(tài),其中主要狀態(tài)是:狀態(tài)1(REC_START)用來探測數(shù)據(jù)的起始位Start;狀態(tài)2(REC_BIT)用來接收數(shù)據(jù)ba到bh,組成一個字節(jié);狀態(tài)3(REC_PARITY)用來接收數(shù)據(jù)的奇偶校驗位;狀態(tài)4(REC_STOP)探測Stop位。

    下面是該狀態(tài)機控制有關(guān)邏輯讀入數(shù)據(jù)的仿真波形圖:

接收一個字節(jié)數(shù)據(jù)的狀態(tài)變換波形圖

圖3 接收一個字節(jié)數(shù)據(jù)的狀態(tài)變換波形圖

    4.2、數(shù)據(jù)發(fā)送模塊

    同樣, 對于發(fā)送模塊的設計,主要問題也是如何實現(xiàn)Transmitter Shift的邏輯電路,下圖是本智能卡控制器數(shù)據(jù)發(fā)送模塊的主控狀態(tài)轉(zhuǎn)換圖:

發(fā)送模塊主控狀機

圖4 發(fā)送模塊主控狀機

    該狀態(tài)機共有五個狀態(tài):狀態(tài)1(SEND_START)用來發(fā)送數(shù)據(jù)的起始位Start;狀態(tài)2(SEND_BYTE)用來發(fā)送數(shù)據(jù)ba到bh;狀態(tài)3(SEND_PARITY)用來發(fā)送數(shù)據(jù)的奇偶校驗位;狀態(tài)4(SEND_STOP)發(fā)送Stop位,最后狀態(tài)機轉(zhuǎn)入空閑狀態(tài)0(SEND_IDLE)。

    下面是該狀態(tài)機控制有關(guān)邏輯發(fā)送數(shù)據(jù)的仿真波形圖:

圖5發(fā)送一個字節(jié)數(shù)據(jù)的狀態(tài)變換波形圖

    4.3、函數(shù)模塊

    函數(shù)模塊可以在軟件控制下產(chǎn)生激活智能卡和關(guān)閉智能卡所需的相關(guān)時序。這里簡單介紹一下本控制器在軟件的支配下,激活智能卡的過程,見下面的波形圖。

激活智能卡時的波形圖

圖6激活智能卡時的波形圖

    在該波形圖中,信號IC_PRES首先變低,表明有智能卡插入。接著智能卡控制器通過IC_PWR打開智能卡的電源。待電源穩(wěn)定后,智能卡控制器通過IC_CLK向智能卡輸出時鐘信號。同樣,在時鐘穩(wěn)定后,智能卡控制器通過IC_RST向智能卡輸出復位信號。最后智能卡控制器在數(shù)據(jù)信號IC_IO上探測到智能卡復位應答(ATR,Answer to Reset),這樣就完成了智能卡的激活工作。

    5.結(jié)論

    本方案所設計的智能卡控制器IP核,采用Verilog HDL語言,以較少的硬件代價,在本公司研發(fā)的硬盤數(shù)據(jù)加密芯片中,成功實現(xiàn)了對智能卡密鑰的讀寫控制,并且該方案具有較強的靈活性,可以方便地移植到其它嵌入式應用系統(tǒng)中,具有較高的使用價值。

    參考文獻:
    [1] GB/T 16649.3-1996 識別卡-帶觸點的集成電路卡-第3部分:電信號和傳輸協(xié)議[S].
    [2]Donald E, Thomas, Philip R, Moorby. 硬件描述語言Verilog[M] .北京:清華大學出版社,2002:15-261
    [3]Neil H.E.Weste, David Harris.CMOS超大規(guī)模集成電路設計[M] .北京:中國電力出版社,2006:129-506
    [4]沈理.SOC/ASIC設計、驗證和測試方法學[M] .廣州:中山大學出版社,2006:31-202

    作者簡介:蘇州市中科集成電路設計中心 章世華 鄒麗麗 董湘麟

本文關(guān)鍵詞:智能卡控制器,IP核,智能卡,ISO7816
回到頂部
主站蜘蛛池模板: 新乡县| 鹤庆县| 康马县| 聊城市| 平远县| 墨竹工卡县| 扶风县| 厦门市| 台州市| 枣阳市| 肥西县| 新乡县| 吉首市| 罗定市| 武胜县| 蕲春县| 台北市| 汪清县| 巴彦淖尔市| 屏边| 阿克苏市| 水城县| 五寨县| 河北区| 抚州市| 玛曲县| 土默特右旗| 伊川县| 利津县| 华池县| 孝义市| 万载县| 巫溪县| 平山县| 宝应县| 珠海市| 包头市| 富宁县| 淄博市| 文昌市| 宜宾市|