TMS320C61416控制FPGA数据加载设计

发布者:haoying最新更新时间:2011-08-19 关键字:FPGA  TMS320C61416  数据加载 手机看文章 扫描二维码
随时随地手机看文章
   

    目前实现加载的方法通常有两种:一种是用专用Cable通过JTAG口进行数据加载,另一种是外挂与该FPGA厂商配套的PROM芯片。前者需要在PC机上运行专用的加载软件,直接下载到FPGA片内,所以掉电数据仍然会丢失,只适用于FPGA调试阶段而不能应用于工业现场的数据加载。后者虽然可以解决数据丢失问题,但这种专用芯片成本较高,供货周期也较长(一般大于2个月),使FPGA产品的开发时间受到很大约束。根据FPGA芯片加载时序分析,本文提出了采用通过市面上常见的Flash ROM芯片替代专用PROM的方式,通过DSP的外部高速总线进行FPGA加载;既节约了系统成本,也能达到FPGA上电迅速加载的目的;特别适用于在FPGA调试后期,待固化程序的阶段。下面以两片Xilinx公司Virtex-4系列XC4VLX60芯片为例,详细介绍采用TI公司的TMS320C61416 DSP控制FPGA芯片数据加载的软硬件设计。

  1 Xilinx FPGA配置原理

  Virtex-4系列的FPGA芯片外部配置引脚MODE PIN(M0、M1、M2),有5种配置模式,如表1所列。

  FPGA在Slave SelectMAP方式下,共用了表2所列的15个配置引脚。

  1.1 配置流程

  FPGA加载时序如图1所示。各配置信号必须满足其时序关系,否则配置工作无法正常完成。

  图1中,Slave SelelctMAP加载主要包括以下3个步骤:

  ①启动和初始化。FPGA上电正常后,通过PROG_B引脚低脉冲进行FPGA异步复位,使得FPGA内部逻辑清零。其次PROG_B上拉高,停止外部复位,INIT_B引脚会在TPOR时间段内自动产生一个由低到高的跳变,指示FPGA内部初始化完成,可以进行数据下载;同时FPGA在INIT_B的上升沿采样其模式引脚MODE PIN,决定其模式配置。

  ②比特流加载。INIT_B信号变高后,不需要额外的等待时间,Virtex器件就可以立即开始数据的配置。比特流数据在外部CCLK信号上升沿按字节方式置入。该过程包括同步初始化字、器件ID号校验、加载配置数据帧、CRC校验4个部分。

  ③STARTUP启动。在成功校验CRC码位后,比特流命令使得FPGA进入STARTUP状态。它是由8相状态机实现的。中间包括等待DCM锁相、DCI匹配等几个状态,最后FPGA释放外部DONE引脚,对外输出高阻态,由外部上拉高,指示FPGA加载成功。

  1.2 文件生成

  ISE生成数据文件主要有3种:BIT文件,由二进制格式进行表征逻辑设计,包括文件头和配置数据,主要用于JTAG下载电缆模式;MCS文件,为外部PROM烧写生成的下载文件,ASCII码,与前者不同的是它含有在PROM中的数据地址和校验值;BIN文件格式,由二进制表示,完全由配置数据组成,不需要作其他的提取和进制转换,只是配置前的Byte-Swapped是在CPLD中实现的。本设计采用的是BIN文件格式。

  2 硬件实现

  系统采用2片Xilinx Virtex-4系列的600万门的FPGA XC4VLX60。主MCU是TI公司高性能定点处理器TMS320C6416,对外有2个EMIF总线接口,分别是64位宽EMIFA和16位宽EMIFB。EMIFB上挂有8位8MB的Flash和16位CPLD:Flash做2片FPGA的BIN文件保存,之前由仿真器烧写;CPLD用于2片FPGA地址译码和DSP与FPGA配置部分的逻辑接口。整个数据流程是在DSP上电启动后,Bootloader自行引导用户程序运行。该程序负责由EMIFB总线搬移Flash空间中BIN文件,通过CPLD分别对2片FPGA进行配置加载。硬件系统拓扑图如图2所示。

