基于PCI總線芯片CH365的數(shù)據(jù)密碼卡設(shè)計(jì)
2 CH365的內(nèi)部結(jié)構(gòu)和信號(hào)線
圖1所示是CH365內(nèi)部的主要結(jié)構(gòu)。CH365對(duì)PCI總線的各種信號(hào)進(jìn)行譯碼后,可產(chǎn)生內(nèi)部數(shù)據(jù)總線D31~D0、內(nèi)部地址總線A31~A0、讀寫I/O端口信號(hào)、讀寫存儲(chǔ)器等信號(hào)。結(jié)構(gòu)圖右側(cè)的信號(hào)是CH365提供給本地端的各個(gè)外部引腳。地址線A15~A0用于提供相對(duì)于基址的偏移地址:數(shù)據(jù)總線D7~D0在讀操作時(shí)用于輸入數(shù)據(jù),在寫操作時(shí)用于輸出數(shù)據(jù);IOP_RD用于提供I/O讀選通脈沖信號(hào);IOP_WR用于提供I/O寫選通脈沖信號(hào);MEM_RD用于提供存儲(chǔ)器讀選通脈沖信號(hào),MEM_WR用于提供存儲(chǔ)器寫選通脈沖信號(hào)。由于CH365提供的地址線、數(shù)據(jù)線、讀寫選通信號(hào)線類似于ISA總線的信號(hào)線,所以,非常適合將ISA板卡升級(jí)到PCI總線上。在I/O讀寫操作期間,CH365的A7~A0輸出的是I/O端口的偏移地址,它提供給外部設(shè)備的有效偏移地址范圍是00H~EFH,外部設(shè)備可進(jìn)一步對(duì)A7~A0進(jìn)行譯碼以產(chǎn)生二級(jí)片選信號(hào)。在I/O操作期間,CH365的A15~A10保持不變,但可以由內(nèi)部寄存器事先設(shè)定為高電平或低電平。如果使用本地硬件定址功能,則可以對(duì)A9~A0進(jìn)行地址譯碼,并通過IOP_HIT引腳向CH365請(qǐng)求本地定址,以實(shí)現(xiàn)與ISA總線相兼容的000H~3FFH地址范圍內(nèi)的I/O端口地址。在存儲(chǔ)器操作期間,CH365的A14~A0可輸出存儲(chǔ)器的偏移地址,提供給外部設(shè)備的有效偏移地址范圍是0000H~7FFFH。在存儲(chǔ)器讀寫操作期間,CH365的A15保持不變,但可以由內(nèi)部寄存器事先設(shè)定為高電平或低電平,以用于存儲(chǔ)器地址線的擴(kuò)展或者頁面選擇。
3 PCI總線的數(shù)據(jù)密碼卡硬件設(shè)計(jì)
3.1 數(shù)據(jù)密碼卡的組成
數(shù)據(jù)密碼卡實(shí)際上就是一個(gè)基于計(jì)算機(jī)PCI總線的板卡。它區(qū)別于普通板卡的地方主要是這塊板卡中包含了大量的加密后的機(jī)密數(shù)據(jù),這些數(shù)據(jù)存于板卡的FLASH存儲(chǔ)器中。在軍交系統(tǒng)中,這些數(shù)據(jù)代表了車輛的編組調(diào)度等信息,軍交管理軟件直接應(yīng)用解密后的數(shù)據(jù)來對(duì)車輛實(shí)施調(diào)度,但這些解密后的數(shù)據(jù)對(duì)操作人員來說是透明的。為了防止不法分子蓄意破解數(shù)據(jù),上級(jí)主管部門會(huì)不定期的將原始數(shù)據(jù)重新加密,然后寫入FLASH存儲(chǔ)器中,再將重新加密過的FLASH存儲(chǔ)器下發(fā)給各個(gè)部門。采取多種加密策略的目的主要是為了防止數(shù)據(jù)密碼卡被盜,或者其中的FLASH存儲(chǔ)器被盜而使密碼被破譯。
數(shù)據(jù)密碼卡的組成框圖如圖2所示。
3.2 CPLD設(shè)計(jì)
CPLD的設(shè)計(jì)是本數(shù)據(jù)密碼卡的核心。設(shè)計(jì)選用LATTICE公司生產(chǎn)的LATYICE1032。它所包含的模塊主要有三塊。其一是數(shù)據(jù)密碼卡訪問合法性確認(rèn)和數(shù)據(jù)解密模塊;其二是地址譯碼模塊;三是ROM地址產(chǎn)生器模塊。其頂層設(shè)計(jì)圖如圖3所示。
評(píng)論