基于dsp的音频采集、存储与回放系统设计与实现_第1页
基于dsp的音频采集、存储与回放系统设计与实现_第2页
基于dsp的音频采集、存储与回放系统设计与实现_第3页
基于dsp的音频采集、存储与回放系统设计与实现_第4页
基于dsp的音频采集、存储与回放系统设计与实现_第5页
已阅读5页,还剩67页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、基于DSP的音频采集、存储与回放系统设计与实现总体介绍11、课程设计的意义DSP原理与应用对于电子信息专业学生的重要性;本课程设计与理论课和实验课一起构成了DSP原理与应用完整的课程体系结构;针对理论课、实验课中没时间或不方便涉及的内容和需要强调的重点进行补充和完善;对一个功能完整的系统进行设计和实现,体会DSP技术的系统性和完整性;22、选题的依据涉及的知识面较广,但不深奥。工作量适当;和我校通信背景吻合;体现了电子信息的专业特色;系统的实现功能有趣,对学生有吸引力。33、系统设计要求设计一个以C5509为主体可以实时进行音频数据采集、存储和回放的系统方案。设计系统的硬件电路图,用PROTE

2、L画出原理图,确保电气特性正确。编写系统软件的核心部分,(通用的头文件教师提供),用C语言进行工程设计,熟悉CCS调试环境的使用的方法,在集成开发环境中仿真实现功能。在系统板上脱机运行程序,实现实时音频数据采集、存储和回放的过程。44、系统框图55、设计报告设计报告:(1)根据设计题目和任务,论述设计方案,总体框图的构成,必要的设计计算和各部分电路原理的简述;(2)软件流程图;(3)写出元件的明细表;(4)学习心得体会。画出电路原理图(用A3纸打印),左上角写清自己的班级学好姓名。注:下周三上午设计报告和原理图分别以班级为单位交到S1402。66、具体安排共分为四部分: 1、讲课,由老师对总体

3、设计思路、硬件设计基础、软件设计基础进行介绍,并提出具体要求和注意事项; 2、阅读提供的相关资料,进行方案设计和具体的软硬件设计; 3、在实验室进行仿真调试,直至在系统板上能脱机运行,完成课题要求的功能; 4、请老师做出功能和指标的评估和验收。77、提醒地点:信科楼:S911(软件),S912(硬件)。时间:见具体的时间人员安排表格。没安排的同学不是放假,请在自己的计算机上继续工作或从事案头准备工作。在安排时间段里,需要签到,特殊情况,要请假。硬件设计方案雷宏江9主要模块 围绕DSP(TMS320VC5509,简称5509)展开设计,主要有:5509与音频编解码器的接口设计存储器的外扩 (SD

4、RAM与FLASH)5509的电源设计其它模块的设计DSP多余引脚的处理10系统总体结构框图111. 5509与音频编解码器(AIC23)的接口1.1 音频编解码器芯片的介绍1.2 5509与编解码芯片的接口设计1.3 I2C总线121. 1 TLV320AIC23芯片简介高性能的立体声音频编解码芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。内部集成ADC和DAC部件,输出信噪比可达90dB和100dB。先进的Sigmadelta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样具

5、有很低的能耗,回放模式下功率仅为23mW,省电模式下小于15uW。应用在随声听(如CD,MP3)、录音机等数字音频领域。 131. 1 TLV320AIC23芯片简介(续)The TLV320AIC23 has many programmable features. The control interface is used to program the registers of the device. The control interface complies with SPI (three-wire operation) and I2C (two-wire operation) spec

6、ifications. The state of the MODE terminal selects the control interface type. The MODE pin must be hardwired to the required level.141.2 5509与AIC23的接口设计AIC23占用了5509的I2C总线和多通道缓冲串口McBSP0。5509通过I2C总线写AIC23的寄存器来配置AIC23,通过串口0读入或写出音频信号数据。The TLV320AIC23 is a write only device and responds only if R/W is

7、0. The device operates only as a slave device whose address is selected by setting the state of the CS pin as follows.151.3 I2C总线165509与AIC23接口172. 外扩存储器DSP芯片的片内存储器是非常有限的,因此一般情况下DSP系统都要进行存储器外扩。存储器外扩主要包括两部分:RAM和FLASH。其中RAM主要用来存储程序运行过程中的数据,FLASH主要用来存储编译链接后生成的应用程序。182.1 外扩存储器( SDRAM )系统中RAM使用的是MT48LCIM

8、16A。 MT48LCIM16A是1M*16bit的SDRAM,教材132页有SDRAM与55x的EMIF的接口。设计中我们将RAM扩展在CE0空间(地址02 8000-1F FFFFh)。片外SDRAM的地址为28000-1fffffh。如下图所示。19外扩存储器 (SDRAM)202. 外扩存储器 (FLASH)设计中FLASH使用的是AM29LV800。AM29LV800是512K*16bit(1M*8bit)的FLASH,教材130页有FLASH与55x的EMIF的接口。设计中我们将FLASH扩展在CE1空间(地址20 0000-3F FFFFh),FLASH的地址为200000h-2

