首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» DSP EMIF与FPGA双口RAM高速通信实现(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
DSP EMIF与FPGA双口RAM高速通信实现(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-12-23 15:27
|
只看该作者
DSP EMIF与FPGA双口RAM高速通信实现(2)
通信
,
空间
3 数据高速传输的实现机制
为了达到数据在DSP和FPGA之间高速传输的目的,采取了下面的通信机制,首先在上文中配置的FPGA内部双口RAM中,将双口RAM中的 存储空间分成两个部分,首先说一下两块存储区的用途,第一块存储区用于FPGA向里面写数据,DSP从里面读出数据,第二块存储区用于DSP向里面写入数 据,FPAG从里面读出数据。根据这两种传输方式所要传的数据量要固定这两块存储区的大小和地址,DSP和FPGA每次访问固定的地址和长度的存储区。
图3展示了数据由FPGA写入双口RAM内部存储区一,经EMIF接口传输到DSP内部进行处理,DSP将处理的结果经EMIF接口写入到双口RAM内部的存储区二,FPGA从存储区二读出处理结果的流程框图。
上面介绍了数据传输的流向,下面说明如何实现DSP和FPGA在对共享存储器进行操作时的配合。首先FPGA接收外来的图像数据,存储于 FPGA内部的双口RAM的存储区一内,当存储区一中的内容存满时,FGPA停止向存储区一写入数据,FPGA内部逻辑电路产生信号,向DSP模块申请中 断,DSP响应中断请求,通过EMIF接口从存储区一中读出存入的图像数据并处理,图像数据处理完后,DSP将处理完后的结果数据存入存储区二中,结果数 据存入完成后DSP通过中断模块产生信号,通知FPGA读出结果数据并输出。
通过上面的过程数据在DSP和FPGA中不仅能快速的传输,也能在DSP中实现数据的快速处理。这种方式能有效的结合DSP和FPGA两者的优势,以达到最好的信号传输与处理的效果,在单位时间内能处理的数据量更大以及数据的快速传输。
4 FPGA与DSP之间通信实现与应用
该设计适合应用在图像传输与处理要求实时性较高的场合,比起以往的实时算法都需要多块DSP串行或并行工作,以提高系统的运行速度和实时性, 而采用DSP+FPGA的双口RAM构成的数据接口可以实现在DSP和FPAG之间高速而又可靠的信息数据传输,在许多信号采集处理领域,FPGA技术已 代替DSP实现许多前端的数字信号的采集与处理,用FPGA来实现数字信号处理很好的解决了DSP之间的并行问题,也满足速度要求,并且FPGA有着灵活 可配置的特性,使得FPGA构成的数字信号处理系统易于修改,测试,便于升级,降低设计成本,开发周期短。
设计一块信号处理板,该信号处理板从前端数据采集板采集到图像数据,图像每帧大小为640×512,100 f/s,所以该信号处理板要处理和传输的数据量很大,采用FPGA+DSP方案,有效的解决了该问题。信号处理板接收到图像数据后对图像数据进行处理,并 将处理完的结果传与主控板。该系统的结构框图如图4所示。信号处理板上的FPGA负责接收从前端传来的图像数据,FPGA将接收到的图像数据存储在 FPGA内部的双口RAM中,同时FPGA也负责从RAM中读出DSP图像处理的结果;DSP主要负责图像数据的处理,处理前DSP通过EMIF接口从双 口RAM中读出图像数据并处理,将处理后的结果通过EMIF接口存储在FPGA内部的RAM中。
为验证两者之间通信的正确性,用Xilinx公司的ISE软件的仿真功能获取FPGA端的数据,DSP端的数据通过DSP的开发坏境CCS的 功能显示出来。FPGA写入双口RAM中的数据的仿真图如图5所示,写入的数据为0~63,从仿真的结果看,写入的数据没有错误,DSP从双口RAM中读 出的数据如图6所示,从读出的数据可以看出,FPGA写入的数据和DSP读出的数据一致,DSP写入与读出数据图如图7所示,其中的地址空间为 0xc0000000~0xc000007f中的数据为DSP写入的数据,而地址空间为0xc0000080~0xc00000ff中的数据为经FPGA 从地址空间为0xc0000000~0xc000007f中读出数据后又写入到地址空间为0xc0000080~0xc00000ff中,便于观察,从图 7中可以看出,DSP写入的数据和FPGA读出的数据也相等。
从图5~图7中可以看出两者之间的通信通道已经建立,可以进行正常的通信。实验结果表明,本文设计完成了TMS320C6455 DSP EMIF接口与FPGA内部双口RAM的通信,对于DSP发送的信号,FPGA可以正确接收,FPGA发表的信号,DSP也能正确的接收,经过测试,读写 数据没有错误,并能稳定的在二者之间进行通信。经测式,二者之间的通信速率能满足系统所需要求。
5 结 语
本设计采用FPGA+DSP方案,并充分利用器件内部的硬件资源,在开发环境ISE下,在FPGA内部实现了双口RAM,并实现了FPGA和 DSP 对该双口RAM的读写。建立了DSP和FPGA通信的桥梁,解决并实现了DSP和FPGA之间的双向通信。采用FPGA和DSP相结合的方式,既降低了系 统的复杂性,又增加了系统的灵活性和配置性,有利于开发,在实现大量数据处理的同时,也实现了数据的快速传输。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议