TMSVC的语音信采集系统设计方案

上传人:沈*** 文档编号:96551778 上传时间:2022-05-25 格式:DOC 页数:24 大小:526KB
收藏 版权申诉 举报 下载
TMSVC的语音信采集系统设计方案_第1页
第1页 / 共24页
TMSVC的语音信采集系统设计方案_第2页
第2页 / 共24页
TMSVC的语音信采集系统设计方案_第3页
第3页 / 共24页
资源描述:

《TMSVC的语音信采集系统设计方案》由会员分享,可在线阅读,更多相关《TMSVC的语音信采集系统设计方案(24页珍藏版)》请在装配图网上搜索。

1、湖北民族学院信息工程学院DSP课程设计报告书题目:基于TMS320VC540的语音信号采集系统设计专 业:电气工程及其自动化班级:0307406班学 号:学生姓名:指导教师:黄勇2010年6月25日信息工程学院课程设计任务书学号学生姓名专业(班级)电气工程及其自 动化(0307406)设计题目基于TMS320VC540的语音信号采集系统设计设时钟设计参数:芯片的主频为100MHZ外部时钟频率只需要 1020MHz计AD转换设计参数:采样率 fs=MCLK/(128*N) 或MCLK/(512*N)技电平转换设计参数:5V TTL器件输出驱动3.3V TTL器件(LVC)输入时,控制驱动术器的输

2、出不超过3.6V , 3.3V TTL器件输出驱动5V TTL器件输入时,VIH和VIL电平参分别是2V和0.8V数设 计 要 求(1)绘制系统框图(VISIO) ;( 2)包括电源设计、复位电路设计、时钟电路设计、存储器设计、A/D接口电路设计(P240)、JTAG接 口设计等,用 Protel软件绘制原理图和PCB图;(3 )研究语音信号处理算法,并在MATLA环境下仿真;(4 )给出程序流程图,编写初始化程序及数据处理程序;工 作 量7000字左右,图纸 13张。工 作 计 划14周:图书馆查阅相关资料;15周:系统总体设计构思;16周:系统详细设计;17周:整理形成设计报告。参 考 资

3、 料1 杨进,李平,文玉梅,等自适应供水管网泄漏检测定位仪器系统J .2 张勇,曾炽祥,周好斌,陈滨.TM S320C5000系列DSP汇编语言程序设计3 杨进,文玉梅,李平.自来水铸铁管道泄漏声信号频率特征研究J .4 胡剑波,徐盛.数字信号处理系统的应用和设计M .5 刘益成。TMS320C54x DS应用程序设计与开发。指导教师签字信息工程学院课程设计成绩评定表学生姓名:学号:专业(班级):0307406班课程设计题目:基于TMS320VC5402的语音信号米集系统设计指导教师评语:成绩:指导教师:年 月曰摘要在研究数字信号处理的基础上,提出了一个基于DSP TMS320VC5402和A

4、/D转换芯片TLC320AD50 的语音信号采集系统的设计。给出了该系统的总体设计方案,具体硬件电路,包括系统电源设计、复位电路设计、时钟电路设计、存储器设计、A/D 接口电路设计、JTAG 接口设计、 DSP 与 A/D 芯片的连接等,以及软件流程图。实验表明 : 所设计的基于 DSP 的硬件和软件系统是一个很好的语音信号采集系统 ,该系统结构清晰,电路简洁,易于 实现。关键词:语音信号;数据采集;DSP;TLC320AD50AbstractIn the study based on digital signal processing,proposed a design based onDS

5、P TMS320VC5402 and A / D converter chip TLC320AD50 speech signal acquisition system.Gives the overall design scheme of the system, the hardware circuitincluding the system power supply design, the reset circuit design, clock circuits, memory design, A / D interface circuit, JTAG interface design,the

6、connectionsofDSPand A / D chip and so on,and software flow chart. Experiments show that: the design based on DSPhardware and software systems is an excellent voice signal acquisition system,the system structure is clear, the circuit is simple and easy to achieve.Key words:Voice signalData Acquisitio

