20世纪70年代,最早的可编程逻辑器件--PLD诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补PLD只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件--CPLD.
在继电保护测试装置中, 既有复杂的算法, 又涉及多种检测与控制方案。用DSP实现算法和多方案的配置,用CPLD进行实时检测和控制,是一种较好的独立运行模式。一般CPLD的配置依靠专用配置PROM或下载电缆来完成。本文介绍基于DSP的CPLD多方案现场可编程配置方法。
1 总体描述
系统中的DSP采用TI公司的定点数字信号处理器TMS320C5402.它采用4总线4级流水线的增强型哈佛结构,处理速度为100MIPS;具有片内4K×16位的ROM和16K×16位的DARAM, 2个多通道缓冲串行口(McBSP),1个直接存储控制器(DMA)等片内外围电路;外部可扩展至1M×16位存储空间,芯片采用3.3V电源电压。
TMS320C5402的多通道缓冲串行口(mulTI-channel buffercd scrial port)具备标准串行口的所有功能,可设定收发数据格式(8位~32位);在8位不扩展模式下,可选择高位(MSB)先送或低位(LSB)先送。直接存储控制器(DMA)可以实现数据在串行口McBSP和内部DARAM间的直接交换, 提高工作效率, 节省运行时间。
CPLD采用Altera公司FLEX10K系列的EPFl0KIOA7C144-1.可用资源有576个逻辑单元(LE)、72个逻辑阵列块(LAB)、3个嵌入式阵列块(EAB)和102个I/O引脚,电源电压为3.3V.
FLEX1OK的配置由Altera的专用串行配置PROM(EPCI)或系统控制器提供的数据宋完成,也由编程硬件通过下载电缆(BytcBlastcrMV)进行在线配置。依据控制配置过程的器件不同, 可将配置分为主动配置和被动配置两类;依据配置数据流的格式不同, 可将配置分为串行配置和并行配置两类。本文采用的是在微处理器控制下的被动串行配置(passivc serial)模式。配置连接示意如图1所示。
其中,DSP的XF作为输出控制CPLD的nCONFIG,INTO和INT1作为输入监控CPLD的nSTATUS和1NT DONE,缓冲串行口的BCLKX0和BDX0分别接CPLD的DCLK和DATA0,BCLKR0 作为输入端检测CONF DONE的信号。TMS320C5402和EPFl0KIOATC144-1都采用3.3V电源电压。
2 配置数据的获取和存储
对CPLD的配置设计完成以后,MAX+PLUS II的编译器在编译过程中自动产生一个存储器目标文件(*.sof)。在存储器目标文件(*.sof)的基础上,可以生成其它类型配置文件。我们所用到的是十六进制文件(*.hex),是ASCII形式的配置数据文件。使用MAX+PLUSII生成十六进制文图2十六进制文件(*.hex)的生成过程件(*hex)的过程,如图2所示。
①完成编译之后,从"FILE"菜单中选择"ConvertSRAM Object Files|…"(图中a);
②选择相应的配置文件*.sof(图中b);
③设定输出文件格式为。hex(图中c);
④选择对应输出文件·。hex(图中d);
⑤点击"OK"确认(图中e)。
然后,在MAx+PLUSII环境下打开生成的十六进制文件(*.hex),便可获取到ASCIl格式的配置数据。将配置数据通过DSP的开发软件转化成二进制数据,通过DSP存入其外部大容量数据存储器(flash memory)中。
EPF10K10ATCl44_1的二进制配置数据大小约为120000位,即14.6KB.TMS320C5402的内部DARAM为16K×16位,外部存储空间为lM×1 6位,故可存储数十个配置文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)