欢迎来到天天文库
浏览记录
ID:5369954
大小:237.35 KB
页数:10页
时间:2017-12-08
《esam嵌入式安全保密模块用户指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ESAM嵌入式安全保密模块用户指南为了使SEED-DEC5502具有更好的保密措施,防止用户的软件被盗版,在SEED-DEC5502中采用握奇公司提供的ESAM嵌入式安全保密认证模块。该ESAM模块的硬件平台是西门子公司提供的SLE4480,它具有如下的特征:微处理器:8位保密控制器RAM:256字节EEPROM:8K,寿命为500.000次擦写时间:擦写1/2/4/8/16字节需要5.28/5.31/5.38/5.52/5.8毫秒数据保存时间:10年工作电压:2.7∽5.5V,缺省为5V工作电流:小
2、于10mA工作温度:-25∽+70摄氏度通信速率:9600bps通信协议:T=0(异步半双工字符传送);t=1(异步半双工块传输)。默认为t=0命令报文数据域长度:小于178个字节本用户指南介绍了在SEED-DEC5502系统中利用ESAM卡成功实现版权保护的硬件设计和时序、安全保密实施方案、SCTools读写器使用、ESAM接口函数及DES和MAC算法实现函数。具体介绍如下:1.ESAM与DSP的连接和时序1.1ESAM卡的硬件设计SEED-DEC5502系统中ESAM卡的硬件设计如下图所示:RST
3、DEC5502KEYIOCLK硬件设计说明如下:其中RST由系SEED-DEC5502系统内的CPLD给出,VC5502可以通过EMIF来访问CPLD,使RST为高或低,完成复位的过程。VC5502的UART在CPLD的控制下完成数据的双向传送。其过程如下:1、SYSCNTL1的UARTSEL位置1。使VC5502的UART指向ESAM卡。2、将SYSCNTL2的KEYEN位置1,使VC5502的串口与ESAM相连接。3、当通过UART读ESAM卡时,将KEYDIR置高。4、当通过UART写ESAM卡
4、时,将KEYDIR置低。CLK是由SCY22381给出,其频率为3.57MHz。1.2ESAM卡的时序说明一、ESAM卡的上电复位时序1、冷复位按照图1所示,在Ta时间对CLK加时钟信号。I/O线路应在时钟信号加于CLK的200个时钟周期(ta)内被卡置于状态Z(ta时间在Ta之后)。时钟加于CLK后,保持RST为状态L,至少400周期(tb)内卡复位(tb在Ta之后)。VCCVPPtbRSTCLKtatc未定义I/OTa应答ta≤200/f400/fTb≤tb400/f≤tc≤40000/f图1激活
5、和冷复位在时间Tb,RST被置于状态H。I/O上的应答应在RST上信号的上升沿之后的400~40000个时钟周期(tc)内开始(tc在Tb之后)。在RST处于状态H的情况下,如果应答信号在40000个时钟周期内仍未开始,RST上的信号将返回到状态L,且电路被接口设备释放。注:1、假定卡的内部状态在冷复位前不定,这样卡的设计必须避免不适当的操作。2、卡的复位可以由接口设备在任意时间随意启动。2、热复位按照图2所示,当VCC和CLK保持稳定时,接口设备置RST为状态L至少400时钟周期(时间te)后,接口
6、设备启动热复位。VCCVPPteRSTCLKtdtf未定义TcTd应答I/Otd≤200/f400/f≤te400/f≤tf≤40000/f图2热启动在时间Td,RST置于状态H。I/O的应答在RST上信号上升沿之后的400~40000个时钟周期(tf)之前开始(时间tf在Td之后)。在RST处于状态H时,如果应答信号未在40000个周期之后开始,RST上的信号将返回状态L,且电路接口设备释放。3、本设计ESAM复位时序的实现首先通过设置系统控制寄存器2(SYSCNTL2)的KEY_RST位为0,并且
7、将系统控制寄存器1(SYSCNTL1)的keyen位设为1,keydir位设为0。此时VC5502的片上UART连接到ESAM卡上,并且ESAM卡的I/O端设为输出,准备从ESAM卡接收复位应答信号;然后通过一个延时程序延时大约600个时钟周期,满足复位时序的要求(复位时序要求至少是400个时钟周期);当延时结束时,将系统控制寄存器2(SYSCNTL2)的KEY_RST位设为1,脱离复位状态;最后把VC5502的片上UART设为等待接收方式,即当UART的线状态寄存器的数据就绪位DR为1时,接收数据,
8、否则等待,这样直到接收到指定接收的数据个数为止。二、ESAM卡的发送和接收时序ESAM卡支持两种通信协议:T=0,异步半双工字符传输协议;T=1,异步半双工块传输协议。默认的是T=0协议,波特率是9600bps,偶校验方式。可以通过读ESAM复位后所取得的反馈信息来判断目前ESAM使用的是那个通信协议,如果使用T=1协议,可以通过读写器将T=1协议改为T=0协议。鉴于上述考虑,本指南中的所有ESAM接口函数都是基于T=0协议设计,并不支持T=1协议。1、
此文档下载收益归作者所有