7、nDSP 。 TLC320AD50目录1任务提出与方案论证51.仃MS320VC540介绍 61.2TLC320AD5C介绍 92总体设计92.1 DSP核心模块的设计102.2 AD转换模块103详细设计113.1硬件设计113.1.1 DSP 芯片 113.1.2 电源设计113.1.3复位电路设计123.1.4时钟电路设计133.1.5程序存储器扩展设计133.1.6数据存储器扩展设计143.1.7 JTAG 接口设计 143.1.8 A/D接口电路设计153.2软件设计153.2.1 MATLAB环境中的语音信号采集和处理仿真153.2.2系统软件设计174总结22参考文献错误!未定义

8、书签。1任务提出与方案论证20世纪50年代以来,随着数字信号处理各项技术的发展,语音信号处理技术得到不断 提高,语音合成、语音识别、语音记录与语音控制等技术已开始逐步成熟并得到应用。在 语音信号处理过程中,要实现语音信号处理技术的精确性、实时性目的,语音信号采集和 无误差存储成为语音信号处理中的前提。TMS320VC540是TI公司推出的定点数字信号处理器,它采用修正的哈佛结构,包括1个程序存储总线、3个数据存储总线和4个地址总线,这种结构允许同时执行程序指令和对数据操作,运行速度快,单周期定点指令执行时间为10ns,远高于语音信号采集和处理的要求。在语音信号采集中,模拟信号向数字信号转换(A

9、DC)的精度和实时性对后续信号处理过程起到了重要作用。设计中采用TLC320AD5完成语音信号的A/D转换。TLC320AD5是TI公司提供的一款16 bit同步串口 A/D和D/A转换芯片, AD(之后有1个抽取滤波器以提高输入信号的信噪比,其采样频率最高可达22.5 Kb/s,满足语音信号处理中关于采样频率的要求。1.1 TMS320VC540介绍TMS320VC540是基于一个先进的哈佛结构:一个指令存储总线和三个数据存储总线。此处理器提供一个具有高平行度的算术逻辑单元、特殊功效的硬件逻辑、片上存储器和附加的外围芯片。操作灵活和快速的DSP原理及专用的指令系统。独立的程序和数据空间允许他

10、同时并行地访问指令和数据,提供了高度的平行性。在一个独立的周期内可以同时执行次写操作和两次读操作。并行的指令存储和特殊功用的指令都可以完全的被在一个机器周期内执行。数据可以在程序空间或数据空间内传输(见图1.1-1输入输出时序图)。这一并行操作是算术、逻辑以及二进制运算的强大的机制。另外,C5402还包括控制机制从而可以处理中断、循环、程序调用。S-econd Byte/First Byte/HITHRDYCLKOUTCLKOUT*1(COHHTX)I皆ZXZtsuf&PIG-COHJ-H IfitGPIO-COH)图1.1-1输入输出时序图C5402设备提供片上ROM和RAM来帮助系统完成执

11、行任务和系统的综合。C5402映射到片上一块4KX 16bit ROM。用户可以根据自己的需要来设置ROI的编程实现自己应用目的。安全选项可以用来保护自定义的ROM系统的引导可以在C5402的片上R0中利用。这段引导程序在上电时可以主动的把用户代码程序从片外存储器中装载进来。但如果引脚MP/MCE硬件复位时被采样低电平,那么程序将从R0的 FF8hO处开始执行。这个区域包含了启动引导程序的分支指令。C5402引导提供了不同装载程序的方法以便适应不同系统的需求:并行的8位时16位EPROM行的8位I/O空间或16位模式8位或时16位的串口模式主机端口引导。中断和陷阱向量都被定义地址到程序空间。这

12、些向量是软的-也就是说当遇到陷阱时,处理器的PC装入陷阱向量从而让处理器去处理向量位置处的程序。每个向量地址都有 四个字空间被保留,以便适应延迟的分叉指令,不管是一字指令还是两字指令,只要是允 许中断分支服务与正常的服务。在系统复位时,复位、中断和陷阱向量都被映射到程序地 址空间FF80h。然而,这些向量可以被重新映射到128字页的程序空间当系统复位时。这将pmtr寄存器装载中断向量标志位被完成。在完成装载IPTR之后,任何用户中断或陷阱向量将会被映射到新的128数字的页面上来。1024K的程序存储器空C5402在程序空间规划时用一个可扩展的页存储器,它允许访问间数据存储器空间用于存储需要程序

