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