安全認(rèn)證系統(tǒng)中嵌入U(xiǎn)SB接口技術(shù)
USB(Universal Serial Bus)通用串行總線是計(jì)算機(jī)與其外圍設(shè)備通信的一種總線標(biāo)準(zhǔn),是近年來應(yīng)用在PC領(lǐng)域的新型接口技術(shù)。它的熱拔插、即插即用、連接簡(jiǎn)單、高帶寬、可總線供電等優(yōu)點(diǎn)幾乎使其成為目前計(jì)算機(jī)外設(shè)的首選通信接口。世界上幾乎所有硬件廠商都生產(chǎn)實(shí)現(xiàn)USB協(xié)議的芯片。廠商們本著通用性原則,有的在芯片中嵌入了通用微處理器,如CYPRESS公司CY7C6××××系列和INTEL930××系列嵌入了8051系列微控制器;有的則提供了各種常用的與微處理器接口的方案,如NATIONAL SEMICONDUCTOR公司的USBN960× 系列提供了多路與非多路的8位并行接口、DMA并行接口及微波接口;PHILIPS公司的PDIUSBD11提供了I2C總線接口;三星公司研制的USB功能控制器則具有8位并行微處理器接口,并能以同步或者異步方式工作,這為使用USB協(xié)議作為通信接口提供了極大的方便。然而,將USB功能嵌入到一種用于安全認(rèn)證的處理系統(tǒng)中,則存在無法與處理器直接接口的問題。本文探討了USB功能模塊和處理器接口技術(shù),并從其基本應(yīng)用角度出發(fā),給出了相應(yīng)的軟件流程。具有USB接口的安全認(rèn)證系統(tǒng)使用簡(jiǎn)單、便于攜帶、通信速度快。
本文引用地址:http://m.butianyuan.cn/article/152564.htm1 USB功能模塊
USB功能模塊是基于微處理器應(yīng)用實(shí)現(xiàn)USB協(xié)議的模塊。集成有低速USB收發(fā)器,配置有3個(gè)基于FIFO的端點(diǎn)、1個(gè)控制端點(diǎn)(8字節(jié))、2個(gè)可配置傳輸方向的中斷端點(diǎn)(8字節(jié))。每個(gè)端點(diǎn)都配置有相應(yīng)的控制與狀態(tài)寄存器,帶有一個(gè)8 位微處理器并行接口,可工作在同步或異步方式。
USB功能模塊的操作對(duì)用戶來說是完全透明的。包的譯碼、數(shù)據(jù)傳輸?shù)紽IFO、從FIFO發(fā)送數(shù)據(jù)和USB包的裝配都是自動(dòng)完成的。當(dāng)接收到一個(gè)正確數(shù)據(jù)包或發(fā)送成功一個(gè)數(shù)據(jù)包,即向MCU發(fā)出中斷請(qǐng)求,請(qǐng)求將數(shù)據(jù)取走或裝入下一個(gè)要發(fā)送的數(shù)據(jù)包。端點(diǎn)FIFO對(duì)USB來說是緩存單元,對(duì)MCU來說是一個(gè)I/O端口。微處理器通過訪問USB寄存器來控制USB模塊的操作。
1.1 端點(diǎn)0控制/狀態(tài)寄存器
D0:OUT_PKT_RDY FIFO裝有一個(gè)有效數(shù)據(jù)包,USB將其置1,產(chǎn)生中斷,MCU寫D6為1,清除D0。
D1:IN_PKY_RDY USB成功發(fā)送完一個(gè)數(shù)據(jù)包,清D1時(shí)產(chǎn)生中斷。
D2:SENT_STALL 控制交換因違反協(xié)議而終止,USB置D2,產(chǎn)生中斷。
D3:DATA_END MCU裝了最后一個(gè)數(shù)據(jù)包到FIFO,置D3,與此同時(shí),置D1。MCU卸載完FIFO最后一個(gè)數(shù)據(jù)包,清D0,置D3。對(duì)于0長(zhǎng)度的數(shù)據(jù)相,MCU卸載完SETUP數(shù)據(jù)包之后,清D0=0,置 D3=1。USB清D3時(shí)產(chǎn)生中斷。
D4:SETUP_END 在DATA_END(D3)置位之前,控制傳輸結(jié)束,USB置D4,產(chǎn)生中斷。
D5:SEND_STALL 如果譯碼為一個(gè)無效的令牌,MCU置D5,與此同時(shí),清D0,USB發(fā)STALL給當(dāng)前的控制傳輸,MCU寫D5=0,結(jié)束STALL條件。
D6:SERVICED_OUT_PKY_RDY MCU寫D6=1以清除D0。
D7:SERVICED_SETUP_END MCU寫D7=1以清除D4。
1.2 USB功能模塊的訪問時(shí)序
USB功能模塊的I/O接口可工作在同步或異步方式,本文采用同步方式。其對(duì)MCU訪問的讀寫時(shí)序要求如圖1(a)、(b)所示。
寫時(shí)序:地址至少要維持兩個(gè)時(shí)鐘周期,并且要先于數(shù)據(jù)一個(gè)有效時(shí)鐘周期,以便將FIFO的寫指針選通至RAM寫地址端口。當(dāng)寫信號(hào)有效時(shí),存儲(chǔ)器寫使能信號(hào)有效,寫之后一個(gè)時(shí)鐘周期FIFO指針?biāo)⑿?。地址有效時(shí),片選高有效。
讀時(shí)序:一旦地址有效,存儲(chǔ)器輸出使能有效。地址至少維持兩個(gè)時(shí)鐘周期,前一個(gè)周期將FIFO的讀指針選通至RAM的讀地址端口,因此數(shù)據(jù)比地址晚一個(gè)時(shí)鐘周期出現(xiàn)在數(shù)據(jù)總線上。當(dāng)讀信號(hào)有效時(shí),MCU將總線上的數(shù)據(jù)讀走,與此同時(shí),FIFO的指針?biāo)⑿?。地址有效時(shí),片選高有效。
系統(tǒng)中采用了具有加解密功能的處理器。處理器采用棧式結(jié)構(gòu),具有焦點(diǎn)聚合的低功耗內(nèi)總線結(jié)構(gòu)和超標(biāo)量指令結(jié)構(gòu)與多種尋址方式等特點(diǎn),能高速高效地處理數(shù)據(jù)。嵌入有RSA和DES模塊,能對(duì)發(fā)送和接收的數(shù)據(jù)進(jìn)行實(shí)時(shí)RSA算法或三重DES算法的加密和解密。系統(tǒng)具有8位地址總線,16位數(shù)據(jù)位寬的并行接口,其I/O訪問時(shí)序如圖2所示。從圖2可以看出,I/O訪問在一個(gè)時(shí)鐘周期內(nèi)完成。
評(píng)論