TMS320C61416控制FPGA数据加载硬件框图

  3 软件设计

  软件包括3部分:引导Bootloader代码,加载FPGA用户程序以及接口部分的CPLD Verilog代码。

  3.1 DSP Bootloader

  本系统中目标板处于FPGA调试后期,需要固化其加载程序。整板上电后,要求脱离仿真器自行加载FPGA,因此这里采用DSP的EMIF BooT方式。它是由DSP上电复位后,以默认ROM时序通过EDMA自行搬移BCE1的ROM空间前1 KB内容到片内,在其0x0地址开始运行。

  一般由C编写的程序代码长度都远大于1 KB,如果只是纯粹由DSP搬移Flash前1 KB空间,这样便会丢失数据,程序无法正常运行。这里采用由汇编语言写的一个两次搬移的Bootloader程序,来引导较大的用户程序。使用汇编语言是因为其代码效率高,代码长度短(本系统中只有256字节)。两次搬移是因为第一次DSP自行搬移后的Bootloader会占用片内的0x0地址前1 KB空间,与下一步的用户程序0x0地址拷贝冲突(中断向量表必须放在0x0地址,否则会丢失中断跳转的绝对地址),且运行中的Bootloader不能覆盖自身。所以把拷贝用户程序的那部分代码放在片内较底端运行,腾出了用户空间的0x0地址。最后整体拷贝结束后,Bootloader再跳转到用户程序入口地址c_int00运行。

    [page]

 

    3.2 用户程序和CPLD程序

  本系统中2片FPGA加载的原理一样。为避免繁琐,这里以1片FPGA_A为例来作介绍。

  CPLD在系统中负责2项工作。

  ①映射DSP端Flash分页寄存器:控制Flash的高3位地址线,分8页,每页1 MB空间。

  ②映射DSP端2片FPGA的加载寄存器:

  a.配置寄存器FpgaA(B)_config_Reg[8:O]。负责配置数据和时钟,高8位为Byte-Swapped前的数据位,输出到配

  置引脚时进行字节交换,最低位为CCLK位。

  b.控制寄存器FpgaA(B)_Prog_Reg[2:O]。负责外部控制引脚,分别为CS_B、RDWR_B和PROG_B。

  c.状态寄存器FpgaA(B)_State_Reg[2:0]。负责回读配置中的握手信号,分别为BUSY、DONE和INIT_B。

  由Bootloader引导的用户程序由C语言开发,在CCS下调试通过。它主要实现Flash翻页,把之前烧写在Flash中的BIN文件,通过上述CPLD中3个加载寄存器对FPGA进行上电配置。具体流程如图3所示。

TMS320C61416控制FPGA数据加载程序流程图

  当前FPGA配置时钟CCLK是在用户程序中通过DSP写命令产生的,即写FpgaA(B)_Config_Reg的CCLK位高低电平;同时8位配置数据也连续写2次,由CPLD锁存到FPGA总线上,便能充分保证图1中该有效数据在CCLK上升沿上被锁。

  以下是CPLD中动态加载部分的Verilog代码:


  //FPGA控制寄存器(DSP只写)

  结 语

  该系统已成功用于某公司一款软件无线电平台中,通过反复软硬件调试,现已投放市场。此平台不仅可以实现上述提到的上电Flash自行加载FPGA的目的,还可在其配置完以后通过主机端对FPGA实现动态加载,充分满足了软件无线电中可重构化、实时灵活的指导思想。

关键字:FPGA  TMS320C61416  数据加载 引用地址:TMS320C61416控制FPGA数据加载设计

上一篇:JPEG2000中位平面编码的存储优化方案设计
下一篇:DSP实现EAS扫频信号源设计

推荐阅读最新更新时间:2024-05-02 21:32

具有多个电压轨的FPGA和DSP电源设计实例
大多数电子产品由于包含一个或多个FPGA或DSP数字处理芯片而需要提供多个电源轨。在为这些数字IC供电时,有多种方案可以选择,也有许多潜在的陷阱需要避免。在“具有多个电压轨的FPGA和DSP应用的电源设计方法”一文中,作者提出了多电压轨FPGA和DSP应用的电源解决方案,讨论了功率预算和排序选择等在系统水平所关注的问题。本文将着重讨论如何在各种类型的点到负载点(POL)直流/直流转换器之间做出选择,并讨论如何设计这些转换器才能满足直流精度以及启动和暂态要求。 降压直流/直流转换器拓扑的回顾 降压POL直流/直流转换器可以分成两类:线性稳压器和基于电感的开关稳压器。图1显示了线性稳压器的功能图。 线性稳压器的主要优点是芯
[电源管理]
一种基于FPGA的高速误码测试仪的设计
摘要:误码测试仪是检测通信系统可靠性的重要设备。传统的误码测试仪基于CPLD和CPU协同工作,不仅结构复杂,价格昂贵,而且不方便携带。基于FPGA的高速误码测试仪,采用FPGA来完成控制和测试模块的一体化设计,提高了系统功能扩展性和系统的集成度,使得各个功能模块在不改动硬件电路的情况下可以相应变化。在发送端发送m序列作为测试数据,其测试速率最高可达到155 Mh/s。由于将物理层上的各协议层的功能集中到FPGA内部实现,减少了硬件和软件的设计复杂度,并且缩短了系统的开发的周期,具有可升级的特点。 关键词:高速误码测试仪;现场可编程门阵列;Vetilog硬件描述语言;模块图元;仿真;M序列码 误码分析仪作为数字通信系统验收、
[嵌入式]
一种基于<font color='red'>FPGA</font>的高速误码测试仪的设计
ARM、FPGA与可编程模拟电路设计的单芯片技术综合应用
如果世上真的有典型或者通用的嵌入式系统应用,主流半导体公司的产品目录一定会薄很多。现在设计人员不仅要从多种处理器架构中进行选择(大多数嵌入式系统设计都以处理器内核为中心),而且外设、通信端口和模拟功能组合的选择几乎无限。而这正好指出了嵌入式应用的多样性所带来的问题:尽管有如此多的标准端口可供选择,却很少有设计人员能够最终实现单芯片解决方案。他们的选择往往都是微控制器加大量辅助芯片,其中常常包括一些用以提供微控制器所缺乏的特定逻辑功能的可编程逻辑,和作为实际信号接口的模拟IC。 设计人员极少实现单芯片解决方案,原因之一在于他们只能在有限的预定义功能组合中作出选择。其它原因还包括应对设计变化的灵活性:功能与初始规格的匹
[单片机]
ARM、<font color='red'>FPGA</font>与可编程模拟电路设计的单芯片技术综合应用
针对微控制器应用的采用FPGA的嵌入式应用
  当你打开任何智能电子设备(从老式的电视遥控器到全球定位系统),会发现几乎所有的设备都至少采用了一个微控制器(MCU),很多设备里还会有多个微控制器。MCU往往被用于专用的终端产品或设备中,它能够很好地完成特殊任务。另一方面,PC的大脑,即微处理器被设计用于实现许多通用的功能。微控制器可用于降低成本,加固工业和自动化应用,将其嵌入FPGA中时,还可以通过重新编程迅速改变功能。这种灵活性使得单个设备可应用于接口标准不同的多个市场。   在选择微控制器时应考虑哪些因素?本文将主要探讨采用FPGA的嵌入式应用。不过,选择任何微控制器的标准本质上都是相同的。设计者需要考虑下列因素:终端产品的成本是多少?实现设计以及存储控制程序需要多少
