XC9500系列CPLD遥控编程的实现
扫描二维码
随时随地手机看文章
测温结果数据比较
1 XC9500系列CPLD器件及其ISP性能
XC9500系列CPLD器件是由多个功能块(FB)和IO块(IOB)组成,可用开关矩阵Fast CONNECT完全互连的子系统,IOB提供输入和输出的缓冲,每个FB提供具有36个输入和18个输出的可编程逻辑容量。Fast CONNECT开关矩阵连接所有的FB的输出和FB的输入,对于每个FB,12至18个(取决于封装的引脚数)输出和有关的输出使能信号直接驱动IOB。
所有XC9500系列CPLD器件都是系统内编程的,最小达一万次编程/擦除次数,支持扩充的IEEE 1149.1边界扫描标准,XC9500的结构特性着重满足系统内编程的要求,增强的引脚锁定能力可以避免重做昂贵的印制板,扩充的JTAG指令集允许编程模式和系统内诊断的各种控制。由于JTAG在其权限内把ISP的性能扩充到1149.1的测试标准中,XC9500系列CPLD器件可以通过JTAG接口实现ISP性能。XC9500系列的系统内编程性能,不仅为现场编程和调试提供了方便,允许用户编程和再编程已经安装在系统印制板上的XC9500系列器件来改进样机、更新制造流程;而且正是由于系统内编程性能使得摇控编程成为可能。下面对XC9500系列CPLD器件摇控编程的实现方法做一介绍。
2 XC9500系列CPLD器件遥控编程的实现方法
对CPLD器件的编程,传统的方法都是现场工程师通过PC机来实现的,PC机上必须有EZTag或者JTAG编程器软件,并且PC机必须通过 Xchecker或JTAG电缆和目标板相连,然后将JEDEC编程数据下载到目标板的CPLD器件中去。这种传统的编程方法要求工程师必须亲临现场,这就带来一个问题,那就是当产品销售以后,如果要对它升级(主要是指升级CPLD器件的功能)就十分麻烦。本文所要介绍的遥控编程不同于传统的编程方法,它不需要工程师亲临现场,只需在系统设计时将编程控制电路加入到嵌入式系统中去即可实现。
遥控编程的方框图如图1所示。要实现遥控编程,关键在于通信和嵌入式下载技术。通信部分包括通信接口和通信信道,它完成远程数据传输,即将本地PC 机生成的CPLD器件编程数据传输到远程的目标系统的嵌入式下载模块(即图中所示的“微控制器及嵌入式编程控制”部分);嵌入式下载技术是指用微控制器通过JTAG接口实现对XC9500系列CPLD器件编程。通信可采用现有的各种通信技术,例如通过电话线用调制解调器实现通信以及通过电缆、激光和无线电等实现通信,在本文对通信的实现不做过多的介绍,下面只以简单的红外收发器为例加以说明,重点介绍微控制器及嵌入式编程控制的软硬件实现。
3 微控制器及嵌入式编程控制的实现
3.1 硬件设计
微控制器及嵌入式编程控制硬件电路如图2所示,由微控制器lntel 8031、时钟、地址锁存器74ls373、程序存储器27512、数据存储器RAM(包括XSVF格式数据存储器)、XC95108及数据输入接口等几部分组成。图中8031不仅可用来对CPLD进行编程控制,而且还可实现其它控制和处理,因为设计中使用了一片XSVF(Xilinx Serial Vector Format格式数据存储器,在XC95108的控制下可以在后台实现数据通信,并将XSVF格式数据存储到XSVM RAM中,当数据接收完毕时再中断微控制器,在微控制器的中断服务子程序中通过JTAG接口实现对目标CPLD器件编程。从图中可见,除了 XC95108、数据输入和XSVF RAM部分外,其它部分和常见的8031应用系统一样,这里不再赘述,下面主要讲述数据输入和XC95108的内部功能。