• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > EDA/PCB > 設計應用 > 基于UART的智能卡接口IP核設計

    基于UART的智能卡接口IP核設計

    作者: 時間:2012-12-16 來源:網絡 收藏

    2.4 的實現
    由于篇幅有限,本文只介紹狀態轉換和指令的實現方法。
    用變量state表示當前的狀態,有效值為0~5,其他值均為無效狀態,在無效狀態下將直接跳轉到空閑狀態。狀態與state的對應關系如表2所列。

    本文引用地址:http://www.czjhyjcfj.com/article/189738.htm

    b.JPG


    本文所使用的收發緩沖模塊為SCFIFO,所有下發指令都先寫入到發送FIFO,所有接收的數據都進入到接收FIFO。
    表1中,4種指令長度都大于4,為實現復位操作,定義復位指令長度為1。實現時,為便于判斷指令,在指令之前先將指令長度寫到發送FIFO中。定義復位操作指令為01 01,其他操作指令為LEN(指令長度)+CMD(指令本身)。先取出指令長度,當FIFO數據達到該長度時表示一個完整的指令已經下發,這時才可對進行操作。

    3 仿真與實際測試
    3.1 Modelsim仿真分析
    為驗證的正確性,在Modelsim ASE6.6d上進行了仿真分析。仿真時,測試程序模擬CPU向IP核發送指令,同時模擬智能卡給IP核回復數據。
    3.1.1 復位操作仿真
    測試程序模塊CPU向發送緩沖區寫復位指令01 01,再模擬智能卡回復3b 7d 94 00 00 57 44 37 51 90 86 93 85 3e 97 06 2e 24(數據來源于實際PSAM卡)。圖6是復位操作的Modelsim仿真圖。

    c.JPG


    圖6中,收到01 01指令后,IP核清空發送緩沖(tx_bur_clr=1),使IC卡復位(ic_reset=0),并跳轉到復位狀態(state=5)。由圖中可以看出,IP核接收到2字節后計算出回復的總長度為18,狀態變為接收定長數據狀態(state=4)。當接收到的數據個數達到設定長度時(rx_buf_len =18),向CPU申請中斷(irq=1),同時回到空閑狀態(state=0)。
    由仿真看出,復位操作時序正確。
    3.1.2 取隨機數操作仿真
    測試程序模擬CPU向發送緩沖區寫取隨機數指令05 00 84 00 OO 08,再模擬智能卡回復84 11 22 33 44 5566 77 88 90 00(8字節隨機數任意填寫)。圖7是取隨機數操作的Modelsim仿真圖。

    d.JPG


    圖7中,取隨機數指令下發后,IP核將數據線切換為發送(t_r_sel=0),發送指令并跳轉到接收1字節狀態(state=1)。當第1個字節等于INS(84)且LC=0時,清空接收緩沖區中的過程響應(rx_bur_elr=1),設置接收長度為10(rx_const_len=0a),跳轉到接收定長數據狀態(state= 4)。當接收到10個數據(rx_bur_len=00a)后跳轉到空閑狀態,同時向CPU申請中斷(irq=1)。
    由仿真看出,取隨機數據操作時序正確。
    3.2 實際測試
    對本文設計的IP核進行了實際測試。采用Ahera公司的Nios Il CPU作為控制器,EP3C40F48417N為FPGA芯片,用10張PSAM卡作為測試的IC卡,CPU時鐘為88.473 6 MHz,PSAM時鐘為5.529 6 MHz。
    測試操作過程為:
    ①返回根目錄3f00;
    ②取PSAM卡序列號;
    ③進入文件目錄df01;
    ④初始化加密認證;
    ⑤取認證碼;
    ⑥取隨機數。
    6個操作為1輪,每秒對10張PSAM卡進行一輪測試。共測了201 803輪,耗時20 908 s,平均每秒9.65輪,所有操作全部成功。
    由此驗證,該IP核設計正確,運行穩定。

    結語
    本文分析了核與智能卡的結構,對T=0時的操作進行歸納,設計出基于的智能卡接口IP核。由于不需要重新設計的接收、發送以及相關寄存器等功能,使開發周期縮短了至少一半。將該IP核用在多卡系統中,能大量減輕CPU的負擔,提高CPU的效率。


    上一頁 1 2 3 下一頁

    關鍵詞: UART IP核 智能卡 接口

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 曲松县| 岢岚县| 伊川县| 扎兰屯市| 遂昌县| 通辽市| 桓台县| 榆林市| 林甸县| 墨玉县| 北碚区| 岑溪市| 中宁县| 泾源县| 昆明市| 科技| 盐城市| 梁山县| 甘谷县| 郴州市| 惠安县| 慈利县| 巧家县| 明星| 邓州市| 萝北县| 偃师市| 上蔡县| 准格尔旗| 汝阳县| 长海县| 县级市| 赣州市| 德化县| 石阡县| 镇原县| 益阳市| 石首市| 体育| 西和县| 申扎县|