基于TMS320VC5410的DES加密系统设计
2 系统硬件设计
结合运算速度,外设接口以及性价比等方面的考虑,选用TI公司TMS320VC54x系列16位定点TMS320VC5410型DSP作为实现DES加密的硬件平台。它具有较低的功耗与杰出的性能,时钟最高频率可以达到100 MHz。另外,TMS320VC5410片上提供了3个可以设置为GPIO接口的多通道缓冲串口(McBSP),这对外围设备接口子系统的设计至关重要。系统中除TMS320VC5410基本的工作外围电路如电源晶振模块、Flash模块和JT-AG接口模块以外,还主要包括以下2部分:1)TMS320VC541O与SLE5542型IC卡片的接口模块,主要用于系统工作时IC卡向DSP传送用于数据加密的密钥和卡片存储的其他一些用户信息;2)DSP与PC主机的通信接口模块,它是DSP与个人电脑的通信接口,主要用于DSP接收明文数据以及将加密后的数据反馈至PC机。
2.1 McBSP简介
TMS320VC5410片内包含了3个全双工的多通道缓冲串口(Multichannel Buffered Serial Ports,McBSP),分别为McBSP0、McBSPI和McB-SP2。它们可以提供全双工通信、连续数据流的双缓冲数据寄存器、接收和发送独立的帧和时钟,可以直接和系统中的其他器件接口连接并可以配置为通用IO口。McBSP与外设的数据交换,通过DX引脚发送,RX引脚接收。通信的时钟与帧信号由CLKX、CLKR、FSX及FSR引脚来控制。T-MS320VC5410对McBSP的控制由2个16 bit的串口控制寄存器(SPCR[1,2])和引脚控制寄存器(PCR)来实现。DSP的CPU或DMA从数据接收寄存器(DRR [1,2])读取接收数据;发送时,向数据发送寄存器(DXR[1,2])写数据,数据写入后通过传输移位寄存器(XSR[1,2]),移位输出到DX 上。同样,从DR上接收的数据,移位存储到接收移位寄存器(RSR[1,2]),并复制到接收缓存寄存器(RBR[1,2])。然后,再由 (RBR[1,2])复制到DRR[1,2]。DRR[1,2]可以由CPU或DMA读出。
2.2 DSP与IC卡连接模块
选用西门子公司SLE5542型卡片,其引脚定义和功能说明如表1所示。它是一种按字节操作的多存储器逻辑加密卡,应答复位符合ISO78 16-3标准。该型卡片内置了3个存储器:32×1 bit的PROM型保护存储器、256×1 bit的EEPROM型主存储器以及32x1 bit的EEPROM型加密存储器。主存储器可重复擦除使用,按字节操作,并分为保护数据区和应用数据区,读出均不受限制,但应用数据区的擦除和写入则受加密存储器中的密码及密码计数器保护。

为了提高硬件的利用率和解决DSP片上通用IO口较少的问题,本系统设计将MeBSPI配置为通过IO口实现其与IC卡片通信的模块。由于McB-SP引脚中的DX只能配置用作通用输出脚,DR只能配置用作通用输入脚,不方便程序编写对引脚状态控制。所以在DSP对卡片读写的硬件电路中选择了MeBSP1 的FSR1、CLKR1、CLKX1、和FSX1这4个引脚,它们均可以通过16位的引脚控制寄存器(PCR)配置为通用I/O引脚。FSR1引脚通过 CD4066开关电源芯片来控制SLE5542卡片的上电与掉电;由CLKR1连接卡片的RST触点,卡片复位时改变引脚的高低电平状态;CLKX1引脚与IC卡片的时钟触点CLK相连,该引脚状态的高低变化为卡片正常工作提供时钟信号;FSX1连接卡片数据I/O触点,负责DSP与IC卡片之间读写命令字和用户有用数据的传送。注意CLKX1和FSX1引脚要接上拉电阻,且FSX1配置的输入或输出状态要根据DSP与IC卡之间数据流向而定。
为了使McBSP1的相关引脚工作在系统需求的通用I/O状态,首先需要将该串口的控制寄存器SPCR1中的RRST位和SPCR2中的XRST位均设置为‘O’,使串口复位,串口操作禁止。然后设置引脚控制寄存器PCR中的XIOEN和RIOEN为‘1’,使串口的接收和发送引脚均工作在通用I/0模式;另外将FSRM、CLKXM和CLKRM位均设置为‘1’,使FSR1、CLKX和CLXR引脚作为通用输出管脚,将要输出的值分别存储在PCR中的FSRP位、CLKXP和CLKRP;对于FSXM位的设置,则需要根据通信时的具体情况而定。
评论