彭启冲DSP教程7.ppt_第1页
彭启冲DSP教程7.ppt_第2页
彭启冲DSP教程7.ppt_第3页
彭启冲DSP教程7.ppt_第4页
彭启冲DSP教程7.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章工程问题的DSP实现 一 DTMF的编解码 用DSP实现双音多频 DTMF 的拨号产生和解码 DTMFDual ToneMultipleFrequency 实现步骤 对象分析 算法设计 DSP选择 系统设计 系统实现 系统调试 对象分析 对所要开发的系统的功能 性能要有深入的了解和分析 尤其对技术指标 要作透彻的理解和把握 DTMF用一对频率 行频 列频 来表示一个符号 电话键盘上的0 9 A D 共16个符号 一次按键的时间是100ms 其中 频率对存在的时间是45ms 不允许超过55ms 其余的时间是静音 CCITT关于DTMF的指标 Lowband 697 770 852 941 Hz RBW4dBREV 8dBDYNRANGE 25dBGUARDTIME MINTONETIME45msSNR NOISE 24dBV 算法设计 算法设计是非常关键的步骤 因为算法决定运算量和存储器的大小 从而决定DSP的选择 进而决定系统的设计 包括硬件和软件的设计 DTMF拨号的产生 基于DSP的DTMF的音频信号发生器 使用两个二阶的数字正弦波振荡器 一个产生行频 一个产生列频 DTMF发生器的系数和初始条件 DTMF发生器的信号流程 音频检测 Goertzel算法是DTMF解码器的基础 实际上是一个两极点的IIR滤波器 DFT或FFT需要在处理之前准备好一个数据块 而Goertzel算法是一个递归的结构 就每个输入的样本进行计算 Goertzel算法 Goertzel算法的特点 Goertzel算法的IIR滤波器结构涉及两个复共轭极点 但对于实际的DTMF音频检测 只要有幅度信息就够了 实际上使用幅度平方 从而简化为只需要一个实系数参与计算 Goertzel算法要比FFT快得多 因为只需要提供8个行 列频和它们的二次谐波的信息 二次谐波的信息用于将DTMF与话音或音乐区别开来 行频 列频及相应的系数 有效性检查 信号强度DTMF行频 列频信号之和的强度是否达到一定的门限值 有效性检查 扭曲度标准扭曲 行频峰值 列频峰值4dB反向扭曲 列频峰值 行频峰值8dB 有效性检查 二次谐波强度以便将DTMF信号与其他语音信号 音乐信号等区别开来 有效性检查 数字信息的稳定性如果一个数字成功地检测到两次 认为该数字是稳定的 有效性检查 数字信息的有效性检测到的数字前面必须是静音符时 该数字才是有效的 以便将各次击键区别开来 编码器对速度和存储器的要求 解码器对速度和存储器的要求 DSP芯片选择 算法对DSP芯片计算速度的要求系统的管理 如任务管理 进程管理 存储器管理 I O管理等 对DSP的要求片内存储器和片外存储器的要求 包括容量的要求和速度的要求 DSP芯片选择 对外设 如串口 并口 定时器 总线宽度 等待状态等 的要求DSP封装对印制板的设计影响甚大开发环境技术支持性能价格比 DSP芯片的速度 DSP的片内存储器 DSP的外设 BGA BALLGRIDARRAY PLCC PLASTICJ LEADEDCHIPCARRIER PQFP PLASTICQUADFLATPACK PDLP PLASTICDUAL IN LINEPACKAGE LCCC LEADLESSCERAMICCHIPCARRIER 系统设计 硬件系统设计 软件系统设计工作软件测试软件 功能框图 指标分配 电原理图印制板 数字与模拟电路 接地 电源 多层板 系统的实现 从C程序作起用CCompiler将C源程序编译成为汇编语言源程序 然后汇编 连接后输出可执行代码 也可以使用shell程序 将编译 汇编 连接一齐完成 源程序分析器 输入是C源文件 读入源语句 检查语法和语意错误 写出一个中间文件 if 优化器 可选择项 其输入是分析器产生的中间文件 if 当运行优化器时 用户可以选择优化的层次 产生一个与中间文件格式相同的高效率版本 代码生成器 输入是分析器或优化器产生的中间文件 if或 opt文件 产生一个汇编语言源文件 内部列表公用程序 输入是C编译器产生的汇编语言源程序和C源程序 产生的是按C文件的语句展开的汇编语言源文件 汇编器和连接器 汇编器的输入是代码生成器产生的汇编语言文件 产生COFF目标文件连接器的输入是汇编器产生的COFF目标文件 产生可执行的目标文件 运行C编译器 cl500 options filenames z link options objectfiles cl500调用编译器和汇编器的命令 options影响编译器处理输入文件的途径filenames一个或多个C源文件 汇编语言源文件 或目标文件 z运行连接器的选择项 link options影响连接器处理输入文件的途径objectfiles命名编译器产生的目标文件 cl500 qsymtabfileseek asm z 编译文件symtab和file 汇编第三个文件seek asm 连接这三个文件 并使用quiet选择项 抑制输出处理信息 如果不使用 q选择项 就会输出以下处理信息 symtab TMS320C54xANSICCompilerVersionx xxCopyright c 1997TexasInstrumentsIncorporated symtab c main symtab c lookupTMS320C54xANSICCodegenVersionx xxCopyright c 1997TexasInstrumentsIncorporated symtab c main symtab c lookup TMS320C54xCOFFAssemblerversionx xxCopyright 1997TexasInstrumentsIncorporatedPASS1PASS2NoErrors NoWarnings 汇编器输出的列表文件 1 2 Assembleintothe textsection 3 40000 text50000e800LD 0 A6 7 Allocate4wordsin bssforTEMP 8 90000Var 1 bssTEMP 410 11 12 Stillin text 13 140001f000ADD 56h A00020056150003f066MPY 73h A0004007316 17 18 Allocate100wordsin bssforthe 19 symbolnamedARRAY thispartof 20 bssmustfitonasinglepage 21 220004 bssARRAY 100 12324 25 Assemblemorecodeinto text 26 2700058000 STLA Var 128 29 30 Declareexternal bsssymbols 31 32 globalARRAY TEMP33 end 连接器 m选择项建立映射列表文件 mfilename该连接器映射列表描述 存储器划分输入与输出段的位置外部符号重新定位后的地址 当没有发现错误时 连接器就建立一个输出模块 省缺名为a out 也可以使用 o选择项 将输出模块写入另外的文件 ofilename其中的文件名就是新的输出模块的文件名 lnk500 orun outfile1 objfile2 obj 将ile1 obj和file2 obj连接起来 建立一个名为run out的输出模块 可以将上述文件名及选择项 再加上注释写入一个命令文件link cmd a obj Firstinputfilename b obj Secondinputfilename oprog out Optiontospecifyoutputfile mprog map Optiontospecifymapfile 并用该命令文件来调用连接器 lnk500link cmd 包含连接器伪指令的命令文件 a objb objc obj Inputfilenames oprog out mprog map Options MEMORY MEMORYdirective RAM origin 100hlength 0100hROM origin 01000hlength 0100h SECTIONS SECTIONSdirective text ROM data ROM bss RAM MEMORY PAGE0 name1 attr origin constant length constant PAGEn namen attr origin constant length constant PAGE说明一个存储器空间 用户最多可以说明255页 通常 page0是程序存储器 page1是数据存储器 name命名一个存储器范围 一个存储器的名字可以是1 8个字符 其中包括A Z a z Attr存储器的属性 R存储器可读W存储器可写X存储器可包含可执行代码I存储器可以初始化 origin指定存储器的开始地址length指定存储器范围的长度 fill为存储器范围指定一个填入的字符 其值是2 byte的整常数 TMS320C54x省缺的地址配置 MEMORY PAGE0 PROG origin 0 x0080length 0 xFF00PAGE1 DATA origin 0 x0080length 0 xFF80 SECTIONS text PAGE 0 data PAGE 0 cinit PAGE 0 cflagoptiononly bss PAGE 1 连接器使用举例 本例连接三个目标文件demo obj fft obj和tables obj 并建立输出文件demo out 符号SETUP是程序的输入点 连接器命令文件demo cmd SpecifyLinkerOptions ecoeff Definetheprogramentrypoint odemo out Nametheoutputfile mdemo map Createanoutputmap SpecifytheInputFiles demo objfft objtables obj SpecifytheMemoryConfigurations MEMORY PAGE0 RAM PG origin 00080hlength 06F80hROM origin 0C000hlength 03F80hPAGE1 ONCHIP origin 00080hlength 0F7FhEXT origin 01000hlength 0EFFFh SpecifytheOutputSections SECTIONS text load ROM page 0 link textintoROM var defs load ONCHIP page 1 defsinRAM data fill 07A1Ch load ONCHIP page 1 tables obj data datainput fft obj data datainput 100h createhole fillwith07A1Ch andlinkwithONCHIP bss load RAM PG page 0 fill 0FFFFh Remaining bss fillandlink 映射文件demo map OUTPUTFILENAME ENTRYPOINTSYMBOL 0MEMORYCONFIGURATIONNameoriginlengthattributesfill PAGE0 RAM PG00000080000006f80RWIXROM0000c000000003f80RWIXPAGE1 ONCHIP00000080000000f7fRWIXEXT0000100000000efffRWIX SECTIONALLOCATIONMAPoutputattributes sectionpageoriginlengthinputsections text00000c000000000150000c00000000008demo obj text 0000c00800000007fft obj text 0000c00f00000006tables obj text var defs100000080000000020000008000000002demo obj var defs data100000082000001080000008200000000tables obj data 0000008200000000fft obj data 0000008200000100 fill 7a1c 0000018200000008demo obj data bss0000000800000007b0000008000000013demo obj bss fill ffff 0000009300000000fft obj bss 0000009300000068tables obj bss fill ffff xy10000018a00000014UNINITIALIZED0000018a00000014demo obj xy GLOBALSYMBOLSaddressnameaddress

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论