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