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