用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

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

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:39:22
以主处理器向单片机写数据为例,图2给出了PCI9052的本地写时序。

2.2 ispLSI2064部分

为降低数据被解析的风险,应尽量减少使用分离元件。因此在设计中选用了Lattice公司的CPLD ispLSI2064。该芯片采用EECMOS技术,100引脚TQFP封装,拥有2000个PLD门,64个I/O引脚另加4个专用输入,64个寄存器,3个全局时钟,TTL兼容的输入输出信号。2064具有在系统可编程ISP(In-System Programmable)功能,可方便实现硬件重构,易于升级,降低了设计风险,并且安全性能高。PCI9052与单片机之间的8位数据线进行双向数据传输,不能简单地直接相连,需要进行传输方向控制和数据隔离。故用2064作为PCI9052本地信号与单片机信号进行信号传递的接口,图3给出了8位数据信号双向传输的原理图。2064的开发软件ispDesignExpert 8.2版支持VHDL、Verilog HDL、Abel等语言及原理图输入,且通过专用下载电缆可把最终生成的JEDEC文件写入2064,实现编程。在设计时采用了原理图输入的方法。

原理图中用到的BI18的功能描述为:当OE=1时,XB为输出,A为输入,即XB=A;当OE=0时,XB为输入,Z为输出,即Z=XB。FD28的功能描述为:8位D触发器(带异步清除)。结合PCI9052本地读写时序,可以分析得出,在进行读写操作时,图3实现了LAD[7..0]与D[7..0]之间正常的数据传输;在非读写时,双方数据处于正常隔离状态。

2.3 单片机AT89C51部分

单片机采用ATMEL公司的AT89C51。这是一个8位微处理器,采用CMOS工艺,40引脚DIP封装。它含有4K字节Flash和128字节RAM,且自身具有加密保护功能。单片机不进行外部存储器和RAM的扩展,程序存储和运行均在片内完成,有效地保证了加密强度。

图3 LAD[7..0]与D[7..0]之间的数据传输

    单片机的P0口接图3的D[7..0],并加10kΩ的上拉排阻。WR#、RD#、W/R#、BE1#、BE0#作为单片机输入信号接P2口。PCI9052写数据准备好或读数据已取走信号REQ9052#作为单片机输入信号接P3.2(INT0#);写数据单片机已取走或读数据单片机准备好信号RDY51#作为单片机输出信号接P1.0;接P1.1的OVER51#作为单片机输出信号,经2064接PCI9052的LINTi1,通过LINTi1向主机发送INTA#中断请求。

基于PCI总线的加密卡,依照PCI总线标准2.1版,通过动态分配4字节I/O空间,实现主处理器与卡上单片机之间的握手通信。被加密软件通过访问加密卡,获取软件正常执行的相关权限。在加密卡不存在的情况下,被加密软件因得不到相关授权而无法运行,从而实现了加密功能。在单片机的存储器里,除了存放密钥之外,设计者还可以把被加密软件的部分程序、算法或常数写入单片机的存储器,在加密卡不存在的情况下,被加密软件的功能是不完整的,从根本上防止了软件破解。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:1,203.12500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号