DSP与FPGA加电装载程序不同步及解决办法
时间:12-05 14:29 阅读:805次
*温馨提示:点击图片可以放大观看高清大图
简介:在DSP+FPGA的嵌入式系统中,通常DSP的程序固化在并行FLASH中,而FPGA的程序(固件)用的是串行FLASH,加电装载程序时,两者的加载速度差别较大。
往往是DSP的程序已加载运行,FPGA还在加载,而FPGA又是整个系统的逻辑控制中心,其程序没有运行会导致整个系统无法正常工作。
为了保证系统中DSP与FPGA同步运行,必须采取相应措施。
在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也能读到有效同步命令。