在嵌入式视频处理系统中,存储器接口的性能直接影响整个系统的实时性表现。TMS320DM355作为一款面向数字媒体应用的SoC芯片,其外部存储器接口(EMIF)设计具有鲜明的特点。该芯片采用双存储器控制器架构,分别针对不同应用场景进行了优化:
异步EMIF(AEMIF):主要连接NOR Flash、NAND Flash、FPGA等异步存储设备,最大特点是时序参数可编程。通过配置寄存器可以灵活调整建立时间(Setup)、保持时间(Hold)和选通脉冲宽度(Strobe),支持从低速EPROM到高速OneNAND的各种存储器。
DDR2/mDDR控制器:专为高速大容量存储设计,符合JESD79D-2A标准,支持DDR2 SDRAM和Mobile DDR SDRAM。在432MHz系统时钟下,理论带宽可达864MB/s(16位总线),足以满足高清视频处理需求。
这两个接口通过不同的时钟域进行管理。AEMIF使用SYSCLK2(PLLC1输出时钟的1/4分频),而DDR2控制器直接使用PLLC1输出时钟。当时钟配置为432MHz时,AEMIF的时钟周期E=9.259ns,这个参数将直接影响后续时序计算。
实际工程中需特别注意:AEMIF和DDR2的PCB布线要求差异很大。AEMIF对等长要求相对宽松,而DDR2接口必须严格遵循TI的SPRAAR3应用报告中的布局指南,包括阻抗控制、走线长度匹配和电源去耦等要求。
AEMIF的读操作分为三个阶段:建立期(RS)、选通期(RST)和保持期(RH)。以典型的异步读为例,其时序参数计算如下:
读周期时间:tc(EMRCYCLE) = (RS + RST + RH) × E
当EW=1时还需加上等待周期:(RS + RST + RH + EWC×16) × E
关键信号时序:
表1展示了当PLLC1=432MHz(E=9.259ns)时,不同配置下的读周期时间计算示例:
| RS配置 | RST配置 | RH配置 | EWC | 总周期数 | 理论最小时间(ns) |
|---|---|---|---|---|---|
| 4 | 8 | 2 | 0 | 14 | 129.63 |
| 8 | 16 | 4 | 2 | 56 | 518.52 |
| 2 | 4 | 1 | 1 | 23 | 212.96 |
写周期与读周期类似,但使用不同的参数组(WS、WST、WH)。特别需要注意的是:
数据总线切换时间:td(TURNAROUND) = TA × E
这个参数决定了读写操作切换时的总线释放时间,TA取值范围1-4,需要根据外设特性配置。
EM_WAIT信号处理:当外设需要插入等待状态时,必须在选通期结束前4E(约37ns@432MHz)发出EM_WAIT信号。图5-16和图5-17展示了带等待状态的读写时序。
实测中发现:某些低速存储器(如并行Flash)在首次上电时需要较长的初始响应时间。建议在初始化阶段配置较大的WS/RST值(如16-32个周期),稳定运行后再优化为较小值以提高性能。
AEMIF还支持OneNAND的同步突发读模式,此时时序参数与传统异步模式不同:
这种模式下,EM_ADV信号在EM_CLK上升沿前5ns需要保持稳定(tsu(EM_ADVV-EM_CLKH)),适合需要突发传输的高带宽应用。
DDR2/mDDR控制器的性能高度依赖正确的初始化配置。主要参数包括:
CAS延迟(CL):
计算公式:CL = ceil(tRCD / tCK)
其中tRCD是行到列延迟(典型值15ns),tCK是时钟周期(如7.5ns@133MHz)
计算结果CL=2,但实际需根据芯片规格选择支持的CL值(2-5)
刷新间隔(tREFI):
标准DDR2的刷新间隔为7.8μs,对应刷新计数器值:
tREFI × fCK = 7.8μs × 133MHz ≈ 1038个周期
行预充电时间(tRP):
通常为15ns,换算为周期数:
ceil(tRP / tCK) = ceil(15ns / 7.5ns) = 2个周期
DDR2接口的时序验证需要检查以下关键路径:
时钟-数据偏移(tDQSS):
要求DQS边沿与CK边沿的偏移在±0.25tCK范围内。在PCB设计时,DQS与CK的走线长度差应控制在:
ΔL ≤ (0.25 × tCK) / (传播延迟)
对于FR4板材(约6ps/mm),133MHz时长度差需≤10mm
数据建立保持时间:
读取时满足:tDQSCK + tDQSQ ≥ tDH
写入时满足:tDQSS + tDSS ≥ tDS
表2展示了DDR2-533的主要时序参数要求:
| 参数 | 符号 | 标准值(ns) | 133MHz周期数 |
|---|---|---|---|
| CAS延迟 | tCL | 15 | 2 |
| 行预充电 | tRP | 15 | 2 |
| 行激活时间 | tRAS | 45 | 6 |
| 行周期时间 | tRC | 60 | 8 |
| 写入恢复 | tWR | 15 | 2 |
在视频处理子系统中,DDR2控制器需要为多个模块提供服务:
总带宽需求约:124×3 + 50 = 422MB/s
DDR2-533理论带宽为1066MB/s(16位总线),因此理论上可以满足需求。但实际应用中需要注意:
AEMIF布线规范:
DDR2布线禁忌:
AEMIF访问不稳定:
DDR2初始化失败:
视频处理中出现撕裂:
AEMIF带宽提升:
DDR2延迟优化:
电源管理:
在笔者参与的一个车载视频记录仪项目中,曾遇到DDR2在低温(-30℃)下工作不稳定的问题。最终通过以下措施解决: