首页 | 供应信息 | 求购信息  | 下载系统 | 新闻系统 | 企业信息 | 产品信息 | 论文信息 | 展会信息论坛
作者:贾志纲,孙志毅,李临生 来源:space.ee365.cn 发布时间:2010-01-12 来源:中国工控网 繁体版
摘要:介绍了双1:2 RAM的结构原理、仲裁逻辑控制及相应的使用特点;提出了在多通道高速数据采集与处理系统中,在DSP与FPGA之间采用双口RAM 实现高速、实时、可靠的数据传输的一种方法;并以IDTTOV24为例,详细说明了双1:2
摘要:介绍了双1:2 RAM的结构原理、仲裁逻辑控制及相应的使用特点;提出了在多通道高速数据采集与处理系统中,在DSP与FPGA之间采用双口RAM 实现高速、实时、可靠的数据传输的一种方法;并以IDTTOV24为例,详细说明了双1:2 RAM在由DSP处理器和FPGA构成的多机系统中的具体应用。

关键词:双口RAM;DSP;多机通信

语音和图像处理系统中通常需要分别完成数字信号处理(DSP)算法、通信、控制、数据采集与人机接口等功能。采用多处理器结构分工完成已成为研究人员的共识。多机系统中,CPU间的通信常采用串行、并行以及共享存储器等方式实现。其中,串行、并行方式应用较多,但速率较低,因此通常采用先人先出(FIFO)作为传输通道。但FIFO应用于多路数据采集与传输系统中时,因其先人先出特性,多路信号的分离控制实现较复杂。双口RAM以其快速存取和灵活的配置方式,应成为今后多CPU系统的首选。

1 双口RAM 的仲裁控制

双口RAM是一种共享式多端口存储器。图1所示为通用双口静态RAM的工作和仲裁逻辑控制原理。如图1,双口RAM最大的特点是存储数据共享:一个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元。内部仲裁逻辑控制提供以下功能:Busy逻辑控制;旗语控制访问权限分配;信令交换逻辑等。

1..1 Busy逻辑控制

如果两侧同时访问双口RAM 的同一存储单元,势必造成数据访问失真。为了防止冲突的发生,采用了Busy逻辑控制,也称硬件地址仲裁逻辑。图2给出了地址总线发生匹配时的竞争时序。从时序图可以看出,两端的片选信号至少相差t (仲裁最小时间间隔,IDTTOV24为5ns)时,内部仲裁逻辑可给后访问的一方输出Busy闭锁信号,直至结束对该地址单元的访问,才撤消Busy闭锁信号。即使两CPU访问同一单元的片选信号低跳变之差少于tAPS ,Busy信号也将输出给任一CPU,只允许另一CPU访问该地址单元。









 



I.2 旗语控制访问权限分配

旗语(Semaphore,简称SEM)控制是一种采用软件与硬件相结合的控制权分配方式。SEM单元是与存储单元无关的独立标志单元(IDT70V24有8个)。工作在此种方式时,用户首先对存储区作自定义分段,以后每一块存储区的访问权限只允许通过请求SEM获得,访问完成后再交还SEM。此举有助于存储数据的保护,更有效地避免地址冲突。图3给出了一个旗语闭锁逻辑框图。两个触发器在初始化时均使SEM允许输出为高电平,等待双方申请SEM。如果收到一方写入SEM信号(通常低电平写入),仲裁电路将使其中一个触发器的SEM允许输出端为低电平,闭锁另一个SEM允许输出端,使其继续保持高电平。只有当先请求的一方撤消SEM信号,即写入高电平,才使另一SEM允许输出端的闭锁得到解除,恢复等待新的SEM 申请。



 

1.3 信令交换逻辑

