导航计算机系统中CPLD配置软件串口更新研究
JTAG标准定义了4个基本单元:测试访问端口TAP(Test Access Port)、数据寄存器、指令寄存器和TAP控制器。TAP端口包含了4个JTAG信号:测试时钟输入引脚TCK,测试数据输入引脚TDI,测试数据输出引脚TDO和测试模式选择引脚TMS。数据寄存器主要包含2种:BYPASS寄存器和BSR(Botlndary Scan Register)寄存器,其中BSR由BSC(Botmdary Scan Cell)串联而成,正是通过BSC扫描链电路,来自于TDI上的CPLD配置信息便可移入到芯片内部,从而实现对器件的擦除与编程功能。TAP控制器其实是一个包含16个状态的状态机,它控制着测试访问口、指令寄存器和数据寄存器。TAP控制器状态转换图如图2所示。
TAP控制器的状态由TMS和TCK两信号控制。当需要将TDI上的数据移到指令寄存器中时,可使TAP控制器进入Shift-IR状态;当需要将TDI上的数据移到数据寄存器中时,可使其进入Shift-DR状态。通过TAP控制器的状态转换,可将CPLD的配置信息移入到其内部逻辑中。
在基于PC的编程方法中,CPLD的配置信息文件存储在PC里,在PC中运行的下载软件不断读取器件的配置信息,并通过其并行接口模拟JTAG测试端口的时序和逻辑,从而实现其软件更新和下载。本文将采用导航计算机系统中的DSP来实现这种编程方法:CPLD的配置文件通过DSP的UART串行口发送给导航计算机系统,然后由DSP解析并执行配置文件中的指令,通过DSP的I/O口模拟JTAG端口信号行为,来实现对CPLD器件软件更新的功能。基于这种方案可以实现采用普通的串行口方便地对CPLD进行远端编程和更新。
2 CPLD的JTAG接口编程的硬件设计
为实现本文提出的导航计算机系统中基于DSP的CPLD器件软件更新串行方案,首先需要在硬件方面解决如下3个问题:
(1)导航计算机系统所用DSP至少要有4个空余的I/O口,分别用于模拟CPLD的4个JTAG信号时序信号。
(2)导航计算机系统必须包含支持一个UART通信接口,用于接收CPLD的配置文件。此UART接口不能由CPLD参与控制,以避免CPLD某次编程失败后,该UART通信口不再可用的问题。
(3)导航计算机系统应保证足够的CPLD配置信息文件需要的存储空间。
本文所用DSP为TI公司的TMS320C6713B芯片,该款DSP支持16个通用输入输出口(GPIO)。在本导航计算机系统中,有12个GPIO口已被占用,多余的4个GPIO口可用来连接CPLD的4个JTAG信号引脚。
TMS320C6713B本身并不支持包含UART通信接口,其片上外设中包含2个多通道缓冲串行接口(McBSP),McBSP接口支持全双工串行通信,只是收发数据需要独立的收发帧同步信号。根据TI公司提供的应用技术报告,经过对软件或硬件进行改造设计,McBSP接口可以支持UART通信标准。软件修改方法是通过将McBSP接口配置成通用I/O接口来模拟UART时序;硬件修改方法是将McBSP接口配置在串行口模式,McBSP接口中接收帧同步信号FSR来自于UART的发送数据线Tx,在检测到Tx的下跳沿时,McBSP内部开始采样接收数据,之后Tx的下跳沿将被忽略直至下一个字节的起始位再次触发内部帧接收新的数据;发送帧同步信号FSR由McBSP电路在发送UART数据起始位时产生。本文采用硬件修改和过采样软件措施,将一个多通道缓冲串行接口McBSP0设计成了支持UART通信标准的接口。
本导航计算机系统使用的CPLD配置信息文件是串行矢量格式(SVF),可以在Xilinx软件开发平台ISE上生成。SVF是一种用来描述IEEE 1149.1(JTAG)总线操作的规范,包含了编程需要的指令和数据,描述了TAP测试访问端口状态图中各状态之间的扫描操作过程和行为。由于SVF文件是ASCII格式,所以占用的存储空间比较大,可以将其转换为一种更简洁和紧凑的二进制格式:XSVF文件。对于本系统所用CPLD器件而言,仅对其进行编程操作时,XSVF文件大小为129 720 B,加上擦除和校验操作后,XSVF文件大小为259 533 B。根据上述分析,本文设计的嵌入式导航计算机系统中通过UART接口对CPLD器件进行在系统软件更新的硬件电路结构如图3所示。本文引用地址:https://www.eepw.com.cn/article/202351.htm
图3中,UART通信口由DSP片上多通道缓冲串行口McBSP0实现。为了存储通过UART口接收到的包含CPLD配置信息的XSVF文件,本系统外扩了一片512 kB的SRAM。FLASH芯片用来存储导航计算机系统升级固件和应用程序。CPLD的JTAG口直接与DSP空闲的4个GPIO口相连,为了提高CPLD器件编程的灵活性,在本系统中保留了连接PC机并口的CPLD程序下载接口。
评论