9、0 3FFFh。如下图所示。21外扩存储器 (FLASH)223.电源设计5509采用了双电源供电机制,以获得更好的电源性能,其工作电压为3.3V(I/O Supply Voltage)和1.6V (Core Supply Voltage) 。其中,1.6V主要为该器件的内部逻辑提供电压,包括CPU和其他所有的外设逻辑。与3.3V供电相比,1.6V供电可以大大降低功耗。)仍然采用3.3V电压,便于连接与外部低压器件接口,而无需额外的电平变换电路。系统中电源芯片我们采用的是TI公司的TPS73HD301(以下简称HD301)双电源输出芯片。HD301的输出电压为一路3.3V,另一路为可调输出(1

10、.2V9.75V)。具体的连接电路参见HD301的数据手册。2324电源设计253.电源设计R1= 75KR2=210K 264.其它模块的设计4.1 复位电路设计4.2 时钟设计4.3 JTAG仿真接口274.1复位电路设计对于实际的DSP应用系统,特别是产品化的DSP系统,其可靠性是一个不容忽视的问题。由于DSP系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现死机现象。因此在硬件上最有效的保护措施就是采用具有监视功能的自动复位电路。但是在设计中我们为了简单化,只要求设计非常简单的复位电路即可。284.2 时钟设计利用DSP芯片内部所提供的晶振电路,在DSP芯

11、片的Xl和X2CLKIN之间连接一晶体可启动内部振荡器。如下图所示,晶体应为基本模式,且为并联谐振。294.3JTAG仿真接口设计一个DSP系统,一般必须考虑系统的软硬件调试,调试DSP系统一般离个开DSP仿真器,而仿真器通过JTAG仿真接口实现与DSP之间的数据交互。设计仿真接比较简单,只要根据DSP芯片所提供的接口类型按照相应的接口标准即可。JTAG仿真接口如图所示。305、DSP多余引脚的处理未用的输入引脚不能悬空不接,应将它们上拉或下拉为固定的电平。未用的输出引脚可以悬空不接。未用的I/O引脚:如果确省状态为输入引脚,则应上拉或下拉为固定的电平;如果确省状态为输出引脚,则可以悬空不接。

12、Protel99se的简单使用雷宏江32主要内容设计数据库的概念和类型原理图的设计过程元件库的设计过程331.设计数据库的概念在protel99se中,用户创建的各种文档不单独保存,而是将他们统一保存在一个数据库中,数据库文件以ddb为扩展名。在数据库中不同的文档使用不同的编辑器和不同的扩展名,常见的有sch(原理图文件)、lib(元件库文件)、pcb(PCB图文件)等。因此设计一项新的任务,首先要建一个数据库。FileNew,然后要求选择数据库的格式和名称和路径。34Protel 中的两种数据库Windows File System格式:数据库可以看作是一个文件夹,里面存放各种用户创建的文件

13、,这些文档对外是透明的,可以直接在Windows 的资源管理器中(Protel之外)进行各种操作(如剪切、复制和删除等)。MS Access Database 格式:数据库是压缩的,它包含Design Team(设计组)、Recycle Bin(回收站)和Documents(文档)三部分。用户创建的文档可以直接保存在数据库中,也可以保存在Documents中,也可以自己创建文件夹。但这些文件对外不是透明的,在Windows 的资源管理器中只能看到一个*.ddb文件,对文件的操作必须在Protel中进行,主要是提高设计资料的安全性。此外,这种数据库还有密码保护、权限设置多人协同工作等功能。352

14、.原理图设计过程(1)首先新建一个数据库,取名MyDesign.ddbFileNew,选择MS Access Database 格式36原理图设计过程(2)2。在Documents中新建电路原理图文件,设置图纸的环境参数。双击数据库中的Documents文件夹,点击菜单FileNew,在出现的对话框中选择Schematic Document图标后,单击OK(或者是双击图标),窗口便出现一个Sheet1.Sch的文件,(可以重新命名)。双击文件,进入原理图编辑环境。点击DesignOptions,设置图纸的环境参数。37原理图设计过程(2)3839原理图设计过程(3)3。添加元器件库 在Brow

15、se Sch下点击Add/Remove,添加给定的元件库mylib(Design菜单下Add/Remove Lbrary也可以)。 思考: 找不到相应的元件库怎么办?4。在图纸上放置元器件 在元件库中找到相应的元件,点击place(或直接双击选中的元件),将其放入图纸中适当的位置。5。电路原理图布线 使用线将各个元器件连接起来。有两种方法连接:直接连线和使用网络标号。40添加元件库41放置元器件42连接相应的引脚43一些小技巧常用的原件一般在Miscellaneous Device.lib元件库中。其中电阻为“RES”,电容为“CAP”,晶振为“CRYSTAL”,复位键为“SW-PB”,音频插

