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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的PCI硬件加解密卡設計

          基于FPGA的PCI硬件加解密卡設計

          作者: 時間:2010-08-05 來源:網(wǎng)絡 收藏

          2.4 USB接口模塊設計
          本系統(tǒng)的USB選用CH375B,工作于USB-HOST主機方式,采用并行接口。在USB主機方式下,CH375B支持各種常用的USB全速設備,外部單片機需要編寫固件程序按照相應的USB協(xié)議與USB設備通訊。USB接口模塊電路圖如圖7所示。

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


          CH375B并行接口信號線包括:8位雙向數(shù)據(jù)總線D7~DO、讀選通輸入引腳RD#、寫選通輸入引腳WR#、片選輸入引腳CS#、中斷輸出引腳INT#以及地址輸入引腳A0。CH375B的RD#和WR#可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳,CS#由地址譯碼電路驅(qū)動,INT#輸出的中斷請求是低電平有效,可以連接到單片機的中斷輸入引腳,單片機使用中斷方式獲知中斷請求。當WR#為高電平并且CS#和RD#及A0都為低電平時,CH375B中的數(shù)據(jù)通過D7~DO輸出;當RD#為高電平并且CS#和wR#以及A0都為低電平時,D7~DO上的數(shù)據(jù)被寫入CH375B中;當RD#為高電平并且CS#和WR#都為低電平而AO為高電平時,D7~DO上的數(shù)據(jù)被作為命令碼寫入CH375B中。

          3 軟件的設計與實現(xiàn)
          軟件主要分為驅(qū)動程序和應用程序兩部分,分別用DriverStudio和Visual C++開發(fā)。驅(qū)動程序的設計關(guān)鍵是如何完成操作?;竟δ馨ㄔO備的初始化、IO端口的讀寫操作、內(nèi)存讀寫操作、中斷的設置響應和調(diào)用等部分。卡插入主機時,從設備中讀出產(chǎn)品ID(PlD)和廠商ID(VID),由這2個值來搜索匹配的inf文件,再由inf文件加載相應的驅(qū)動。應用程序通過調(diào)用Win32 API函數(shù)CreatFile來打開設備,然后使用DeviceloControl與驅(qū)動程序通信。在應用程序退出前使用CloseHandle關(guān)閉設備。DeviceIoControl使用不同的IOCTL命令來調(diào)用驅(qū)動程序完成不同的任務。

          4 結(jié)束語
          經(jīng)測試,本卡數(shù)據(jù)加密存儲速度為612 KByte/s,解密讀取速度為630 KByte/s。使用情況:total logicelements 903l/12060(75%),total pin 84/173(49%)。在以后的設計中,應重點解決系統(tǒng)速度較慢的問題,另外,和USB的選型、算法的優(yōu)化等有待改進。
          本設計的創(chuàng)新點在于用加解密方法取代了通常的軟件加解密方法,采用更為安全可靠的DESX算法來彌補DES算法的不足,使用了的IP軟核設計方法實現(xiàn)DESX加解密模塊和接口模塊,提高了系統(tǒng)集成度,可移植性好,便于系統(tǒng)升級。在加解密速度方面,用邏輯綜合式取代時鐘驅(qū)動級聯(lián)式,使加解密一組數(shù)據(jù)的時間由16個周期縮短為1個周期。本系統(tǒng)在需要高級保密的商業(yè)和軍事領(lǐng)域,有著較好的應用前景。

          超級電容器相關(guān)文章:超級電容器原理



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA PCI 硬件 加解密

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();