推荐文档列表

基于PCI总线加密卡硬件设计

时间:2021-09-30 19:43:10 电子通信论文 我要投稿

基于PCI总线加密卡硬件设计

摘要:介绍基于PCI总线加密卡的硬件组成部分。该加密卡汲取了现代先进的加密思想,实现了高强度加密功能。

    关键词:加密卡 PCI总线 PCI9052 ISP 单片机

加密是对软件进行保护的一种有效手段。从加密技术的发展历程及发展趋势来看,加密可大体划分为软加密和硬加密两种。硬加密的典型产品是使用并口的软件狗,它的缺点是端口地址固定,容易被逻辑分析仪或仿真软件跟踪,并且还占用了有限的并口资源。笔者设计的基于PCI总线的加密卡具有以下几个优点:第一,PCI总线是当今计算机使用的主流标准总线,具有丰富的硬件资源,因此不易受资源环境限制;第二,PCI设备配置空间采用自动配置方式,反跟踪能力强;第三,在PCI扩展卡上易于实现先进的加密算法。

1 总体设计方案

基于PCI总线的加密卡插在计算机的PCI总线插槽上(5V 32Bit连接器),主处理器通过与加密卡通信,获取密钥及其它数据。加密卡的工作过程和工作原理是:系统动态分配给加密卡4字节I/O空间,被加密软件通过驱动程序访问该I/O空间;加密卡收到访问命令后,通过PCI专用接口芯片,把PCI总线访问时序转化为本地总线访问时序;本地总线信号经过转换处理后,与单片机相连,按约定的通信协议与单片机通信。上述过程实现了主处理器对加密卡的访问操作。

图1 硬件总体设计方案

    下面以主处理器对加密卡进行写操作为例,阐述具体的实现方法。加密卡采用PLX公司的PCI9052作为PCI总线周期与本地总线周期进行转换的接口芯片。PCI9052作为PCI总线从设备,又充当了本地总线主设备,对其配置可通过EEPROM 93LC46B实现。主处理器对加密卡进行写操作,PCI9052把PCI总线时序转化为8位本地数据总线写操作。这8位本地数据总线通过Lattice公司的ispLSI2064与单片机AT89C51的P0口相连,2064完成PCI9052本地总线与AT89C51之间的数据传输、握手信号转换控制等功能。2064对8位本地数据总线写操作进行处理,产生中断信号。该中断信号与AT89C51的INT0#相连,使AT89C51产生中断。AT89C51产生中断后,检测与其P2口相连的本地读写信号WR#、RD#、LW/R#。当WR#为低电平、LW/R#为高电平时,AT89C51判断目前的操作是否为写操作。确认是写操作后,AT89C51把P0口上的8位数据取下来,然后用RDY51#(经2064转换后)通知PCI9052的LRDYi#,表明自己已经把当前的8位数据取走,可以继续下面的工作。PCI9052收到LRDYi#有效后,结束当前的8位数据写操作。PCI总线的一次32位数据写操作,PCI9052本地总线需要四次8位数据写操作,通过字节使能LBE1#、LBE0#区分当前的8位数据是第几个字节有效。

加密卡硬件总体设计方案如图1所示。

2 硬件各组成部分说明

2.1 PCI9052部分

PCI9052是PCI总线专用接口芯片,采用CMOS工艺,160引脚PQFP封装,符合PCI总线标准2.1版。其总线接口信号与PCI总线信号位置对应,因此可直接相连,易于PCB实现。PCI9052的最大数

[1] [2] [3]