摘 要:本文介紹了利用計(jì)算機(jī)ISA、PCI總線(xiàn)和打印機(jī)接口設(shè)計(jì)密碼電路;贑PLD設(shè)計(jì)密碼電路,具有加密性能好的特性。通過(guò)并行打印機(jī)接口設(shè)計(jì)一個(gè)密碼電路,密碼存儲(chǔ)在電路中,通過(guò)操作接口讀取密碼。ISA總線(xiàn)可以直接讀取電路密碼,PCI總線(xiàn)可以通過(guò)W89C940af對(duì)密碼電路進(jìn)行操作,讀取設(shè)置密碼。
關(guān)鍵詞:計(jì)算機(jī) 密碼電路 ISA和PCI總線(xiàn)
1 引言
隨著計(jì)算機(jī)CPU的運(yùn)行速度在不斷提高,至今已經(jīng)到約2GHz,基本內(nèi)存也達(dá)到了1M~512M,給計(jì)算機(jī)的應(yīng)用軟件運(yùn)行提供了較好的運(yùn)行條件,同時(shí)也足金促進(jìn)了計(jì)算機(jī)軟件的發(fā)展。軟件技術(shù)是一個(gè)了比較好的新興產(chǎn)業(yè),銷(xiāo)售產(chǎn)值在國(guó)民經(jīng)濟(jì)中所占比例也越來(lái)越大,發(fā)展軟件行業(yè)具有比較好的優(yōu)點(diǎn),既不占用自然資源,又能夠獲得相當(dāng)高的利潤(rùn)。世界各國(guó)都相當(dāng)重視該產(chǎn)業(yè)的發(fā)展,有一定的扶持力度。在全球所有軟件企業(yè)中Microsoft 公司是銷(xiāo)售產(chǎn)值很高。
計(jì)算機(jī)的接口電路設(shè)計(jì)主要依靠USB接口、ISA總線(xiàn)、PCI總線(xiàn)、串行RS-232接口、紅外線(xiàn)接口等,一些該高級(jí)軟件配備的接口卡、接口電路主要基于ISA總線(xiàn)、PCI總線(xiàn),本文簡(jiǎn)單介紹這兩種總線(xiàn)的接口電路,具有防復(fù)制等特點(diǎn)。
2 系統(tǒng)資源分配
由于計(jì)算機(jī)的CPU和相應(yīng)的接口電路的高度集成化,使得計(jì)算機(jī)主板上的接口電路越來(lái)越少。系統(tǒng)是通過(guò)主板上的I/O接口地址來(lái)實(shí)現(xiàn)訪(fǎng)問(wèn)外部設(shè)備的[1],例如:讀取硬盤(pán)中的數(shù)據(jù)是通過(guò)直接訪(fǎng)問(wèn)1F0~1F7H的接口地址,也就實(shí)現(xiàn)了訪(fǎng)問(wèn)硬盤(pán)的操作。COM1的地址是2F8~2FFH,COM2時(shí),其地址是3F8~3FFH,當(dāng)鼠標(biāo)器連接到串行口時(shí),計(jì)算機(jī)在上電復(fù)位時(shí)自動(dòng)啟動(dòng)接入串行鼠標(biāo),并確定鼠標(biāo)器通訊功能。在系統(tǒng)的系統(tǒng)地址,并行接口LPT1和LPT2為專(zhuān)用打印機(jī)使用,地址分別是278~27FH、378~37FH,計(jì)算機(jī)接口被不斷的開(kāi)發(fā),并行接口已經(jīng)有了更多的用途。
3 ISA總線(xiàn)的接口電路
利用CPLD設(shè)計(jì)ISA總線(xiàn)的接口電路,具有設(shè)計(jì)簡(jiǎn)單,電路運(yùn)行速度快、加密性能好等特點(diǎn)。Xilinx公司的可編程邏輯器件(CPLD)XC9572,有84個(gè)引腳,其中,可作為I/O(輸入/輸出)68個(gè)引腳,內(nèi)部有1600個(gè)邏輯門(mén),72個(gè)宏單元,響應(yīng)速度7~15ns。ISA總線(xiàn)密碼接口電路如圖1所示,D0~D7是計(jì)算機(jī)訪(fǎng)問(wèn)外部設(shè)備的低8位數(shù)據(jù)總線(xiàn),A0~A19是訪(fǎng)問(wèn)外部設(shè)備的20條地址總線(xiàn),IOR是讀外部設(shè)備數(shù)據(jù)信息的讀選通線(xiàn),IOW是向外部設(shè)備發(fā)送信息或命令的寫(xiě)選通線(xiàn),RST是計(jì)算機(jī)的復(fù)位線(xiàn),在復(fù)位時(shí),密碼電路與計(jì)算機(jī)同時(shí)復(fù)位。
ISA總線(xiàn)的地址A(19,0)、IOR、IOW和AEN經(jīng)過(guò)譯碼作為片選、時(shí)鐘,對(duì)一組觸發(fā)器電路進(jìn)行操作,就能夠讀取密碼數(shù)據(jù)。在選擇地址時(shí),一般情況下,A(10)~A(19)為空,既隨機(jī)狀態(tài)。密碼電路地址可以選擇打印機(jī)接口地址278H、279H、27AH。例如:選擇278H,在密碼電路中,通過(guò)地址278H讀取一組低8位數(shù)據(jù)D(7,0),就能夠作為軟件運(yùn)行的密碼,控制軟件是工作還是退出。在圖中,根據(jù)緩沖器的電路特性[2],利用Xilinx公司的Project Navigator軟件設(shè)計(jì)一組只讀八位緩沖器電路,并將緩沖器的輸入端A1、A3、A4、A7設(shè)置為“1”電平,把A0、A2、A5、A6設(shè)置為“0”電平,當(dāng)讀取緩沖器時(shí),有恒定數(shù)據(jù)9AH,此數(shù)據(jù)即為密碼電路的密碼數(shù)值。
圖1ISA總線(xiàn)的加密電路
其中ISA總線(xiàn)的選通278H地址的邏輯公式是:
G1 = "a<3>" * "a<4>" * "a<5>" * "a<6>" * /"a<7>" * /"a<8>" * /"a<9>" * /"a<0>" * /"a<1>" * /"a<2>" */aen */ ior (1)
4 PCI總線(xiàn)接口電路
計(jì)算機(jī)的PCI總線(xiàn)被普遍應(yīng)用,一些速度快、內(nèi)存容量大等新型計(jì)算機(jī)主板已經(jīng)以PCI總線(xiàn)為主。PCI總線(xiàn)的特點(diǎn)是體積小,速度快等。設(shè)計(jì)計(jì)算機(jī)的板卡利用PCI總線(xiàn)是大勢(shì)所趨。利用PCI總線(xiàn)設(shè)計(jì)密碼電路如圖2所示。電路中利用了臺(tái)灣華邦(Winband)公司生產(chǎn)的計(jì)算機(jī)PCI總線(xiàn)接口電路W89C940,最大運(yùn)行速度是10MS。PCI總線(xiàn)與ISA總線(xiàn)在工作原理上有所區(qū)別,PCI總線(xiàn)卡必須擁有驅(qū)動(dòng)程序,不同功能的計(jì)算機(jī)卡的驅(qū)動(dòng)程序也不相同,因此計(jì)算機(jī)所有的PCI總線(xiàn)電路都必須配備一只串行EEPOAM ,例如AT93C46,用來(lái)存放驅(qū)動(dòng)碼。
圖2PCI密碼電路結(jié)構(gòu)圖
對(duì)上圖中密碼電路進(jìn)行設(shè)計(jì),利用Xilinx公司的Project Navigator軟件設(shè)計(jì)一組電路[3],具有可以寫(xiě)數(shù)據(jù),再讀數(shù)據(jù)的八-D觸發(fā)器電路,得到PCI總線(xiàn)的密碼電路如圖3所示,電路的數(shù)據(jù)D[7:0]經(jīng)過(guò)輸入緩沖器IC2輸入到八-D觸發(fā)器,其控制選通端是LW,當(dāng)LW信號(hào)為“0”時(shí),數(shù)據(jù)D[7:0]輸入到八-D觸發(fā)器,并且鎖存數(shù)據(jù),當(dāng)輸出選通信號(hào)LR為“0”時(shí),輸出數(shù)據(jù)Q[7:0]傳輸?shù)紻B[7:0],即讀取八-D觸發(fā)器的數(shù)據(jù)。計(jì)算機(jī)軟件在運(yùn)行時(shí),通過(guò)寫(xiě)、讀數(shù)據(jù)就起到加密的作用。
圖3PCI總線(xiàn)的加密電路
5 并行接口的接口電路
并行密碼電路的設(shè)計(jì)都是選用計(jì)算機(jī)的并行打印機(jī)接口。打印機(jī)接口LPT1,數(shù)據(jù)傳輸形式、連接器插座等在IEEE1284中有明確的規(guī)定,主要特性是,數(shù)據(jù)傳送總線(xiàn)DB7~DB0,打印機(jī)工作忙BUSY,pin1是數(shù)據(jù)鎖存信號(hào),pin10是打印機(jī)接收數(shù)據(jù)。Atmel公司的EEPROM器件AT93C46,具有比較低的工作電流,所以將其正電源VCC連接到ERR端。其工作方式是首先輸入控制字,讀取數(shù)據(jù)就寫(xiě)入讀控制字,寫(xiě)器件就寫(xiě)入寫(xiě)控制字,之后才能讀或?qū)?6位(16bit)數(shù)據(jù)。讀操作過(guò)程是,寫(xiě)入讀控制字,寫(xiě)入7位(7bit)地址,接下來(lái)就可以在輸出端接收數(shù)據(jù),每當(dāng)輸入一個(gè)時(shí)鐘,就有一位(1bit)輸出,輸出16位后自動(dòng)結(jié)束。打印機(jī)接口的加密電路可以設(shè)計(jì)許多種方式,例如;時(shí)間電路,寫(xiě)入電路的數(shù)據(jù)與讀出數(shù)據(jù)的時(shí)間相關(guān)。
6 說(shuō) 明
基于計(jì)算機(jī)總線(xiàn)設(shè)計(jì)密碼電路的方法,經(jīng)過(guò)實(shí)際設(shè)計(jì)證明方便實(shí)用,這種方法的結(jié)構(gòu)簡(jiǎn)單,利用CPLD設(shè)計(jì)密碼電路簡(jiǎn)單、運(yùn)行速度快,能夠比較好地實(shí)現(xiàn)密碼讀寫(xiě)功能。計(jì)算機(jī)密碼電路的設(shè)計(jì)有多種方法,各種方法具有不同的優(yōu)缺點(diǎn)。實(shí)際上,在電路的設(shè)計(jì)過(guò)程中,可以增加一些邏輯功能用來(lái)事實(shí)現(xiàn)功能加密、工作狀態(tài)加密、時(shí)時(shí)數(shù)據(jù)加密等電路,這樣能夠更好地起到真正加密的作用。





