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