新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于TMS320VC5410的DES加密系统设计

基于TMS320VC5410的DES加密系统设计

作者: 时间:2010-12-13 来源:网络 收藏

2.3 与PC通信模块设计
系统设计中选择了McBSP0作为TMS320VC5410从外界PC机接收明文数据和输出密文的通道,直接通过PC机的RS232异步串口与TMS320VC54 10之间进行加密解密数据的传送。这种方法通过软件实现PC机与之间的串行双工通信,它的硬件设计简单且不会过多占用CPU的时间,
可以实现数据的高速传输。
RS232异步串口采用负逻辑传送数据,以10 V电压状态表示数据‘O’,-10 V电压状态表示数据‘1’;而的IO口则以3.3 V表示高电平‘1’状态或者无数据传送,以0 V表示低电平‘O’状态。因此为了使TMS320VC54lO的多通道缓冲串口与RS232接口进行通信,需要电平转换电路,本文使用了MAXIM公司MAX232电平转换器,如图3所示。
d.JPG


3 系统软件设计
选用TI公司CCS(Code Composer Studio)作为该加密系统软件设计时的开发和调试工具,使用C语言和汇编混合编程的模式完成软件设计。由于C语言编程具有便于阅读、维护、交流和可移植性好的特点,因此采用C语言完成整个程序的主框架设计,在对时间要求比较苛刻的地方或对代码运行效率有较大影响的场合采用汇编指令编写。
3.1 DSP读IC卡软件实现
3.1.1 McBSP1串口配置
当把卡片插入卡座时,状态开关选通,并且电路板上提示灯亮表示插卡到位,DSP内存中的读卡状态标志位设置为‘1’。TMS320VC5410开始初始化 McBSP1,使其工作在通用IO口状态,采用子地址寻址的方式对SPCR11(映射地址为0049h,子地址为00h)、SPCR12(子地址为 01h)和PCR1(子地址为0Eh)等寄存器进行配置。配置代码如下:
SPCR11=0x0000;
SPCR12=0x0000;
PCR1=0x3F00;
此时FSR1、FSX1、CLKR1和CLKX1均用作通用输出管脚。把PCR中的FSRP位设置为‘O’,PCR1&=0xFFFB;则卡片Voc触点电平为低,卡片处于掉电状态;通过语句PCR1l=0x0004把FSR1引脚置高电平给卡片上电。
由于DSP的FSX1引脚与卡片的数据I/O触点相连,要求FSX1引脚具有双向传输的功能,但该引脚在同一时刻只能处于输入或输出一种状态,为此定义了以下两个宏实现引脚在输入与输出状态的改变。

3.1.2 复位与复位应答
DSP检测到读卡状态位为‘1’时,给卡片上电,CLK(和RST保留于状态L,开始运行读卡程序将卡中存储的密钥读取至内存中。首先按照 ISO7816-3标准对SLE5542卡片进行应答复位,复位可以发生在操作过程的任意时刻。之后,RST线被置于H状态,并维持至少15μs。在 RST状态由高电平到低电平的转换期间CLK提供一个时钟脉冲,卡片内的地址计数器(address counter)清零,I/O引脚输出有效数据的第1位,这一数据可视为复位应答;在此后连续31个时钟脉冲的作用下,主存储器中的前4个地址中的32位标头数据被读出;下一个时钟脉冲使I/O引脚变为高阻状态;此时卡片复位与复位应答完成。
3.1.3 DSP读卡主程序设计
图4为DSP读IC卡主程序设计。卡片复位应答之后,则处于等待指令输入的状态。SLE5542每个指令均由控制字节、地址字节和数据字节组成,传输时从控制字节的最低位开始。控制字节传送完毕之后,依次传送地址字节和数据字节,均为低位在前。每个指令的传输都开始于一个Start条件 (在时钟信号为高电平状态,通过DSP发送卡片IO口一个下降沿),结束于Stop条件(在时钟信号为高电平状态,通过DSP发送卡片IO口一个上升沿)。根据指令作用的不同。SLE5542接收完成后可能处于数据输出模式(DSP读卡)或者内部处理模式(DSP写卡)。

e.JPG


关键词: DSP

评论


相关推荐

技术专区

关闭