注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
sunsunny的个人空间 https://home.eeworld.com.cn/space-uid-395380.html [收藏] [复制] [分享] [RSS]
日志

FPGA与DSP通信

已有 2900 次阅读2012-4-6 15:28


      由于近年来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. 把读到的数据送至上位机。
发表评论 评论 (1 个评论)
回复 hitszjia 2012-6-22 19:10
能发个fpga和DSP的源代码学习下不?thank you!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章