《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于AMBA總線的智能卡控制器設(shè)計
基于AMBA總線的智能卡控制器設(shè)計
摘要: 通過分析ISO/IEC 7816-3傳輸協(xié)議,設(shè)計該符合協(xié)議標(biāo)準(zhǔn)的接觸式智能卡控制器,實現(xiàn)對字符傳輸和塊傳輸這兩種不同傳輸方式的智能卡的支持。該控制器集成于基于AMBA總線的Garfield系列芯片SEP4020中,采用硬件描述語言(verilog)實現(xiàn)。利用EDA工具VCS,Design Compiler對該控制器進(jìn)行仿真、綜合。設(shè)計采用Altera公司的FPGA進(jìn)行驗證,并采用SMIC 0.18μm工藝流片成功。在闡述該控制器設(shè)計原理的基礎(chǔ)上,進(jìn)行模塊劃分和具體設(shè)計,最后給出仿真、綜合和FPGA驗證結(jié)果。
Abstract:
Key words :

  智能卡(SMART card)通常指一張給定大小的塑料卡片,上面封裝了集成電路芯片,用于存儲和處理數(shù)據(jù)。隨著嵌入式設(shè)備的普及,智能卡在金融、電信、單位考勤、公共事業(yè)、交通、醫(yī)療等領(lǐng)域得到廣泛應(yīng)用。本文通過對ISO/IEC 7816-3傳輸協(xié)議的分析,基于AMBA總線架構(gòu),提出一款智能卡設(shè)計方案,通過FPGA驗證并采用SMIC 0.18μm工藝流片成功。

  2 智能卡控制器工作原理

  2.1 復(fù)位應(yīng)答

  當(dāng)控制器檢測到智能卡插入操作時對智能卡上電,并按照規(guī)范向智能卡發(fā)出冷復(fù)位信號,智能卡接收到該信號后向控制器發(fā)送復(fù)位響應(yīng),提供編碼方式、協(xié)議選擇、時鐘轉(zhuǎn)換因子、波特率調(diào)整因子、額外保護(hù)時間和最大工作等待時間等參數(shù),后續(xù)的會話將按照這些參數(shù)進(jìn)行。如果冷復(fù)位之后控制器沒有收到符合格式的復(fù)位響應(yīng),控制器就發(fā)出熱復(fù)位;如果智能卡對熱復(fù)位仍然沒有給出符合格式的復(fù)位響應(yīng),控制器將結(jié)束會話,并釋放智能卡。

  2.2 傳輸協(xié)議

  智能卡控制器有字符傳輸方式(character transmission)和塊傳輸方式(block transmission)兩種傳輸協(xié)議。在字符傳輸方式中數(shù)據(jù)以字節(jié)單位發(fā)送,支持?jǐn)?shù)據(jù)奇偶校驗。塊傳輸方式以多個字節(jié)組成的塊為發(fā)送單位,發(fā)送連續(xù)的數(shù)據(jù),不支持塊中單個字節(jié)數(shù)據(jù)的校驗,采用CRC/LRC軟件校驗。

  2.3 基本時間單元ETU

  智能卡會話過程中,每個數(shù)據(jù)位占用時間為1個ETU(Elementary Time Unit),ETU與智能卡的時鐘頻率呈線性關(guān)系:ETU=F/(D×f)。其中,f為控制器工作頻率;F是時鐘轉(zhuǎn)換因子;D是波特率調(diào)整因子,支持2的次方數(shù)和負(fù)次方數(shù)。F和D的值,可以在智能卡的復(fù)位響應(yīng)后根據(jù)響應(yīng)提供的參數(shù)重新設(shè)定,如果智能卡沒有提供相應(yīng)的參數(shù),將使用缺省值(F=372,D=1)。

  2.4 數(shù)據(jù)幀

  在字符傳輸方式時,數(shù)據(jù)幀由10個數(shù)據(jù)位組成(如圖1所示),第一個是起始位(Start),后面跟8 b數(shù)據(jù)位,最后一個是奇偶校驗位。在沒有會話的時候,I/O信號線保持高電平。當(dāng)出現(xiàn)奇偶校驗錯誤時,控制器會重發(fā)數(shù)據(jù),最多重發(fā)4次,如果連續(xù)5次都發(fā)送不成功,控制器發(fā)出中斷,請求系統(tǒng)釋放智能卡。

  在塊傳輸方式時,數(shù)據(jù)幀由1位起始位和8位數(shù)據(jù)位構(gòu)成,沒有校驗位。塊幀由起始域,信息域和終止域構(gòu)成。起始域3個字節(jié)分別為節(jié)點地址、協(xié)議控制和長度;信息域為待發(fā)送的數(shù)據(jù),終止域為CRC/LRC校驗字節(jié)。

  3 模塊劃分及硬件實現(xiàn)

  智能卡控制器包括復(fù)位控制模塊,收發(fā)控制模塊,總線接口模塊,讀緩沖器模塊,寫緩沖器模塊,通過APB接口和AMBA總線相連,對外是CLK,RST,和1根雙向的I/O數(shù)據(jù)線(如圖2所示)。

  實現(xiàn)各模塊功能需設(shè)置如下寄存器(如表1所示)。

  3.1 復(fù)位控制模塊

  復(fù)位控制模塊通過狀態(tài)機的跳變完成對智能卡的復(fù)位(如圖3所示)。當(dāng)智能卡上電后,系統(tǒng)初始處于IDLE狀態(tài),控制器在使能后按照規(guī)范向智能卡發(fā)出冷復(fù)位信號。首先RST復(fù)位信號置低400個CLK以上對卡復(fù)位,然后進(jìn)入等待復(fù)位響應(yīng)狀態(tài)。控制器經(jīng)過1 860個CLK后還沒有收到復(fù)位響應(yīng)則可以選擇進(jìn)入時鐘停止?fàn)顟B(tài)。當(dāng)時鐘恢復(fù)后,等待700個CLK后重新開始檢測復(fù)位響應(yīng)。當(dāng)I/O數(shù)據(jù)線上檢測到負(fù)跳變,則進(jìn)入起始位接收狀態(tài),一個ETU后順次進(jìn)入數(shù)據(jù)接收,校驗位接收狀態(tài)。最后判斷校驗位正確與否,如果校驗正確就保持I/O線為高等待下一個數(shù)據(jù)的接收;如果出錯,則拉低I/O線1個ETU通知智能卡數(shù)據(jù)出錯,請求重傳,并設(shè)置錯誤次數(shù)計數(shù)器。

  如果冷復(fù)位之后控制器沒有收到符合格式的復(fù)位響應(yīng),控制器就發(fā)出熱復(fù)位,熱復(fù)位過程同上。如果熱復(fù)位后40 000個時鐘周期內(nèi),控制器仍未檢測到復(fù)位響應(yīng),則控制器將結(jié)束會話,并釋放智能卡。

 3.2 數(shù)據(jù)收發(fā)控制模塊

  數(shù)據(jù)收發(fā)模塊按照系統(tǒng)對控制寄存器,各時間寄存器和輸出字節(jié)控制寄存器的設(shè)置來工作。與復(fù)位模塊一樣,數(shù)據(jù)收發(fā)模塊也是由狀態(tài)機跳變來完成。系統(tǒng)在復(fù)位響應(yīng)完成后進(jìn)人IDLE狀態(tài),根據(jù)協(xié)議選擇字節(jié)傳輸方式(如圖4所示)或是塊傳輸方式(如圖5所示)。


  在字節(jié)傳輸方式下,當(dāng)系統(tǒng)設(shè)置了輸出字節(jié)控制寄存器后控制器就處于發(fā)送狀態(tài)。首先進(jìn)入Prepare狀態(tài),將發(fā)送FIFO中的數(shù)據(jù)放入移位寄存器,并計算出數(shù)據(jù)的奇偶校驗位,為數(shù)據(jù)傳輸做好準(zhǔn)備。1個ETU之后進(jìn)入Start狀態(tài),拉低I/O數(shù)據(jù)線1個ETU來發(fā)送數(shù)據(jù)起始位。接著進(jìn)入數(shù)據(jù)發(fā)送狀態(tài),將移位寄存器中的數(shù)據(jù)按1 b/ETU的速率串行發(fā)出。然后發(fā)送1 b奇偶校驗位。數(shù)據(jù)發(fā)送完畢后按照系統(tǒng)設(shè)置的保護(hù)時間將I/O線拉高若干個ETU。最后檢測是否已經(jīng)發(fā)出了指定的字節(jié)數(shù)(Trig_num)。如果數(shù)據(jù)發(fā)送完畢,則跳入IDLE狀態(tài)等待新的發(fā)送設(shè)置或轉(zhuǎn)入數(shù)據(jù)接收;否則進(jìn)入Prepare狀態(tài)開始下一個字節(jié)的發(fā)送。

  當(dāng)系統(tǒng)處于數(shù)據(jù)接收狀態(tài)時,首先進(jìn)入等待起始位狀態(tài),在此狀態(tài)設(shè)置超時計數(shù)器判斷卡是否有響應(yīng)。當(dāng)I/O線拉低后就進(jìn)入接收起始位狀態(tài),在該狀態(tài)的0.5ETU時刻判斷I/O數(shù)據(jù)線是否仍然拉低。如果I/O線跳高則說明是由于I/O線抖動造成的起始位誤判,狀態(tài)跳回等待起始狀態(tài);如果I/O線仍然為低,則起始位接收成功,并在0.5個ETU后進(jìn)入數(shù)據(jù)接收狀態(tài)。8 b數(shù)據(jù)按照1 b/ETU的速率接收,完成后轉(zhuǎn)入接收校驗位狀態(tài)。硬件根據(jù)接收的8 b數(shù)據(jù)計算出校驗位并與收到校驗位比較,如果不同則I/O線拉低告知智能卡數(shù)據(jù)錯誤請求重發(fā),相同則進(jìn)入IDLE狀態(tài)等待接收下一個數(shù)據(jù)或是進(jìn)入發(fā)送狀態(tài)。

 塊傳輸(如圖5所示)的接收過程和字符傳輸類似,按照起始位、8 b數(shù)據(jù)位的狀態(tài)機接收數(shù)據(jù)。一個字節(jié)接收完畢后返回IDLE,當(dāng)沒有發(fā)送任務(wù)時就進(jìn)入下一次起始位等待。一個字節(jié)數(shù)據(jù)發(fā)送完畢后有若干個ETU的保護(hù)時間,然后進(jìn)入Prepare狀態(tài)準(zhǔn)備發(fā)送下一個字節(jié)數(shù)據(jù)。當(dāng)所有數(shù)據(jù)發(fā)送完畢后,系統(tǒng)維持一個塊保護(hù)時間BGT(Block Guard Time),然后進(jìn)入IDLE等待新任務(wù)。

  3.3 讀寫數(shù)據(jù)緩沖器模塊

  由于APB總線上連接多個功能模塊,如USB,UART等都需要占用總線進(jìn)行數(shù)據(jù)傳輸,智能卡控制器只能通過發(fā)出總線請求在有限時間占有總線。這使得在進(jìn)行智能卡讀寫操作時會申請不到總線從而來不及存儲已收到的數(shù)據(jù)或者來不及獲取新的發(fā)送數(shù)據(jù),增加讀寫數(shù)據(jù)緩沖器實現(xiàn)數(shù)據(jù)暫存可以很好地解決這個問題。緩沖器采用寬度為8位,深度為16的同步FIFO。該FIFO通過在最高位額外設(shè)置1 b來判斷空/滿標(biāo)志位。當(dāng)讀寫指針的8 b數(shù)據(jù)位和1 b最高位都相同時,F(xiàn)IFO為空。當(dāng)讀寫指針的8 b數(shù)據(jù)位相同并且1 b最高位相反時,F(xiàn)IFO為滿。根據(jù)FIFO的空滿狀態(tài)來請求或停止新的數(shù)據(jù)。

  3.4 APB總線接口模塊

  ARM內(nèi)核通過APB總線讀寫智能卡控制器,完成了對寄存器的設(shè)置、中斷狀態(tài)的讀取以及收發(fā)數(shù)據(jù)的讀寫,讀寫時序需要符合AMBA APB總線協(xié)議。

  系統(tǒng)通過總線接口模塊設(shè)置了控制器工作頻率,傳輸方式、編碼方式、時鐘轉(zhuǎn)換因子、波特率調(diào)整因子。當(dāng)解析出智能卡為異步半雙工字符傳輸模式時,設(shè)置字符發(fā)送完畢后的保護(hù)時間和最大等待時間。當(dāng)解析出智能卡為異步半雙工塊傳輸模式時,設(shè)置塊之問保護(hù)時間,最大等待之間,以及塊內(nèi)字符間的最大等待時間。系統(tǒng)按照上述設(shè)置工作。

  系統(tǒng)在設(shè)定的參數(shù)下完成對接收FIFO的讀取和對發(fā)送FIFO的寫人,并且發(fā)出讀寫使能信號控制FIFO讀寫。

  在收發(fā)控制模塊產(chǎn)生中斷后,對中斷狀態(tài)寄存器設(shè)置并交由軟件處理。

  4 仿真結(jié)果及FPGA驗證

  智能卡控制器采用RTL級的Verilog實現(xiàn),在系統(tǒng)仿真過程中編寫智能卡仿真模型。使用Synopsys公司VCS對控制器進(jìn)行功能仿真和驗證。對智能卡的數(shù)據(jù)收發(fā)波形如圖6所示。

  從仿真結(jié)果可以看出,智能卡控制器符合ISO7816-3協(xié)議,可以對智能卡進(jìn)行復(fù)位及讀寫操作。

  在FPGA驗證中,采用Altera公司的StratixⅡ芯片。將智能卡控制器、AMBA總線等模塊的RTL代碼燒錄到ARM開發(fā)板的FPGA中,并且將外接一塊帶有智能卡插槽的擴展板與ARM開發(fā)板連接。使用ARM的調(diào)試軟件ARMulator對控制器進(jìn)行功能測試。測試結(jié)果表明該控制器可以成功完成對智能卡的復(fù)位和數(shù)據(jù)讀寫操作。

  5 結(jié) 語

  根據(jù)上述VCS仿真和FPGA驗證的結(jié)果,說明該智能卡控制器已經(jīng)達(dá)到功能要求,實現(xiàn)了ISO/IEC7816-3傳輸協(xié)議。利用Design Compiler對該模塊進(jìn)行綜合并編寫腳本對芯片的面積和時序進(jìn)行優(yōu)化,最終邏輯單元為1 368 cells,符合設(shè)計目標(biāo),實現(xiàn)了對智能卡的數(shù)據(jù)復(fù)位及收發(fā)操作。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线午夜精品自拍| 亚洲黄色性网站| 黄色日韩在线| 国产午夜精品麻豆| 国产精品一区久久久久| 国产精品青草综合久久久久99| 欧美精品v国产精品v日韩精品 | 久久久91精品国产| 欧美一级播放| 欧美影院在线| 久久精品一区二区三区中文字幕| 午夜精品偷拍| 欧美一区二区三区在线播放| 性欧美xxxx大乳国产app| 性色一区二区| 久久久91精品| 久久综合色8888| 欧美jizzhd精品欧美巨大免费| 免费高清在线视频一区·| 老鸭窝毛片一区二区三区| 免费成人小视频| 欧美精品v日韩精品v国产精品| 欧美精品免费播放| 欧美日韩一区视频| 国产精品美女主播| 国产亚洲成av人在线观看导航| 国产亚洲一区在线播放| 一色屋精品视频免费看| 亚洲激情在线观看视频免费| 日韩亚洲成人av在线| 在线综合+亚洲+欧美中文字幕| 亚洲一区二区毛片| 欧美在线视频免费| 亚洲激情精品| 一区二区av在线| 午夜精品亚洲| 久久噜噜亚洲综合| 欧美国产视频日韩| 欧美日韩在线亚洲一区蜜芽| 国产精品一国产精品k频道56| 国内揄拍国内精品久久| 亚洲黄色影院| 亚洲一二三区在线| 欧美中文在线观看| 亚洲免费黄色| 亚洲欧美日韩在线一区| 久久久亚洲高清| 欧美激情亚洲| 国产精品久久久一区二区三区| 国产视频亚洲精品| 亚洲国产精品一区| 亚洲一级网站| 91久久极品少妇xxxxⅹ软件| 宅男噜噜噜66国产日韩在线观看| 欧美一区二区三区啪啪| 免费人成网站在线观看欧美高清| 欧美日韩免费观看一区| 国产午夜精品在线| 亚洲精品在线观看免费| 亚洲欧美日韩国产中文 | 久久夜色精品| 欧美性猛片xxxx免费看久爱| 国产视频久久久久久久| 亚洲人成在线观看网站高清| 亚洲在线观看视频网站| 亚洲精品在线观| 欧美自拍偷拍午夜视频| 欧美激情精品久久久久| 国产欧美精品| 亚洲人成网在线播放| 欧美一区二区三区精品电影| 一区二区欧美在线观看| 久久久亚洲精品一区二区三区| 欧美日韩国产三级| 国产综合久久久久影院| 在线亚洲一区| 亚洲精品乱码久久久久久按摩观 | 欧美成ee人免费视频| 国产精品视频不卡| 亚洲人成在线观看| 欧美在线视频一区二区| 亚洲在线成人| 欧美另类在线观看| 黄色精品一区| 亚洲欧美视频在线| 一区二区三区四区精品| 欧美成年人视频网站| 国产欧美日韩麻豆91| 日韩一区二区高清| 亚洲人成在线播放| 久久精品论坛| 国产精品欧美风情| 亚洲免费av片| 日韩亚洲一区二区| 久久免费视频在线观看| 国产欧美日韩三区| 亚洲午夜精品在线| 亚洲午夜女主播在线直播| 欧美国产免费| 在线看欧美日韩| 久久精品国产2020观看福利| 亚洲免费综合| 欧美日韩综合网| 亚洲美女尤物影院| 99精品国产在热久久下载| 欧美a级一区| 伊人春色精品| 亚洲第一在线综合在线| 久久久精彩视频| 国产亚洲一级高清| 欧美一级视频一区二区| 欧美伊久线香蕉线新在线| 国产精品va在线播放| 99国产精品国产精品久久| 日韩视频在线播放| 欧美激情二区三区| 91久久线看在观草草青青| 亚洲欧洲精品天堂一级| 欧美成人a视频| 亚洲国产精品第一区二区| 最新国产乱人伦偷精品免费网站 | 欧美成人精精品一区二区频| 悠悠资源网久久精品| 亚洲国产精品嫩草影院| 蜜臀a∨国产成人精品| 亚洲第一二三四五区| 亚洲欧洲在线免费| 欧美极品一区| 99亚洲伊人久久精品影院红桃| 一区二区三区精品| 欧美午夜电影一区| 亚洲视频欧洲视频| 翔田千里一区二区| 国产一区成人| 亚洲激情在线播放| 欧美激情视频给我| 一本大道久久a久久综合婷婷| 亚洲影视综合| 国产欧美一区二区白浆黑人| 欧美伊久线香蕉线新在线| 久久综合久久美利坚合众国| 亚洲国产高清aⅴ视频| 亚洲最新色图| 国产精品日韩精品欧美在线| 午夜亚洲视频| 免费在线日韩av| 日韩写真视频在线观看| 午夜亚洲激情| 国内外成人免费激情在线视频 | 欧美国产精品va在线观看| 99国产精品99久久久久久| 西西人体一区二区| 韩日精品视频| 日韩亚洲欧美一区| 国产精品视频久久久| 亚洲高清一区二区三区| 欧美美女福利视频| 亚洲在线中文字幕| 久久一区二区三区超碰国产精品| 91久久精品一区二区别| 亚洲男女自偷自拍图片另类| 国产一区二区在线免费观看 | 久久精品国产99国产精品澳门| 亚洲福利视频网| 亚洲一区二区免费在线| 国产亚洲精品久久久久动| 亚洲啪啪91| 国产精品免费视频观看| 亚洲国产精品成人va在线观看| 欧美日韩国产经典色站一区二区三区| 亚洲性视频网站| 欧美成人综合网站| 亚洲摸下面视频| 欧美成人乱码一区二区三区| 亚洲淫性视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲国产精品久久久久秋霞蜜臀| 欧美日韩一区二区三区在线观看免| 午夜视频一区| 欧美人体xx| 久久国产精品亚洲va麻豆| 欧美人与禽猛交乱配| 欧美一区二区网站| 欧美日韩极品在线观看一区| 欧美在线免费观看亚洲| 欧美视频在线观看一区| 亚洲激情中文1区| 国产精品视频久久| 9久草视频在线视频精品| 国产一区二区三区免费观看| 在线一区观看| 在线免费一区三区| 欧美一区二区观看视频| 亚洲肉体裸体xxxx137| 久久久免费精品视频| 一区二区动漫| 欧美激情亚洲国产| 久久精品色图| 国产欧美日韩在线观看| 亚洲深夜福利视频|