[工业控制]
针对微控制器应用的采用<font color='red'>FPGA</font>的嵌入式应用
基于FPGA的LCoS驱动和图像处理系统设计
基于空间光 调制器 的计算全息三维显示技术, 目前常采用透射式 LCD 和反射式LCo S 作为空间 光调制器 , 以改变光经过空间光 调制器 ( SLM) 后的空间相位和振幅分布, 达到对光信息的调制。传统的基于透射式LCD 空间光调制器的计算全息三维显示系统, 其成像光路复杂, 而且必须依赖计算机进行数据发生、采集以及处理, 这就限制了系统应用的灵活性, 不便于推广。   相较于透射式LCD, LCo S 具有光利用率高、体积小、开口率高、器件尺寸小等特点, 可以很容易地实现高 分辨率 和微显示投影。采用彩色LCoS 屏显示基于RGB 的彩色图像, 经过光学成像系统投影到接收屏上,实现计算全息图像的三维显示。   基于FP
[嵌入式]
基于<font color='red'>FPGA</font>的LCoS驱动和图像处理系统设计
Achronix收购FPGA网络解决方案领导者Accolade Technology的关键IP和专长
此次收购增加了先进的SmartNIC FPGA功能,为Achronix客户的网络应用加快上市时间 加利福尼亚州圣克拉拉市,2022年9月19日——高性能现场可编程逻辑门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)领域的领导性企业Achronix半导体公司宣布: 该公司已经收购了Accolade Technology的关键IP资产以及Accolade的技术团队,此举使Achronix的客户能够更快速且更轻松地设计高性能网络和数据中心系统。Accolade在FPGA的网络应用方面拥有深厚的专业知识,此次收购使Achronix能够为开发网络技术的客户提供强大的硬件和软件解决方案。 “如今,芯片设计人员被
[网络通信]
基于ASIC FPGA的IPv6路由器PoS接口设计
  IP over SDH(PoS)技术是通过SDH提供的高速传输通道直接传送IP分组,它位于数据传输骨干网,使用点到点协议PPP将IP数据包映射到SDH帧上,按各次群相应的线速率进行连续传输,其网络主要由大容量的高端路由器经由高速光纤传输通道连接而成。这种技术实际上是对传统IP网络概念的延续,完全兼容传统的IP协议体系,只是在物理通道上借助SDH提供的点到点物理连接,从而使速率提高到Gbit/s量级,因此PoS技术现在和今后都将是非常重要的IP网络传输手段。   155Mbit/s PoS接口是IPv6路由器所提供的一种重要的PoS接口,本文介绍基于PMC公司PM5380型8×155Mbit/s和Xilinx公司VIRTEX -
[嵌入式]
ARM和CPLD以及FPGA的技术特点和区别
在嵌入式开发领域,arm是一款非常受欢迎的微处理器,其市场覆盖率极高,DSP和FPGA则是作为嵌入式开发的协处理器,协助微处理器更好的实现产品功能。那三者的技术特点以及区别是什么呢?下文就此问题略做了总结。 arm(AdvancedRISCMachines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。 ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前arm在
[单片机]
ARM和CPLD以及<font color='red'>FPGA</font>的技术特点和区别
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved