已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉大学珞珈学院本科毕业论文 武汉大学毕 业 论 文基于dsp的语言存储与回放系统i摘要语音信号是信息的重要形式,语音信号有着广泛的应用领域,而语音压缩在语音信号的传输,存储等方面有着非常广泛的作用,并在通信领域已经有了较成熟的发展和应用。ti公司的tms320c54x系列dsp的体系架构,包括cpu(中央处理单元)、总线结构、指令系统、寻址模式及片上外设等方面。在此基础上,开发了一个实用的语音信号采集与处理电路板,对电路板的存储器模块、数字编解码芯片tlc320ad50c(简称ad50)的a/d、d/a模块等作了重点分析与接口电路设计。本次设计具有高速、实时、灵活的特点,实现了一个完整的语音信号数字化处理系统,可以对模拟信号进行采集、处理、播放等功能,并且可以用有限的存储空间存储较多的数字语音信号,完成多种语音处理功能。关键词:语音信号,ti,tms320c54x,dsp,数字编解码芯片tlc320ad50c第1章 绪 论1.1 关于数字信号处理(dsp)语言存储与回放的发展历史及研究现状31.2 本次课题研究的内容51.3 本方案特点5第2章 tms320vc5402和tlc320ad50c的基本结构与特性2.1 tms320c5402的基本结构与特性62.1.1 tms320c54x 的封装与总线结构62.1.2 tms320vc5402的基本介绍62.2 tlc320ad50c的基本结构与特性82.2.1 tlc320ad50c的基本结构特性82.3 tlc320ad50c的内部控制存储器102.3.1控制寄存器1102.3.2控制寄存器2102.3.3控制寄存器3112.3.4控制寄存器411第3章 以dsp为核心处理系统的硬件设计3.1 系统框图123.2 复位电路123.3 时钟电路133.4 闪存(flash rom)与dsp的接口143.5 高速缓存(sram)与dsp的接口153.6 电源设计16第4章 语音存储与回放系统的总体的硬件设计4.1总体方案174.2语音模拟信号输入输出电路174.3 dsp与音频处理芯片的硬件接口设计194.3.1 多通道缓冲串行口mcbsp194.3.2 tms320vc5402与tlc320ad50c的接口设计19第5章 系统的软件设计5.1 系统软件设计215.1.1 程序流程图215.1.2 程序调试的主要步骤215.2通信协议22结 论23参考文献24附 录25附录1 mcbsp通道初始化程序25附录2 tlc320ad50c的初始化程序28后 记31第1章 绪 论近年来,在数字信号处理领域有着绝对优势的dsp技术得到了迅速发展,不仅在通信计算机领域大显身手并已经逐渐渗透到人们日常消费领域。正因为如此,dsp应用越来越得到普遍重视。dsp(digital signal processing)作为可编程数字信号处理专用芯片是微型计算机发展的一个重要分支,也是数字信号处理理论实用化过程的重要技术工具。dsp器件分为两大类:一类是专用于fft,fir滤波,卷积等运算的芯片,称为专用dsp芯片;另一类是可以通过编程完成各种用户要求的信息处理任务芯片,称为通用数字信号处理器。1.1关于数字信号处理(dsp)语言存储与回放的发展历史及研究现状数字信号处理(digital signal processing,简称dsp)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。dsp有两种含义:digital signal processing(数字信号处理)、digital signal processor(数字信号处理器)。我们常说的dsp指的是数字信号处理器。数字信号处理器是一种适合完成数字信号处理运算的处理器。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。在当今的数字化时代背景下,dsp己成为通信、计算机、消费类电子产品等领域的基础器件。dsp的发展大致分为三个阶段:在dsp出现之前数字信号处理只能依靠微处理器来完成。但由于微处理器较低的处理速度不快,根本就无法满足越来越大的信息量的高速实时要求。因此应用更快更高效的信号处理方式成了日渐迫切的社会需求,到了70年代,有人提出了dsp的理论和算法基础。但那时的dsp仅仅停留在教科书上,即使是研制出来的dsp系统也是由分立元件组成的,其应用领域仅局限于军事、航空航天部门。一般认为,世界上第一个单片dsp芯片是1978年ami公司发布的s2811。1979年美国intel公司发布的商用可编程器件2920是dsp芯片的一个主要里程碑。这两种芯片内部都没有现代dsp芯片所必须有的单周期乘法器。1980年,日本nec公司推出的mp d7720是第一个具有硬件乘法器的商用dsp芯片,从而被认为是第一块单片dsp器件。随着大规模集成电路技术和半导体技术的发展,1982年世界上诞生了第一代dsp芯片tms32010及其系列产品。这种dsp器件采用微米工艺nmos技术制作,虽功耗和尺寸稍大,但运算速度却比微处理器快了几十倍,尤其在语言合成和编码译码器中得到了广泛应用。dsp芯片的问世是个里程碑,它标志着dsp应用系统由大型系统向小型化迈进了一大步。至80年代中期,随着cmos工艺的dsp芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。80年代后期,第三代dsp芯片问世,运算速度进一步提高,其应用范围逐步扩大到通信、计算机领域。90年代dsp发展最快,相继出现了第四代和第五代dsp器件。现在的dsp属于第五代产品,它与第四代相比,系统集成度更高,将dsp芯核及外围元件综合集成在单一芯片上。这种集成度极高的dsp芯片不仅在通信、计算机领域大显身手,而且逐渐渗透到人们的日常生活领域。经过20多年的发展,dsp产品的应用已扩大到人们的学习、工作和生活的各个方面,并逐步成为电子产品更新换代的决定因素。国内发展dsp的厂商并不多,而主要的应用产品是dvd与无线电话等,因此国内dsp的产值并不高;而在产品应用上,目前重要的dsp应用产品,如行动电话、调制解调器、hdd等个人计算机与通讯领域应用产品,都是采用国际大厂dsp solution。虽然目前dsp的主要应用产品的市场都是由国际半导体大厂所控制,但是我国在政策的扶植下,本土厂商积极投入研发资源,以消费性产品作为进入dsp市场的一个敲门砖,也必将在dsp市场上争得一席之地。国外dsp发展现状:简略国际dsp处理发展的现状,国外的商业化信号处理设备一直保持着快速的发展势头。欧美等科技大国保持着国际领先的地位。例如美国dsp research公司,pentek公司,motorola公司,加拿大dy4公司等,他们很多已经发展到相当大的规模,竞争也愈发激烈。我们从国际知名dsp技术公司发布的产品中就可以了解一些当今世界先进的数字信号处理系统的情况。以pentek公司一款处理板4293为例,使用8片ti公司 300 mhz的tms320c6203芯片,具有19 200 mips的处理能力,同时集成了8片32 mb的sdram,数据吞吐600 mb/s。该公司另一款处理板4294集成了4片motorola mpc7410 g4 power pc处理器,工作频率400/500 mhz,两级缓存256k64 bit,最高具有16mb的sdram。adi公司的tiger sarc芯片也由于其出色的协同工作能力,可以组成强大的处理器阵列,在诸多领域(特别是军事领域)获得了广泛的应用。以英国transtech dsp公司的tp-p36n为例,它由48片ts101b(tigers arc)芯片构成,时钟 250 mhz,具有612 gflops的处理能力。dsp应用产品获得成功的一个标志就是进入产业化。在以往的20年中,这一进程在不断重复进行,而且周期在不断缩小。在数字信息时代,更多的新技术和新产品需要快速地推上市场,因此,dsp的产业化进程还是需要加速进行。随着竞争的加剧,dsp生产商随时调整发展规划,以全面的市场规划和完善的解决方案,加上新的开发历年,不断深化产业化进程。1.2 本次课题研究的内容模/数接口设计是dsp系统设计中一个重要的组成部分,本设计是以dsp为中心,通过串行口和数模/模数转换器进行硬件连接,讨论了如何利用多通道缓冲串口mcbsp与nma结合的方式实现语音信号的采集和处理,阐述了语音压缩的原理和软件设计方法。以语音处理中基本的a/d、d/a转换为例,采用tms320c54x数字信号处理器的外围扩展芯片tlc320ad50作为语音采样信号的输入和处理后的语音信号的输出通道,给出了dsp与tlc320ad50的接口设计.详细介绍了tms320c54x的多缓冲串口(mcbsp)软硬件设计并提出如何用mcbsp在语音通信中降低传输带宽,并提出了具体的设计思想和实现方法.通过使tlc320ad50工作在主方式,dsp工作在从方式,可以实现高速实时的a/d、d/a转换和实现处理后的语音信号低带宽传输。1.3 本方案特点信息技术和超大规模集成电路工艺的不断发展, 极大地推动了dsp的发展。dsp 技术的应用领域也越来越广,尤其在音频处理领域。目前,在很多语音处理系统中都用到了语音录放模块,采集现场的声音并存储起来供以后回放。语音处理系统的实时性、功耗、体积以及对语音信号保真度都是影响系统性能的关键因素。该设计采用的高速54x dsp芯片,最高频率能达到100mips能够很好的解决系统的实时性;采用的数字编解码芯片tlc320ad50( 以下简称ad50) 具有16 位样精度, 最大功耗仅100 mw。因此,该音频编解码芯片与54x dsp的结合是可移动数字音频录放系统、现场语音采集系统的理想解决方案。dsp(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。dsp又叫数字信号处理。顾名思义,dsp 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,常见的手机、数字电视和数码相机都离不开dsp。dsp用于手机和基站中为移动通信的发展做出重要贡献,将在2. 5g和3g中扮演重要角色。可以说,dsp已经融入到生活的方方面面。 dsp 相对于一般微作了很大的扩充和增强,主要是: (1)修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。 (2)硬件乘法器以及特殊指令。这是区别于一般微的重要标志。一般微用软件实现乘法,逐条执行指令,速度慢。而dsp依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如tm320系列的firs ,lms ,macd指令等。第2章 tms320vc5402和tlc320ad50c的基本结构与特性2.1 tms320c5402的基本结构与特性2.1.1 tms320c54x 的封装与总线结构tms320vc5402有144脚的薄形四边引脚扁平封装(lqfp)或144脚的球栅阵列封装,图2.1为tms320vc5402 dsp芯片的引脚图。图2.1 tms320vc5402 的芯片引脚c54x 包的总线结构括8 条16 比特宽度的总线,其中:一条程序总线(pb),三条数据总线(cb、db、eb) ,四条地址总线(pab cab dab eab),这样可以保证在一个机器周期内可以多次访问程序空间和数据空间,总线越多,可以完成的功能就越复杂。2.1.2 tms320vc5402的基本介绍(1)cpu(1) l40比特的alu ,其输入来自16比特立即数、16比特来自数据存储器的数据、暂时存储器、t中的16比特数、数据存储器中两个16比特字、数据存储器中32比特字、累加器中40比特字。(2)2个40比特的累加器,分为三个部分,保护位(3932 比特)、高位字(3116比特)、低位字(150 比特)。(3)桶型移位器,可产生0到31比特的左移或0到16比特的右移。(4)7x17比特的乘法器(5)40比特的加法器(6)比较选择和存储单元cssu(7)数据地址产生器dagen(8)程序地址产生器pagen(2)c54x的外设包括(1)通用i/o引脚,xf和bio(2)定时器(3)pll时钟产生器(4)hpi口8比特或16比特(5)同步串口(6)带缓存串口bsp(7)多路带缓存串口mcbsp(8)时分复用串口tdm(9)可编程等待状态产生器(10)可编程bank switching 模块(11)外部总线接口(12)ieee1149.1标准jtag 口(3)存储器依赖其并行的工艺特性和片上ram 双向访问的性能,在一个机器周期内,c54x 可以执行4 条行并行存储器操作:取指令,两操作数读,一操作数写。使用片内存储器有三个优点:高速执行(不需要等待),低开销,低功耗。c54x程序存储区有片内rom 、daram、 saram ,这些区域可以通过软件配置到程序空间。当地址落在这些区域内,自动对这些区域进行访问,当地址落在这些区域以外,自动产生对外部存储器的访问。片内rom( 4k 16k 24k 28k 或48k 字)可能包括的内容有:(1)引导程序,可以从串口、外部存储器、i/o 口或hpi 口引导(2)256字的率扩展表(3)256字的a率扩展表(4)256字的正弦表(5)中断矢量(4)其他操作灵活和快速的dsp原理及专用的指令系统。独立的程序和数据空间允许他同时并行地访问指令和数据,提供了高度的平行性。在一个独立的周期内可以同时执行一次写操作和两次读操作。并行的指令存储和特殊功用的指令都可以完全的被在一个机器周期内执行。数据可以在程序空间或数据空间内传输(见图2.2输入输出时序图)。这一并行操作是算术、逻辑以及二进制运算的强大的机制。另外,c5402还包括控制机制从而可以处理中断、循环、程序调用。图2.2 输入输出时序图vc5402设备提供片上rom和ram来帮助系统完成执行任务和系统的综合。vc5402映射到片上一块4k16bit rom。用户可以根据自己的需要来设置rom的编程实现自己应用目的。安全选项可以用来保护自定义的rom。系统的引导可以在vc5402的片上rom中利用。这段引导程序在上电时可以主动的把用户代码程序从片外存储器中装载进来。但如果引脚mp/mc在硬件复位时被采样低电平,那么程序将从rom的ff8h0处开始执行。这个区域包含了启动引导程序的分支指令。vc5402引导提供了不同装载程序的方法以便适应不同系统的需求:并行的8位时16位eprom并行的8位i/o空间或16位模式8位或时16位的串口模式主机端口引导。2.2 tlc320ad50c的基本结构与特性2.2.1 tlc320ad50c的基本结构特性(1)tlc320ad50c介绍tlc320ad50c(以下简称ad50 )是ti生产的多媒体音频编解码器芯片,它集成了16位a/d和d/a 转换器,采样速率最高可达22.05khz,其采样速率可通过dsp编程来设置。在ad50内部adc之后有抽样滤波器,以提高输入信号的信噪比,在dac之前有插值滤波器,以保证输出信号平滑。ad50内部有7个数据和控制寄存器,用于编程设置它们的工作状态。由于语音信号的频率范围在200hz23400hz之间,采样率一般设定为8khz,所以用ad50做ad转换器非常合适。ad50的工作方式和采样频率均通过串口编程来实现。由于转换的数据和控制数据是通过同一串行口进行传输的,所以ad50中有首次通信和二次通信。首次通信专用于转换数据的传送,其时序如图2.3所示。二次通信则用来设置和读出寄存器的值,所有的寄存器都在二次通信时编程。启动二次通信有两种方法,一种是在fc上加高电平,第二种是将15位方式在首次通信的din的lsb位置为1。ad50完成语音信号采集后,在dsp中进行相应的处理算法,语音信号经处理再从ad50输出。图2.3 tlc320ad50c的时序(2)tlc320ad50c的内部结构图2.4最上面第一通道为模拟信号输入监控通道,第二通道为模拟信号转化为数字信号(a/d)通道,第三通道为数字信号转化为模拟信号(d/a)通道,最下面一路是ad50的工作频率和采样频率控制通道。本文所述的输入时钟(mclk)为8.192mhz,a/d与d/a的采样频率为mclk/(128*n)hz(n为ad50c的第4个寄存器46位所设)。 图2.4 tlc320ad50c的内部结构简图2.3 tlc320ad50c的内部控制存储器tlc320ad50c有7个8位的内部控制寄存器,每个控制寄存器都有默认值和初始地址,表2.12.4叙述了其中4个控制寄存器内部各比特位的功能状态,控制寄存器14默认值为00000000b,地址分别为000001b,00010b,00011b,00100b。2.3.1控制寄存器1表2.1 ad50寄存器1比特位描述7d7=1:软件复位6d6=1:软件下电5d5=1:auxp和auxm为输入,d5=0:inp和inm作为输入3d4=1:监控auxp和auxm,d4=0:监控inp和inm2-3d3d2=11b:监控放大器增益=-18dbd3d2=10b:监控放大器增益=-8dbd3d2=01b:监控放大器增益=0dbd3d2=00b:监控放大器关闭1d1=1:数字环路使能,d1=0:数字环路禁止0d0=1:16比特dac数据格式,d0=0:15+1比特dac数据格式2.3.2控制寄存器2表2.2 ad50寄存器2比特位描述7flag管脚输出值6d6=1:电话模式使能,d6=0:电话模式禁止5抽取fir滤波器溢出标志4d4=1:16比特adc数据格式,d4=0:15+1比特adc数据格式3d3=1:模拟环路使能,d3=0:模拟环路禁止2-0保留2.3.3控制寄存器3表2.3 ad50寄存器3比特位描述7-6从设备个数5-0fsd延迟于fs的sclk个数,最小为182.3.4控制寄存器4表2.4 ad50寄存器4比特位描述7d7=1:旁通内部pll,d7=0:使能内部pll6-4采样频率选择(n):fs=mclk/(128n)或mclk/(512n),001b:n=1,010b:n=2,000b:n=83-2d3d2=11b:模拟输入增益关闭d3d2=10b:模拟输入增益=12 db d3d2=01b:模拟输入增益=6 db d3d2=00b:模拟输入增益=0 db1-0d1d0=11b:模拟输出增益关闭 d1d0=10b:模拟输出增益=12 db d1d0=01b:模拟输出增益=6 db d1d0=00b:模拟输出增益=0 db第3章 以dsp为核心处理系统的硬件设计3.1 系统框图本设计是以dsp为中心,通过串行口和数模/模数转换器进行硬件连接,讨论了如何利用多通道缓冲串口mcbsp与nma结合的方式实现语音信号的采集和处理,阐述了语音压缩的原理和软件设计方法。以为中心dsp的外围电路包括中断,复位,电源,和时钟电路等。tms320vc5402片内有4k16bits的rom和16k16bits的daram,考虑到dsp工作时内部存储器容量可能不足,则有必要添加外部数据存储器,程序存储器等。本章节主要以dsp为核心处理系统的作外部硬件电路设计,并叙述其工作原理,图3.1为以dsp为中心的外围拓展电路系统框图。图3.1 系统框图3.2 复位电路在上电或复位过程中,控制cpu的复位状态:这段时间内让cpu保持复位状态,防止cpu发出错误的指令、执行错误操作,也可以提高电磁兼容性能。复位电路如图3.2所示:tms320c54x与其他微处理器一样,在启动时都需要复位。使cpu 及系统各部件处于确定的初始状态,并从初始状态开始工作。tms320c54x的复位信号是从rst引脚输入到芯片内的施密特触发器中的。当系统处于正常的工作状态时,且振荡器稳定后,如rst引脚上有一个高电平并维持2个机器周期(24个振荡周期),则cpu就可以响应并将系统复位。因外部复位信号与内部时钟是异步的,所以在每个机器周期的s5p2都对rst引脚上的状态采样。当在rst端采样到“1”信号且该信号维持19个振荡周期以后,将ale和psen接成高电平,使器件复位,在rst端电压变低后,经1个2个机器周期后退出。psen引脚拉成低电平,则会引起芯片进入不定状态。 图3.2复位电路3.3 时钟电路振荡器的等效电路如图3.3所示。在图中给出了外接元件,即外接晶体及电容c1,c2,并组成并联谐振电路,在电路中对电容c2和c3的值要求不是很严格,如使用高质的晶振,则不管频率为多少,c1,c2通常都选择30pf。有时,在某些应用场合为了降低成本,晶体振荡器用陶瓷振荡器代替,则电容c1,c2的值取47pf。我选用内部振荡电路,电容c2,c3的值取30pf。图3.3晶振电路3.4 dsp与闪存(flash rom)的接口闪存是一种长寿命的非易失真(在断电情况下仍能保持所存数据信息的)存储器。闪存比可擦除只读存储器(eeprom)的更新速度快,由于其断电时仍能保存数据,闪存通常被用来保存设置信息。tms320vc5402与闪存芯片28f400b的电路连接如图3.4所示。图3.4 flash与dsp的连接3.5 dsp与高速缓存(sram)的接口sram不需要配合内存刷新电路即可保存它内部存储的数据,是置于cpu与主存之间的高速缓存。在这里tms320c5402外部扩充用的高速缓存芯片为gs71116,图3.5为缓存芯片gs71116与tms320c5402的连接简图。图3.5 gs71116与dsp的连接3.6 电源设计为了降低芯片功耗,c54x系列芯片大部分都采用低电压设计,并且采用双电源供电,即内核电源cvdd:采用1.8v,主要为芯片的内部逻辑提供电压,包括cpu、时钟电路和所有的外设逻辑;i/o电源dvdd:采用3.3v,主要供i/o接口使用。可直接与外部低压器件接口,而无需额外的电平变换电路。dsp芯片采用的供电方式,主要取决于应用系统中提供什么样的电源。在实际中,大部分数字系统所使用的电源可工作于5v或3.3v,本设计采用ti公司提供的双电源芯片: tps73hd318电源的最大输出电流为750ma,并且提供两个宽度为200ms的低电平复位脉冲。电路图如图3.6所示。图3.6 由tps73hd318芯片组成的双电源电路28第4章 语音存储与回放系统的总体的硬件设计4.1 总体方案 本设计利用ad/da转换器ad50将由mic输入的模拟信号转换为16位数字信号送入dsp中进行压缩处理,压缩处理后的数据经过解压后再送至da转换器转换为模拟信号,有speaker口输出,压缩和解压用a律格式,从而实现语言信号的存储与回放。图4.1为总体方案设计框图。图4.1 总体框图4.2语音模拟信号输入输出电路 模拟信号输出如图4.2所示。语音信号放大器经过前段放大器tlc2272acd放大、带通滤波、单输入信号转换为差分信号后,送入ad50c的a/d转换器的差分输入端inp和inm。a/d转换器将输入的模拟信号转换为以2进制补码表示的数字信号。图4.2 模拟信号输入模拟输出信号电路如图4.3所示。经d/a转换、内部低通滤波恢复的模拟信号从ad50c的outp管脚输出。外部放大滤波器选用lm386运算放大器,放大后的信号送扬声器还原成声音。图4.3 模拟信号输出4.3 dsp与音频处理芯片的硬件接口设计4.3.1 多通道缓冲串行口mcbsptms320vc5402具有2个mcbsp,mcbsp即多通道缓冲串行接口,是一种多功能的同步串行接口,具有通道数量多(发送和接受通道做多可达到128路),数据格式选择范围宽等优点。由图4.4可以看出,mcbsp在结构上可以分为数据通道和控制通道两大部分,并且通过7个引脚与外部相连。dx引脚发送数据,dr引脚接收数据,其他几个引脚提供控制信号:时钟信号和帧同步信号。图4.4 mcbsp组成框图其中7个引脚信号的功能有clkx:串行发送器位;fsx:串行发送器帧同步位;dx:串行发送器数据引脚;clkx:串行接收器位;fsr:串行接收器帧同步位;dr:串行接收器数据引脚;clks:外部位时钟输入引脚。4.3.2 tms320vc5402与tlc320ad50c的接口设计硬件连接采用ad50为主控模式, 向vc5402的mcbsp0(从设备)提供时钟信号,并控制数据的传输过程。而ad50的mclk上的时钟由vc5402的晶振通过cpld分频得到。mclk提供ad50和c5402间的数据传输时钟和帧同步时钟。vc5402与tlc320ad5的硬件连接如图4.5所示。图4.5 tms320c5402与tlc320ad50c的连接 ad50与tms320vc5402是以spi方式连接的。ad50工作在主机模式(m/s=1),提供sclk(数据移位时钟)和fs(帧同步脉冲),主模式下通信的是音频数据。tms320vc5402工作于spi方式的从机模式,bclkx1和bfsx1为输入引脚,在接数据和发数据时都是利用外界时钟和移位脉冲从模式下则是用来读/写控制存储器的值。 dsp与ad50的数据交换是通过串口0(mcbsp0)实现的。其中mcbsp多通道缓冲串口数据的接收是通过3级缓冲完成的,即引脚dr上的数据先到达移位寄存器rsr,当收到一个满字之后数据被装载到数据接收寄存器rbr中,最后数据才被拷贝到接收数据寄存器drr中。dsp通过串口0接收ad50采集的数字音频信号,并将音频信号传入ad50。第5章 系统的软件设计5.1 系统软件设计5.1.1 程序流程图数据的存储与回放是由dsp的dma和mcbsp相结合来完成的,本系统需要使用1个多通道缓冲串行口和2个dma通道。如图系统流程图5.1所示,语音存储与回放系统首先应当对dsp与mcbsp以及ad50进行初始化,然后语音信号经a/d转换输入dsp。由dsp进行压缩与存储,由存储器判断是否存满信号,使存储信号最大化,以达到理想录音时长。再经过数据解压和d/a转换,最后输出模拟语音信号。开始初始化dsp及mcbsp语音信号经a/d转换输入语音数据压缩初始化ad50存储数据包存存满?语言数据解压语言信号经过d/a转换输出结束ny图5.1 系统流程图5.1.2 程序调试的主要步骤(1) tms320vc5402串口的初始化。首先将dsp串口复位,再对串口0的寄存器进行编程,使dsp串口工作在以下状态:以spi模式运行,每帧一个字,每字16bit,帧同步脉冲低电平有效,并且帧同步信号和和移位时钟信号由外部产生。(2) ad50c的初始化。该初始化操作过程包括通过对tms320vc5402的同步串口发送2串16bit数字信息到ad50。第一串为0000 0000 0000 0000 0001b,最低有效位(bits0)为1,说明下一个要传输的数据属于次通信。第二个数据用来对ad50c的4个控制寄存器的某一个位置进行配置。1511位为0,108位为所选寄存器地址,70位为所选寄存器的编程值。通过对4个可编程控制寄存器编程,使ad50c工作在以下状态:选择inp/inm为工作模拟输入,15+1bitadc和15+1adc模式,不带从机,采样频率为8khz,模拟信号输入和放大增益均为0db。4个寄存器初始化需要4个主通信和次通信。(3) 压扩算法的实现。tms320vc5402内部的缓冲串口(mcbsp)带有硬件实现的率和a率压缩解压,用户只需要在相应寄存器中进行设置就可以了,本系统通过软件来完成线性码转换成a率。在主程序中通过a/d抽样量化得到线性编码,再由编码表通过软件计算得到8bita率编码,其中高位为符号位,第6bit到4bit为段落码,低4bit为段内码。将8bit的压缩结果存储到系统ram中进行缓存,根据抽样率、语音存储时间以及系统ram的容量设置语音存储缓冲区的大小,待缓冲区存满后,将缓冲区内的数据进行解压缩,然后输出到speaker接口输出。(4) 用户代码的编写。完成音频信号采集与回放代码的编制。本设计给ad50编程用查询方式,接收a/d转换的d信号和发送d/a转换的d信号用dma方式。5.2通信协议通过设置tlc320ad50c控制寄存器1和控制寄存器2可选择adc和dac分别采用16bit或者(15+1)bit的通信模式。tlc320ad50c与dsp串行通信分为初次通信和二次通信。dout引脚在初次通信中传输adc的结果,在二次通信中传读得寄存器的值。二次通信只有在软件或者硬件请求时产生:当初次通信采用(15+1)bit模式时,用d =1产生软件二次通信请求;当初次通信采用16 bit模式时,则必须由dsp的xf脚对fc脚输出信号来产生硬件二次通信请求。通过二次通信可实现ad50c的初始化和读写ad50c内部控制寄存器的值。二次通信数据格式如表5.所示,其中d0d7为控制寄存器数据;d 8d 12:为控制寄存器地址;d 13为对控制寄存器读写控制位(d =1为读数据操作,d13 =0为写数据操作)。表5. 二次通信数据格式d0d1d2d3d4d5d6d7d8d9d10d11d12d13d14d15控制寄存器数据控制寄存器地址r/0m/结 论本次设计以tms320vc5402与tlc320ad50c为例,详细介绍了ad50与dsp串口通信的硬件接口及软件实现。tlc320ad50c可以对语音信号进行无失真采样,完全能满足后续语音信号处理的要求,并且与dsp接口简单,高性能,低功耗。另外,dsp都是通过串行执行指令来实现特定功能,不可避免低速, 且芯片在强干扰条件下,尤其是强电磁干扰下,很可能越出正常的工作流程,出现pc 跑飞现象。该设计让我对数字信号处理方面的知识上了一个台阶,也为我今后从事数字信号处理的研究和设计工作奠定了良好的基础。然而,设计还有很多不完善之处。正因为我的学习水平所限,在研究和设计该课题时遇到了许多困难,我深知这些困难就是我的专业知识短板。但是,我会积极汲取知识和经验,补好这些短板,提高自身能力,为今后投身社会中而努力。 参考文献1 程佩青数字信号处理教程北京:清华大学出版社, 20042 王华 ,张健dsp原理及其c编程开发技术北京:电子工业出版社,20063 何苏勤 ,徐家艳基于定点dsp语音录放系统的设计北京化工大学, 2004.4 周霖dsp通信工程技术应用北京:国防工业出版社,20045 汪安民, 程昱dsp应用开发实用子程序北京:人民邮电出版社,20056 阎石.数字电子技术基础.北京:高等教育出版社,2006.7 谭浩强.c程序设计.北京:清华大学出版社, 2005.8 周荷琴、吴秀清.微型计算机原理与接口技术.中国科学技术大学出版社, 2011. 附 录附录1 mc bsp通道初始化程序* sample routine for mcbsp initialization *;mcbsp global addressmcbsp0_spsa_addr.set0x38mcbsp0_spsd_addr.set0x39.globalmcbsp0init.textmcbsp0init:; save environment and othersstm#mcbsp0_cnst, ar2stm#mcbsp0_spsa_addr, ar3stm#(15-1), brcrptbmcbsp0_loop-1ld*ar2+, astla, *ar3+ld*ar2+, astla, *ar3-mcbsp0_loop:; restore environment and otherret;* the constants of mcbsp0 *.sect“mcbsp0init_table”mcbsp0_cnst:.word0;sub address=spcr10.word0x4020;value of spcr10;dlb=0, rjust=10, clkstp=00, dxena=0, ; abis=0, rintm=10, rsyncerr=0, rrst=0.word1;sub address=spcr20.word0;value of spcr20.word2;sub address=rcr10.word0x00a0;value of rcr10;rfrlen1=000 0000, rwdlen1=101.word3;sub address=rcr20.word0x80a1;value of rcr20;rphase=1, rwdlen2=101, rdatdly=01;.word14;sub address=pcr0.word3;value of pcr0;xioen=0, rioen=0, fsxm=0, fsrm=0, clkxm=0 ;clkrm=0, fsxp=0, fsrp=1, clkxp=0, clkrp=1 ;* sample routine for dma initialization *;ping-pong buffer addressdata_buffer_addr0.set 0x3000data_buffer_addr1.set 0x3200.globaldmainit.textdmainit:; save environment and others;set dma-2 high priority, dma-2&dma-3 int, disable all dmastm#0x8440, dmprecstm#dma_cnst, ar3stm#0, dmsastm#40-1, brcrptbdma_loop-1ld*ar3+, astlma, dmsdidma_loop:; restore environment and othersret;* the constants of dma *.sectdmainit_tabledma_cnst:; dma0 and dma1 never used;dma2 used for mcbsp0 receive.wordmcbsp0_drr20_addr;dmsrc2.worddata_buffer_addr0;dmdst2.word1;dmctr2.word0x1863;dmsfc2;dsyn=0001, dblw=1, frame count=99.word0xc055;dmmcr2;autoinit=1, dinm=1, imod=0, ctmod=0;sind=000, dms=01, dind=101, dmd=01; dma3, dma4, and dma5 never used, and no extending addressing.word200, 0;dmidx0, dmidx1.word-198, 0;dmfri0, dmfri1.wordmcbsp0_drr20_addr;dmgsa.worddata_buffer_addr1;dmgda.word1, 99;dmgcr, dmgfr附录2 tlc320ad50c的初始化程序* begin *.mmregs.include ad50c_cnst.h54;include the constants used by the aic;* macro definition *mcbsp0_enable.macroaux_regstm#spsa0, aux_regst#0, *aux_reg+orm#0x0001, *aux_reg-st#1, *aux_reg+orm#0x0001, *aux_reg-.endm;reset rrst/xrst to disable mcbspmcbsp0_disable.macroaux_regstm#spsa0, aux_regst#0, *aux_reg+andm #0xfffe, *aux_reg-st#1, *aux_reg+andm #0xfffe, *aux_reg-.endm ;* memory allocation *.bss serial_int_flag, 1;* interrupt vectors table * .sect vectorsint_reset:b main ;main program nop nop .space76*16int_brint0:;mcbsp0 reveive interruptbd brint0_isrpshmst0pshmst1 .space44*16.text;* interrupt service routine *brint0_isr:;set serial_int_flag if any interrupt occursst#1, *(serial_int_flag)popmst1popmst0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年煤矿安全管理人员三级安全教育试卷及答案:安全管理职责篇
- 在线小学英语口语互动方案
- 2025年煤矿应急演练评估安全培训试卷及答案-自然灾害应急响应测试
- 医药行业GMP管理执行报告
- 2025年安全培训顾问三级安全培训评估试卷及答案
- 2025年安全培训试卷及答案:矿井安全教育培训效果评估
- 2025年带班领导安全培训试卷及答案:安全教育培训方法
- 2025年应急演练评估安全培训试卷及答案-矿井火灾应急响应
- 2026届湖南省汨罗第二中学高一化学第一学期期末复习检测模拟试题含解析
- 2026届河北省滦县第二中学高一化学第一学期期末学业质量监测试题含解析
- 2025云南宣富高速楚雄市东南绕城高速元绿高速那兴高速高速公路收费员招聘341人笔试历年参考题库附带答案详解
- 2025医院安全隐患排查治理专项行动的实施方案(详细版)
- 彼得·蒂尔:硅谷教父的叛逆人生
- 2025外研版新教材英语七年级上册单词表(复习必背)
- 四级手术术前多学科讨论制度(2025年)
- 艺术设计专业英语李洪春教学课件全套
- 小学科学项目式学习教学设计案例
- 压铸模具基础知识培训课件
- 风电厂冬季安全培训课件
- 2024年华北电力大学公开招聘辅导员笔试题含答案
- 2025云南昆明元朔建设发展有限公司第一批收费员招聘20人备考考试题库附答案解析
评论
0/150
提交评论