首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» 基于EMIF接口的DSP控制系统设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于EMIF接口的DSP控制系统设计
发短消息
加为好友
wxg1988
当前离线
UID
856476
帖子
3055
精华
0
积分
1528
阅读权限
70
在线时间
146 小时
注册时间
2011-10-5
最后登录
2014-6-11
金牌会员
UID
856476
1
#
打印
字体大小:
t
T
wxg1988
发表于 2013-8-26 21:29
|
只看该作者
基于EMIF接口的DSP控制系统设计
德州仪器
,
控制系统
,
信息技术
,
Memory
,
处理器
1 引言
随着信息技术的发展,数字信号处理技术成为数字化社会最重要的技术之一。由于数字信号处理器(DSP)速度快,稳定性高,功耗小,近些年来在通信、图像处理、自动控制等领域中得到了广泛的应用。其中,美国德州仪器的TMS320系列DSP占据了世界DSP 市场的主要份额,TI也因此成为了世界上最大的DSP制造商。本系统采用了TMS320C6722浮点型DSP芯片。 EMIF接口(External Memory Interface)是TMS320系列DSP上具有的一种高速接口,其设计初衷是实现DSP与不同类型的外部扩展存储器(如 SDRAM,FLASH等)之间的高速连接。在当前的一些应用中,为了更充分的应用DSP的运算能力,扩展其引脚资源,工程师们常用EMIF接口连接FPGA,再通过FPGA与多种外部设备相连。这样,FPGA成为了一个中转站,各种数字芯片的数据都可以通过FPGA传输至DSP.对于更加复杂的系统,当一块FPGA芯片的引脚资源都被用尽时,可以在DSP 的EMIF接口上连接多块FPGA芯片,再将功能各异的芯片连接至FPGA。这样,DSP芯片仅通过EMIF接口就能实现对复杂系统的控制。
2 基于EMIF接口的DSP+FPGA系统实现
2.1 系统架构
图1 是本人所使用的系统,DSP芯片通过EMIF接口连接了2 片FPGA,其中EP2C8F256I8 主要负责DSP核心处理所需数据的交换,连接了FLASH 芯片,SDRAM芯片,A/D 芯片。另一块FPGA 芯片EP2C8F144I8 负责与外部通信,连接了USB 接口芯片,I2C通信芯片和CAN总线通信芯片。 TMS320C6722 型DSP的EMIF接口设计初衷是与外部扩展存储器连接,EMIF接口有两种工作方式:SDRAM工作模式与异步工作模式。SDRAM工作模式是专为 SDRAM设计的同步工作模式,EMIF接口能自动给SDRAM进行刷新;异步工作模式是与SRAM、FLASH等异步器件工作时采用的模式。
图2 所示是DSP与一片FPGA的接口连接图,DSP与多片FPGA连接时,接口可以按图的方式复用,TMS320C6722型DSP的EMIF接口有14根地址线,与不同FPGA进行通信时,要使用不同的地址。
【
分页导航
】
第1页:引言及系统架构
第2页:DSP和FPGA通信时序
第3页:系统Boot方法
2.2 DSP 与FPGA 通信时序
2.2.1 异步读操作
DSP发出对FPGA的读申请时,就会进行异步读操作。当读操作不能在外部器件的一个访问周期内完成时,EMIF就会进行多个周期的操作,直到完成整个申请。
一个EMIF读操作分为建立时间、触发时间和保持时间三部分。在建立时间开始时,EM_CS[2]片选信号拉低,同时地址线EM_A与EM_BA给出所读取数据的地址。触发时间开始时,EM_OE信号拉低,同时FPGA在EM_D信号线上传输数据,DSP将在触发时间的最后一个时钟处对数据采样。保持时间中EM_OE 信号将拉高,并在保持时间结束后,EM_CS[2]信号拉高。在整个周期中EM_WE_DQM、EM_WE、EM_RW信号始终为高电平。
2.2.2 异步写操作
DSP发出对FPGA的写申请时,就会进行异步写操作。当写操作不能在外部器件的一个访问周期内完成时,EMIF就会进行多个周期的操作,直到完成整个申请。
类似于读操作,EMIF 写操作分为建立时间、触发时间和保持时间三部分。在建立时间开始时,EM_CS[2]片选信号拉低,EM_RW信号拉低,同时地址线EM_A与EM_BA给出所读取数据的地址,数据线EM_D 给出需要写入FPGA的数据。触发时间开始时,EM_WE信号拉低,EM_WE_DMQ信号给出字节使能信号。保持时间开始时EM_WE_DMQ信号与 EM_WE信号拉高,并在保持时间结束后,EM_CS[2]信号与EM_RW信号拉高。在整个写操作周期中EM_OE信号始终为高电平。 DSP 通过配置EMIF 接口的寄存器来实现上述时序,FPGA可采用IP 核来实现EMIF协议,不同的FPGA芯片要采用不同的地址。
【
分页导航
】
第1页:引言及系统架构
第2页:DSP和FPGA通信时序
第3页:系统Boot方法
3 系统BOOT方法
TMS320C6722 型DSP的内部没有可写的ROM,DSP的程序必须存放在外部器件中,DSP芯片上电后必须首先从外部芯片下载程序。本款DSP可以通过SPI总线启动、通过I2C总线启动和通过EMIF接口启动。这几种Boot方式和对应的引脚配置如表1所示,在本系统中,EMIF接口除了实现通常的数据交换,还兼任带动DSP启动的功能。
系统上电后,DSP的RESET引脚要通过下拉电阻拉低,使DSP 处于复位态。FPGA芯片EP2C8F256I8上电后从FPGA 配置芯片EPCS4中下载程序启动。FPGA启动成功后将DSP芯片的SPI0SOMI引脚与SPI0CLK引脚拉低,将SPI0SIMO引脚拉高,然后再将RESET引脚拉高。这样配置是为了使DSP退出复位态时能根据上述3个引脚的电平获知DSP芯片将通过EMIF接口启动。此后,DSP芯片将从EMIF接口读取1KB数据,并将这1KB数据存放于DSP的RAM中,再执行这1KB的程序。 上述过程称为DSP的第一次启动过程。这1KB的程序是由汇编语言编写并通过CCStudio 软件编译成机器语言,存放于FPGA中(通过mif 文件编译进FPGA的程序)。该1KB程序的功能是再次调用EMIF 接口,操作FPGA,使得FPGA 通过IP 核从FLASH芯片中将其余的程序(本系统的程序约为32K)拷入DSP的RAM 中并执行这些新拷入的程序。这是DSP 的第二次启动。第一次启动是硬件启动,是TMS320C6722 型DSP已经设定好的启动方式,第二次启动是软件启动,所执行的启动程序由用户编写。 综上,本文介绍了DSP芯片通过EMIF接口连接FPGA的硬件电路与时序,根据本文介绍的方法,DSP芯片通过FPGA能控制大量外部芯片工作,仅使用DSP的EMIF接口就能实现DSP启动和控制复杂系统工作的功能,大大扩展了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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议