数字信号处理器 Digital Signal Processor第七部分 TMS320C54x的软硬件设计
纪震博士Dr.Ji Zhen Shenzhen Univ.-Texas Instruments DSPs Lab 2003.01
本部分主要内容:(1)C54x与存储器及外围设备的接口方法 (2)FIR滤波器和IIR滤波器的C54x实现 (3)FFT的C54x实现 (4)正弦波信号发生器 (5)自举加载
SZU-TI DSPs LabDr. JI ZHEN
1.1 C54x与存储器及外围设备接口CS1 OE CS2 A TMS320C54x-40 ADDRESS PS DS IS MSTRB R/W MP/MC IOSTRB 16 DATA 16 CS1 OE WE CS2 A CS1 OE WE CS2 A DATA D PGM D
I/O D
VCC
.SZU-TI DSPs LabDr. JI ZHEN
1.2 对外部存储器存取时间的要求0 1 ad d ress 3 2 d ata cycle time 25n s
1 MSTR B
外部存储器存取时间<60%机器周期
C54x读操作时序图
若T=25ns和15ns, 则存储器存取时间应<15ns和9ns
SZU-TI DSPs LabDr. JI ZHEN
1.3 C54x与慢速器件接口
若DSP芯片的机器周期为25ns,CPU运行速度 为40MIPS,则要求外部器件的存取时间小于 15ns 如果外部存储器的存取时间ta超过15ns,就 应当通过软件或硬件的方法插入等待周期
SZU-TI DSPs LabDr. JI ZHEN
1.4 等待状态与ta的关系
外部器件的存取时间ta ta≤15ns 15ns<ta≤40ns 40ns<ta≤65ns 65ns<ta≤90ns 90ns<ta≤115ns 115ns<ta≤140ns注:假设’C54x的机器周期为25ns。
插入等待状态数 0 1 2 3 4 5
SZU-TI DSPs LabDr. JI ZHEN
1.5 软件等待状态软件等待状态寄存器(SWWSR) 可以通过指令分别插入0~7个软件等待状态:STM
#349BH ,SWWSR
;0 011 010 010 011 011
复位时,SWWSR=7FFFh,各空间均插入7个T 当插入2 ~ 7个T,执行到最后一个T时,MSC信号变成 低电平 当要求插入7个以上T时,必须附加插入硬件等待状态
SZU-TI DSPs LabDr. JI ZHEN
1.6 系统接口举例STM # 5018h, SWWSR ;0 101 000 000 011 000CS1 OE CS2 A 13 12ns PROG D 8K EPROM
TMS320C54x-40 ADDRESS PS DS IS MSTRB R/W MP/MC IOSTRB
16
CS1 OE WE CS2 A 13 CS1 OE WE CS2 A
DATA D 8K SRAM
12ns
VCC
1ADC & 1DAC
D
120ns
16
1
DATA.
SZU-TI DSPs LabDr. JI ZHEN
1.7 附加硬件等待周期分析1、 下列情况下,需要插入硬件等待周期: 要求插入7个以上T 在一个存储区(高区、低区)中有两种以上的存取速度 2、 C54x通过READY和MSC引脚插入硬件等待周期 READY=1,表示外部器件已准备就绪 READY=0,表示外部器件未准备好,CPU自动插入一个等待状 态。注意:如果软件等待0或1个等待周期,CPU不检测READY 信号 当软件等待2~7个周期,且执行到最后一个软件等待周期时, MSC变成低电平,表示几个软件等待周期已经结束,如果需要 可以再插入外部等待状态。即MSC变成低电平后,CPU才采样 READY信号SZU-TI DSPs LabDr. JI ZHEN
1.7 附加硬件等待周期分析结论1、 硬件等待周期是在2~7个软件等待周期基础上插入
的。 2、 硬件等待周期是利用READY、 MSC以及外部电路产生的。 3、 如果所有外部器件均不插等待周期,或仅插入1个T,则 将READY引脚接固定高电平。 4 、当只插入2~7个软件等待周期时,引脚MSC 与READY相连。 5 、当需要同时插入软件和硬件等待周期时,就要附加硬件 电路
SZU-TI DSPs LabDr. JI ZHEN
1.8 混合等待周期举例15 TMS320C54x -40 ADDRESS PS MSTRB A15 15 A OR CLOCKOUT1 READY D触 发器 16 DATA OR A15 Hi Pgm A 16 OR CS DATA 12ns SRAM Lo Pgm
MSC
CS
DATA 200ns EPROM
SZU-TI DSPs LabDr. JI ZHEN
1.8 设定软件等待状态
STM
#1278h, SWWSR ;0 001 001 001 111 000 (系统中没有的存储区,设定等待状态为0或1。 以防止引脚受干扰引出问题。)
SZU-TI DSPs LabDr. JI ZHEN
2.1 FIR滤波器的C54x实现
数字滤波是DSP的最基本的应用领域 数字滤波器:FIR滤波器和IIR滤波器 DSP芯片执行数字滤波算法的能力反映了 此类芯片功能的强弱
SZU-TI DSPs LabDr. JI ZHEN
2.1.1 FIR滤波器的横截型结构
x(n)Z-1
x(n-1)Z-1
x(n-2)Z-1 Z-1
x(n-N+1)
a0
a1
a2
a N-2
a N-1
+y(n)
SZU-TI DSPs LabDr. JI ZHEN
2.1.2 FIR滤波器算法分析 乘法累加运算 输入和输出操作指令:PORTR PORTW PA, Smem ;PA Smem ;PA Smem
Smem, PA
Z-1操作:延迟(一个采样周期)操作,两种方法:1 线性缓冲区实现Z-1 2 用循环缓冲区实现Z-1
SZU-TI DSPs LabDr. JI ZHEN
2.1.3 用线性缓冲区实现Z-1对于N级FIR滤波器,在数据存储器中开辟一个N个 单元的线性缓冲区,存放最新的N个输入样本; 每读一个样本后,将此样本向下移位,读完最后一 个样本后,输入最新样本至缓冲区的顶部; 线性缓冲区举例,N=6:(见下页) 延迟操作的指令:DELAY, LTD, MACD; 延迟操作只能在DARAM中进行。
SZU-TI DSPs LabDr. JI ZHEN