彭启冲DSP教程PPT文档资料.ppt

上传人:rrsccc 文档编号:9779655 上传时间:2021-03-25 格式:PPT 页数:69 大小:1.33MB
返回 下载 相关 举报
彭启冲DSP教程PPT文档资料.ppt_第1页
第1页 / 共69页
彭启冲DSP教程PPT文档资料.ppt_第2页
第2页 / 共69页
彭启冲DSP教程PPT文档资料.ppt_第3页
第3页 / 共69页
彭启冲DSP教程PPT文档资料.ppt_第4页
第4页 / 共69页
彭启冲DSP教程PPT文档资料.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《彭启冲DSP教程PPT文档资料.ppt》由会员分享,可在线阅读,更多相关《彭启冲DSP教程PPT文档资料.ppt(69页珍藏版)》请在三一文库上搜索。

1、.,1,第七章 工程问题的DSP实现(一) DTMF的编解码,.,2,用DSP实现双音多频(DTMF)的拨号产生和解码。 DTMF Dual-Tone Multiple Frequency,.,3,实现步骤,对象分析,算法设计,DSP选择,系统设计,系统实现,系统调试,.,4,对象分析,对所要开发的系统的功能、性能要有深入的了解和分析,尤其对技术指标,要作透彻的理解和把握。,.,5,DTMF用一对频率(行频/列频)来表示一个符号(电话键盘上的09,AD,*,#,共16个符号),一次按键的时间是100ms,其中,频率对存在的时间是45ms,不允许超过55ms,其余的时间是静音。,.,6,.,7,

2、CCITT关于DTMF的指标,Low band: 697、770、852、941(Hz)RBW4dB REV 8dB DYN RANGE: 25dB GUARD TIME: MIN TONE TIME 45ms SNR:NOISE -24dBV,.,8,算法设计,算法设计是非常关键的步骤,因为算法决定运算量和存储器的大小,从而决定DSP的选择,进而决定系统的设计,包括硬件和软件的设计。,.,9,DTMF拨号的产生,基于DSP的DTMF的音频信号发生器,使用两个二阶的数字正弦波振荡器,一个产生行频,一个产生列频。,.,10,.,11,DTMF发生器的系数和初始条件,.,12,DTMF发生器的信号

3、流程,.,13,音频检测,Goertzel算法是DTMF解码器的基础,实际上是一个两极点的IIR滤波器。 DFT或FFT需要在处理之前准备好一个数据块,而Goertzel算法是一个递归的结构,就每个输入的样本进行计算。,.,14,Goertzel算法,.,15,Goertzel算法的特点,Goertzel算法的IIR滤波器结构涉及两个复共轭极点,但对于实际的DTMF音频检测,只要有幅度信息就够了(实际上使用幅度平方),从而简化为只需要一个实系数参与计算。 Goertzel算法要比FFT快得多,因为只需要提供8个行/列频和它们的二次谐波的信息(二次谐波的信息用于将DTMF与话音或音乐区别开来)。

4、,.,16,行频/列频及相应的系数,.,17,有效性检查,信号强度 DTMF行频、列频信号之和的强度是否达到一定的门限值,.,18,有效性检查,扭曲度 标准扭曲: 行频峰值 列频峰值 4dB 反向扭曲: 列频峰值 行频峰值 8dB,.,19,有效性检查,二次谐波强度 以便将DTMF信号与其他语音信号、音乐信号等区别开来。,.,20,有效性检查,数字信息的稳定性 如果一个数字成功地检测到两次,认为该数字是稳定的,.,21,有效性检查,数字信息的有效性 检测到的数字前面必须是静音符时,该数字才是有效的,以便将各次击键区别开来,.,22,.,23,.,24,编码器对速度和存储器的要求,.,25,解码

5、器对速度和存储器的要求,.,26,DSP芯片选择,算法对DSP芯片计算速度的要求 系统的管理(如任务管理、进程管理、存储器管理、I/O管理等)对DSP的要求 片内存储器和片外存储器的要求(包括容量的要求和速度的要求),.,27,DSP芯片选择,对外设(如串口、并口、定时器、总线宽度、等待状态等)的要求 DSP封装对印制板的设计影响甚大 开发环境 技术支持 性能价格比,.,28,DSP芯片的速度,.,29,DSP的片内存储器,.,30,DSP的外设,.,31,BGA(BALL GRID ARRAY),.,32,PLCC(PLASTIC J-LEADED CHIP CARRIER),.,33,PQ

6、FP(PLASTIC QUAD FLAT PACK),.,34,PDLP(PLASTIC DUAL-IN-LINE PACKAGE),.,35,LCCC(LEADLESS CERAMIC CHIP CARRIER),.,36,系统设计,硬件系统设计,软件系统设计 工作软件 测试软件,功能框图(指标分配) 电原理图 印制板(数字与模拟电路,接地,电源,多层板),.,37,系统的实现,从C程序作起 用C Compiler将C源程序编译成为汇编语言源程序,然后汇编、连接后输出可执行代码;也可以使用shell程序,将编译、汇编、连接一齐完成,.,38,.,39,.,40,源程序分析器,输入是C源文件。

7、读入源语句,检查语法和语意错误,写出一个中间文件(.if),.,41,优化器,可选择项。其输入是分析器产生的中间文件(.if)。当运行优化器时,用户可以选择优化的层次。产生一个与中间文件格式相同的高效率版本。,.,42,代码生成器,输入是分析器或优化器产生的中间文件(.if或.opt文件),产生一个汇编语言源文件,.,43,内部列表公用程序,输入是C编译器产生的汇编语言源程序和C源程序。产生的是按C文件的语句展开的汇编语言源文件,.,44,汇编器和连接器,汇编器的输入是代码生成器产生的汇编语言文件,产生COFF目标文件 连接器的输入是汇编器产生的COFF目标文件,产生可执行的目标文件,.,45

8、,运行C编译器,cl500 -options filenames -z link_options object files cl500调用编译器和汇编器的命令。 -options 影响编译器处理输入文件的途径 filenames 一个或多个C源文件、汇编语言源文件,或目标文件。 -z 运行连接器的选择项。 link_options 影响连接器处理输入文件的途径 object files 命名编译器产生的目标文件,.,46,cl500 -q symtab file seek.asm z,编译文件symtab和file,汇编第三个文件seek.asm,连接这三个文件,并使用quiet选择项,抑制输

9、出处理信息,.,47,如果不使用-q选择项,就会输出以下处理信息:,symtab TMS320C54x ANSI C Compiler Version x.xx Copyright (c) 1997 Texas Instruments Incorporated “symtab.c”= main “symtab.c”= lookup TMS320C54x ANSI C Codegen Version x.xx Copyright (c) 1997 Texas Instruments Incorporated “symtab.c” = main “symtab.c” = lookup,.,48,T

10、MS320C54x COFF Assembler version x.xx Copyright 1997 Texas Instruments Incorporated PASS 1 PASS 2 No Errors, No Warnings,.,49,汇编器输出的列表文件:,1 * 2 * Assemble into the .text section. * 3 * 4 0000 .text 5 0000 e800 LD #0, A 6 * 7 * Allocate 4 words in .bss for TEMP. * 8 * 9 0000 Var_1: .bss TEMP, 4 10,.,

11、50,11 * 12 * Still in .text * 13 * 14 0001 f000 ADD #56h, A 0002 0056 15 0003 f066 MPY #73h, A 0004 0073 16,.,51,17 * 18 * Allocate 100 words in .bss for the * 19 * symbol named ARRAY; this part of * 20 * .bss must fit on a single page. * 21 * 22 0004 .bss ARRAY, 100, 1 23 24 * 25 * Assemble more co

12、de into .text. * 26 * 27 0005 8000-STL A, Var_1 28,.,52,29 * 30 * Declare external .bss symbols. * 31 * 32 .global ARRAY, TEMP 33 .end,.,53,连接器-m选择项建立映射列表文件,-m filename 该连接器映射列表描述: 存储器划分 输入与输出段的位置 外部符号重新定位后的地址,.,54,当没有发现错误时,连接器就建立一个输出模块,省缺名为a.out。也可以使用-o选择项,将输出模块写入另外的文件: -o filename 其中的文件名就是新的输出模块的文

13、件名,.,55,lnk500 o run.out file1.obj file2.obj,将ile1.obj 和 file2.obj 连接起来,建立一个名为run.out 的输出模块,.,56,可以将上述文件名及选择项,再加上注释写入一个命令文件link.cmd :,a.obj /* First input filename */ b.obj /* Second input filename */ -o prog.out /* Option to specify output file */ -m prog.map /* Option to specify map file */ 并用该命令文

14、件来调用连接器: lnk500 link.cmd,.,57,包含连接器伪指令的命令文件:,a.obj b.obj c.obj /* Input filenames */ -o prog.out -m prog.map /* Options */ MEMORY /* MEMORY directive */ RAM: origin = 100h length = 0100h ROM: origin = 01000h length = 0100h SECTIONS /* SECTIONS directive */ .text: ROM .data: ROM .bss: RAM ,.,58,MEMOR

15、YPAGE 0 : name 1 (attr) : origin = constant , length = constant;PAGE n : name n (attr) : origin = constant , length = constant;,PAGE 说明一个存储器空间。用户最多可以说明255页。通常,page0是程序存储器,page1是数据存储器。 name 命名一个存储器范围。一个存储器的名字可以是18个字符,其中包括AZ,az,$,.,_。,.,59,Attr 存储器的属性: R 存储器可读 W 存储器可写 X 存储器可包含可执行代码 I 存储器可以初始化,.,60,ori

16、gin 指定存储器的开始地址 length 指定存储器范围的长度。 fill 为存储器范围指定一个填入的字符,其值是2-byte的整常数。,.,61,TMS320C54x省缺的地址配置:,MEMORY PAGE 0: PROG: origin = 0 x0080 length = 0 xFF00 PAGE 1: DATA: origin = 0 x0080 length = 0 xFF80 SECTIONS .text: PAGE = 0 .data: PAGE = 0 .cinit: PAGE = 0 ;cflag option only .bss: PAGE = 1 ,.,62,连接器使用

17、举例,本例连接三个目标文件demo.obj、fft.obj和 tables.obj,并建立输出文件demo.out。符号SETUP是程序的输入点。,.,63,连接器命令文件 demo.cmd,/*/ /* Specify Linker Options */ /*/ -e coeff /* Define the program entry point */ -o demo.out /* Name the output file */ -m demo.map /* Create an output map */ /*/ /* Specify the Input Files */ /*/ demo.

18、obj fft.obj tables.obj,.,64,/*/ /* Specify the Memory Configurations */ /*/ MEMORY PAGE 0: RAM_PG: origin=00080h length=06F80h ROM: origin=0C000h length=03F80h PAGE 1: ONCHIP: origin=00080h length=0F7Fh EXT: origin=01000h length=0EFFFh ,.,65,/*/ /* Specify the Output Sections */ /*/ SECTIONS .text:

19、load = ROM, page = 0 /* link .text into ROM */ var_defs: load = ONCHIP, page=1 /* defs in RAM */ .data: fill = 07A1Ch, load=ONCHIP, page=1 tables.obj(.data) /* .data input */ fft.obj(.data) /* .data input */ . = 100h; /* create hole, fill with 07A1Ch */ /* and link with ONCHIP */ .bss: load=RAM_PG,p

20、age=0,fill=0FFFFh /* Remaining .bss; fill and link */ ,.,66,映射文件demo.map,OUTPUT FILE NAME: ENTRY POINT SYMBOL: 0 MEMORY CONFIGURATION Name origin length attributes fill - - - - - PAGE 0: RAM_PG 00000080 000006f80 RWIX ROM 0000c000 000003f80 RWIX PAGE 1: ONCHIP 00000080 000000f7f RWIX EXT 00001000 00

21、000efff RWIX,.,67,SECTION ALLOCATION MAP output attributes/ section page originlengthinput sections - - .text00000c00000000015 0000c000 00000008 demo.obj (.text) 0000c008 00000007 fft.obj (.text) 0000c00f 00000006 tables.obj (.text) var_defs 1 00000080 00000002 00000080 00000002 demo.obj (var_defs)

22、.data 1 00000082 00000108 00000082 00000000 tables.obj (.data) 00000082 00000000 fft.obj (.data) 00000082 00000100 fill = 7a1c 00000182 00000008 demo.obj (.data),.,68,.bss 0 00000080 0000007b 00000080 00000013 demo.obj (.bss) fill=ffff 00000093 00000000 fft.obj (.bss) 00000093 00000068 tables.obj(.b

23、ss)fill=ffff xy 1 0000018a 00000014 UNINITIALIZED 0000018a 00000014 demo.obj (xy) GLOBAL SYMBOLS address name address name - - 00000080 .bss 00000080 .bss 00000082 .data 00000082 .data 0000c000 .text 00000093 TEMP 00000097 ARRAY 00000097 ARRAY 00000093 TEMP 000000fb end 0000018a edata 0000018a edata 000000fb end 0000c000 .text 0000c015 etext 0000c015 etext 8 symbols,.,69,系统的调试,1. 硬件测试 2软件调试 1)开发环境的使用 2)应用软件的调试 3. 系统的联调 1)制作、使用测试软件 2)系统与外部环境的适配性测试 3)全系统联调,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1