第8章__DSP技术典型应用实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年2月1日 10
ቤተ መጻሕፍቲ ባይዱ
第8章 DSP技术典型应用实例 start: STM #STACK+10,SP ;设置堆栈指针 ;设置页指针 LD #d_xs,DP ;x→d_xs ST #6487H,d_xs ;调用子程序 CALL sin_start end: B end ;子程序 sin_start: ;定义符号 .def sin_start d_coef_s .usect “coef_s”,4 ;定义数据空间存放系数 ;定义程序空间存放系数 .data ;c1=1/(89) table_s: .word 01C7H ;c2=1/(67) .word 030BH ;c3=1/(45) .word 0666H ;c4=1/(23) .word 1556H d_xs .usect “sin_vars”,1 ;定义1个数据空间存放x d_squr_xs .usect “sin_vars”,1 ;定义1个数据空间存放x2 d_temp_s .usect “sin_vars”,1 ;定义1个暂存单元 d_sinx .usect “sin_vars”,1 ;定义数据空间存放结果 2019年2月1日 1 c_1_s .usect “sin_vars”,1 ;定义数据空间存放数值 11
程序中要用到一些存储单元存放数据和变量,存储单 元的分配如下: d_xs:x; d_squr_xs: x2 d_temp_s:暂存; d_sinx:计算结果sinx c_1_s:7FFFh (数值1);d_coef_s :泰勒系数
2019年2月1日 9
第8章 DSP技术典型应用实例
图8.3计算正弦值存储单元的分配 程序清单sinx.asm: .title “sinx.asm” .mmregs ;定义符号 .def start ;定义符号 .ref sin_start,d_xs,d_sinx ;建立堆栈 STACK: .usect “STACK”,10
2019年2月1日 2
第8章 DSP技术典型应用实例
8.1.2 JTAG仿真口的连接 JTAG仿真口连接需要和仿真器上给出的端子一致。 如果DSP 和仿真器之间的连接电缆超过 6in,采用如图所示接法, 在数据传输端加一驱动。在大多数情况下,只要板子和仿真器之 间的连接电缆不超过6in,数据传输端可不加驱动。DSP的EMU0 和EMU1端需要用电阻上拉,推荐阻值为4.7kΩ或10kΩ。
第8章 DSP技术典型应用实例 第8章 DSP技术典型应用实例
8.1 DSP最小系统电路设计
8.2 正弦波信号发生器设计 8.3 语音信号采集 8.4 步进电动机的DSP控制 8.5 Matlab语言在DSP设计中的应用
本章小结
习题
2019年2月1日 1
第8章 DSP技术典型应用实例
8.1 DSP最小系统电路设计
2019年2月1日 3
第8章 DSP技术典型应用实例 8.1.3 电源转换芯片 在TI公司的DSP系列中,C2xx系列、C54x采用单一5V电源 供电;而C54xx采用3.3V和1.8V电源供电,其中I/O采用3.3V电 源供电,芯片内核电压采用1.8V电源供电。而实际常用的只有 5V电源,所以必须采用电源转换芯片。 TPS73xx系列是TI公司为了配合DSP而设计的电源转换芯片, 下面着重介绍TPS7301的应用,其硬件接线如图所示。
第8章 DSP技术典型应用实例
8.2 正弦波信号发生器设计
正弦波信号发生器已被广泛地应用于通信、仪器仪表和 工业控制等领域的信号处理系统中。 用DSP实现正弦波信号发生器通常有三种方法: (1) 查表法 将某个频率的正弦/余弦值计算出来后制成一个表, 通过查表的方式来实现正弦波,主要用于对精度要求不很高 的场合。 (2) 泰勒级数展开法 根据泰勒展开式进行计算来实现正弦信号, 它能精确地计算出一个角度的正弦和余弦值,且只需要较小 的存储空间。 (3) 迭代法 利用数字震荡器通过迭代方法产生正弦信号。 本节主要介绍用泰勒级数展开法来实现正弦波信号。
2019年2月1日 6
第8章 DSP技术典型应用实例 8.2.1 产生正弦波的算法 正弦函数和余弦函数可以展开成泰勒级数,其表达式:
取泰勒级数的前5项,得近似计算式:
2019年2月1日 7
第8章 DSP技术典型应用实例
由式(3)和由式(4)可推导出递推公式:
sin(nx) = 2cos(x)sin[(n-1)x]-sin[(n-2)x] cos(nx) = 2cos(x)sin[(n-1)x]-cos[(n-2)x]
8.1.1 TMS320C5409芯片
C5490内部具有16K×16bit的ROM和32K×16bit的RAM。 芯片内部RAM和ROM可根据PMST寄存器中的OVLY、DROM 位灵活设置。数据区,00H~5FH为存储器映射寄存器, 60H~70H为双寻址RAM(DARAM),80H~1FFFH为DARAM, 2000H~7FFFH为单寻址RAM(SARAM)。当DROM=1时,内部 的C000H~FFFFH同时被映射在数据区。当OVLY=1时,内部的 80H~1FFFH和2000H~7FFFH同时被映射为程序区。FF80H开始 存储固有的中断矢量,当芯片工作在微计算机模式时,起始地 址为C000H的16K×16bit ROM也被映射到程序区。 C5409具有一个可屏蔽存储器保护选项,用来保护片内存 储器的内容。当选定此项时,所有外部产生的指令都不能访问 片内存储器空间。
2019年2月1日 4
第8章 DSP技术典型应用实例 8.1.4 时钟信号的接入
C54xx 系列时钟端子为 X1 和 X2/CLKIN ,如果采用无源晶振, 用这两个端子就可以了,接法如图 8.4(a) 所示。如果采用有源晶 振,直接连接X2端子,接法如图8.4(b)所示。
图8.4 晶振的接线图
2019年2月1日 5
(5) (6)
由递推公式可以看出,在计算正弦和余弦值时, 需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。
2019年2月1日 8
第8章 DSP技术典型应用实例
8.2.2 正弦波的DSP实现
1.计算一个角度的正弦值
计算一个角度x的正弦值,可利用泰勒级数的展开式,采 用子程序的调用方式来实现。 在调用前先在数据存储器d_xs单元中存放x的弧度值,计 算结果存放在d_sinx单元中。
ቤተ መጻሕፍቲ ባይዱ
第8章 DSP技术典型应用实例 start: STM #STACK+10,SP ;设置堆栈指针 ;设置页指针 LD #d_xs,DP ;x→d_xs ST #6487H,d_xs ;调用子程序 CALL sin_start end: B end ;子程序 sin_start: ;定义符号 .def sin_start d_coef_s .usect “coef_s”,4 ;定义数据空间存放系数 ;定义程序空间存放系数 .data ;c1=1/(89) table_s: .word 01C7H ;c2=1/(67) .word 030BH ;c3=1/(45) .word 0666H ;c4=1/(23) .word 1556H d_xs .usect “sin_vars”,1 ;定义1个数据空间存放x d_squr_xs .usect “sin_vars”,1 ;定义1个数据空间存放x2 d_temp_s .usect “sin_vars”,1 ;定义1个暂存单元 d_sinx .usect “sin_vars”,1 ;定义数据空间存放结果 2019年2月1日 1 c_1_s .usect “sin_vars”,1 ;定义数据空间存放数值 11
程序中要用到一些存储单元存放数据和变量,存储单 元的分配如下: d_xs:x; d_squr_xs: x2 d_temp_s:暂存; d_sinx:计算结果sinx c_1_s:7FFFh (数值1);d_coef_s :泰勒系数
2019年2月1日 9
第8章 DSP技术典型应用实例
图8.3计算正弦值存储单元的分配 程序清单sinx.asm: .title “sinx.asm” .mmregs ;定义符号 .def start ;定义符号 .ref sin_start,d_xs,d_sinx ;建立堆栈 STACK: .usect “STACK”,10
2019年2月1日 2
第8章 DSP技术典型应用实例
8.1.2 JTAG仿真口的连接 JTAG仿真口连接需要和仿真器上给出的端子一致。 如果DSP 和仿真器之间的连接电缆超过 6in,采用如图所示接法, 在数据传输端加一驱动。在大多数情况下,只要板子和仿真器之 间的连接电缆不超过6in,数据传输端可不加驱动。DSP的EMU0 和EMU1端需要用电阻上拉,推荐阻值为4.7kΩ或10kΩ。
第8章 DSP技术典型应用实例 第8章 DSP技术典型应用实例
8.1 DSP最小系统电路设计
8.2 正弦波信号发生器设计 8.3 语音信号采集 8.4 步进电动机的DSP控制 8.5 Matlab语言在DSP设计中的应用
本章小结
习题
2019年2月1日 1
第8章 DSP技术典型应用实例
8.1 DSP最小系统电路设计
2019年2月1日 3
第8章 DSP技术典型应用实例 8.1.3 电源转换芯片 在TI公司的DSP系列中,C2xx系列、C54x采用单一5V电源 供电;而C54xx采用3.3V和1.8V电源供电,其中I/O采用3.3V电 源供电,芯片内核电压采用1.8V电源供电。而实际常用的只有 5V电源,所以必须采用电源转换芯片。 TPS73xx系列是TI公司为了配合DSP而设计的电源转换芯片, 下面着重介绍TPS7301的应用,其硬件接线如图所示。
第8章 DSP技术典型应用实例
8.2 正弦波信号发生器设计
正弦波信号发生器已被广泛地应用于通信、仪器仪表和 工业控制等领域的信号处理系统中。 用DSP实现正弦波信号发生器通常有三种方法: (1) 查表法 将某个频率的正弦/余弦值计算出来后制成一个表, 通过查表的方式来实现正弦波,主要用于对精度要求不很高 的场合。 (2) 泰勒级数展开法 根据泰勒展开式进行计算来实现正弦信号, 它能精确地计算出一个角度的正弦和余弦值,且只需要较小 的存储空间。 (3) 迭代法 利用数字震荡器通过迭代方法产生正弦信号。 本节主要介绍用泰勒级数展开法来实现正弦波信号。
2019年2月1日 6
第8章 DSP技术典型应用实例 8.2.1 产生正弦波的算法 正弦函数和余弦函数可以展开成泰勒级数,其表达式:
取泰勒级数的前5项,得近似计算式:
2019年2月1日 7
第8章 DSP技术典型应用实例
由式(3)和由式(4)可推导出递推公式:
sin(nx) = 2cos(x)sin[(n-1)x]-sin[(n-2)x] cos(nx) = 2cos(x)sin[(n-1)x]-cos[(n-2)x]
8.1.1 TMS320C5409芯片
C5490内部具有16K×16bit的ROM和32K×16bit的RAM。 芯片内部RAM和ROM可根据PMST寄存器中的OVLY、DROM 位灵活设置。数据区,00H~5FH为存储器映射寄存器, 60H~70H为双寻址RAM(DARAM),80H~1FFFH为DARAM, 2000H~7FFFH为单寻址RAM(SARAM)。当DROM=1时,内部 的C000H~FFFFH同时被映射在数据区。当OVLY=1时,内部的 80H~1FFFH和2000H~7FFFH同时被映射为程序区。FF80H开始 存储固有的中断矢量,当芯片工作在微计算机模式时,起始地 址为C000H的16K×16bit ROM也被映射到程序区。 C5409具有一个可屏蔽存储器保护选项,用来保护片内存 储器的内容。当选定此项时,所有外部产生的指令都不能访问 片内存储器空间。
2019年2月1日 4
第8章 DSP技术典型应用实例 8.1.4 时钟信号的接入
C54xx 系列时钟端子为 X1 和 X2/CLKIN ,如果采用无源晶振, 用这两个端子就可以了,接法如图 8.4(a) 所示。如果采用有源晶 振,直接连接X2端子,接法如图8.4(b)所示。
图8.4 晶振的接线图
2019年2月1日 5
(5) (6)
由递推公式可以看出,在计算正弦和余弦值时, 需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。
2019年2月1日 8
第8章 DSP技术典型应用实例
8.2.2 正弦波的DSP实现
1.计算一个角度的正弦值
计算一个角度x的正弦值,可利用泰勒级数的展开式,采 用子程序的调用方式来实现。 在调用前先在数据存储器d_xs单元中存放x的弧度值,计 算结果存放在d_sinx单元中。