《TMS320C54X DSP应用技术教程 教学课件 ppt 作者 宋鹏 教程课件 第7章TMS320C54x应用实例》由会员分享,可在线阅读,更多相关《TMS320C54X DSP应用技术教程 教学课件 ppt 作者 宋鹏 教程课件 第7章TMS320C54x应用实例(31页珍藏版)》请在金锄头文库上搜索。
1、1,第7章 TMS320C54x应用实例,7.1 TMS320C54x DSP最小系统硬件设计 7.2 I/O控制LED实例 7.3 在线FLASH烧写实例 7.4 DSP高速采样实例 7.5 快速傅立叶变换(FFT)设计实现 7.6 本章小结,第7章 TMS320C54x应用实例,2,7.1 TMS320C54x DSP最小系统硬件设计,7.1.1 系统设计要求 一个完整独立的最小系统,至少应该包含以下内容: (1)系统上电可以独立运行用户最终程序,不需依赖计算机/仿真器等设备开发。 (2)系统至少扩充一定数量的FLASH,以便升级存储执行代码和存储关键数据防止掉电丢失。 (3)系统至少扩充
2、一定数量的RAM。 (4)系统预留各种外设接口,包括外中断、HPI、串口、外部I/O接口等,可以外扩数据采集、控制模块等。,第7章 TMS320C54x应用实例,3,7.1 TMS320C54x DSP最小系统硬件设计,7.1.2 系统设计方案,第7章 TMS320C54x应用实例,图7-1 DSP系统构成框图,4,7.1.3 系统设计与实现 1.电源设计,7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,5,7.1.3 系统设计与实现 2.DSP处理器设计 工作时钟的设定:外部输入的时钟经过倍频以后,产生CPU的工作时钟以及同步接口所需的时钟信号,时
3、钟信号的好坏直接决定了系统的稳定性,TMS320VC5402提供了内部和外部两种方式的时钟发生模式,7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,6,7.1.3 系统设计与实现 3.SRAM与DSP的接口设计 CY7C1021存储器的信号定义有别于区别TMS320VC5402的读写信号,其区别关键在于读写控制信号上,两者互联需要重新构造读写控制信号,7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,7,7.1.3 系统设计与实现 3.SRAM与DSP的接口设计,7.1 TMS320C54x DSP最小系统硬
4、件设计,第7章 TMS320C54x应用实例,8,7.1.3 系统设计与实现 4.FLASH与DSP的接口设计,7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,9,7.1.3 系统设计与实现 5. 复位电路设计,图7-7 RC复位电路图,7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,10,7.1.3 系统设计与实现 6.JTAG接口,图7-9 JTAG 连接图,7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,11,7.1.3 系统设计与实现 7.预留外扩展接口,
5、7.1 TMS320C54x DSP最小系统硬件设计,第7章 TMS320C54x应用实例,12,7.2 I/O控制LED实例,7.2.1 XF输出控制原理 为了便于观察XF引脚的电平输出状态,在XF引脚上接上了一个LED指示灯。XF的输出控制着LED的亮与灭。当XF输出高电平时,LED灯亮,当XF输出低电平时,LED灯灭。,第7章 TMS320C54x应用实例,13,7.2.1 XF输出控制原理 对TMS320VC5402状态寄存器ST1的第13位(XF标志位)分别进行清零或置位,则在DSP处理器的I/O引脚XF上将分别输出低电平或高电平。,汇编语言控制XF标志位程序如下: RSBX XF
6、;XF=0 SSBX XF ;XF=1,C语言控制XF标志位程序如下: volatile unsigned int *p; p=(volatile unsigned int *)0x7; /set *p to ST1 *p /set XF to 1,7.2 I/O控制LED实例,第7章 TMS320C54x应用实例,14,7.2.2 I/O控制LED的实现,7.2 I/O控制LED实例,第7章 TMS320C54x应用实例,15,7.2.2 I/O控制LED的实现 汇编语言实现 .title “LED1“ .global RESET .mmregs SP_INT .set 400h MAIN_
7、PRG .set 01000h V_TBL .sect “vectors“ RESET B START STM #0FFC0H, PMST .text START LD #0, DP STM #SP_INT, SP SSBX INTM ;disable all interrupt LOOP RSBX XF ;XF=0 CALL DEALY SSBX XF ;XF=1 CALL DEALY B LOOP ;跳转回LOOP DEALY RPT #(0fff0h) ;循环 NOP RET .END,7.2 I/O控制LED实例,第7章 TMS320C54x应用实例,16,7.2.2 I/O控制LED
8、的实现 C语言实现 typedef unsigned int WORD; volatile WORD *p; int main(void) WORD x; p=(volatile WORD *)0x0; /close interruption *p=0x0; while(1) p=(volatile WORD *)0x7; *p ,7.2 I/O控制LED实例,第7章 TMS320C54x应用实例,17,7.3 在线FLASH烧写实例,7.3.1 FLASH芯片AM29LV800B的编程方法 用户只需向其特定地址写入特定的指令序列,通过这些指令用户即可启动内部写状态机,使其自动完成指令序列要求
9、的内部操作。这些指令序列包括:复位、整片擦除、块擦除、扇区擦除、操作字写入等。,第7章 TMS320C54x应用实例,18,写指令操作过程: 写指令完成对FLASH写入数据的操作。完整的过程需要四个总线周期,其中前两个是解锁周期,第三个是建立编程命令,最后一个周期完成向编程地址中写入数据,如下表所示。,7.3 在线FLASH烧写实例,第7章 TMS320C54x应用实例,19,不同指令的命令序列,7.3 在线FLASH烧写实例,第7章 TMS320C54x应用实例,20,7.3.2 在线FLASH读写的实现 因为硬件FLASH接在了程序存储空间,需要使用程序存储空间的读写指令来实现对FLASH
10、的具体操作。采用混合编程的方法,底层驱动用汇编实现。 使用C语言编写声明引用汇编子函数的程序源代码如下: extern void flash_write (WORD PA,WORD PD); /往FLASH中PA地址写入PD数据 extern int RDCMD(WORD PA); /从FLASH中PA地址读出数据 C语言中调用方法如下: flash_write(wAddress,wData); RDCMD(wAddress);,7.3 在线FLASH烧写实例,第7章 TMS320C54x应用实例,21,7.4 DSP高速采样实例,根据DSP典型的应用体系结构,模拟信号经过信号调理电路、抗混频
11、滤波之后,通过A/D采样变成数字信号,然后利用数字信号处理算法进行信号处理运算,结果经过D/A输出和滤波之后,再还原回模拟信号。,第7章 TMS320C54x应用实例,22,7.4.1 扩展高速A/D采样的应用背景 系统采用7.1节介绍的TMS320VC5402最小系统作为DSP目标板,它对外扩展了高速A/D采样电路,可完成对工业环境下彩色线阵CCD图像三色信号的采集以便进行后续的数字信号处理。,7.4 DSP高速采样实例,第7章 TMS320C54x应用实例,23,7.4.2 高速A/D采样的硬件设计 1.DSP外扩接口设计 需要考虑总线信号、中断信号等,7.4 DSP高速采样实例,第7章
12、TMS320C54x应用实例,24,7.4.2 高速A/D采样的硬件设计 2.A/D采样电路设计,A/D采样电路是DSP的外设,DSP作为主控CPU通过接口控制A/D的工作;CPLD作为辅助逻辑译码,在TMS320VC5402开始信号的指示下,为A/D采样芯片提供时序驱动信号。,7.4 DSP高速采样实例,第7章 TMS320C54x应用实例,25,7.4.2 高速A/D采样的硬件设计 2.A/D采样电路设计 A/D采样时序,7.4 DSP高速采样实例,第7章 TMS320C54x应用实例,26,7.4.3 A/D采样软件设计 过于频繁的A/D中断引发总线的操作会持续打断正进行的处理,效率也会
13、降低。所以,一个较好的解决办法是利用小容量的FIFO作为两者之间的接口,对A/D采样数据先做一下缓冲,积累到一定数量,再向DSP发出中断申请,成批传送给DSP处理。,7.4 DSP高速采样实例,第7章 TMS320C54x应用实例,27,7.5 快速傅立叶变换(FFT)设计实现,7.5.1 FFT原理 对于有限长离散数字信号xn,0nN-1,其离散谱x(k)可由DFT求得。DFT定义为 可改写成如下形式:,第7章 TMS320C54x应用实例,28,7.5.1 FFT原理 对于按频率抽取形式的FFT,输入序列xn要按下述方式分成两个各有N/2个样本的序列。第个序列x1n由xn的前N/2个点组成
14、,而第二个序列x2n由xn的后N/2个点组成。 x1nxn n0,1,2,N/2-1 x2nxn+N/2 n0,1,2,N/2-1,7.5 快速傅立叶变换(FFT)设计实现,第7章 TMS320C54x应用实例,29,7.5.1 FFT原理 所以,N点DFT就转换成N/2点DFT的问题。,7.5 快速傅立叶变换(FFT)设计实现,第7章 TMS320C54x应用实例,30,7.5.2 FFT设计实现 FFT运算应充分利用DSP处理器所提供的各种软、硬件资源,如片内RAM、位倒序寻址方法等。256点实序列FFT变换可以使用汇编语言编程实现也可以使用C语言编程实现。,7.5 快速傅立叶变换(FFT
15、)设计实现,第7章 TMS320C54x应用实例,31,(1)最小应用系统设计,可以脱离计算机开发环境而独立运行。 (2)LED灯的开关控制实例,读者很容易理解通用 I/O的使用方法,及其基本汇编、C的编程操作。 (3)通过在线FLASH烧写实例,读者可以深入理解汇编/C混合编程的方法,并可进一步在系统设计中实现程序运行中的在线数据(掉电不丢失)存储功能。 (4) DSP高速采样实例相对比较复杂一点,但综合了DSP、高速A/D外设、CPLD时序驱动三者的配合应用。 (5)以FFT算法设计实例抛砖引玉,希望读者在此基础上能够深入研究,掌握数字信号处理算法的设计实现方法。,7.6 本章小结,第7章 TMS320C54x应用实例,