基于FPGA的PCI硬件加解密卡設計
2.4 USB接口模塊設計
本系統的USB選用CH375B,工作于USB-HOST主機方式,采用并行接口。在USB主機方式下,CH375B支持各種常用的USB全速設備,外部單片機需要編寫(xiě)固件程序按照相應的USB協(xié)議與USB設備通訊。USB接口模塊電路圖如圖7所示。本文引用地址:http://dyxdggzs.com/article/191636.htm
CH375B并行接口信號線(xiàn)包括:8位雙向數據總線(xiàn)D7~DO、讀選通輸入引腳RD#、寫(xiě)選通輸入引腳WR#、片選輸入引腳CS#、中斷輸出引腳INT#以及地址輸入引腳A0。CH375B的RD#和WR#可以分別連接到單片機的讀選通輸出引腳和寫(xiě)選通輸出引腳,CS#由地址譯碼電路驅動(dòng),INT#輸出的中斷請求是低電平有效,可以連接到單片機的中斷輸入引腳,單片機使用中斷方式獲知中斷請求。當WR#為高電平并且CS#和RD#及A0都為低電平時(shí),CH375B中的數據通過(guò)D7~DO輸出;當RD#為高電平并且CS#和wR#以及A0都為低電平時(shí),D7~DO上的數據被寫(xiě)入CH375B中;當RD#為高電平并且CS#和WR#都為低電平而AO為高電平時(shí),D7~DO上的數據被作為命令碼寫(xiě)入CH375B中。
3 軟件的設計與實(shí)現
軟件主要分為驅動(dòng)程序和應用程序兩部分,分別用DriverStudio和Visual C++開(kāi)發(fā)。驅動(dòng)程序的設計關(guān)鍵是如何完成硬件操作?;竟δ馨ㄔO備的初始化、IO端口的讀寫(xiě)操作、內存讀寫(xiě)操作、中斷的設置響應和調用等部分。PCI卡插入主機時(shí),從設備中讀出產(chǎn)品ID(PlD)和廠(chǎng)商ID(VID),由這2個(gè)值來(lái)搜索匹配的inf文件,再由inf文件加載相應的驅動(dòng)。應用程序通過(guò)調用Win32 API函數CreatFile來(lái)打開(kāi)設備,然后使用DeviceloControl與驅動(dòng)程序通信。在應用程序退出前使用CloseHandle關(guān)閉設備。DeviceIoControl使用不同的IOCTL命令來(lái)調用驅動(dòng)程序完成不同的任務(wù)。
4 結束語(yǔ)
經(jīng)測試,本PCI加解密卡數據加密存儲速度為612 KByte/s,解密讀取速度為630 KByte/s。FPGA使用情況:total logicelements 903l/12060(75%),total pin 84/173(49%)。在以后的設計中,應重點(diǎn)解決系統加解密速度較慢的問(wèn)題,另外,FPGA和USB的選型、加解密算法的優(yōu)化等有待改進(jìn)。
本設計的創(chuàng )新點(diǎn)在于用硬件加解密方法取代了通常的軟件加解密方法,采用更為安全可靠的DESX算法來(lái)彌補DES算法的不足,使用了FPGA的IP軟核設計方法實(shí)現DESX加解密模塊和PCI接口模塊,提高了系統集成度,可移植性好,便于系統升級。在加解密速度方面,用邏輯綜合式取代時(shí)鐘驅動(dòng)級聯(lián)式,使加解密一組數據的時(shí)間由16個(gè)周期縮短為1個(gè)周期。本系統在需要高級保密的商業(yè)和軍事領(lǐng)域,有著(zhù)較好的應用前景。
超級電容器相關(guān)文章:超級電容器原理
評論