16、孔为“PHONEJACK STEREO SW”。左键选中器件,按住左键,点击空格键,可将原件逆时针旋转(每次90)。按住“Ctrl”键,拖动器件,连线会跟着动。连线尽可能不要交叉!总线只具有图示作用(实质上还是没有连接),必须用网络标号连接起来!放置元器件时不用修改序号,只需将元件参数修改即可(比如电阻的序号为“R?”,不需要修改,而电阻的大小可将“RES1”改为“10K”)。44元件标注统一标注用菜单中的ToolAnnotate。45元件标注如图,选项中的三项功能分别为:All Parts:对所有元器件进行标注;?Parts:只对未标注的器件进行标注;Reset:清除所有已标注。点击Adva

17、ncedOptions,可对标号范围进行设置。请见下页46元件标注范围左侧是选择图纸,一个数据库中可有多个图纸;右侧为标号起始范围47原理图设计过程(4)6.对电路原理图进行编辑修饰,并进行电气检查 电气检查:ToolsERC,对出现警告和错误的地方进行改正。注意:DSP多余引脚的处理!如果不需要处理(上拉或下拉的)而可以悬空的,可以添加不检查标注!(请见下页图示)7.文件保存和打印48添加不检查标注493.元件库的设计过程首先建立原理图元件库文件(可以在已经建立的数据库中,也可重新建立新的数据库)2.文件名一般为Schlib1.lib,双击文件进入编辑状态。503.元件库的设计过程(Con)

18、3。画出元件的外形,添加引脚。(注意引脚的电气属性)4。保存。5。使用。如果是单独的数据库文件,那么就要添加到库文件中;如果不是,在编辑状态可以直接放置元件。51说明Protel是一个很有用的工具,现在版本已到2004(XP版),但用法与99se大同小异。由于时间的关系,在此只能做简单的介绍,要想熟练掌握的强大功能,建议到图书馆借相关书籍,坚持上机操练!52Thank you!1.CCS开发流程 2.C语言编程基础3.系统软件设计软件基础54CCS开发环境55DSP软件开发流程与汇编开发的不同56具体各个环节编写C源程序,经过C编译器后产生汇编源程序;调用汇编器汇编该源文件,如果源文件中调用了

19、宏,汇编器还会到宏中搜索该宏;汇编之后生成公共目标文件格式(COFF)的目标文件(.obj),成为COFF目标文件;调用链接器(Linker)链接目标文件,如果包含了运行支持库和目标文件,链接器还会到所包含的库中搜索;链接之后生成可执行的COFF执行文件(.out);将COFF执行文件下载到C55X DSP中执行,同时也可借助调试工具对程序进行跟踪调试或优化;57最小工程需求一个C文件(.C)或者一个汇编文件(.asm)一个链接命令文件文件( .cmd )在链接命令文件里, 你可以利用链接器命令语言来,自行配置目标系统的存储空间的分配,并为各段指定地址。常用的命令指示符有MEMORY和SECT

20、ONS两个。可完成下列功能:为各段指定存储区域;组合各目标文件中的段;在链接时定义和重新定义全局符号;58C语言简介 C 语言是一种功能强大,编程灵活,具有可移植性的一种半高级语言。C语言已被成功的用来开发DSP程序,但是为了生成高效率的机器代码,程序员必须在C程序的总体结构上加以重视。用C语言开发DSP程序,不仅要编写高效率的C程序,而且还要考虑到DSP的特殊性。59C 语言C 语言的特点 非常好的DSP开发工具 易读 使用范围广 高效 代码重用60C55X C编译器定义的数据类型61DSP 下的“Hello World”程序 #include void main(void)printf (

21、“Hello World!n”);while(1); 运行库C 入口代码 _c_int00- C 入口代码 是在main()前运行的一段特殊的代码, -CCS C语言运行库提供许多函数,例如 printf, memcpy, strcmp, scanf 等。62几个常见的问题 代码存放在哪里? 变量存放在哪里? 怎样访问 DSP 的各种寄存器? 怎样处理中断?63C55x的程序段分为初始化段和未初始化段;C55x汇编器默认的3个段:.text代码段.data数据段.bss变量段代码放在.text中,变量放在.bss中。代码与变量6465DSP寄存器的访问1.内存映射寄存器(MMR)C语言实现:定义宏#define C55XX_RHEA_ADDR 0 x0000汇编中直接用寄存器名字访问662.片内外设寄存器#define PortA ( * ( ioport unsigned int *

温馨提示

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

评论

0/150

提交评论