打印

用DSP实现CPLD多方案现场可编程配置

[复制链接]
871|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2019-1-25 13:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用DSP实现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)。它包括一个专用数据头和二进制配置数据, 供下载电缆(BvtcBlastcrMV)对器件进行被动申行配置时使用。在存储器目标文件(*.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位,故可存储数十个配置文件。


3 对CPLD多方案现场可编程配置的实现

  在DSP的控制下,将所需配置方案的配置数据,采用被动串行配置方式完成cPLD的配置。

  3.1 引脚描述与配置时序

  FLExlOK的引脚及功能如下:

  MSELO、MSEL1一配置方式选择端;

  nSTATus一器件的状态输出端,器件配置发生问题时被拉低,漏极开路;

  nCONFIG一配置控制输入端,低电平复位器件,上升沿跳变启动配置,漏极开路;

  CONF一DONE一状态输出端,配置时为低,配置数据接收完毕后释放,漏极开路;

  1NT—DONE一状态指示端,配置时为低,配置数据初始化完成后释放,漏极开路;

  DCLK一配置时钟信号端;

  DATA0——配置数据输入端。

  被动串行配置(PS模式)的时序如图3所示。

  

  图3中关键的时序参数如表1所列。

  


  3.2配置过程描述

  参照被动串行配置时序,DSP控制下CPLD现场配置的实现过程如下所述。

  首先,DSP将一个方案的配置数据从外部数据存储器中读入内部DARAM。然后,在DCONFIG上产生一个由低到高的跳变,使CPLD进入配置状态,等待CPLD释放nSTATUS。nSTATuS变高之后,通过McBSP在时钟(DCLK)上升沿将配置数据逐位送到DATA0上,时钟(DCLK)频率选为10MHz。因为配置要求每字节数据的最低位(LSB)先送出,故在初始化McBSP时,设定发送控制寄存器(XCRl和XCR2),使McBSP工作于8位不扩展传送模式和低位(LsB)先发模式,DMA完成数据从DARAM到McBSP口的直接传送。CPLD接收完所有配置数据(120 000字节)后,会释放CONF_DONE,变成高电平,之后DSP仍须在DCLK上输出脉冲来初始化CPLD器件,直到INT_DONE被释放变成高电平,表示CPLD器件初始化完毕,进入用户状态,配置过程结束。在配置的过程中,没有握手信号。一旦CPLD检测到出错,会将nSTATus拉低,此时会产生DSP外部中断。DSP响应中断后,在nCONFIG上产生一个由低到高的跳变,重新开始配置,或者DSP检测到配置出错,也要强制重新开始配置。

  配置结束后,DSP和CPLD将工作于该方案模式下。当需要进入其它方案模式时,DSP按照需求读入新的配置方案数据,对CPLD重新进行配置。由于DSP的高处理速度(100MIPS)和配置时钟的高频率(10MHz),使得CPLD的配置时间小于20ms,因此可以快速、灵活地实现各配置方案间的现场实时切换。


  结语

  在继电保护测试装置中,要求测试端的输入输出特性随被测试线圈阻抗的变化而改变。CPLD作为测试端的核心器件,基于DSP实现其多方案现场可编程配置,实现了多种类型继电保护装置通用测试器的设计。本设计的思路及方法也适用于其它DSP+CPLD/FPGA或MCU+CPLD/FPGA系统。利用系统中现有的DSP/MCU和大容量通用数据存储器,省去专用的配置PROM,方便灵活地实现对CPLD的现场可编程配置。



相关帖子

沙发
FCCdsp|  楼主 | 2019-1-25 13:12 | 只看该作者
用DSP实现CPLD多方案现场可编程配置

文档1.pdf

178.28 KB

使用特权

评论回复
板凳
gygp| | 2019-2-3 10:45 | 只看该作者
利用小规模逻辑器件译码的方式,已不能满足DSP系统的要求。

使用特权

评论回复
地板
chenci2013| | 2019-2-3 10:45 | 只看该作者
DSP通过xintf总线与cpld或者fpga进行通信

使用特权

评论回复
5
biechedan| | 2019-2-3 10:46 | 只看该作者
用DSP实现算法和多方案的配置,用CPLD进行实时检测和控制,是一种较好的独立运行模式。

使用特权

评论回复
6
wangdezhi| | 2019-2-3 10:46 | 只看该作者
怎么编写DSP访问外部RAM的程序。

使用特权

评论回复
7
isseed| | 2019-2-3 10:46 | 只看该作者
CPLD和FPGA在使用上基本没有区别?

使用特权

评论回复
8
xietingfeng| | 2019-2-3 10:47 | 只看该作者
采用CPLD实现DSP的外围电路控制

使用特权

评论回复
9
suzhanhua| | 2019-2-3 10:47 | 只看该作者
通过CPLD实现接口         

使用特权

评论回复
10
mituzu| | 2019-2-3 10:47 | 只看该作者
采用被动串行配置方式完成cPLD的配置。

使用特权

评论回复
11
hellosdc| | 2019-2-3 10:48 | 只看该作者
CPLD是复杂可变成逻辑器件的简称。

使用特权

评论回复
12
uiint| | 2019-2-3 10:49 | 只看该作者
FPGA+DSP构架               

使用特权

评论回复
13
isseed| | 2019-2-3 10:49 | 只看该作者
以DSP+CPLD为基础的数控系统平台

使用特权

评论回复
14
gygp| | 2019-2-3 10:49 | 只看该作者
,DSP系统中也经常需要外部快速部件的配合

使用特权

评论回复
15
wangdezhi| | 2019-2-3 10:49 | 只看该作者
,用CPLD接收DSP的控制信号,完成DSP对NandFlash的读写控制.

使用特权

评论回复
16
chenci2013| | 2019-2-3 10:49 | 只看该作者
之前做过dsp28335与cpld通信      

使用特权

评论回复
17
biechedan| | 2019-2-3 10:49 | 只看该作者
DSP+CPLD配置问题不容易。

使用特权

评论回复
18
uiint| | 2019-2-3 10:49 | 只看该作者
做了一段时间的DSP+FPGA架构板卡了

使用特权

评论回复
19
hellosdc| | 2019-2-3 10:49 | 只看该作者
FPGA可以用软件方式实现DSP和MCU

使用特权

评论回复
20
mituzu| | 2019-2-3 10:49 | 只看该作者
基于DSP和CPLD的硬件方案充分发挥了DSP芯片实时高效的处理能力

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