




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章音频信号处理应用程序设计 3学时 主要内容 如何通过PCM3002 TLV320AIC23实现音频信号的输入与输出 如何通过DIP开关与LED指示灯完成程序功能的选择控制与信息提示 如何通过FLASH存储器实现数据的断电保护存储 如何设计并实现一个具有保密通信功能的音频信号处理应用程序 DSP应用系统的一般构成 设计目标 1 音频信号的采集与输入 2 音频信号的加密与解密处理 3 音频信号的回放输出 4 系统控制信息提示 如何解决 音频信号的采集与I O 音频信号类型 1 语音 50Hz 4KHz 2 音乐 22KHz 3 MIDI 1 程序合成音频 2 线路输入音频 3 麦克风输入音频 音频信号来源 音频信号的获取 DSP 音频信号 CODEC AD DA PCM3002 TLV320AIC23 PCM3002 采样率 6KHz 48KHz 48KHz 量化位 16或20 16位 PCM3002 PCM3002 PCM3002应用程序接口 1 DSK5416 PCM3002 openCodec 打开指定名称的音频CODEC设备 2 DSK5416 PCM3002 closeCodec 释放指定名称的音频CODEC设备 3 DSK5416 PCM3002 config 配置音频CODEC的寄存器参数 4 DSK5416 PCM3002 read16 从音频数据流中读入16比特数据 5 DSK5416 PCM3002 read32 从音频数据流中读入32比特数据 6 DSK5416 PCM3002 write16 向音频CODEC写入16比特数据 7 DSK5416 PCM3002 write32 向音频CODEC写入32比特数 TMS320VC5416DSK使用PCM3002 8 DSK5416 PCM3002 rset 设置音频CODEC的控制寄存器 9 DSK5416 PCM3002 rget 读取音频CODEC寄存器数据 10 DSK5416 PCM3002 outGain 设置音频CODEC的输出增益 11 DSK5416 PCM3002 loopback 控制音频CODEC的硬件回放模式 12 DSK5416 PCM3002 mute 控制音频CODEC的静音模式 13 DSK5416 PCM3002 powerDown 控制音频CODEC的省电模式 14 DSK5416 PCM3002 setFreq 设置音频信号的采样率 PCM3002应用程序接口 程序需要包含dsk5416 h dsk5416 pcm3002 h dsk5416f lib PCM3002应用程序接口 句柄 DSK5416 PCM3002 CodecHandlemyCodec 程序需要包含 dsk5416 h dsk5416 pcm3002 h dsk5416f lib DSK5416 PCM3002 Configsetup 0 x1ff 寄存器0的配置 设置左声道DAC的衰减0 x1ff 寄存器1的配置 设置右声道DAC的衰减0 x000 寄存器2的配置 设置控制位0 x000 寄存器3的配置 设置数据格式 基本配置 TLV320AIC23B 采样频率 8KHz 96KHz 量化比特位 16 20 24和32 信噪比 90dB和100dB以上 TLV320AIC23B 1 codec open 获取指定CODEC设备的句柄 2 codec close 释放一个指定CODEC设备 3 codec reset 复位CODEC设备的默认参数 4 codec write reg 写入参数到指定寄存器 5 codec read 从CODEC读入一个或多个字的数据 6 codec write 向CODEC写入一个或多个子的数据 7 codec power 设置CODEC的省电模式 SEED5416DTK使用TLV320AIC23B TLV320AIC23B 句柄 HANDLEmyCodec 程序需要包含 codec h dec5416 c 8 codec analog mode 设置模拟音频处理参数 输入选择 9 codec digital mode 设置数字音频处理参数 10 codec headhponeout gain 设置音频信号输出增益 11 codec lineain gain 设置音频信号输入增益 12 codec digital format 设置数字音频数据格式 量化比特位 13 codec sample rate 设置音频信号的采样率 程序外部控制与信息提示 TMS320C5416DSK 4个DIP开关和4个LED指示灯 1 DSK5416 DIP init 初始化所有DIP开关 2 DSK5416 DIP get 读取指定DIP开关的状态 3 DSK5416 LED init 初始化LED指示灯模块 4 DSK5416 LED off 将指定的指示灯OFF 5 DSK5416 LED on 将制定的指示灯ON 6 DSK5416 LED toggle 使指定的指示灯闪烁 程序包含 dsk5416 h dsk5416 dip h dsk5416 led h dsk5416 lib或dsk5416f lib FLASH存储器数据读写 FLASH存储器 一种可读写的非易失性可编程存储器 TMS320C5416DSK使用了一片256K字的FLASH芯片Am29LV400B SEED5416DTK使用的是256K字的SST39VF400 FLASH存储器数据读写 Am29LV400BFLASH存储器字节方式下的逻辑地址范围为 00000h 7FFFFh 共有512K字节 字方式下逻辑地址范围为 00000h 3FFFFh 有256KW FLASH存储器逻辑地址通过映射到DSP数据空间的8000h FFFFh或者程序空间进行 由于只有32K的寻址空间 因此每次只可以对其逻辑地址的一部分进行读写 FLASH的256KW逻辑空间被划分成8个页面 FLASH与DSP和内部存储器相比 读写速度低许多 C5416DSK的FLASH读写 1 DSK5416 FLASH init 初始化FLASH操作 2 DSK5416 FLASH setpage 选择FLASH页面 3 DSK5416 FLASH read 从FLASH读取一个字的数据 4 DSK5416 FLASH write 将一个字的数据写入FLASH 5 DSK5416 FLASH erase 擦除一个FLASH页面中的数据 程序包含DSK5416 FLASH h 此头文件包含所有API函数 flash erase 擦除FLASH指定区域的数据flash writes 向FLASH指定地址写入一个数据flash writem 向FLASH指定地址写入指定长度的数据flash reads 从FLASH指定地址读入一个数据flash readm 从FLASH指定地址读入指定长度的数据 程序包含memory h C5416DTK的FLASH读写 音频信号处理程序 FLASH的数据存储器总共256KW 8个页面 0 7页 的空间 前面32KW 第0页 留给实验开发系统的引导程序 最后32KW 第7页 预留不用 这样 实际可以使用的空间为6页共192KW 前面三页 1 3页 08000h 1FFFFh 存原始音频数据 后三页 4 6页 20000h 37FFFh 存加密音频数据 每个部分的空间为96KW 在8KHz采样时可以存放12 288秒单声道16比特音频数据 音频信号的采集与存储 应用于TMS320C5416DSK的源代码DSK5416 PCM3002 Configsetup 配置音频CODEC寄存器参数0 x1ff 寄存器0的参数0 x1ff 寄存器1的参数0 x000 寄存器2的参数0 x000 寄存器3的参数 Int16data longintp k DSK5416 PCM3002 CodecHandlehCodec hCodec DSK5416 PCM3002 openCodec 0 音频信号的采集与存储 音频信号的采集与存储 应用于SEED5416DTK的源代码unsignedintaudiodata flashaddr HANDLEcodec command HANDLEcodec data codec data codec open CODEC DATA codec command codec open CODEC COMMAND codec analog mode codec command 0 x14 选择麦克风作为输入 codec digital format codec command 0 设置量化比特位为16codec sample rate codec command 0 x0d 设置采样率为8KHz 以上初始化代码各个子功能模块都需要 最后可放在程序的总控模块中 见7 4 6小节总控模块 音频信号的采集与存储 for flashaddr 0 x410000 flashaddr 0 x428000 flashaddr flashaddr 0 x8000 flash erase flashaddr BLOCK ERASE 清除FLASH第1 3页的音频数据 flashaddr 0 x10000 for while MCBSP RRDY CODEC DATA 等待音频数据准备好读出codec read codec data 音频信号的回放输出 应用于TMS320C5416DSK的源代码Int16data longintp k 这条变量定义语句最后放在7 4 6小节总控模块中定义 音频CODEC和FLASH的初始化与其他模块一样 见7 4 6小节总控模块 for p 1 p 3 p 从FLASH第1 3页读出12 288秒音频数据回放 DSK5416 FLASH setpage p for k 0 k 32767 k data DSK5416 FLASH read 0 x8000 k while DSK5416 PCM3002 write16 hCodec data while DSK5416 PCM3002 write16 hCodec data 音频信号的回放输出 应用于SEED5416DTK的源代码unsignedintaudiodata flashaddr 音频CODEC和FLASH的初始化与其他模块一样 见7 4 6小节总控模块 for flashaddr 0 x10000 flashaddr 0 x28000 audiodata flash reads flashaddr while MCBSP XRDY CODEC DATA 等待音频数据准备好写入codec write codec data 音频信号的加密 应用于TMS320C5416DSK的源代码Int16data data orig data code 以下两条变量定义语句最后放在7 4 6小节总控模块中定义longintp k 音频CODEC和FLASH的初始化与其他模块一样 见7 4 6小节总控模块 data code 0 x2222 初始密钥for p 1 p 3 p 开始加密处理 DSK5416 FLASH setpage p 3 DSK5416 FLASH erase 擦除加密数据区 音频信号的加密 for k 0 k 32767 k DSK5416 FLASH setpage p data orig DSK5416 FLASH read 0 x8000 k 读FLASH数据data code data code data orig 加密运算DSK5416 FLASH setpage p 3 DSK5416 FLASH write 0 x8000 k data code 写入FLASH for p 4 p 6 p 从FLASH第4 6页输出12 288秒加密数据回放试听 DSK5416 FLASH setpage p for k 0 k 32767 k data DSK5416 FLASH read 0 x8000 k while DSK5416 PCM3002 write16 hCodec data while DSK5416 PCM3002 write16 hCodec data 音频信号的加密 应用于SEED5416DTK的源代码unsignedintaudiodata flashaddr audio code 音频CODEC和FLASH的初始化与其他模块一样 audio code 0 x2222 初始密钥for flashaddr 0 x428000 flashaddr 0 x440000 flashaddr flashaddr 0 x8000 audiodata flash reads flashaddr 读出原始音频数据audio code audio code audiodata 加密运算flash writes flashaddr 0 x18000 audio code 写入加密音频数据 音频信号的加密 for flashaddr 0 x28000 flashaddr 0 x3FFFF flashaddr audiodata flash reads flashaddr while MCBSP XRDY CODEC DATA codec write codec data 音频信号的解密 应用于TMS320C5416DSK的源代码Int16data data orig data code 最后放在总控模块中定义longintp k 音频CODEC和FLASH的初始化与其他模块一样 data 0 x2222 initialkey for p 4 p 6 p 开始解密处理 DSK5416 FLASH setpage p for k 0 k 32767 k data code DSK5416 FLASH read 0 x8000 k data orig data code data 解密运算data data code while DSK5416 PCM3002 write16 hCodec data orig while DSK5416 PCM3002 write16 hCodec data orig 音频信号的解密 SEED5416DTK的源代码unsignedintaudiodata flashaddr audio code data 音频CODEC和FLASH的初始化与其他模块一样 data 0 x2222 初始密钥for flashaddr 0 x28000 flashaddr 0 x3FFFF flashaddr audio code flash reads flashaddr audiodata data code data 解密运算data data code while MCBSP XRDY CODEC DATA codec write codec data 音频信号的解密 总控模块 应用于TMS320C5416DSK的源代码 在这里应该包含一个应用程序的DSP BIOS配置头文件 cfg h include dsk5416 h include dsk5416 pcm3002 h include dsk5416 led h include dsk5416 dip h include dsk5416 flash h DSK5416 PCM3002 Configsetup 配置音频CODEC寄存器参数0 x1ff 寄存器0的参数0 x1ff 寄存器1的参数0 x000 寄存器2的参数0 x000 寄存器3的参数 voiduserApp 音频信号处理程序入口 变量定义区 各子模块中的变量都在这里定义 DSK5416 PCM3002 CodecHandlehCodec hCodec DSK5416 PCM3002 openCodec 0 总控模块 while 1 等待按下一个开关选择子功能程序执行 if DSK5416 DIP get 0 0 音频采集与输入 DSK5416 LED toggle 0 在这里调用音频采集与输入模块程序 DSK5416 LED toggle 0 if DSK5416 DIP get 1 0 原始音频信号回放 DSK5416 LED toggle 1 在这里调用音频回放输出模块程序 DSK5416 LED toggle 1 if DSK5416 DIP get 2 0 音频信号加密 DSK5416 LED toggle 2 在这里调用音频信号加密模块程序 DSK5416 LED toggle 2 总控模块 if DSK5416 DIP get 3 0 音频信号解密 DSK5416 LED toggle 3 在这里调用音频信号解密模块程序 DSK5416 LED toggle 3 DSK5416 PCM3002 closeCodec hCodec voidmain DSK5416 init 初始化开发系统DSK5416 LED init 初始化LED指示灯DSK5416 DIP init 初始化DIP开关 总控模块 SEED5416DTK的源代码 程序设计时工程中必须包含DEC5416 C文件 include codec h include sysreg h include mcbsp54 h include memory h defineAUDIO RECORD0 音频信号采集与输入 defineAUDIO PLAY1 音频信号回放输出 defineAUDIO CODE2 音频信号加密处理 defineAUDIO DECODE3 音频信号解密处理main 变量定义区 各子模块中的变量都在这里定义 HANDLEcodec command HANDLEcodec data sys clk CLK160 设置系统时钟 总控模块 dec5416 init 初始化SEED5416DTKcodec data codec open CODEC DATA codec command codec open CODEC COMMAND codec analog mode codec command 0 x14 选择麦克风作为输入 codec digital format codec command 0 设置量化比特位为16codec sample rate codec command 0 x0d 设置采样率为8KHzswitch 1 通过命令代码选择子功能模块程序执行 caseAUDIO RECORD 在这里调用音频采集与输入模块程序 break caseAUDIO PLAY 在这里调用音频回放输出模块程序 break caseAUDIO CODE 在这里调用音频信号加密模块程序 break caseAUDIO DECODE 在这里调用音频信号解密模块程序 break defau
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HSV-1-IN-3-生命科学试剂-MCE
- 2025吉林通化市公益性岗位拟聘用人员模拟试卷及答案详解(夺冠)
- Glycyl-L-alpha-amino-epsilon-pimelyl-D-alanine-CoA-Glycyl-L-alpha-amino-epsilon-pimelyl-D-alanine-coenzyme-A-生命科学试剂-MCE
- 2025广东广州市黄埔区教育局招聘事业编制教职员206人考前自测高频考点模拟试题及一套参考答案详解
- 2025年数字在线服务项目合作计划书
- 2025年温度校验仪表合作协议书
- 工程项目管理进度计划与质量控制模板
- 安全培训效果合格标准课件
- 2025年上海复旦大学附属浦东实验学校教师招聘考前自测高频考点模拟试题及答案详解参考
- 安全培训效果及小结简短课件
- 商务谈判(完整版)课件
- 小学数学教师新课标考试试题
- 小学数学北师大四年级上册五方向与位置四上《用数对确定位置》北师大版李雪梅PPT
- 步进电机控制系统课件
- 2022年混凝土预制U型槽单元工程质量评定表
- 井喷及井喷失控案例教育
- 职业发展与就业创业指导ppt课件完整版
- 挠度计算模板表格(自动版)
- 宝钢集团生产安全事故案例汇编
- 潍城区5万吨污水处理厂及配套管网建设项目环评报告书
- 为老年人更换纸尿裤评分标准
评论
0/150
提交评论