13、处理的数据或程序处理后的结果。通过对处理器方式状态寄存器PMS的DRO位的设置,将片内 ROME置在数据存储器空间(DR0M=1,这样,可以用指令将片内R0作为数据存储器中的数据 数据存储器空间包括数据存储器映像寄存器, 0020H005FH是片内外设寄存器的地址。R0来读取。复位时,DRO位被清0; 64K字的0000H00仆H是常用的 CPI寄存器地址,I/O空间用于与外部存储器映像的外设接口,也可以用于扩展外部数据存储空间,除程序存储器空间和数据存储器空间外,C54x系列器件还提供了 I/O存储器空间,利用I/O空间可以扩展外部存储器。I/O存储器空间为 64好(0000hFFFFh),

14、有两条指令 PORT和PORT可以对I/O存储器空间操作,读写时序与程序存储器空间和数据存储器空间有很大不同。TMS320VC540存储器分配情况如图1.1-3存储器分配图所示,当存储空间超过64K之后,TMS320VC540采用了分页机制,进行程序扩展见图1.1-4存储器分页机制所示。程序空间:页0程序空间:页0数据空间0000H007FH0080H3 FFFH4000HFF7FHFF80HFFFFH保留(OVLY =1) 外部(OVLY =0)片内DRAM :16K(OVLY =1)外部(OVLY =0)0000H007FH0080H保留(OVLY =1) 外部(OVLY =0)片外中断矢

15、量(外部)3 FFFH 4000HEFFFHF000HFEFFHFF00HFF7FHFF80HFFFFH片内DRAM :16K(OVLY =1)外部(OVLY =0)0000H005FH0060H007FH0080H3FFFH4000H片外EFFFH片内ROM :4KF000H保留中断矢量(片内)FEFFHFF00HFF7FHFF80HFFFFH存储器映象寄存器暂存器SPRAM片内DRAM :16K片外片内ROM ( DROM=1 )外部(DROM =0)保留(DROM=1)夕卜部(DROM =0)MP/MC=1(微处理器模式)MP/MC=0(微型计算机模式)0 0000H0FFFFHPage

16、 064K2 0000HPage1:Page2:低16K低16K外部2 3FFFH外部24000HPage1:Page2:高48K高48K外部外部2 FFFFH1 0000H1 3FFFH1 4000H1FFFFH图1.1-3存储器分配图XPC=2F 0000HF 3FFFH- F 4000H.F FFFFHPage15:低16K外部Page15高48 K外部XPC=0XPC=1XPC=15图1.1-4存储器分页机制1.2 TLC320AD5介绍TLC320AD50以下简称AD50 )是TI生产的多媒体音频编解码器芯片,它集成了 16位A/D和D/A转换器,采样速率最高可达 22.05KHz,

