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

利用FPGA解决TMS320C54K/SDRAM的接口问题

[复制链接]
  • TA的每日心情
    难过
    2019-11-19 16:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-4-15 14:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x

    在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机摄像机中,为了将现场拍摄的诸多图片或图像暂存下来,需要将DSP处理后的数据转移到外存中以备后用。从目前的存储器市场看,SDRAM由于其性能价格比的优势,而被DSP开发者所青睐。DSP与SDRAM直接接口是不可能的。FPGA(现场可编程门阵列)由于其具有使用灵活、执行速度快、开发工具丰富的特点而越来越多地出现在现代电路设计中。本文用FPGA作为接口芯片,提供控制信号和定时信号,来实现DSP到SDRAM的数据存取。
    ! h* c1 L3 u' F8 N& `! X/ R9 t  @! Q& Q: [/ x
    1 SDRAM介绍
    - }5 I% q0 w" n- A, T. P8 Q3 n$ N3 x2 B6 D% h3 l
    本文采用的SDRAM为TMS626812ATMS626812A,图1为其功能框图。它内部分为两条,每条1M字节,数据宽度为8位,故存储总容量为2M字节。
    ( w% g* A8 q6 ]8 c


    # j& r& A8 h1 c9 f5 j1 n. t/ E$ I) ~& z所有输入和输出操作都是在时钟CLK上升沿的作用下进行的,刷新时钟交替刷新内部的两条RAM。TMS626812A主要有六条控制命令,它们是:条激活/行地址入口、列地址入口/写操作、列地址入口/读操作、条无效、自动刷新、自行刷新。SDRAM与TMS320C54xTMS320C54X接口中用到的命令主要有: MRS、 DEAC、 ACTV、WRT-P、READ-P和REFR。这里,设计目的就是产生控制信号来满足这些命令的时序要求。关于TMS626812A的具体说明可以查看其数据手册。: H. x! z( v, |) w8 H

    $ S# G2 _8 K) V/ H1 q" f2 SDRAM与TMS320C54x之间的通用接口
    # c; q8 W" d" I5 Y2 {6 T  b5 x' D
    3 t* N  z5 I5 v图2是DSP与SDRAM的通用接口框图,图中DSP I/F代表TMS320C54x端接口单元,SDRAM CNTL 代表SDRAM 端接口控制单元。SDRAM被设置成一次性读写128个字节,而DSP一次只读写一个字节,因而建立了两个缓冲区B0、B1来缓存和中转数据。B0、B1大小都为128字节,而且映射到DSP中的同一地址空间。
    3 q5 V  H9 Z  q. N( `


    5 j$ C; G( A/ p9 ]/ C4 W尽管B0、B1对应于同一地址空间,但对两个缓冲区不能在同一时刻进行合法访问。实际上,当B0被DSP访问时,B1就被SDRAM访问,反之也成立。若DSP向B1写数据,SDRAM就从B0读数据;而当SDRAM的数据写到B0中时,DSP就从B1读数据。两者同时从同一缓冲区读或写都将激发错误。上边所述的数据转移方式有两种好处:一是加速了TMS320C54x的访问速度,二是解决了二者之间的时钟不同步问题。
    3 |8 @3 o9 t/ N0 a6 K- p  x- Q& [( n. _
    3 FPGA中的硬件设计0 [& F* B8 o: \( m. c4 v
    - Z' B7 @: i, {) I1 S) ~; L4 C& D/ x1 S
    TMS320C54x为外部存储器的扩展提供了下列信号CLK、CS、A0~A15、D0~D15、RW、MSTRB、ISTRB、IS而SDRAM接收下列信号CLK、CKE、CS、DQM、W、RAS、CAS、A0~A11。由于两端控制信号不同,需要在DSP与SDRAM之间加上控制逻辑,以便将从DSP过来的信号解释成SDRAM能够接收的信号。图3是用FPGA设计的顶层硬件接口图。
    0 z; D* Y* \  Y9 d) y  ]

    " z, A5 Z7 M- L. e  c
    图中主要有三个模块:DSP-IO、DMA_BUF和SD-CMD。其中DSP-IO是DSP端的接口,用来解码TMS320C54x发送的SDRAM地址和命令。DMA_BUF代表缓冲区B0、B1。SD_CMD模块用来产生SDRAM访问所需的各种信号。0 F! B7 ?6 P6 d5 c! o3 U* X' y  \/ m

    % q" Z/ H8 a) l( MDSP_IO模块又包括IO_DMA、DSP_BUF和DSP_
    / |( H) i5 t* t, G$ q7 N/ iREAD。IO_DMA产生SDRAM的命令信号即图3中的DSP_RDY、DSP_SD_RW、DSP_SD_BANK_SW、DSP_SD_
    3 K+ v4 e, T( V+ qADDR20..0、DSP_SD_ADDR_RESET、DSP_SD_START。
    9 ^. f& `4 ~3 X$ bDSP_BUF产生访问B0、B1的地址、数据和控制信号,图3中指DSP_SD_BUFCLKI、DSP_SD_BUFCLKO、DSP_SD_
    - _/ D; s, N5 K3 _BUFWE、DSP_SD_BUFADDR6..0、DSP_SD_BUFIN7..0。DSP-READ子模块用来控制DSP的读写方向。
    ( a- V' ]2 k5 J/ \) s+ t# ]1 WDMA_BUF分为B0、B1两个缓冲区,用来进行数据传送每个缓冲区的输入输出信号包括CLKI、CLKO、WE、ADDR6-0、DATA_IN7-0、DATA_OUT7-0。
    & E/ g' D/ S' \+ h* N9 n8 @3 ^BANK_SW是一个开关信号用于DSP和SDRAM对B0、B1的切换访问。
      c5 i4 L. q8 h8 [
    4 T- H. j, o7 S+ S9 h7 |& _( MSD_CMD模块包括刷新、读、写功能。当DSP芯片发出SDRAM读命令时,128字节的数据从SDRAM中读出来并被存储到B0或B1中,当DSP发出写命令之时,128字节的数据传到B0或B1之中并被最终写到SDRAM中。9 q$ n- G/ U% K: S5 Y
    6 F- B% [  d8 `/ P0 J: m
    4 软件设计9 G/ d' R  s& b* F

    8 U3 ^. Q4 c; c' E4 MTMS626812A SDRAM有两兆字节的存储容量。所以DSP用两个I/O地址向FPGA传送访问SDRAM的高低地址。此文中该两个I/O地址对应于图4中的03hDMA_ADDH 和04hDMA_ADDL 。另外,还有一个I/O地址图4中的05h 用来向FPGA传送命令产生SDRAM访问的信号。% C4 x, Y' ^2 l( y, M! p
    DSP向SDRAM写数据时的操作步骤如下:: ~; w9 S1 h% W$ A; R) B7 X

    ( x" G9 [8 }# Y. p, Y2 u% \) c
    1 数据先被写到B0或B1。
    2 h0 k3 W. h! P9 k( q! |) o+ P, k8 x; s, J' K) a
    2 SDRAM的访问地址经由DSP的I/O地址DMA_ADDH和DMA_ADDL发送到FPGA中。. b6 m0 V+ i0 ~( O7 o
    8 b* \0 s( R; ]# F
    3 DSP向FPGA发出一个命令(I/O地址为DMA_CTL)产生控制信号,使SDRAM从B0或B1中读取数值。# y, V3 c7 n' A
    DSP从SDRAM读数据的操作步骤如下:
    * S. X, [$ L8 w: f% D8 W6 [1 @% |' ?1 q! o% B+ V$ u5 A
    1 DSP传送访问SDRAM的地址。. {( B" @3 A" ^1 I$ P1 V& H5 i( f

    ) V6 l$ h; t6 i/ ^2 n, c, Z4 p2 b  D2 DSP经由FPGA传送一个命令,使得数据从SDRAM中读到FPGA中。
    8 \, T- @! Y/ f; J5 G# ^" d
    , _/ X; F" ~/ G; o3 DSP从B0或B1中读得数据。
    ) a. a! ^6 z5 x7 E图4为DSP中与数据传送相关的各类存储器的分配情况。
    ' q7 s  w/ w! ^具体设计时,应参考相关资料进行补充。不同的DSP与不同类型的SDRAM接口时,会有细微的区别,电路设计完毕后要进行认真而多方面的测试。

    4 r8 {! ]7 ]+ Z9 F! S( b- A

    该用户从未签到

    2#
    发表于 2020-4-15 16:04 | 只看该作者
    FPGA(现场可编程门阵列)由于其具有使用灵活、执行速度快、开发工具丰富的特点而越来越多地出现在现代电路设计中。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-20 16:33 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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