原创 DSP与FPGA加电装载程序不同步及解决办法

2010-10-12 23:13 3955 8 9 分类: 处理器与DSP
在DSP+FPGA的嵌入式系统中,通常DSP的程序固化在并行FLASH中,而FPGA的程序(固件)用的是串行FLASH,加电装载程序时,两者的加载速度差别较大。
往往是DSP的程序已加载运行,FPGA还在加载,而FPGA又是整个系统的逻辑控制中心,其程序没有运行会导致整个系统无法正常工作。
为了保证系统中DSP与FPGA同步运行,必须采取相应措施,通常采用如下两种方法:
1、延时法:DSP程序开始运行后,在main最开始位置加一段延时指令,延时长短与程序代码的大小有关,一般延时1~2秒左右。
2、加同步指令:FPGA中往DSP送一个同步命令(如:0x55等),DSP程序运行后,一开始就读FPGA的同步命令,直到读取正确的同步命令为止,此时说明FPGA程序已加载运行。
有一点要注意的是,如果DSP是TI公司的,因其DSP只能用XBUS总线与FPGA相连,读FPGA必须采用DMA方式,而XBUS总线上有DSP的初始配置信息(加上拉/下拉电阻),因此,
同步命令字必须与配置字不同才可以,否则即使FPGA程序未加载运行,DSP也能读到有效同步命令。

文章评论1条评论)

登录后参与讨论

用户377235 2013-11-22 17:37

谢谢,这个帖子很关键。帮助到我了!

用户162793 2008-12-28 22:44

好像 还是不可以啊

用户162793 2008-12-28 22:44

好像 还是不可以啊
相关推荐阅读
用户36690 2014-09-29 09:36
高速LVDS接口信号完整性处理实例
  一、系统介绍 EMCCD相机由图像传感器、驱动电路、FPGA(Spartan-3)、LVDS接口和电源等组成。LVDS输出接口使用2片DS92LV1021,每片实现10bit并行数据到...
用户36690 2014-08-20 13:58
关于Xilinx FPGA JTAG下载时菊花链路中的芯片数量
    当一个系统中含有多片(2片以上)Xilinx FPGA、CPLD或PROM(FLASH)时,可采用单一JTAG口以菊花链(Daisy Chain)形式将所有芯片串联起来实现下载编程...
用户36690 2014-08-12 07:41
NiosII程序编译时出现onchip_mem不够问题及解决方法
    开发Altera Nios II软件可使用Nios II IDE或 Nios II Software Build Tools for Eclipse(即:Nios II SBT f...
用户36690 2014-08-11 15:06
Altera QuartusII及Cyclone IV E使用经验
  1、仅C8L、IC8L、C9L使用1.0V核电压(VCCINT),其它速度的均使用1.2V核电压。 2、对于作为LVDS传输的Bank必须接2.5V的VCCIO,参考数据手册表1-20...
用户36690 2014-08-07 14:35
Nios II IDE 与 Nios II SBT for Eclipse的区别
  1、Nios II IDE即Nios II Integrated Development Environment(Nios II 集成开发环境),Altera网站是这样介绍的: (ht...
用户36690 2014-08-07 14:34
Quratus II中 Nios II 硬件设计工具SOPC Builder与Qsys的区别
  1、 SOPC(System On a Programmable Chip.)即可编程片上系统,SOPC Builder是Quartus II中传统的Nios II 硬件设计工具,可以灵活...
我要评论
1
8
关闭 站长推荐上一条 /2 下一条