信令交换逻辑(Signaling Logic)是一种灵活的数据交换模式,以IDT70V24为例,它利用两个特殊的单元(FFEH和FFFH,4K*16bit)作为信令字和中断源。假设左端CPU向FFFH单元写入信令,将由写信号和地址选通信号触发双口RAM 向右端CPU发出中断信号,只有当右端的CPU响应中断并读取FFFH单元信令字后,中断信号才被撤消。左侧的中断触发以及清除机制同理。因此,这两个特殊单元可以看成两侧CPU通信的”信箱”。双方可根据对方放在自己”信箱”里的自定义命令进行灵活的操作。这一工作方式用于变长数据与复杂结构数据传输时极为方便。以上提到的三种仲裁方式,除信令交换逻辑需要少量硬件连线外,均不需特殊硬件处理。即使采用信令交换逻辑连接方式的同时,也可以采用别的仲裁方式。可以看出,当采用双口RAM 作为数据传输通道时,硬件设计适用面较广,设计者只需根据自己数据传输的特点进行相应的编程即可。与流行的FIFO方式相比,同为多端器件,在数据传输的安全性与灵活性方面都有一定的优势。因此,这不失为一种较为理想的设计方案。

2 利用双口l M 实现高速数据采集系统

DSP处理器的特点在于能实时快速地实现各种数字信号处理算法,在流程控制和界面方面的能力不足,一般要组成异种CPU的多机系统。本系统采用1片DSP处理器与一片FPGA构成一个语音信号采集系统。其中,DSP采用TI的TMS320C5410(以下简称DSP),FPGA采用XILINK公司的XC2S30―5PQ2O8(以下简称FPGA)。另外用了一片CMOS静态双口RAM(IDTTOV24)实现FPGA和DSP的数据双向传递。系统接口如图4



 

2.1 DSP处理芯片TMS320VC5410

本系统采用了TI公司近年来推出的低功耗、高性价比的l6位定点DSP芯片TMS320VC5410,适用于语音、通信等实时嵌入应用场合。C5410的工作频率为100MHz,提供了丰富的片内存储器资源:64K}16位片上RAM,16K}16位片上ROM,程序空间最多可扩展到8M 16位,还有多种片内外设资源。C5410高速的数据处理能力和丰富的片内资源完全能满足本系统对语音信号的采集与处理的要求。

2.2 FPGA芯片XC2S30~PQ208

XC2S30-S PQ208是XILINK公司生产的Sparta―nII系列FPGA,该系列芯片除RAM少于Viaex系列外,其余性能均基本相同。本系统FPGA所需完成的任务只包括对采样数据进行串并转换、传输数据以及传送、接收、处理较少的几个信令,功能较为简单,因此完全能满足本系统的控制需求。

2.3 A/D芯片TLC320AD50C

TLC320AD50C是TI生产的SIGMA―DELTA型单片模拟接口芯片,它集成了l6位A/D和D/A转换器,采样速率可通过软件设定,最高可达22.05KHz。其内部有7个数据和控制寄存器,用于编程设置它们的工作状态。

2.4 双口RAM IDTTOV24

IDTTOV24容量为4K}16bit,多片级联还可增加数据位宽度。存取时间55ns。通过DSP的外部存储器选通信号Ds和高位地址信号经高速译码器输出选通70V24的片选信号。这样,这样可以利用DSP的重复操作指令(nr,r)和数据存储器移动指令(MVDK)减少数据传送时间。FPGA和DSP之间采用信令交换逻辑进行通信。考虑到与旗语控制逻辑的接线方式并不矛盾,SEM做了译码输入。

2.5 系统软件设计

软件设计包括FPGA与DSP编程。FPGA通过MAX+PLUS II开发环境,运用原理图与VHDL语言两者结合起来完成设计;DSP则在CCS(CodeComposer Studio)集成环境下开发调试。双RAM

的整个存储区划分为两块:上行数据区(DSP接收FPGA采集的数据区)和下行数据区(DSP输出处理结果区)。依据实际工作中的数据流量,本系统的上行数据区远大于下行数据区。利用存储区的FFFH单元和FFEH单元作为传递消息的”邮箱”,并将相应的中断信号引入FPGA和DSP。现以DSP采集左侧FPGA上行数据为例,说明仲裁流程。

