- 相關(guān)推薦
基于PCI總線加密卡硬件設(shè)計(jì)
摘要:介紹基于PCI總線加密卡的硬件組成部分。該加密卡汲取了現(xiàn)代先進(jìn)的加密思想,實(shí)現(xiàn)了高強(qiáng)度加密功能。關(guān)鍵詞:加密卡 PCI總線 PCI9052 ISP 單片機(jī)
加密是對(duì)軟件進(jìn)行保護(hù)的一種有效手段。從加密技術(shù)的發(fā)展歷程及發(fā)展趨勢(shì)來(lái)看,加密可大體劃分為軟加密和硬加密兩種。硬加密的典型產(chǎn)品是使用并口的軟件狗,它的缺點(diǎn)是端口地址固定,容易被邏輯分析儀或仿真軟件跟蹤,并且還占用了有限的并口資源。筆者設(shè)計(jì)的基于PCI總線的加密卡具有以下幾個(gè)優(yōu)點(diǎn):第一,PCI總線是當(dāng)今計(jì)算機(jī)使用的主流標(biāo)準(zhǔn)總線,具有豐富的硬件資源,因此不易受資源環(huán)境限制;第二,PCI設(shè)備配置空間采用自動(dòng)配置方式,反跟蹤能力強(qiáng);第三,在PCI擴(kuò)展卡上易于實(shí)現(xiàn)先進(jìn)的加密算法。
1 總體設(shè)計(jì)方案
基于PCI總線的加密卡插在計(jì)算機(jī)的PCI總線插槽上(5V 32Bit連接器),主處理器通過(guò)與加密卡通信,獲取密鑰及其它數(shù)據(jù)。加密卡的工作過(guò)程和工作原理是:系統(tǒng)動(dòng)態(tài)分配給加密卡4字節(jié)I/O空間,被加密軟件通過(guò)驅(qū)動(dòng)程序訪問(wèn)該I/O空間;加密卡收到訪問(wèn)命令后,通過(guò)PCI專用接口芯片,把PCI總線訪問(wèn)時(shí)序轉(zhuǎn)化為本地總線訪問(wèn)時(shí)序;本地總線信號(hào)經(jīng)過(guò)轉(zhuǎn)換處理后,與單片機(jī)相連,按約定的通信協(xié)議與單片機(jī)通信。上述過(guò)程實(shí)現(xiàn)了主處理器對(duì)加密卡的訪問(wèn)操作。
圖1 硬件總體設(shè)計(jì)方案
下面以主處理器對(duì)加密卡進(jìn)行寫操作為例,闡述具體的實(shí)現(xiàn)方法。加密卡采用PLX公司的PCI9052作為PCI總線周期與本地總線周期進(jìn)行轉(zhuǎn)換的接口芯片。PCI9052作為PCI總線從設(shè)備,又充當(dāng)了本地總線主設(shè)備,對(duì)其配置可通過(guò)EEPROM 93LC46B實(shí)現(xiàn)。主處理器對(duì)加密卡進(jìn)行寫操作,PCI9052把PCI總線時(shí)序轉(zhuǎn)化為8位本地?cái)?shù)據(jù)總線寫操作。這8位本地?cái)?shù)據(jù)總線通過(guò)Lattice公司的ispLSI2064與單片機(jī)AT89C51的P0口相連,2064完成PCI9052本地總線與AT89C51之間的數(shù)據(jù)傳輸、握手信號(hào)轉(zhuǎn)換控制等功能。2064對(duì)8位本地?cái)?shù)據(jù)總線寫操作進(jìn)行處理,產(chǎn)生中斷信號(hào)。該中斷信號(hào)與AT89C51的INT0#相連,使AT89C51產(chǎn)生中斷。AT89C51產(chǎn)生中斷后,檢測(cè)與其P2口相連的本地讀寫信號(hào)WR#、RD#、LW/R#。當(dāng)WR#為低電平、LW/R#為高電平時(shí),AT89C51判斷目前的操作是否為寫操作。確認(rèn)是寫操作后,AT89C51把P0口上的8位數(shù)據(jù)取下來(lái),然后用RDY51#(經(jīng)2064轉(zhuǎn)換后)通知PCI9052的LRDYi#,表明自己已經(jīng)把當(dāng)前的8位數(shù)據(jù)取走,可以繼續(xù)下面的工作。PCI9052收到LRDYi#有效后,結(jié)束當(dāng)前的8位數(shù)據(jù)寫操作。PCI總線的一次32位數(shù)據(jù)寫操作,PCI9052本地總線需要四次8位數(shù)據(jù)寫操作,通過(guò)字節(jié)使能LBE1#、LBE0#區(qū)分當(dāng)前的8位數(shù)據(jù)是第幾個(gè)字節(jié)有效。
加密卡硬件總體設(shè)計(jì)方案如圖1所示。
2 硬件各組成部分說(shuō)明
2.1 PCI9052部分
PCI9052是PCI總線專用接口芯片,采用CMOS工藝,160引腳PQFP封裝,符合PCI總線標(biāo)準(zhǔn)2.1版。其總線接口信號(hào)與PCI總線信號(hào)位置對(duì)應(yīng),因此可直接相連,易于PCB實(shí)現(xiàn)。PCI9052的最大數(shù)
[1] [2] [3]
【基于PCI總線加密卡硬件設(shè)計(jì)】相關(guān)文章:
基于PCI總線的多路數(shù)據(jù)總線接口設(shè)計(jì)與實(shí)現(xiàn)04-28
基于PCI總線的實(shí)時(shí)DSP圖像處理平臺(tái)設(shè)計(jì)04-26
基于PCI總線數(shù)據(jù)分路/發(fā)送機(jī)制及實(shí)現(xiàn)04-30
基于DSP和FPGA的ARINC429機(jī)載總線接口板的硬件設(shè)計(jì)04-26
基于硬件規(guī)范信息的測(cè)試設(shè)備設(shè)計(jì)05-01
基于USB總線通信數(shù)據(jù)采集器的設(shè)計(jì)與實(shí)現(xiàn)04-26
基于CAN總線的機(jī)載通信系統(tǒng)協(xié)議設(shè)計(jì)04-30
RAID卡·什么是主機(jī)總線04-26