找回密码
 注册
关于网站域名变更的通知
查看: 403|回复: 0
打印 上一主题 下一主题

基于DSP的存储器共享与快速访问技术设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-11-11 11:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Titianyeer 于 2015-11-11 11:25 编辑
6 n: \' E  V2 N7 G6 ~1 g0 f/ C% E) G& e
从网上看的资料,挺有意思,大家一起来看看。
在多任务信号处理系统中,为了提高信号的处理速度,往往使用几个DSP协同工作,为此,必须要解决好几个DSP对共享存储器的高速访问问题。具体来说,主要要解决好两个问题:
/ g7 _8 n1 J+ I1 ?# G5 R! t  J2 @  
+ I$ P# n7 |: U9 V1)通过建立竞争仲裁机制解决存储器访问共享竞争问题;
) Z7 Y' o4 n# g6 b$ G2)解决批量数据高速访问问题。DSP对批量数据的访问一般都是通过启动DMA完成,而DMA一旦启动,数据的传输就不受DSP控制,因此,要设计专门控制电路和缓冲区来确保高速数据传输的稳定性和可靠性。
本文重点介绍了两个TMS320C5402之间共享SRAMDDRSDRAM的设计方法。

2 `  p4 A. v; i
1 SRAM的共享访问
/ e( c# @3 H! S& N" t9 y$ B; v7 G+ X    V+ T' u9 `4 q
12TMS320C5402共享SRAM的原理图。为了保证对SRAM访问的可靠性,2DSP共用同一个系统时钟和具有相同的访问优先级。当2DSP同时对共享存储器发出访问需求时,FPGA中的共享仲裁控制逻辑会在第1个存储器访问周期允许第1DSPSRAM进行访问,同时向第2DSP 发出READY等待信号,然后在下一个存储器访问周期撤销该等待信号,允许第2DSPSDRAM进行访问。如果进行批量数据传输,则2DSP对应的 READY信号会交替启动。FPGA中的2个双向缓冲器是互相禁止的。另外,在DSP的软件编程时要注意,在软件等待周期寄存器被写入后至少要等待2个时 钟周期DSP才会启动对READY信号的检测。
( q: W2 ^: d( I# l3 D2 @) C. \# U
7 s/ p: g( _- q9 c
  
* |# }2 \$ D2 y8 w2 DDRSDRAM的高速共享访问
8 j3 T1 g2 @" p8 h  
1 [; y# z1 `$ m# u/ Q9 D在 上述方式中,如果2DSP同时要对共享存储器进行访问,其访问速度将会降低一倍。在实际的信号处理系统中,特别是在连续视频信号的编码、压缩与速访问, 如果采用大容量双口RAM,其硬件成本开销太大。现在PC机中大量使用的双速数据同步动态存储器(Double Data Rate SynchronousDRAM)具有存储容量大、访问速度快、价格低廉等特点,因此在大容量高速数字信号处理系统中,只要解决好对DDRSDRAM的 读写访问控制问题,就能解决好大容量高速存储器的共享访问问题。
* `( _4 u. P9 N
21 DDRSDRAM的读写访问特性: `/ {8 f( S9 G6 I$ t! M
  ; @+ s3 ^9 b( ^: q3 ~
2为现代公司的HY5DV651622双速同步动态存储器的功能框图。其存储容量为8 Mb,数据宽度为16 B,分为4个页面,采用行列地址复用方式。在时钟的上升和下降沿均可以进行数据的读写操作。对DRAM的控制包括命令控制和数据读写控制,在命令控制中主 要包括模式寄存器设置、存储器自动刷新控制等,通过模式寄存器的设置可以使存储器工作于猝发读写方式,读写长度可以达到256个地址。 
8 x9 S; H; a, ~9 W7 D) B
; @+ `* y- r3 @5 e6 M

: e* U2 r% n+ A0 U! s( q6 B5 \6 F  6 ]  }" r% i) r8 P! `) Y; L
22 共享DDRSDRAM的工作过程% `1 a  d5 Z% w2 l2 ?! N: }
  2 b) |& |4 D- z. L8 p
为 了保证DSPSDRAM大数据量访问的高效性,将SDRAM设置为猝发读写模式,DSP设置为DMA方式,在FPGA中设置容量均为128 bSRAM缓冲区B0B1做为数据缓存区,从SDRAM中输出的数据或输入至SDRAM的数据都要经过B0B1,通过控制寄存器的设置将B0B1 都映射到2DSP中地址为FF00HFF80H的数据区间,但同一时刻1DSP只能访问B0B1中的1个。
在 实际工作中,当一片DSP访问B0时,另一片DSPSDRAM访问B1;相应地当一片DSP访问B1时,另一片DSPSDRAM则访问B0。如果 SDRAMDSP同时向同一个数据缓冲区B0B1写入或读出数据,FPGA会自动禁止,并通过控制寄存器向DSP传递数据读写状态错误信息。这种数据 传递方式不仅加速了DSP对数据的访问速度,而且解决了DSPSDRAM之间时钟频率不同步问题,不用像图1那样让2DSP共享同一个时钟。 SDRAM与双DSP的接口如图3所示。 
1 B4 @. {0 F8 ?. S( _
  
& I" U$ u6 j7 s- u  0 {# m" S; r. f. S+ e
具体来说,DSPSDRAM的访问分以下两种情况:! t$ P8 T: N9 u7 ]- T
  
/ f4 v. D$ {7 X4 i! [0 S1) 同时只有1DSPSDRAM访问 此时B0B1均属于该DSP所有,以读数据为例,首先DSP将需要对SDRAM访问的首末地址通过控制寄存器写入 FPGA,并且设置B0B1为空的标志,然后起动数据传送命令,FPGA在收到该命令后读入128字入B0,并设置B0的标志为满,随后再读入128字 入B1,并设置B1的标志为满;接着判断B0的标志是否为空,若为空则读出128字入B0,并设置B0的标志为满,否则等待直到B0的标志为空,判断B1 的标志是否为空,若为空则读出128字入B1,并设置B1的标志为满,否则等待直到B1的标志为空。如此反复,直到读取数据结束或收到数据读取结束命令为 止。对DSP来说,他在发出起动数据传送命令后,判断B0标志是否为满,若为满,则起动DMA读取该128字,读取结束后设置B0的标志为空,然后用同样 的方法去读取B1中的数据。如此反复直到将规定的数据读取完毕为止。
22DSP同时对SDRAM访问 与单片DSP的访问方法类似,通过B0B1及相应的标志位设定完成数据的访问。

! ]  Y* {" X$ @. s7 G
23 共享DDRSDRAM的读写访问逻辑设计8 J+ A5 r! w! g6 v6 f& \4 d. \1 q
  
0 s6 ~, D$ n; G6 oDSP 提供下列信号给外部存储器用以完成外部控制:CLKCSA0A15D0D15RWMSTRBISTRBIS,但是DDRSDRAM使 用的控制信号为:CLK,/CLKCKE,/CS,/RAS,/CAS,/WE,数据总线DQ0DQ15和地址总线A0A11。由于控制信号的不 同,因此在DSPSDRAM的接口电路中需要用逻辑电路根据DSP的命令产生SDRAM的控制信号。正是由于接口电路的这种复杂性,在设计SDRAMDSP的接口过程中才需要用FPGA来完成。
从图3可以看到,FPGA的控制主要包含3个部分:控制寄存器接口、缓冲区接口和SDRAM控制接口。
5 T" J3 h+ v3 ]0 k  r* L  
: C' F% V* {, V( {2 n# Q1)控制寄存器接口 主要包括对DSP地址信号和控制信号的解码;SDRAM的读写模式选择;B0B1的地址、数据的切换选择及标志控制;读写首末地址的设置等。
( M& n/ o* ?% I' ]8 r- J. \2 f  7 u6 q$ w/ [$ |" Y- y% y# X
2)缓冲区接口 主要代表2个缓冲区B0B1的相关信号产生,主要有:读写信号;地址信号(ADDR60]);数据输入输出信号(DATAIN150]和DATAOUT150])等。2 y$ m) E1 i* j2 p
  
8 p- L6 @. t6 M0 J: U+ B: {1 w3SDRAM 控制接口 产生SDRAM的控制信号、地址信号与数据总线信号,完成SDRAM3项功能:刷新、读、写。其中读、写主要通过猝发方式进行。由于 SDRAM是动态RAM,为了防止数据丢失,必须对其进行动态刷新。在SDRAM控制接口部分设计了专门的刷新电路来完成这项功能。

# p4 }! c& q% T
3 结 论
由 于FPGA内的SRAM访问速度可以达到10 ns以上,而DDRSDRAM的访问速度比普通的SDRAM快一倍,因此,在采用DDRSDRAM实施存储器共享后,不仅大大节省了系统成本,而且通过提 高FPGADDRSDRAM的访问速度后,系统对数据的访问速度并没有受到影响,可以达到100 Mb/s以上。

0 W/ H% W$ J8 S0 h

1.GIF (25.96 KB, 下载次数: 1)

1.GIF

2.GIF (22.71 KB, 下载次数: 1)

2.GIF

3.GIF (15.76 KB, 下载次数: 1)

3.GIF
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-29 14:11 , Processed in 0.156250 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表