原创 【博客大赛】原创 --FPGA与DSP通信

2012-3-31 22:07 5850 8 10 分类: FPGA/CPLD

 

由于近年来FPGA的功能越来越强大,不仅集成了大量片内存储器,而且还有大量的DSP资源。现在很少看到FPGA和DSP搭建的系统了。不过最近做了一个DSP和FPGA搭建的系统。记录一下吧。

DSP为TI C6000系列TMS320C6713,FPGA为Cyclone IV系列的FPGA。

实验目的:实现DSP和FPGA的通讯。

功能:首先FPGA向DSP写入一组递增数据,DSP接收到15个数据后,把这15个数据进行加一处理,处理完毕后写回到FPGA

FPGA内部有两个FIFO口,一个用来向DSP发送数据,一个用来接收DSP发送回来的数据。同时设置串口程序,把接收回来的数据发送到上位机,用来验证接收回来是否正确。

FPGA通过定时器,以一定的时间间隔连续的向DSP发送触发信号,DSP接收到触发信号,开始接收数据,接收完后进行加一处理后向FPGA发送回来

DSP接收数据,处理数据,数据发送回来加起来的时间小于FPGA时间间隔时间。

 DSP工作过程:

DPS与FPGA通过DSP的EMIF总线连接。发送和接收接口分别为EMIF的CE2,CE3存储空间,由于FPGA内部为FIFO,所以对于时序要求并不严格。

DSP对接收到FPGA数据进行处理程序是在EDMA的中断程序中执行的。过程如下:

  1. 配置EDMA通道4选通为外部触发,接收FPGA送过来的触发信号。
  2. 接收到FPGA发送过来的触发信号后,通道4把EMIF的CE2存储空间的数据转移到内部数组。
  3. 转移完毕后,进入EDAM中断,在中断程序中,进行数据处理,处理完毕后触发EDMA通道11事件,把数据完毕后的数据发送回FPGA。

 FPGA工作过程:

  1. 首先配置两个FIFO模块。一个用来写数据到DSP—w_fifo,一个用来读出DSP数据—r_fifo。
  2. 向w_fifo写入一组连续的数据。
  3. 触发DSP去读。
  4. 检查r_fifo是否有数据,有数据就读出来
  5. 把读到的数据送至上位机。

文章评论2条评论)

登录后参与讨论

用户377235 2014-3-25 06:18

写的非常好

用户425250 2013-6-25 18:43

写的很好,看着很受用,最近我也在做这个,不太懂,菜鸟级别的。希望能够指导直到。。。
相关推荐阅读
用户1563832 2012-04-12 09:18
【博客大赛】原创—同步SRAM读写时序约束分析
                                            同步SRAM读写时序约束分析         SRAM有多种类型,包...
用户1563832 2012-03-19 11:18
呵呵,一个惊喜
刚刚开通博客,点进EDN博客首页,既然上首页了,哈哈...
我要评论
2
8
关闭 站长推荐上一条 /2 下一条