17、其采样速率可通过 DSP编程来设置。在AD50内部 AD(之后有抽样滤波器,以提高输入信号的信噪比,在DA(之前有插值滤波器,以保证输出信号 平滑。AD50内部有7个数据和控制寄存器,用于编程设置它们的工作状态。由于语音信号的 频率范围在200Hz23400Hz之间,采样率一般设定为 8kHz,所以用AD50故AD转换器非常合 适。AD50勺工作方式和采样频率均通过串口编程来实现。由于转换的数据和控制数据是通 过同一串行口进行传输的,所以AD5(中有首次通信和二次通信。首次通信专用于转换数据的 传送,其时序如图 2所示。二次通信则用来设置和读出寄存器的值 ,所有的寄存器都在二次通 信时编程。启

18、动二次通信有两种方法,一种是在FC上加高电平,第二种是将15位方式在首次通信的D IN的LSB位置为1。AD50完成语音信号采集后,在DSP中进行相应的处理算法,语音信 号经处理再从AD50输出。2 总体设计基于TMS320VC540的语音信号采集系统的结构如图2 - 1所示,该系统的中央处理单元采用美国 TI( 德州仪器 ) 公司的高性能定点数字信号处理芯片TMS320VC540,2 TMS320VC5402是TI公司推出的定点数字信号处理器,它采用修正的哈佛结构,包括1个程序存储总线、3个数据存储总线和 4个地址总线,这种结构允许同时执行程序指令和对数据操作,运行速度 快,单周期定点指令执

19、行时间为10ns。在语音信号采集中,模拟信号向数字信号转换(ADC)的精度和实时性对后续信号处理过程起到了重要作用。设计中采用TLC320AD5完成语音信号的A/D转换。TLC320AD501TI公司提供的一款 16 bit同步串口 A/D和D/A转换芯片, ADC之 后有1个抽取滤波器以提高输入信号的信噪比 , 其采样频率最高可达 22.5 Kb/s ,满足语音 信号处理中关于采样频率的要求。图2-1系统结构框图2.1 DSP核心模块的设计TMS320VC5402是整个数据采集系统中,核心处理部分。把缓存器的数据转存到海量存储器中,并对CPLD逻辑的工作方式,工作时钟进行控制,同时还完成与上

20、位机的通信。TMS320VC5402有20根地址线,16根数据线,可以寻址 1M的地址空间,在这里, 选用TMS320VC5402的数据空间用做 SRAM的扩展,选用 TMS320VC5402的I/O空间用 做FLASH扩展。DSP核心模块充当整个系统的CPU的功能,除了承担对 AD转换器送来的信号做相应的处理之外,还驱动 RS-232串行通信链路将相应的数据及时的传到上位机上以备做之后的 相关处理或计算,这就要求DSP芯片的处理能力相当的强大和速度必须与ADC相匹配,这一点TMS320VC5402完全有能力做到。2.2 AD转换模块AD转换模块是整个系统的主要部分,它接收来自外部的信号或模拟

21、数据,然后经过处理转换成数字信号传递给CPU做后续的处理。设计中采用TLC320AD50完成语音信号的A/D转换。TLC320AD50 是TI公司提供的一款 16 bit同步串口 A/D和D/A转换芯片, ADC之后有1个抽取滤波器以提高输入信号的信噪比,其采样频率最高可达 22.5 Kb/s,满足语音信号处理中关于采样频率的要求。TLC320AD50(以下简称 AD50 )是TI生产的多媒体音频编解码器芯片,它集成了 16位A/D和D/A转换器,采样速率最高可达 22.05KHz,其采样速率可通过 DSP编程来设置。在 AD50内部ADC之后有抽样滤波器,以提高输入信号的信噪比,在DAC之前

22、有插值滤波器,以 保证输出信号平滑。AD50内部有7个数据和控制寄存器,用于编程设置它们的工作状态。由于语音信号的频率范围在200Hz23400Hz之间,采样率一般设定为 8kHz,所以用 AD50做 AD 转换器非常合适。 AD50 的工作方式和采样频率均通过串口编程来实现。由于转换的 数据和控制数据是通过同一串行口进行传输的 ,所以 AD50 中有首次通信和二次通信。首次 通信专用于转换数据的传送 ,其时序如图 2所示。二次通信则用来设置和读出寄存器的值 ,所 有的寄存器都在二次通信时编程。启动二次通信有两种方法,一种是在 FC 上加高电平 ,第二种是将15位方式在首次通信的 D IN的L

23、SB位置为1。AD50完成语音信号采集后,在DSP 中进行相应的处理算法 ,语音信号经处理再从 AD50 输出。3 详细设计由系统结构框图可知,系统主要包括实现模/ 数转换的 A/D 模块、掉电时存放程序的Flash 模块、为 DSP 提供电源的外部电源模块、时钟模块,复位电路模块、实现程序下载 的JTAG接口模块以及外接扩展存储器等几个部分系统结构框图如图 2-1所示。本章将详细介绍各模块的硬件设计以及软件设计。3.1 硬件设计3.1.1DSP 芯片作为DSP家庭高性价比代表的 16位定点DSP芯片,C5402适用于语音通信等实时嵌入 应用场合。与其它 C54X 芯片一样 ,C5402 具有

24、高度灵活的可操作性和高速的处理能力。其 性能特点如下:操作速率可达100MIPS具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个 40位累加器;一个 17X 17乘法器和一个 40位专用加法器,允许 16位带/不带符号的乘 法;整合维特比加速器,用于提高维特比编译码的速度。单周期正规化及指数译码;8 个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSP C语言编译器;数据/程序寻址空间为1MX 16bit,内置 4KX 16bit ROM 和16KX 16bit RAM ;内置可编程等待状态发生 器、锁相环(P

25、LL)时钟产生器、两个多通道缓冲串口、一个与外部处理器通信的8位并行HPI 口、两个16位定时器以及 6通道DMA控制器且低功耗。与 C54X系列的其它芯片相 比,C5402具有高性能、低功耗和低价格等特点。它采用6级流水线,且当RPT(重复指令)时,一些多周期的指令就变成了单周期的指令;芯片内部RAM和 ROM可根据PMST寄存器中的OVLY和 DROM位灵活设置。这些都有利于算法的优化。3.1.2 电源设计为了降低芯片功耗, C54x 系列芯片大部分都采用低电压设计,并且采用双电源供电,即内核电源 CVDD采用1.8V,主要为芯片的内部逻辑提供电压,包括CPU时钟电路和所有的外设逻辑;I/

26、O电源DVDD采用3.3V,主要供I/O接口使用。可直接与外部低压器件接口,而无需额外的电平变换电路。DSP芯片采用的供电方式,主要取决于应用系统中提供什么样的电源。在实际中,大部分数字系统所使用的电源可工作于5V或3.3V,本设计采用TI公司提供的双电源芯片: TPS73HD318电源的最大输出电流为 750mA并且提供两 个宽度为200ms的低电平复位脉冲。电路图如图 3.1-1所示。图3.1-1由TPS73HD318芯片组成的双电源电路3.1.3 复位电路设计TMS320VC5402的复位输入引脚 RS为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外中断,可在任何时候对 TMS3

27、20VC5402进行复位。当系统上电后,RS引脚应至少保持5个时钟周期稳定的低电平,以确保数据、地址和控制线的正确配置。复位后(RS回到高电平),CPU从程序存储器的FF80H单元取指,并开始执行程序。本设计采用由TPS3707-33组成的自动复位电路(如图3.1-2 )。3.1.4 时钟电路设计时钟电路用来为C54x芯片提供时钟信号,由一个内部振荡器和一个锁相环PLL组成,可通过芯片内部的晶体振荡器或外部的时钟电路驱动。利用DSP芯片内部提供的晶振电路,在DSP芯片的XI、X2之间连接晶体振荡器。使用芯片内部的振荡器在芯片的X1和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。时钟

28、电路图如图3.1-3 。TMS320VC5402X1X2/CLKINC1 一晶扌振 C2C1=C2=20pF图3.1-3时钟电路3.1.5程序存储器扩展设计FLASH存储器用以扩展程序存储器AT29LV1024是1M位的FLASH存储器FLASH存储器与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、可电擦写、使用方便,并且3.3V的FLASH可以直接与 DSP芯片连接。地址线:A0A15;数据线:1/001/015 ;控制线:CE 片选信号; WE 编程写信号;OE 输出使能信号。扩展连接图如图3.1-4 。HS32WC540210M2SLV10M08FHrI/O16ABAWE屋r

29、OE图3.1-4程序存储器扩展电路3.1.6数据存储器扩展设计要实现语音数据和系统程序的存储,TMS320VC540必须有外接扩展存储器。 TMS320VC5402的速度为100 MI/s,为保证 DS眶行速度,需要外部存储器的速度接近 10ns。系统选择ICSI64LV16作为外部存储器,其容量64K字X 16 bit 。其硬件连接图如图3.1-5所示。THS320VC5402DBAB尸一 16/ /ICSI64LV161/015-0AlWE-CE-UBLB-OE图3.1-5数据存储器扩展电路3.1.7 JTAG 接口设计在系统中,通过 JTAG测试口访问和调试DSP芯片。JTAG是一种国际

30、标准测试协议 (IEEE 1149.1 兼容),针对现代超大规模集成电路测试、检验困难而提出的基于边界扫描机制和标准测试存取口的国际标准。标准JTAG测试端口包括4个必选引脚和一个可选的异步JTAG的复位引脚TRST分别是工作模式选择引脚TMS串行数据输入引脚 TDI,串行数据输出引脚TDO端口工作时钟引脚 TCK JTAG接口引脚连接如图 3.1-6所示。3.1.8A/D 接口电路设计A/D转换模块是整个系统的主要部分,它接收来自外部的信号或模拟数据,然后经过处理转换成数字信号传递给CPU做后续的处理。TLC320AD5是一款SIGMA- DELTA型单片音频接口芯片,通过串行口与DSP或其

31、它设备通信。它内部集成了16位的D/A和A/D转换器,采样速率最高可达22.05 Kb/s,其采样速率可通过DSP编程来设置。设置 AD50寸,串行通信数据最低为高电平。在DAC之前有一个插值滤波器以保证输出信号平滑,ADC之后有一个抽取滤波器以提高输入信号的信噪比。AD50的发送和接收可以同时进行。参考AD50的产品手册文献,得出TMS320VC540与TLC320AD5的连接方法如图3.1-7 所示T MS320C5402图 3.1-7TLC3DXADRTLC320AD50DN串行口的连接DOUT3.2软件设计FSXFSR3.2.1MATLAB环境中的语音信号采集和处理仿真CLKRMATL

32、AB是美国Math Works公司推出的一种面向工程和FSSCLK学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的 信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等下面给出一个MATLAB程序,读入一个采样频率为22.050 kHz、16位单声道的 WAV文件,然后播放并做语音信号的波形图、频谱图和倒

33、谱图(见图 3.2-1 ),具体程序如下:y , fs = wavread(c : wavwav1.wav) ; %读一个已保存的 WAV语音文件wavplay (y) ; %播放语音文件t=(0 : length(y)-1)/fs; %计算语音播放时间subplot(3 , 1, 1) ; %确定语音波形的显示位置plot(t , y) ; %画波形图legend(波形图);xlabel( 时间(s); %X轴的标题ylabel( 幅度);%Y轴的标题x=fft(y.*hamming(length(y);%加 hamming 窗快速傅立叶变换fm=5000*le ngth(x)/fs; %

34、限定频率范围f=(0 : fm)*fs/length(x); %确定频率刻度subplot(3 , 1, 2) ; %确定语音波形的显示位置plot(f , 20*log10(abs(x(1: length(f)+eps); %画频谱图legend(频谱图);xlabel(频率(Hz);ylabel(频谱幅度(dB);c=fft(log(abs(x)+eps) ; % 倒频谱计算ms仁fs/1000 ;ms20=fs/50 ;q=(ms1: ms20)/fs ; %确定倒频刻度subplot(3 , 1, 3);plot(q , abs(c(ms1 : ms20) ; %画倒谱图legend(

35、倒谱图);xlabel( 倒频(s);图3.2-1 MATLAB环境中做出的语音信号的波形图、频谱图和倒谱图322系统软件设计主程序流程图如图3.2-2 。DSP串口初始化设置AD50寄存器设置中断启动A/D语音处理算法ZSZ结束图3.2-2主程序流程图DSF初始化程序: #in elude timothy.h #inelude math.h int sin_data256 int tri_data256 ioport in t port9100 ioport in t port8000 int keycode=0x0000 。/the code number of the key void

36、mai n(void)int i 。ST0=0x1800。ST1=0x4800。/disable all maskable interruptSWWSR=0x7fff /no wait cycle 。CLKMD=0x1007IFR=0xffff 。IMR=0x0007。asm( RSBX INTM) 。 /open the interrupt for(i=0 。 i255。 i+)/generate the sin_data sin _datai=255*si n(3.1415*i/256)。129for(i=0 。 i256 。 i+)/generat the tri_data。tri_da

37、tai=i 。for( 。 )if(keycode=0xf410)/key F1。for(i=0 。 i255 。 i+)port9100=sin_datai 。else if(keycode=0xf411)for(i=1 。 i256 。 i+)port9100=tri_datai 。interrupt void bobo_int1()keycode=port8000 。数据处理程序:#define DSYNC_REVT1 0x05 /* sync to McBSP1 receive event */ #define AUTOINIT_ENABLE 0x01 /* auto-initiali

38、zation mode is enabled */ #define DINM_ENABLE 0x01 /* DMA interrupt is enabled */#define IMOD_HALFBLOCK 0x01 /* DMA Int occurs each half block*/#define CTMOD_DEC 0x00 /* Decrement counter mode*/#define INDEXMODE_NOMOD 0x00 /* No modify (Index mode)*/#define INDEXMODE_INC 0x01 /* Post increment index

39、 mode*/#define HIGH_PRIORITY 0x01 /* Highest priority for DMA channel */ #define INTSEL_01 0x01 /*RINT0,XINT0,RINT2,XINT2,DMAC2,DMAC3, */* DMAC4,DMAC5 */#define DSYNC_XEVT1 0x06 /* sync to McBSP1 transmit event*/#define IMOD_BLOCK 0x00 /* DMA Int occurs at the end of the block*/#define CTMOD_DEC 0x0

40、0 /* Decrement counter mode*/#define SPACE_DATA 0x01 /* DMA Data Space Select*/* Memory-Mapped Register Definitions */#define DMPREC (*(volatile unsigned int*)(0x0054u)#define DMSBA (*(volatile unsigned int*)(0x0055u)#define DMSDI (*(volatile unsigned int*)(0x0056u)#define DMSDN (*(volatile unsigned

41、 int*)(0x0057u)#define IMR (*(volatile unsigned int*)(0x0000u)#define IFR (*(volatile unsigned int*)(0x0001u)#define XPC (*(volatile unsigned int*)(0x001eu)#define PMST (*(volatile unsigned int*)(0x001du)#define BSCR (*(volatile unsigned int*)(0x0029u)#define DRR1_ADDR(port) (port ? 0x41 : 0x21)#def

42、ine DXR1_ADDR(port) (port ? 0x43 : 0x23)#define TCR_ADDR(port) (port ? 0x32 : 0x26)#define TCR(port) (*(volatile unsigned int*)TCR_ADDR(port)#define PRD_ADDR(port) (port ? 0x31 : 0x25)#define PRD(port) (*(volatile unsigned int*)PRD_ADDR(port) /* Sub Address Register Definitions */#define DMSRC_SUBAD

43、DR 0x00#define DMDST_SUBADDR 0x01#define DMCTR_SUBADDR 0x02#define DMSEFC_SUBADDR 0x03#define DMMCR_SUBADDR 0x04#define DMSRCP_SUBADDR 0x1E#define DMDSTP_SUBADDR 0x1F#define DMIDX0_SUBADDR 0x20#define DMIDX1_SUBADDR 0x21#define DMFRI0_SUBADDR 0x22#define DMFRI1_SUBADDR 0x23#define DMGSA_SUBADDR 0x24

44、#define DMGDA_SUBADDR 0x25#define DMGCR_SUBADDR 0x26#define DMGFR_SUBADDR 0x27/* Channel Definitions */#define DMA_CH0 0#define DMA_CH1 1#define DMA_CH2 2#define DMA_CH3 3#define DMA_CH4 4#define DMA_CH5 5/* DMA Channel Flags for IMR/IFR */#define DMAC0 6#define DMAC1 7#define DMAC2 10#define DMAC3

45、11#define DMAC4 12#define DMAC5 13/* Register Bit Fields */ #define TDDR 0 #define TSS 4 #define TRB 5 /* Macro Definitions */ /* DMA Framecount Set */ #define DMA_FRAMECOUNT(chan, value) DMSBA = (chan * 5) + DMSEFC_SUBADDR 。 DMSDN = (DMSDN & 0xFF00u) | value 。 /* DMA Channel Enable */ #define DMA_E

46、NABLE(chan) DMPREC |= (1 chan) 。#define INTR_GLOBAL_ENABLE asm(tRSBX INTM)#define INTR_CLR_FLAG(flag) IFR |= (0x1u flag) 。 #define INTR_ENABLE(flag) IMR |= (0x1u) flag) 。 #define TIMER_HALT(port) TCR(port) |= (0x1u TSS) #define TIMER_START(port) TCR(port) = (TCR(port) & (0x1u) TSS) | (0x1u TRB) #def

47、ine TIMER_RESET(port) TIMER_HALT(port) 。 TCR(port) &= 0xFFF0u 。 PRD(port) = 0xffffu 。 TIMER_START(port) 。 /* DMA Reset All */ static inline void dma_reset_all( void ) unsigned short channel 。DMPREC = 0x0000u 。 DMSBA = DMSRC_SUBADDR 。 for (channel= 0 。 channel = 4 。 channel+) DMSDI = 0x0000u 。 /src D

48、MSDI = 0x0000u 。 /dst DMSDI = 0x0000u 。 /ctr DMSDI = 0x0000u 。 /sefc DMSDI = 0x0000u 。 /mcr DMSBA = DMSRCP_SUBADDR 。 DMSDI = 0x0000u 。 /*DMSRCP*/DMSDI =0x0000u 。/*DMDSTP*/DMSDI =0x0000u 。/*DMIDX0*/DMSDI =0x0000u 。/*DMIDX1*/DMSDI =0x0000u 。/*DMFRI0*/DMSDI =0x0000u 。/*DMFRI1*/DMSDI =0x0000u 。/*DMGSA*/

49、DMSDI =0x0000u 。/*DMGDA*/DMSDI =0x0000u 。/*DMGCR*/DMSDI =0x0000u 。/*DMGRF*/* Initialize Global DMA Registers */ static inline void dma_global_init( unsigned int dmpre /*IN:Value for priority and enable reg*/ ,unsigned int dmsrcp /*IN:Value for source page reg */ ,unsigned int dmdstp /*IN:Value for d

50、est page reg */ ,unsigned int dmidx0 /*IN:Value for element index reg 0 */ ,unsigned int dmidx1 /*IN:Value for element index reg 1 */ ,unsigned int dmfri0 /*IN:Value for frame index reg 0 */ ,unsigned int dmfri1 /*IN:Value for frame index reg 1 */ ,unsigned int dmgsa /*IN:Value for global src addr r

51、eload */ ,unsigned int dmgda /*IN:Value for global dst addr reload */ ,unsigned int dmgcr /*IN:Value for global count reload reg*/ ,unsigned int dmgfr) /*IN:Value for global frame reload reg*/ DMPREC &= 0xFF00u 。 /* Temporarily Disable All Channels */DMSBADMSDI =DMSDI =DMSDI =DMSDI =DMSDI =DMSDI =DM

52、SDI =DMSDI =DMSDI =DMSDI = DMSRCP_SUBADDR 。 /* Set DMA SubBank Address Register */ dmsrcp 。 /* Write to DMA src subbank register with increment */ dmdstp 。dmidx0 。dmidx1 。dmfri0 。dmfri1 。dmgsa 。dmgda 。dmgcr 。dmgfr 。DMPREC = dmpre 。static inline void dma_init(unsigned int channel /*IN: DMA channel nu

53、mber */ ,unsigned int dmsefc /*IN: Value to set sync & fr reg */ ,unsigned int dmmcr /*IN: Value to set mode control reg */ ,unsigned int dmctr /*IN: Value to set element count reg */,unsigned int src_addr /*IN: Value to set source addr reg */,unsigned int dst_page /*IN: Value to set dest page reg *

54、/,unsigned int dst_addr /*IN: Value to set dest addr reg */)DMSBA = (channel * 5) + DMSRC_SUBADDR 。DMSDI = src_addr 。 /* Write to DMA src subbank register with increment */DMSDI = dst_addr 。DMSDI = dmctr 。DMSDI = dmsefc 。DMSDI = dmmcr 。DMSBA = DMSRCP_SUBADDR 。DMSDI = src_page 。DMSDI = dst_page 。4 总结本文绍了由 TMS320VC5402和TLC320AD50组成的语音信号采集系统的软硬件设计AD50C丰富的可编程功能设置使系统能方便的实现不同采样率的转换,输入输出增益控制转换前后的抗混叠与均值滤波等。 VC5402 的强大信号处理能力使得系统能够实现复杂的信 号处理算法 , 不仅可以进行数据采集还能够对采集信号进行算法处理。系统若连接液晶显 示模块并在软件上进一步丰富功能,可以应用于实际管道泄漏检测中,具有较高的应用价 值。,unsigned int src_page /*IN: Value to set source page reg */

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!