<strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

        <em id="tpvd9"></em>

          <address id="tpvd9"></address>
            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

            <thead id="tpvd9"><noframes id="tpvd9">
            <ruby id="tpvd9"></ruby>

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

                  聯(lián)系興邦電子

                  全國咨詢(xún)熱線(xiàn):40000-63966

                  售后:0371-55132951/55132952

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

                  基于ISO7816-3標準的智能卡接口控制器的設計

                  文章出處:http://psychicreadingswithdeb.com 作者:華南理工大學(xué)電子與信息學(xué)院 蔣曉華 黃光周 于繼榮&nbsp;&nbsp; 人氣: 發(fā)表時(shí)間:2011年09月17日

                  [文章內容簡(jiǎn)介]:介紹了基于ISO7816-3標準的接觸式智能卡接口控制器的一種設計方案,描述了該控制器的硬件描述語(yǔ)言模型的仿真過(guò)程及結果,以及在FPGA上的實(shí)現過(guò)程。

                  引言
                  ---智能卡(SmartCard)又稱(chēng)集成電路卡(Integrated Circuit Card,即IC卡),將微電子技術(shù)和計算機技術(shù)結合在一起,具有高的可靠性、安全性和靈活性,其廣泛地應用于電信、金融、交通及公共事業(yè)等領(lǐng)域。智能卡接口控制器是連接智能卡和主控設備的橋梁,是智能卡處理設備中的最重要組成部分之一。面對龐大的市場(chǎng)需求,各大芯片廠(chǎng)商都推出了各自的智能卡接口控制器芯片,例如,Philips的8007、Linear的LTC1755/6等。本文也提出一種實(shí)用的智能卡接口控制器的設計方案。

                  控制器工作原理

                  ● 控制器的結構
                  ---本方案的設計過(guò)程遵循集成電路設計的一般流程,采用自上而下的模塊化設計方法。該控制器由七個(gè)子模塊組成:卡激活復位模塊(RSTM)、串行數據收發(fā)模塊(RxTxM)、狀態(tài)中斷管理模塊(INTM)、定時(shí)模塊(TM)、時(shí)鐘管理模塊(CLKM)、寄存器地址管理模塊(AM)和主控制器接口(IF)。其結構如圖1所示,CLKC、IOC、PRESC、VDDC和RSTC為控制器同智能卡的接口,分別為輸出給智能卡的時(shí)鐘、雙向數據線(xiàn)、卡存在輸入信號、卡電源控制信號和輸出給卡的復位信號。本控制器同主控器(如CPU)的接口信號有:主時(shí)鐘輸入CLK、地址信號A、雙向并行數據線(xiàn)D、片選輸入信號CS、寫(xiě)控制信號WR、讀控制信號RD、主復位信號RST和中斷輸出信號INT。

                  ● 內部寄存器
                  ---通常,用戶(hù)程序要通過(guò)對卡接口控制器寄存器的讀寫(xiě)操作,才能實(shí)現同IC卡的交易,因此,智能卡控制器內部寄存器設置的合理性直接影響到該設計方案的可行性和將來(lái)實(shí)際產(chǎn)品使用的便利性。不同的智能卡控制器的寄存器設置一般不盡相同。同其他的智能卡控制器相比較,本方案所設置的寄存器數目相對較多,功能更加全面。表1列出了本控制器的寄存器及其地址分配情況。

                  ---卡控制器使能寄存器EN像個(gè)總開(kāi)關(guān),用來(lái)使能或關(guān)閉整個(gè)控制器。當用戶(hù)系統暫時(shí)不需要用到卡控制器時(shí),可以設置EN=0,便可關(guān)閉整個(gè)控制器內部的所有操作(包括內部分頻器的動(dòng)作),這樣可以減少系統中不必要的功耗。時(shí)鐘預分頻參數寄存器PRSCL的設置可以在無(wú)需外加分頻器的情況下,使控制器方便地應用到高時(shí)鐘頻率的目標系統中去。目前其他絕大多數的卡控制器中都沒(méi)有設置功能與EN和PRSCL相同或者相似的寄存器。因此寄存器EN和PRSCL的設置是本方案的一大特點(diǎn),若把此卡控制器作為一個(gè)IP用到SoC的設計中去,這一特點(diǎn)將顯得尤為重要。

                  ---工作等待時(shí)間整數值寄存器WWT只對T=0類(lèi)卡有效,字符等待時(shí)間整數值寄存器CWT和塊等待時(shí)間整數值寄存器BWT只對T=1類(lèi)卡有效。本控制器同時(shí)設置了這三個(gè)寄存器,因此,其既可以和T=0類(lèi)卡進(jìn)行通信,又可以和T=1類(lèi)卡進(jìn)行通訊,這樣彌補了目前大多數的卡接口控制器只能同某一類(lèi)卡進(jìn)行通信的弊端。

                  ---如表1所示,本控制器還設置其他寄存器,比如ETU、TXDB、STMR等,這樣做是為了更全面地滿(mǎn)足ISO7816-3標準地要求,能夠兼容各類(lèi)型的IC卡,同時(shí)使得用戶(hù)軟件能夠更方便地干預同IC卡的交易過(guò)程,提高了交易過(guò)程的可控性和使用的便利性。

                  ● 卡控制器的工作過(guò)程
                  ---主控制器(HOST)通過(guò)主控制器接口(IF)向卡控制器發(fā)送命令(即操作卡控制器的寄存器),卡控制器各個(gè)模塊協(xié)同工作對此命令進(jìn)行解析后,再通過(guò)IC卡接口對卡進(jìn)行相應的操作,這樣就完成主控制器對IC卡的一次操作。同樣,從IC卡過(guò)來(lái)的命令或者狀態(tài)通過(guò)卡控制器的處理后,再將相關(guān)信息報告給主控制器??刂破骶褪沁@樣在IC卡和主控制器之間起著(zhù)橋梁作用。下面將重點(diǎn)介紹串行數據收發(fā)模塊(RxTxM)工作過(guò)程。

                  ---本方案所設計的卡控制器的串行數據收發(fā)模塊(RxTxM)負責接收IC卡發(fā)送過(guò)來(lái)的串行數據和將主控制器的命令以串行的方式發(fā)送給IC卡。其中串行數據接收器為一個(gè)狀態(tài)機,其狀態(tài)轉換圖如圖2所示。狀態(tài)機平時(shí)處于空閑狀態(tài)(idle),若IOC端口上沒(méi)有負跳變(NoFallingEdge),狀態(tài)機便一直處于此狀態(tài)。當檢測到IOC上有負脈沖(FallingEdge)時(shí),狀態(tài)機便進(jìn)入接收起始位狀態(tài)(startbit),若起始位不合法(StartBitInvalid,例如寬度不夠),狀態(tài)機便返回idle狀態(tài),否則狀態(tài)機進(jìn)入到接收數據狀態(tài)(data)。若還沒(méi)有收滿(mǎn)8位數據(CntBit<8),則繼續接收,若已經(jīng)收滿(mǎn)了8位數據(CntBit=8),狀態(tài)機便進(jìn)入接收和校驗奇偶的狀態(tài)(parity)。若奇偶校驗沒(méi)有結束(Checking),則繼續處理,否則狀態(tài)機返回idle狀態(tài),至此控制器完成一次接收過(guò)程。

                  ---若成功接收到1字節,便立即產(chǎn)生一個(gè)成功接收狀態(tài)量rcv_ok,提交給狀態(tài)中斷管理模塊(INTM);若接收的數據有錯誤,也會(huì )立即將接收錯誤的狀態(tài)rcv_error,提交給INTM,并且在IOC數據線(xiàn)上產(chǎn)生一個(gè)1~2位數據寬度的負脈沖,以請求IC卡重發(fā)剛才的字節。按照ISO7816標準的規定,這種對同1字節的重發(fā)請求最多只發(fā)送3次。因此,若RxTxM在第三次重發(fā)請求之后仍然接收到錯誤的字節,RxTxM立即產(chǎn)生一個(gè)重收次數超限的狀態(tài)RTO,報告給INTM。

                  ---當主控器往本控制器的發(fā)數寄存器寫(xiě)入1字節數據時(shí),本控制器便會(huì )以串行的方式發(fā)送給IC卡,若發(fā)送成功且沒(méi)有檢測到IC卡的重發(fā)請求,便立即產(chǎn)生一個(gè)發(fā)送成功的狀態(tài)量tr_ok,報告給狀態(tài)中斷管理模塊;若檢測到IC卡的重發(fā)請求,便重發(fā)剛才的字節。同樣如果在第三次重發(fā)后仍然收到IC卡的重發(fā)請求,則立即報告給INTM一個(gè)重收次數超限的狀態(tài)。

                  設計的仿真及實(shí)現
                  ● 控制器模型的時(shí)序仿真

                  ---在Xilinx公司的ISE5集成開(kāi)發(fā)環(huán)境下,用VHDL語(yǔ)言建立各個(gè)模塊的RTL模型,并模仿實(shí)際情況,用VHDL編寫(xiě)了測試向量testbench,選用外部仿真軟件Modelsim進(jìn)行仿真。由于篇幅關(guān)系,這里僅列出控制器接收IC卡發(fā)送過(guò)來(lái)的串行數據時(shí)的仿真時(shí)序波形,如圖3所示。

                  ---由圖3可以看出,IC卡發(fā)過(guò)來(lái)的串行數據為1001001010(低位在前),共10位,除去起始位0和校驗位1,8位數據為00100101,與數據接收寄存器rxbuffer所接收到的內容相同,且校驗結果為0,滿(mǎn)足ISO 7816

                  ● 設計的FPGA實(shí)現
                  ---根據綜合結果,目標器件選用Xilinx公司的Spartan2系列的xc2s30tq144-6,其內部資源概況在表2中列出。

                  ---為了進(jìn)一步驗證本設計的正確性,將本控制器模型的接口改成AMBA總線(xiàn)的APB接口,把它作為一個(gè)外圍IP,連接到以AMBA總線(xiàn)作為內部總線(xiàn)的SoC的APB總線(xiàn)上,然后將此SoC系統編譯并下載到FPGA中,再嵌入實(shí)際的應用系統中,經(jīng)驗證可以同IC卡進(jìn)行交易。

                  結論
                  ---本方案所設計的IC卡控制器可行性已經(jīng)在實(shí)際應用中得到了驗證,應用軟件通過(guò)對控制器內部的寄存器的操作,可以方便地與智能卡進(jìn)行通信交易。本IC卡控制器不僅可以單獨下載到FPGA或CPLD器件中,應用到目標系統中去,也可以在對其外部接口稍做修改后,將其當作一個(gè)IP模塊,方便地應用到SoC系統的設計中去。由于沒(méi)有為其設計內嵌的給IC卡供電的電源模塊,所以在實(shí)際應用中,需要同外擴的電源模塊搭配起來(lái)使用,這點(diǎn)有待進(jìn)一步改進(jìn)和完善。

                  本文關(guān)鍵詞:智能卡,ISO7816,FPGA
                  回到頂部
                  99久热只有精品视频在线17_精品一区二区三区自拍图片_最新国产v亚洲_久久综合九色综合久
                  <strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

                        <em id="tpvd9"></em>

                          <address id="tpvd9"></address>
                            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

                            <thead id="tpvd9"><noframes id="tpvd9">
                            <ruby id="tpvd9"></ruby>

                                  <thead id="tpvd9"></thead>