陈伟鹏基于DSP 5509的语音信号采集系统设计湘南学院
- 格式:doc
- 大小:352.00 KB
- 文档页数:18
基于DSP的传感器信号采集处理系统设计
魏立线
【期刊名称】《微计算机信息》
【年(卷),期】2008(024)011
【摘要】在数字技术高速发展的今天,选择数字控制已经成为一种重要的探索和发展方向.本文选用了TI公司生产的TMS320LF2407DSP器件和AD公司生产的ADXL203加速度传感器,构建了一个信号采集处理系统,基于CCS软件的开发流程,对系统进行了软件的设计,达到了很好的效果.采用硬件抗干扰措施较好地克服了模拟传输带来的干扰和噪声的影响.
【总页数】3页(P162-163,98)
【作者】魏立线
【作者单位】710086,陕西西安西安武警工程学院电子技术系
【正文语种】中文
【中图分类】TP212
【相关文献】
1.基于FPGA和DSP的音视频采集处理系统设计 [J], 刘克轩;李永红;岳妮;麻少轩
2.基于FPGA和DSP的微振动传感器信号采集系统设计 [J], 李彦;梁正桃;李立京;林文台;尚静;姜漫
3.基于DSP的Fe83 Ga17合金磁致伸缩传感器信号处理系统设计 [J], 王展;周新志;雷印杰
4.基于DSP总线的振动传感器信号采集系统设计 [J], 戈大龙;陈成军;王玉玲;赵景
波
5.基于FPGA和DSP的抗单粒子高清图像采集处理系统设计 [J], 陆嵩;付方发;谭龙玉;王进祥
因版权原因,仅展示原文概要,查看原文内容请购买。
城南学院CHANGSHA UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计(论文)题目基于DSP的语音录放电路系统设计学生姓名:邓程萌学号: 200984250324班级: 258410903专业:电子信息工程指导教师:王创新2013 年6 月基于DSP的语音录放电路系统设计学生姓名:邓程萌学号: 200984250324班级: 258410903所在院(系): 电气与信息工程学院指导教师:王创新完成日期: 2013.6基于DSP语音录放电路系统的设计摘要以数字信号处理器(DSP)TMS320VC5402为核心处理器,设计了一个语音录放系统。
该系统采用的数字编解码模块是由TLC320AD50芯片完成的,采用音频线,通过DSP内部的多通道缓冲串口(MCBSP)将电脑中的音频信号送到DSP中,DSP再将音频信号进行处理,通过TLC320AD50输出。
最后,音频信号从耳机或外置喇叭传出。
在语音信号处理中,录放系统是非常重要的。
语音数据的压缩,存储和分析已经显示出其有很大的用处。
对于语音恢复从混合噪声,数字滤波去噪和联合时频提取是有效的。
不仅重构信号的信噪比大大提高,语音信号可以被删除,以及一些随机噪声的大多数组件严重模糊。
在大多数的情况下,保证清晰的语音,以帮助分析。
DSP能处理大量信号、处理速度快性价比高,其高品质的表现结果成为数字信号产品的核心,而现阶段音频信号通过DSP 进行处理的依赖程度也日益增加。
使用快速成本低的DSP芯片和精密音频接口芯片对音频信号进行处理,能满足现代大众对视听高质量享受的要求。
本设计介绍了以TI公司的TMS320C5402和芯片TLC320AD50C实现对音频信号的采集与回放的方法,其中着重介绍了系统硬件电路设计及TMS320C5402和TLC320AD50C实现语音采集并实时回放。
关键词:DSP;TMS320C5402;MCBSP; TLC320AD50C;语音录放THE PROGRAMMING OF AUDIO COLLECTION ANDRETURNBASED ON DSPABSTRACTBased on the digital signal processor (DSP) TMS320VC5402 as the core processor, the design of a voice recording system. The system uses the digital coding and decoding module is completed by the TLC320AD50 chip, the audio line, through multi-channel buffered serial port (MCBSP) within the DSP audio signal in the computer is sent to the DSP, DSP and audio signal processing, output by TLC320AD50. Finally, the audio signals coming from the headphones or external speakers. In speech signal processing, recording and reproducingsystem is very important. Voice data compression, storage and analysis has shown its great usefulness. For voice recovery from mixed noise, digital filtering noise and joint time-frequency extraction is valid. Not only greatly improve the SNR of the reconstructed signal, the voice signal can be deleted, and some random noise seriously obscure most of the components. In most cases, to ensure clear voice, to help analyze.The DSP can handle a large number of signals fast processing speed, high ratio of performance to price, the high quality performance results as the core digital signal products, dependence and at this stage audio signal through the DSP treatment also increased. DSP chip using fast low cost and precision audio interface chip for processing audio signals, to meet the modern people to enjoy high quality audio-visual requirements. This design introduced by TI, TMS320C5402 and AIC (analog interface circuit) method to realize the acquisition and playback of audio signal chip TLC320AD50C, which focuses on the implementation of speech acquisition and real-time playback system hardware circuit design and TMS320C5402 and TLC320AD50C. Realize the real sound acquisition and playback.Keywords:DSP 。
c5509a dsp课程设计一、教学目标本课程的教学目标是使学生掌握C5509A DSP的基本原理、编程方法和应用技巧。
通过本课程的学习,学生应能够:1.理解C5509A DSP的硬件结构和功能特点。
2.掌握C5509A DSP的编程语言和编程规范。
3.学会使用C5509A DSP进行数字信号处理算法的设计和实现。
4.能够运用C5509A DSP解决实际的数字信号处理问题。
二、教学内容本课程的教学内容主要包括以下几个部分:1.C5509A DSP的硬件结构和工作原理。
2.C5509A DSP的编程语言和编程规范。
3.C5509A DSP的常用数字信号处理算法。
4.C5509A DSP的应用案例分析。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:用于讲解C5509A DSP的硬件结构、工作原理和编程规范等基本知识。
2.案例分析法:通过分析实际应用案例,使学生掌握C5509A DSP的数字信号处理算法设计和实现。
3.实验法:安排实验室实践环节,让学生动手操作C5509A DSP,加深对理论知识的理解和应用能力。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选择合适的教材,为学生提供系统、全面的学习资料。
2.参考书:提供相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学效果。
4.实验设备:准备C5509A DSP实验设备,为学生提供实践操作的机会。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,每个部分所占比例分别为30%、30%和40%。
平时表现主要考察学生的课堂参与程度、提问回答和小组讨论等情况。
作业主要考察学生对课堂所学知识的掌握和应用能力。
考试则全面考察学生的知识理解和运用能力。
六、教学安排本课程共计32课时,每周2课时,共计16周完成。
教学地点安排在教室和实验室。
教学进度安排合理紧凑,确保在有限的时间内完成教学任务。
DSP综合实验期末论文题目: 基于DSP的音频采集、存储与回放系统设计与实现院系:电子与信息工程学院专业:06信息工程1班姓名:葛卫忠学号: 200613090382009年6月基于DSP的音频采集、存储与回放系统设计与实现摘要:介绍一种基于TMS320VC5509数字信号处理器(Digital Signal Processor,简称DSP的语音采集与回放系统的总体方案和软硬件设计。
文中重点介绍了DSP与音频编解码芯片的接口设计方法以及如何实现音频信号的采集和回放。
关键词:TMS320VC5509;TLV320AIC23;I2C;McBSP;音频采集与回放1 系统总体方案系统框图如图1所示,音源(如麦克风发出的音频信号经音频处理器的A/D部分转换为数字信号后进人DSP,完成数据的采集工作,由系统的模式识别部分决定对采集的数据进行何种处理(如滤波等,处理后的信号再通过音频编解码器的D/A部分还原为模拟的声音信号送往扬声器输出。
2 系统硬件电路设计系统的核心芯片选用,rI公司的TMS320VC5509。
TMS320VC5509(以下简称C5509是,rI推出的高性能的定点DSP,是,rI公司55xx系列的代表之一,最高可以运行在144MHz的主频,它是基于TMS320C55xDSP的核,因而具有高效且低功耗的特点,非常适合便携设备使用。
C5509采用统一编址的方式来划分存贮空间,程序与数据总线均能对其访问,从而使C5509便于大量数据的处理与程序的优化。
C5509片内集成了128K×16Bits的SRAM,并具有外部存储器接口(EMIF:External Memory Interface,可以与静态随机存储器(SRAM、只读存储器(ROM、闪存存储器(FLASH、同步突发静态存储器(SBSRAM和同步动态存储器(SDRAM等器件进行无缝连接。
与C5502和C5510等相比,C5509具有更加丰富的片内外设。
DSP课程论文(设计)题目基于DSP语音信号采集系统的设计院系专业学生姓名学号指导教师二O一四年五月二十八日基于DSP语音信号采集系统的设计摘要:为了研究数字信号处理,提出了一个基于DSP TMS320VC5502的语音信号采集系统的设计。
给出了该系统的总体设计方案,具体硬件电路,包括系统电源设计、复位电路设计、时钟电路设计、存储器设计、A/D接口电路设计、JTAG接口设计、DSP与A/D芯片的连接等,以及软件流程图。
通过MATLAB得到语音信号的波形和频谱图。
实验表明: 所设计的基于DSP的硬件和软件系统是一个很好的语音信号采集系统,该系统结构清晰,电路简洁,易于实现。
关键词:语音信号;数据采集;DSP;TLC320AD501.引言20世纪50年代以来,随着数字信号处理各项技术的发展,语音信号处理技术得到不断提高, 语音合成、语音识别、语音记录与语音控制等技术已开始逐步成熟并得到应用。
在语音信号处理过程中, 要实现语音信号处理技术的精确性、实时性目的,语音信号采集和无误差存储成为语音信号处理中的前提。
TMS320VC5502是德州仪器公司公司在2002年基于TMS320VC5502推出的定点数字信号处理器,它采用修正的哈佛结构,包括1个程序存储总线、3个数据存储总线和4个地址总线,这种结构允许同时执行程序指令和对数据操作,运行速度快,单周期定点指令执行时间为5ns,远高于语音信号采集和处理的要求。
在语音信号采集中, 模拟信号向数字信号转换(ADC)的精度和实时性对后续信号处理过程起到了重要作用。
设计中采用TLC320AD50完成语音信号的A/D转换。
TLC320AD50是TI公司提供的一款16 bit 同步串口A/D和D/A转换芯片,ADC之后有1个抽取滤波器以提高输入信号的信噪比, 其采样频率最高可达22.5 Kb/s,满足语音信号处理中关于采样频率的要求。
2.总体设计基于TMS320VC5502的语音信号采集系统的结构如图2–1所示,该系统的中央处理单元采用美国TI(德州仪器)公司的高性能定点数字信号处理芯片TMS320VC5502,TMS320VC5502是TI 公司推出的定点数字信号处理器,它采用修正的哈佛结构,包括12组独立总线,即1组程序读总线,1组程序地址总线,3组数据读总线,2组数据写总线,5组数据地址总线。
c5509a dsp课程设计一、课程目标知识目标:1. 让学生掌握C5509A DSP的基本结构、性能特点及其在信号处理中的应用。
2. 使学生理解并掌握DSP编程的基本方法,如汇编语言和C语言编程。
3. 让学生了解并掌握数字信号处理的基本算法,如快速傅里叶变换(FFT)和数字滤波器设计。
技能目标:1. 培养学生运用C5509A DSP进行数字信号处理的能力,能够独立设计和实现简单的信号处理算法。
2. 提高学生编程实践能力,使其能够熟练使用汇编语言和C语言进行DSP程序开发。
3. 培养学生分析问题、解决问题的能力,能够针对实际应用场景设计合适的DSP解决方案。
情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣和热情,激发其进一步学习的动力。
2. 培养学生团队合作精神,使其在项目实践中学会相互协作、共同解决问题。
3. 培养学生严谨、务实的科学态度,使其能够认识到技术发展对社会进步的重要意义。
本课程针对高年级学生,结合课程性质、学生特点和教学要求,明确课程目标。
通过本课程的学习,学生将能够掌握C5509A DSP的基本知识和编程技能,具备一定的数字信号处理能力,为后续专业课程学习及未来从事相关领域工作打下坚实基础。
同时,课程注重培养学生的实践能力和团队合作精神,使其在掌握专业知识的同时,形成积极向上的情感态度和价值观。
二、教学内容本课程教学内容分为五个部分:1. C5509A DSP概述:介绍C5509A DSP的基本结构、性能参数及其在数字信号处理中的应用领域。
教学内容:-DSP芯片的基本结构-C5509A DSP性能参数-DSP应用领域2. DSP编程基础:学习汇编语言和C语言编程,掌握DSP程序开发的基本方法。
教学内容:-汇编语言编程基础-C语言编程基础-DSP编程环境搭建3. 数字信号处理算法:学习并实践快速傅里叶变换(FFT)、数字滤波器等基本算法。
教学内容:-快速傅里叶变换(FFT)-数字滤波器设计-算法实现及优化4. DSP应用案例分析:分析实际应用案例,让学生了解DSP技术的具体应用。
DSP原理与应用课程设计报告书课题名称基于TMS320VC5509 DSP的语音信号的FIR滤波器姓名学号院、系、部专业指导教师毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。
作者签名:日期:学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日指导教师评阅书评阅教师评阅书教研室(或答辩小组)及教学系意见基于TMS320VC5509 DSP的语音信号的FIR滤波器设计一、实践的目的和要求1.熟悉ICETEK-VC5509-A板上语音codec芯片TLV320AIC23的设计和程序控制原理。
DSP原理与应用课程设计报告书课题名称基于TMS320VC5509 DSP的语音信号的FIR滤波器姓名学号院、系、部专业指导教师毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日指导教师评阅书评阅教师评阅书教研室(或答辩小组)及教学系意见基于TMS320VC5509 DSP的语音信号的FIR滤波器设计一、实践的目的和要求1.熟悉ICETEK-VC5509-A板上语音codec芯片TLV320AIC23的设计和程序控制原理。
数字信号处理课程设计设计题目:基于DSP 5509的语音信号采集系统设计姓名:陈伟鹏学号:201014350135系别班级:计算机系10级通信1班组次:第九组指导教师:樊洪斌时间:2013年5月24日——2013年6月28日目录摘要 (2)1 绪论 (3)1.1 DSP系统特点和设计基本原则 (3)1.2 国内外研究动态 (3)2软件设计 (5)3 实验结果及分析 (12)3.1 实验结果 (12)3.2 实验分析 (14)4 总结与心得体会 (15)参考文献 (16)致谢 (17)摘要基于DSP的语音信号处理系统,该系统采用TMS320VC5509作为主处理器,TLV320AIC23B作为音频芯片,在此基础上完成系统硬件平台的搭建和软件设计,从而实现对语音信号的采集、滤波和回放功能,它可作为语音信号处理的通用平台。
语音是人类相互之间进行交流时使用最多、最自然、最基本也是最重要的信息载体。
在高度信息化的今天,语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。
通常这些信号处理的过程要满足实时且快速高效的要求,随着DSP技术的发展,以DSP为内核的设备越来越多,为语音信号的处理提供了良好的平台。
本文设计了一个基于TMS320VC5509定点的语音信号处理系统,实现对语音信号的采集、处理与回放等功能,为今后复杂的语音信号处理算法的研究和实时实现提供一个通用平台。
关键词:语音处理;DSP;TMS320VC5509;TLV320AIC23B1 绪论语音是人类相互间所进行的通信的最自然和最简洁方便的形式,语音通信是一种理想的人机通信方式。
语音通信的研究涉及到人工智能、数字信号处理、微型计算机技术、语言声学、语言学等许多领域,所以说语音的通信是一个多学科的综合研究领域,其研究成果具有重要的学术价值。
另外通过语音来传递信息是人类最重要的、最有效、最常用的交换信息的形式。
语言是人类特有的功能,声音是人类常用的工具,是相互传递信息的主要手段。
同时也是众构成思想交流和感情沟通的最主要的途径。
1.1 DSP系统特点和设计基本原则DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。
其工作原理是接收模拟信号,转换为0或1的数字信号。
再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
1.2 国内外研究动态语音信号处理作为一个重要的研究领域,已经有很长的研究历史。
但是它的快速发展可以说是从1940年前后Dudley的声码器和Potter等人的可见语音开始的;20世纪60年代中期形成的一系列数字信号处理的理念和技术基础;到了80年代,由于矢量量化、隐马尔可夫模型和人工神经网络等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。
一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。
另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。
在通信越来越发达的当今世界,尤其最近几十年,语音压缩编码技术在移动通信、IP电话通信、保密通信、卫星通信以及语音存储等很多方面得到了广泛的应用。
因此,语音编码一直是通信和信号处理的研究热点,并其取得了惊人的进展,目前在PC机上的语音编码已经趋于成熟,而如何在嵌入式系统中实时实现语音压缩编码则是近些年来语音信号处理领域的研究热点之一。
2软件设计要正确配置DSP的时钟发生器, 产生DSP工作的正常时钟频率,这一个步骤的关键就是数字琐相环PLL 的应用。
I2C模块是TMS320VC55xx新增的片内集成外设, 通过I2C对TLV320AIC23进行编程控制,可以使DSP与I2C兼容设备通过该接口进行数据通信。
通过硬件和软件调试, 最终成功采集到语音信号并播放出来, 可以在CCS 软件中观察到采集到的语音信号的波形。
改变程序中的延迟参数, 可以明显改变混响效果。
aduio.pjt; Code Composer Project File, Version 2.0 (do not modify or remove this line)[Project Settings]ProjectDir="C:\VC5509AeS61\Lab0701-Echo\"ProjectType=ExecutableCPUFamily=TMS320C55XXTool="Compiler"Tool="CustomBuilder"Tool="DspBiosBuilder"Tool="Linker"Config="Debug"Config="Release"[Source Files]Source="aic23.c"Source="audio.c"Source="i2c.c"Source="sdram_init.c"Source="util.c"Source="audio.cmd"["Compiler" Settings:"Debug"]Options=-g -q -fr"C:\VC5509AeS61\Lab0701-Echo\Debug"-d"_DEBUG"-ml -mn["Compiler" Settings:"Release"]Options=-q -o2 -fr"C:\VC5509AeS61\Lab0701-Echo\Release"["DspBiosBuilder" Settings:"Debug"]Options=-v55["DspBiosBuilder" Settings:"Release"]Options=-v55["Linker" Settings:"Debug"]Options=-q -c -m".\Debug\audio.map"-o".\Debug\audio.out"-w -x["Linker" Settings:"Release"]Options=-q -c -m".\Release\audio.map"-o".\Release\audio.out"-w -xaic23.c#include"5509.h"#include"util.h"#include"extaddr.h"#include"math.h"// AIC23 Control Register addresses#define AIC23_LT_LINE_CTL 0x00// 0#define AIC23_RT_LINE_CTL 0x02// 1#define AIC23_LT_HP_CTL 0x04// 2#define AIC23_RT_HP_CTL 0x06// 3#define AIC23_ANALOG_AUDIO_CTL 0x08// 4#define AIC23_DIGITAL_AUDIO_CTL 0x0A// 5#define AIC23_POWER_DOWN_CTL 0x0C// 6#define AIC23_DIGITAL_IF_FORMAT 0x0E// 7#define AIC23_SAMPLE_RATE_CTL 0x10// 8#define AIC23_DIG_IF_ACTIVATE 0x12// 9#define AIC23_RESET_REG 0x1E// F - Writing 0 to this reg triggers reset// AIC23 Control Register settings#define lt_ch_vol_ctrl 0x0017/* 0 */#define rt_ch_vol_ctrl 0x0017/* 1 */#define lt_ch_headph_ctrl 0x0079/* 2 */#define rt_ch_headph_ctrl 0x0079/* 3 */#define alog_au_path_ctrl 0x0000/* 4 */#define digi_au_path_ctrl 0x0000/* 5 */#define pow_mgt_ctrl_ctrl 0x0002/* 6 */#define digi_au_intf_ctrl 0x000D/* 7 */#define au_FS_TIM_ctrl 0x0000/* 8 MCLK=12MHz, Sample Rate setting */#define digi_intf1_ctrl 0x0001/* 9 */#define digi_intf2_ctrl 0x00FF/* 10 */#define DIGIF_FMT_MS 0x40#define DIGIF_FMT_LRSWAP 0x20#define DIGIF_FMT_LRP 0x10#define DIGIF_FMT_IWL 0x0c#define DIGIF_FMT_FOR 0x03#define DIGIF_FMT_IWL_16 0x00#define DIGIF_FMT_IWL_20 0x04#define DIGIF_FMT_IWL_24 0x08#define DIGIF_FMT_IWL_32 0xc0#define DIGIF_FMT_FOR_MSBRIGHT 0x00#define DIGIF_FMT_FOR_MSLEFT 0x01#define DIGIF_FMT_FOR_I2S 0x02#define DIGIF_FMT_FOR_DSP 0x03#define POWER_DEV 0x80#define POWER_CLK 0x40#define POWER_OSC 0x20#define POWER_OUT 0x10#define POWER_DAC 0x08#define POWER_ADC 0x04#define POWER_MIC 0x02#define POWER_LINE 0x01#define SRC_CLKOUT 0x80#define SRC_CLKIN 0x40#define SRC_SR 0x3c#define SRC_BOSR 0x02#define SRC_MO 0x01#define SRC_SR_44 0x20#define SRC_SR_32 0x18#define ANAPCTL_STA 0xc0#define ANAPCTL_STE 0x20#define ANAPCTL_DAC 0x10#define ANAPCTL_BYP 0x08#define ANAPCTL_INSEL 0x04#define ANAPCTL_MICM 0x02#define ANAPCTL_MICB 0x01#define DIGPCTL_DACM 0x08#define DIGPCTL_DEEMP 0x06#define DIGPCTL_ADCHP 0x01#define DIGPCTL_DEEMP_DIS 0x00#define DIGPCTL_DEEMP_32 0x02#define DIGPCTL_DEEMP_44 0x04#define DIGPCRL_DEEMP_48 0x06#define DIGIFACT_ACT 0x01#define LT_HP_CTL_LZC 0x80#define RT_HP_CTL_RZC 0x80void AIC23_Write(unsigned short regaddr, unsigned short data){unsigned char buf[2];buf[0] = regaddr;buf[1] = data;I2C_Write(I2C_AIC23, 2, buf);}void McBSP0_InitSlave(){PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR;// Put the MCBSP in resetWrite(pMCBSP0 -> spcr1, 0);Write(pMCBSP0 -> spcr2, 0);// Config frame parameters (32 bit, single phase, no delay)Write(pMCBSP0 -> xcr1, XWDLEN1_32);Write(pMCBSP0 -> xcr2, XPHASE_SINGLE | XDATDLY_0);Write(pMCBSP0 -> rcr1, RWDLEN1_32);Write(pMCBSP0 -> rcr2, RPHASE_SINGLE | RDATDLY_0);// Disable int frame generation and enable slave w/ext frame signals on FSX// Frame sync is active high, data clocked on rising edge of clkx Write(pMCBSP0 -> pcr, PCR_CLKXP);// Bring transmitter and receiver out of resetSetMask(pMCBSP0 -> spcr2, SPCR2_XRST);SetMask(pMCBSP0 -> spcr1, SPCR1_RRST);}void AIC23_Init(){I2C_Init();// Reset the AIC23 and turn on all powerAIC23_Write(AIC23_RESET_REG, 0);AIC23_Write(AIC23_POWER_DOWN_CTL, 0);AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC | ANAPCTL_INSEL);AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0);// Turn on volume for line inputsAIC23_Write(AIC23_LT_LINE_CTL,0x000);AIC23_Write(AIC23_RT_LINE_CTL,0x000);// Configure the AIC23 for master mode, 44.1KHz stereo, 16 bit samples // Use 12MHz USB clockAIC23_Write(AIC23_DIGITAL_IF_FORMAT, DIGIF_FMT_MS |DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP);AIC23_Write(AIC23_SAMPLE_RATE_CTL, SRC_SR_44 | SRC_BOSR | SRC_MO);// Turn on headphone volume and digital interfaceAIC23_Write(AIC23_LT_HP_CTL, 0x07f); // 0x79 for speakersAIC23_Write(AIC23_RT_HP_CTL, 0x07f);AIC23_Write(AIC23_DIG_IF_ACTIVATE, DIGIFACT_ACT);// Set McBSP0 to be transmit slaveMcBSP0_InitSlave();}void AIC23_Disable(){PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR;I2C_Disable();// Put the MCBSP in resetWrite(pMCBSP0 -> spcr1, 0);Write(pMCBSP0 -> spcr2, 0);}#define AUDIOBUFFER 0x200000FARPTR lpAudio;unsigned int bEcho=0,uDelay=64,uEffect=256;void AIC23_Mixer(){PC55XX_MCSP pMCBSP0 = (PC55XX_MCSP)C55XX_MSP0_ADDR;int nWork,nWork1;FARPTR lpWork,lpWork1;long int luWork,luWork1;float fWork,fWork1;lpWork=lpAudio=AUDIOBUFFER; luWork=0;for ( luWork1=0;luWork1<0x48000;luWork1++ )far_poke(lpWork++,0);lpWork=lpAudio;while(1){while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY));nWork=Read(pMCBSP0->ddr2); //nWork=Read(pMCBSP0->ddr1); //far_poke(lpWork++,nWork); //if ( bEcho ) //{uEffect%=1024; //uDelay%=1024; //fWork=uEffect/1024.0;luWork1=100;luWork1*=uDelay;luWork1=luWork-luWork1;if ( luWork1<0 ) luWork1+=0x48000;lpWork1=lpAudio;lpWork1+=luWork1; //nWork1=far_peek(lpWork1); //fWork1=nWork1;fWork1/=512.0;fWork1*=uEffect;fWork1+=nWork;fWork+=1.0;fWork1/=fWork;nWork=fWork1; // }Write(pMCBSP0->dxr2,nWork); //Write(pMCBSP0->dxr1,nWork); //luWork++; // if ( luWork>=0x48000 ){lpWork=lpAudio; luWork=0;}}}3 实验结果及分析3.1 实验结果按“F5”键运行,注意观察窗口中的bEcho=0,表示数字回声功能没有激活。