<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于NiosⅡ的U盤安全控制器設計

          基于NiosⅡ的U盤安全控制器設計

          作者: 時間:2015-01-16 來源:網絡 收藏

            2 安全控制器硬件架構的設計實現

          本文引用地址:http://www.ex-cimer.com/article/268249.htm

            本設計采用USB接口芯片+FPGA的方案來實現安全控制器的硬件架構,通過微處理器器對USB接口芯片的控制即可實現USB通信。采用USB接口芯片有助于降低開發(fā)費用,縮短系統(tǒng)的開發(fā)周期。

            2.1 USB接口芯片選型

            本設計中,安全控制器既要實現USB Host的功能,又要實現USB Device的功能。因此,若能采用一片USB接口芯片實現兩者的功能,則有助于降低硬件系統(tǒng)的復雜性。綜合USB芯片的功能需求、價格、硬件復雜性等因素,本設計選用NXP公司的ISP1761作為USB接口芯片。

            ISP1761是一個單芯片的高速USB OTG 控制器,在其單芯片上集成了一個OTG控制器、一個主機控制器和一個外設控制器,主機和外設控制器兼容USB2.0協議,并支持480 Mb/s的高速傳輸。ISP1761有3個USB接口,接口1可以被配置為Host接口、Device接口或者OTG接口,接口2、3只能被配置為Host接口。在OTG模式下,ISP1761的接口1可通過跳線靈活配置成Host接口或Device接口。ISP1761可以直接與目前市場上的大多數帶尋址功能的微處理器直接連接,微處理器通過讀寫ISP1761內部的寄存器或存儲器即可實現USB通信功能。ISP1761支持DMA傳輸,可以提高數據的吞吐率[4]。

            2.2 控制器整體硬件架構

            安全控制器整體硬件架構如圖3所示,由模塊和ISP1761芯片及按鍵組成。模塊使用Altera公司提供的開發(fā)工具 Builder生成,主要由控制器、內存、加解密模塊、JTAG、ISP1761控制器、鎖相環(huán)、PIO控制器和DMA控制器組成。

            

           

            控制器作為整個系統(tǒng)的核心,完成對各個模塊的調度和控制;鎖相環(huán)為系統(tǒng)各個模塊提供所需要的時鐘;加解密模塊完成數據流的加解密功能;ISP1761控制器則用來連接控制器和ISP1761芯片,通過該控制器,NiosⅡ處理器可以訪問ISP1761芯片內部的寄存器和存儲器;DMA控制器負責PC機到控制器、控制器到的數據傳輸,提高數據傳輸速率。ISP1761芯片分別連接主機和,在NiosⅡ的控制下實現USB Host接口和USB Device接口的功能。

            3 安全控制器固件的設計實現

            3.1 固件模塊及層次的劃分

            安全控制器固件實際上是運行于NiosⅡ處理器上的COS(Chip Operating System),主要負責監(jiān)控USB Host接口及USB Device接口的狀態(tài),解析PC機發(fā)出的命令,對系統(tǒng)各個模塊進行調度,實現PC機到間的數據通信,完成數據流的加解密。

            安全控制器固件主要包括初始化模塊、USB Host模塊、USB Device模塊、DMA模塊、密碼模塊等。各模塊的功能如下:

            (1)初始化模塊:安全控制器系統(tǒng)的啟動;ISP1761芯片接口的配置,將接口1配置成USB Host接口,接口2配置成USB Device接口。

            (2)USB Host模塊[5]:檢測USB接口芯片Host接口的狀態(tài),檢測U盤的插入和移除等;向插入的USB設備發(fā)出標準的USB標準命令,獲取設備描述符、配置描述符、接口描述符、端點描述符等;向插入的USB設備發(fā)出USB MassStorage類命令,獲取設備的容量等基本信息及對設備進行讀寫操作。

            (3)USB Device模塊:向PC機報告USB設備的插入;響應PC機發(fā)出的標準的USB命令,返回相應的數據,如各種描述符等。此時返回的描述符應為安全控制器的描述符;響應PC機發(fā)出的USB MassStorage命令,返回設備的基本信息,此時返回的基本信息應為U盤的信息。

            (4)加解密模塊[6]:身份認證方案的實現,如用戶口令的保存、更改等;加解密算法的高速實現及密鑰的保護等。

            (5)DMA模塊:DMA控制器的配置、啟動等。

            安全控制器固件層次劃分如圖4所示,主要包括硬件抽象層、USB協議層和批量傳輸層。硬件抽象層主要實現NiosⅡ處理器對外設的讀寫以及對ISP1761芯片內部寄存器和存儲器的訪問;USB協議層通過對ISP1761芯片的控制實現USB協議;批量傳輸層則實現MassStorage類的操作,通過Bulk-In和Bulk-Out端點,完成CBW、數據、CSW的傳輸。安全控制器在批量傳輸層對數據進行扇區(qū)級的加解密操作,不進行文件系統(tǒng)級的解析。

            

           

            3.2 整體工作流程

            以一次PC機向U盤寫數據的過程為例,U盤安全控制器的工作流程如圖5所示。

            

           

            (1)U盤安全控制器初始化;

            (2)循環(huán)檢測ISP1761芯片Host接口的狀態(tài),判斷是否有USB設備插入;

            (3)若檢測到USB設備,判斷設備是否是USB MassStorage類設備;

            (4)若是USB MassStorage類設備,則向PC機報告設備的插入,否則返回步驟(2);

            (5)安全控制器響應PC機發(fā)出的命令,包括USB標準命令和Mass Storage類命令,返回描述符及所插入設備的基本信息;

            (6)PC機發(fā)出寫(Write10)命令及數據,安全控制器將數據加密,然后向U盤轉發(fā)寫命令及加密后的數據;

            (7)一次傳輸過程結束。

            本文針對USB存儲設備的安全問題,利用SoPC技術,設計實現了U盤安全控制器,并在terasic公司的DE3開發(fā)板上得到驗證。結果表明,該控制器將普通U盤升級為安全U盤,保證U盤中的數據都以密文形式存在,方便快捷、安全性高,具有廣泛的應用前景。下一步重點是研究密碼方案,如身份認證方案的設計、密鑰的保護及加解密算法的高速實現等。


          上一頁 1 2 下一頁

          關鍵詞: NiosⅡ U盤 SoPC

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();