基于AMBA總線的智能卡控制器設計
摘要:通過分析ISO/IEC 7816-3傳輸協議,設計該符合協議標準的接觸式智能卡控制器,實現對字符傳輸和塊傳輸這兩種不同傳輸方式的智能卡的支持。該控制器集成于基于AMBA總線的Garfield系列芯片SEP4020中,采用硬件描述語言(verilog)實現。利用EDA工具VCS,Design Compiler對該控制器進行仿真、綜合。設計采用Altera公司的FPGA進行驗證,并采用SMIC 0.18μm工藝流片成功。在闡述該控制器設計原理的基礎上,進行模塊劃分和具體設計,最后給出仿真、綜合和FPGA驗證結果。
本文引用地址:http://www.czjhyjcfj.com/article/163395.htm智能卡(SMART card)通常指一張給定大小的塑料卡片,上面封裝了集成電路芯片,用于存儲和處理數據。隨著嵌入式設備的普及,智能卡在金融、電信、單位考勤、公共事業、交通、醫療等領域得到廣泛應用。本文通過對ISO/IEC 7816-3傳輸協議的分析,基于AMBA總線架構,提出一款智能卡設計方案,通過FPGA驗證并采用SMIC 0.18μm工藝流片成功。
2 智能卡控制器工作原理
2.1 復位應答
當控制器檢測到智能卡插入操作時對智能卡上電,并按照規范向智能卡發出冷復位信號,智能卡接收到該信號后向控制器發送復位響應,提供編碼方式、協議選擇、時鐘轉換因子、波特率調整因子、額外保護時間和最大工作等待時間等參數,后續的會話將按照這些參數進行。如果冷復位之后控制器沒有收到符合格式的復位響應,控制器就發出熱復位;如果智能卡對熱復位仍然沒有給出符合格式的復位響應,控制器將結束會話,并釋放智能卡。
2.2 傳輸協議
智能卡控制器有字符傳輸方式(character transmission)和塊傳輸方式(block transmission)兩種傳輸協議。在字符傳輸方式中數據以字節單位發送,支持數據奇偶校驗。塊傳輸方式以多個字節組成的塊為發送單位,發送連續的數據,不支持塊中單個字節數據的校驗,采用CRC/LRC軟件校驗。
2.3 基本時間單元ETU
智能卡會話過程中,每個數據位占用時間為1個ETU(Elementary Time Unit),ETU與智能卡的時鐘頻率呈線性關系:ETU=F/(D×f)。其中,f為控制器工作頻率;F是時鐘轉換因子;D是波特率調整因子,支持2的次方數和負次方數。F和D的值,可以在智能卡的復位響應后根據響應提供的參數重新設定,如果智能卡沒有提供相應的參數,將使用缺省值(F=372,D=1)。
2.4 數據幀
在字符傳輸方式時,數據幀由10個數據位組成(如圖1所示),第一個是起始位(Start),后面跟8 b數據位,最后一個是奇偶校驗位。在沒有會話的時候,I/O信號線保持高電平。當出現奇偶校驗錯誤時,控制器會重發數據,最多重發4次,如果連續5次都發送不成功,控制器發出中斷,請求系統釋放智能卡。
在塊傳輸方式時,數據幀由1位起始位和8位數據位構成,沒有校驗位。塊幀由起始域,信息域和終止域構成。起始域3個字節分別為節點地址、協議控制和長度;信息域為待發送的數據,終止域為CRC/LRC校驗字節。
評論