(1)初始化,主要包括FPGA与DSP的工作模式、DSP存储器配置、中断、I/O模式、定时器、软件等待状态寄存器以及A/D的采样控制字的设置等。

(2)A/D数据经FPGA串并转换后存人该通道在双口RAM的存储区中,采够规定的点数后,FPGA向FFFH单元写入信令,信令的内容包括通道号及相应采样数据的首址。写入信令后,FPGA接着采样,并将采样数据依次写入双口RAM。

(3)FPGA向FFFH单元写入信令后,双口RAM将向DSP发出中断信号。DSP响应中断后,访问FFFH单元以清除中断信号并得到信令。根据信令内容,利用重复操作指令(RPT)和数据存储器移动指令(MVDK)快速从双口RAM中读采样数据到DSP内部存储器,然后进行数据处理。

(4)DSP处理后的数据可存入双口RAM 的下行通道中并向FFEH单元置人命令。

(5)双口RAM 向FPGA提出申请并得到处理后完成一个处理过程。



Fig.5 Flaw chart of DSP response to the

interruption of dual-port RAM



以下是部分代码:

LD#Address,AR2 ―― 加载”信箱”地址

MVDK *AR2,A ――取FPGA送来的信令

AND #0FFFH,A ――得到此次所传送采样数据的偏移地址

ADD #HeadPointer,A ―― 得到采样数据在外存储器中的地址

LD A,AR2――将地址加载辅助寄存器

LD #Bufer,AR3 ―― 将缓冲区地址加载辅助寄存器

RPT #Datasize-l ―― 下一条指令重复Datasize一1次

MVDK *AR2+,*AR3+ ―――数据传送

2.6 系统性能分析

由于‘5410的指令周期为10ns,而IDT/0V24存取时间为55ns,因此SWWSR(软件等待状态寄存器)需设置为6才能正常工作,即每六个指令周期传送一个数据。虽然省略了部分涉及信令内容判断的代码,但从执行时间上看,程序的执行时间主要集中在最后两条代码上。

R 和MVDK是‘5410的高级指令,充分体现了DSP的流水线特点。但当RPT和MVDK一起用时,中断需禁止。RPT执行时没有时间开销,它使下一条指令重复执行;MVDK在R 状态下时变为单周期指令。如上述程序,DSP采集1K个数据,指令周期为10ns,每六个周期传送一个数据,采集1K个数据仅需60ns}1024=61.441μs,充分节省传输时间,使DSP将更多的时间投入到算法中。如果处理的是多通道数据,双口RAM还可以体现出更多的优越性。利用双口RAM 实现多机接口,硬件和通信流程较为简单,在实际的调试中,本系统的语音数据得到实时交换,没有出现语音帧丢失的情况。

3 结束语

本文介绍了以双口RAM为多端口存储器设计多机系统。对双口RAM与FIFO比较如下:

(1)FIFO一般只给外部提供一个读和一个写信号,硬件与编程较方便,但使用不太灵活,后期开发较复杂;双口RAM由于有两套地址线,使硬件较FIFO复杂,但通过设置多样的通信机制可使后期软件设计更加灵活、简单。

(2)FIFO的容量不如双口RAM,适合数据缓冲和突发传送数据;双口RAM以其灵活的仲裁机制,适用于双机系统的全局存储器与大容量数据存储器共享并可取得满意的效果。


DSP间高速数据传输的设计与实现
评论】【加入收藏夹】【 】【关闭
※ 相关信息
无相关信息
※ 其他信息
访问数: | 共有条评论
发表评论
用户名:
密码:
验证码: 看不清楚,点击刷新
匿名发表

 搜索新闻
[提交投稿]  [管理投稿]
 最新新闻
 热点新闻
数据加载中..

网站地图
Autooo.Net 版权所有
Copyright © 2007--2013 All rights reserved