版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程学院课程设计(论文)PAGE27-湖北民族学院信息工程学院DSP课程设计报告书题目:基于TMS320VC5402的语音信号采集系统设计专业:电气工程及其自动化班级:0307406班学号:学生姓名:指导教师:黄勇2010年6
信息工程学院课程设计任务书学号学生姓名专业(班级)电气工程及其自动化(0307406)设计题目基于TMS320VC5402的语音信号采集系统设计设计技术参数时钟设计参数:芯片的主频为100MHZ;外部时钟频率只需要10~20MHzAD转换设计参数:采样率fs=MCLK/(128*N)或MCLK/(512*N)电平转换设计参数:5VTTL器件输出驱动3.3VTTL器件(LVC)输入时,控制驱动器的输出不超过3.6V,3.3VTTL器件输出驱动5VTTL器件输入时,VIH和VIL电平分别是2V和0.8V设计要求(1)绘制系统框图(VISIO);(2)包括电源设计、复位电路设计、时钟电路设计、存储器设计、A/D接口电路设计(P240)、JTAG接口设计等,用Protel软件绘制原理图和PCB图;(3)研究语音信号处理算法,并在MATLAB环境下仿真;(4)给出程序流程图,编写初始化程序及数据处理程序;工作量7000字左右,图纸13张。工作计划14周:图书馆查阅相关资料;15周:系统总体设计构思;16周:系统详细设计;17周:整理形成设计报告。参考资料[1]杨进,李平,文玉梅,等.自适应供水管网泄漏检测定位仪器系统[J].[2]张勇,曾炽祥,周好斌,陈滨.TMS320C5000系列DSP汇编语言程序设计[3]杨进,文玉梅,李平.自来水铸铁管道泄漏声信号频率特征研究[J].[4]胡剑波,徐盛.数字信号处理系统的应用和设计[M].[5]刘益成。TMS320C54xDSP应用程序设计与开发。指导教师签字年月日学生姓名:学号:专业(班级):0307406班课程设计题目:基于TMS320VC5402的语音信号采集系统设计指导教师评语:成绩:指导教师:年月日信息工程学院课程设计成绩评定表摘要在研究数字信号处理的基础上,提出了一个基于DSPTMS320VC5402和A/D转换芯片TLC320AD50的语音信号采集系统的设计。给出了该系统的总体设计方案,具体硬件电路,包括系统电源设计、复位电路设计、时钟电路设计、存储器设计、A/D接口电路设计、JTAG接口设计、DSP与A/D芯片的连接等,以及软件流程图。实验表明:所设计的基于DSP的硬件和软件系统是一个很好的语音信号采集系统,该系统结构清晰,电路简洁,易于实现。关键词:语音信号;数据采集;DSP;TLC320AD50AbstractInthestudybasedondigitalsignalprocessing,proposedadesignbasedonDSPTMS320VC5402andA/DconverterchipTLC320AD50speechsignalacquisitionsystem.Givestheoveralldesignschemeofthesystem,thehardwarecircuitincludingthesystempowersupplydesign,theresetcircuitdesign,clockcircuits,memorydesign,A/Dinterfacecircuit,JTAGinterfacedesign,theconnectionsofDSPandA/Dchipandsoon,andsoftwareflowchart.Experimentsshowthat:thedesignbasedonDSPhardwareandsoftwaresystemsisanexcellentvoicesignalacquisitionsystem,thesystemstructureisclear,thecircuitissimpleandeasytoachieve.Keywords:Voicesignal;DataAcquisition;DSP;TLC320AD50目录1任务提出与方案论证 61.1 TMS320VC5402介绍 61.2 TLC320AD50介绍 102总体设计 112.1DSP核心模块的设计 112.2A\D转换模块 123详细设计 133.1硬件设计 133.1.1DSP芯片 133.1.2电源设计 133.1.3复位电路设计 143.1.4时钟电路设计 153.1.5程序存储器扩展设计 153.1.6数据存储器扩展设计 163.1.7JTAG接口设计 163.1.8A/D接口电路设计 173.2软件设计 183.2.1MATLAB环境中的语音信号采集和处理仿真 183.2.2系统软件设计 194总结 25参考文献 26
1任务提出与方案论证20世纪50年代以来,随着数字信号处理各项技术的发展,语音信号处理技术得到不断提高,语音合成、语音识别、语音记录与语音控制等技术已开始逐步成熟并得到应用。在语音信号处理过程中,要实现语音信号处理技术的精确性、实时性目的,语音信号采集和无误差存储成为语音信号处理中的前提。TMS320VC5402是TI公司推出的定点数字信号处理器,它采用修正的哈佛结构,包括1个程序存储总线、3个数据存储总线和4个地址总线,这种结构允许同时执行程序指令和对数据操作,运行速度快,单周期定点指令执行时间为10ns,远高于语音信号采集和处理的要求。在语音信号采集中,模拟信号向数字信号转换(ADC)的精度和实时性对后续信号处理过程起到了重要作用。设计中采用TLC320AD50完成语音信号的A/D转换。TLC320AD50是TI公司提供的一款16bit同步串口A/D和D/A转换芯片,ADC之后有1个抽取滤波器以提高输入信号的信噪比,其采样频率最高可达22.5Kb/s,满足语音信号处理中关于采样频率的要求。TMS320VC5402介绍TMS320VC5402是基于一个先进的哈佛结构:一个指令存储总线和三个数据存储总线。此处理器提供一个具有高平行度的算术逻辑单元、特殊功效的硬件逻辑、片上存储器和附加的外围芯片。操作灵活和快速的DSP原理及专用的指令系统。独立的程序和数据空间允许他同时并行地访问指令和数据,提供了高度的平行性。在一个独立的周期内可以同时执行一次写操作和两次读操作。并行的指令存储和特殊功用的指令都可以完全的被在一个机器周期内执行。数据可以在程序空间或数据空间内传输(见图1.1-1输入输出时序图)。这一并行操作是算术、逻辑以及二进制运算的强大的机制。另外,C5402还包括控制机制从而可以处理中断、循环、程序调用。图1.1-1输入输出时序图C5402设备提供片上ROM和RAM来帮助系统完成执行任务和系统的综合。C5402映射到片上一块4K×16bitROM。用户可以根据自己的需要来设置ROM的编程实现自己应用目的。安全选项可以用来保护自定义的ROM。系统的引导可以在C5402的片上ROM中利用。这段引导程序在上电时可以主动的把用户代码程序从片外存储器中装载进来。但如果引脚MP/MC在硬件复位时被采样低电平,那么程序将从ROM的FF8h0处开始执行。这个区域包含了启动引导程序的分支指令。C5402引导提供了不同装载程序的方法以便适应不同系统的需求:并行的8位时16位EPROM并行的8位I/O空间或16位模式8位或时16位的串口模式主机端口引导。图1.1-2TMS320VC5402的引脚图中断和陷阱向量都被定义地址到程序空间。这些向量是软的也就是说当遇到陷阱时,处理器的PC装入陷阱向量从而让处理器去处理向量位置处的程序。每个向量地址都有四个字空间被保留,以便适应延迟的分叉指令,不管是一字指令还是两字指令,只要是允许中断分支服务与正常的服务。在系统复位时,复位、中断和陷阱向量都被映射到程序地址空间FF80h。然而,这些向量可以被重新映射到128字页的程序空间当系统复位时。这将pmtr寄存器装载中断向量标志位被完成。在完成装载IPTR之后,任何用户中断或陷阱向量将会被映射到新的128数字的页面上来。C5402在程序空间规划时用一个可扩展的页存储器,它允许访问1024K的程序存储器空间数据存储器空间用于存储需要程序处理的数据或程序处理后的结果。通过对处理器方式状态寄存器PMST的DROM位的设置,将片内ROM配置在数据存储器空间(DROM=1),这样,可以用指令将片内ROM作为数据存储器中的数据ROM来读取。复位时,DROM位被清0;64K字的数据存储器空间包括数据存储器映像寄存器,0000H~001FH是常用的CPU寄存器地址,0020H~005FH是片内外设寄存器的地址。I/O空间用于与外部存储器映像的外设接口,也可以用于扩展外部数据存储空间,除程序存储器空间和数据存储器空间外,C54x系列器件还提供了I/O存储器空间,利用I/O空间可以扩展外部存储器。I/O存储器空间为64K字(0000h~FFFFh),有两条指令PORTR和PORTW可以对I/O存储器空间操作,读写时序与程序存储器空间和数据存储器空间有很大不同。TMS320VC5402存储器分配情况如图1.1-3存储器分配图所示,当存储空间超过64K之后,TMS320VC5402采用了分页机制,进行程序扩展见图1.1-4存储器分页机制所示。图1.1-3存储器分配图图1.1-4存储器分页机制TLC320AD50介绍TLC320AD50(以下简称AD50)是TI生产的多媒体音频编解码器芯片,它集成了16位A/D和D/A转换器,采样速率最高可达22.05KHz,其采样速率可通过DSP编程来设置。在AD50内部ADC之后有抽样滤波器,以提高输入信号的信噪比,在DAC之前有插值滤波器,以保证输出信号平滑。AD50内部有7个数据和控制寄存器,用于编程设置它们的工作状态。由于语音信号的频率范围在200Hz~23400Hz之间,采样率一般设定为8kHz,所以用AD50做AD转换器非常合适。AD50的工作方式和采样频率均通过串口编程来实现。由于转换的数据和控制数据是通过同一串行口进行传输的,所以AD50中有首次通信和二次通信。首次通信专用于转换数据的传送,其时序如图2所示。二次通信则用来设置和读出寄存器的值,所有的寄存器都在二次通信时编程。启动二次通信有两种方法,一种是在FC上加高电平,第二种是将15位方式在首次通信的DIN的LSB位置为1。AD50完成语音信号采集后,在DSP中进行相应的处理算法,语音信号经处理再从AD50输出。2总体设计基于TMS320VC5402的语音信号采集系统的结构如图2–1所示,该系统的中央处理单元采用美国TI(德州仪器)公司的高性能定点数字信号处理芯片TMS320VC5402,TMS320VC5402是TI公司推出的定点数字信号处理器,它采用修正的哈佛结构,包括1个程序存储总线、3个数据存储总线和4个地址总线,这种结构允许同时执行程序指令和对数据操作,运行速度快,单周期定点指令执行时间为10ns。在语音信号采集中,模拟信号向数字信号转换(ADC)的精度和实时性对后续信号处理过程起到了重要作用。设计中采用TLC320AD50完成语音信号的A/D转换。TLC320AD50是TI公司提供的一款16bit同步串口A/D和D/A转换芯片,ADC之后有1个抽取滤波器以提高输入信号的信噪比,其采样频率最高可达22.5Kb/s,满足语音信号处理中关于采样频率的要求。图2-1系统结构框图2.1DSP核心模块的设计TMS320VC5402是整个数据采集系统中,核心处理部分。把缓存器的数据转存到海量存储器中,并对CPLD逻辑的工作方式,工作时钟进行控制,同时还完成与上位机的通信。TMS320VC5402有20根地址线,16根数据线,可以寻址1M的地址空间,在这里,选用TMS320VC5402的数据空间用做SRAM的扩展,选用TMS320VC5402的I/O空间用做FLASH扩展。DSP核心模块充当整个系统的CPU的功能,除了承担对A\D转换器送来的信号做相应的处理之外,还驱动RS-232串行通信链路将相应的数据及时的传到上位机上以备做之后的相关处理或计算,这就要求DSP芯片的处理能力相当的强大和速度必须与ADC相匹配,这一点TMS320VC5402完全有能力做到。2.2A\D转换模块A\D转换模块是整个系统的主要部分,它接收来自外部的信号或模拟数据,然后经过处理转换成数字信号传递给CPU做后续的处理。设计中采用TLC320AD50完成语音信号的A/D转换。TLC320AD50是TI公司提供的一款16bit同步串口A/D和D/A转换芯片,ADC之后有1个抽取滤波器以提高输入信号的信噪比,其采样频率最高可达22.5Kb/s,满足语音信号处理中关于采样频率的要求。TLC320AD50(以下简称AD50)是TI生产的多媒体音频编解码器芯片,它集成了16位A/D和D/A转换器,采样速率最高可达22.05KHz,其采样速率可通过DSP编程来设置。在AD50内部ADC之后有抽样滤波器,以提高输入信号的信噪比,在DAC之前有插值滤波器,以保证输出信号平滑。AD50内部有7个数据和控制寄存器,用于编程设置它们的工作状态。由于语音信号的频率范围在200Hz~23400Hz之间,采样率一般设定为8kHz,所以用AD50做AD转换器非常合适。AD50的工作方式和采样频率均通过串口编程来实现。由于转换的数据和控制数据是通过同一串行口进行传输的,所以AD50中有首次通信和二次通信。首次通信专用于转换数据的传送,其时序如图2所示。二次通信则用来设置和读出寄存器的值,所有的寄存器都在二次通信时编程。启动二次通信有两种方法,一种是在FC上加高电平,第二种是将15位方式在首次通信的DIN的LSB位置为1。AD50完成语音信号采集后,在DSP中进行相应的处理算法,语音信号经处理再从AD50输出。3详细设计由系统结构框图可知,系统主要包括实现模/数转换的A/D模块、掉电时存放程序的Flash模块、为DSP提供电源的外部电源模块、时钟模块,复位电路模块、实现程序下载的JTAG接口模块以及外接扩展存储器等几个部分.系统结构框图如图2-1所示。本章将详细介绍各模块的硬件设计以及软件设计。3.1硬件设计3.1.1DSP芯片作为DSP家庭高性价比代表的16位定点DSP芯片,C5402适用于语音通信等实时嵌入应用场合。与其它C54X芯片一样,C5402具有高度灵活的可操作性和高速的处理能力。其性能特点如下:操作速率可达100MIPS;具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;一个17×17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;整合维特比加速器,用于提高维特比编译码的速度;单周期正规化及指数译码;8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSPC语言编译器;数据/程序寻址空间为1M×16bit,内置4K×16bitROM和16K×16bitRAM;内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串口、一个与外部处理器通信的8位并行HPI口、两个16位定时器以及6通道DMA控制器且低功耗。与C54X系列的其它芯片相比,C5402具有高性能、低功耗和低价格等特点。它采用6级流水线,且当RPT(重复指令)时,一些多周期的指令就变成了单周期的指令;芯片内部RAM和ROM可根据PMST寄存器中的OVLY和DROM位灵活设置。这些都有利于算法的优化。3.1.2电源设计为了降低芯片功耗,C54x系列芯片大部分都采用低电压设计,并且采用双电源供电,即内核电源CVDD:采用1.8V,主要为芯片的内部逻辑提供电压,包括CPU、时钟电路和所有的外设逻辑;I/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为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外中断,可在任何时候对TMS320VC5402进行复位。当系统上电后,RS引脚应至少保持5个时钟周期稳定的低电平,以确保数据、地址和控制线的正确配置。复位后(RS回到高电平),CPU从程序存储器的FF80H单元取指,并开始执行程序。本设计采用由TPS3707-33组成的自动复位电路(如图3.1-2)。图3.1-2由TPS3707-33芯片组成的自动复位电路3.1.4时钟电路设计时钟电路用来为’C54x芯片提供时钟信号,由一个内部振荡器和一个锁相环PLL组成,可通过芯片内部的晶体振荡器或外部的时钟电路驱动。利用DSP芯片内部提供的晶振电路,在DSP芯片的X1、X2之间连接晶体振荡器。使用芯片内部的振荡器在芯片的X1和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。时钟电路图如图3.1-3。C1C2晶振C1C2晶振图3.1-3时钟电路3.1.5程序存储器扩展设计FLASH存储器用以扩展程序存储器AT29LV1024是1M位的FLASH存储器FLASH存储器与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、可电擦写、使用方便,并且3.3V的FLASH可以直接与DSP芯片连接。地址线:A0~A15;数据线:I/O0~I/O15;控制线:—片选信号;—编程写信号;—输出使能信号。扩展连接图如图3.1-4。图3.1-4程序存储器扩展电路3.1.6数据存储器扩展设计要实现语音数据和系统程序的存储,TMS320VC5402必须有外接扩展存储器。TMS320VC5402的速度为100MI/s,为保证DSP运行速度,需要外部存储器的速度接近10ns。系统选择ICSI64LV16作为外部存储器,其容量64K字×16bit。其硬件连接图如图3.1-5所示。图3.1-5数据存储器扩展电路3.1.7JTAG接口设计在系统中,通过JTAG测试口访问和调试DSP芯片。JTAG是一种国际标准测试协议(IEEE1149.1兼容),针对现代超大规模集成电路测试、检验困难而提出的基于边界扫描机制和标准测试存取口的国际标准。标准JTAG测试端口包括4个必选引脚和一个可选的异步JTAG的复位引脚TRST,分别是工作模式选择引脚TMS,串行数据输入引脚TDI,串行数据输出引脚TDO,端口工作时钟引脚TCK。JTAG接口引脚连接如图3.1-6所示。图3.1-6JTAG接口引脚连接图3.1.8AA/D转换模块是整个系统的主要部分,它接收来自外部的信号或模拟数据,然后经过处理转换成数字信号传递给CPU做后续的处理。TLC320AD50是一款SIGMA-DELTA型单片音频接口芯片,通过串行口与DSP或其它设备通信。它内部集成了16位的D/A和A/D转换器,采样速率最高可达22.05Kb/s,其采样速率可通过DSP编程来设置。设置AD50时,串行通信数据最低为高电平。在DAC之前有一个插值滤波器以保证输出信号平滑,ADC之后有一个抽取滤波器以提高输入信号的信噪比。AD50的发送和接收可以同时进行。参考AD50的产品手册文献,得出TMS320VC5402与TLC320AD50的连接方法如图3.1-7所示图3.1-7TLC320AD50与TMS320VC5402串行口的连接3.2软件设计3.2.1MATLAB环境中的语音信号采集和处理仿真MATLAB是美国MathWorks公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析.使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等.下面给出一个MATLAB程序,读入一个采样频率为22.050kHz、16位单声道的WAV文件,然后播放并做语音信号的波形图、频谱图和倒谱图(见图3.2-1),具体程序如下:[y,fs]=wavread('c:\wav\wav1.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*length(x)/fs;%限定频率范围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));%倒频谱计算ms1=fs/1000;ms20=fs/50;q=(ms1:ms20)/fs;%确定倒频刻度subplot(3,1,3);plot(q,abs(c(ms1:ms20)));%画倒谱图legend('倒谱图');xlabel('倒频(s)');ylabel('倒频谱幅度');图3.2-1MATLAB环境中做出的语音信号的波形图、频谱图和倒谱图3.2.2系统软件设计主程序流程图如图3.2-2。图3.2-2主程序流程图DSP初始化程序:#include"timothy.h"#include"math.h"intsin_data[256];inttri_data[256];ioportintport9100;ioportintport8000;intkeycode=0x0000;//thecodenumberofthekey;voidmain(void){inti;ST0=0x1800;ST1=0x4800;//disableallmaskableinterrupt;SWWSR=0x7fff;//nowaitcycle;CLKMD=0x1007;IFR=0xffff;IMR=0x0007;asm("RSBXINTM");//opentheinterrupt;for(i=0;i<255;i++)//generatethesin_data;{sin_data[i]=255*sin(3.1415*i/256);}129for(i=0;i<256;i++)//generatthetri_data;{tri_data[i]=i;}for(;;){if(keycode==0xf410)//keyF1;{for(i=0;i<255;i++){port9100=sin_data[i];}}elseif(keycode==0xf411){for(i=1;i<256;i++){port9100=tri_data[i];}}}}interruptvoidbobo_int1(){keycode=port8000;数据处理程序:#defineDSYNC_REVT10x05/*synctoMcBSP1receiveevent*/#defineAUTOINIT_ENABLE0x01/*auto-initializationmodeisenabled*/#defineDINM_ENABLE0x01/*DMAinterruptisenabled*/#defineIMOD_HALFBLOCK0x01/*DMAIntoccurseachhalfblock*/#defineCTMOD_DEC0x00/*Decrementcountermode*/#defineINDEXMODE_NOMOD0x00/*Nomodify(Indexmode)*/#defineINDEXMODE_INC0x01/*Postincrementindexmode*/#defineHIGH_PRIORITY0x01/*HighestpriorityforDMAchannel*/#defineINTSEL_010x01/*RINT0,XINT0,RINT2,XINT2,DMAC2,DMAC3,*//*DMAC4,DMAC5*/#defineDSYNC_XEVT10x06/*synctoMcBSP1transmitevent*/#defineIMOD_BLOCK0x00/*DMAIntoccursattheendoftheblock*/#defineCTMOD_DEC0x00/*Decrementcountermode*/#defineSPACE_DATA0x01/*DMADataSpaceSelect*//*Memory-MappedRegisterDefinitions*/#defineDMPREC(*(volatileunsignedint*)(0x0054u))#defineDMSBA(*(volatileunsignedint*)(0x0055u))#defineDMSDI(*(volatileunsignedint*)(0x0056u))#defineDMSDN(*(volatileunsignedint*)(0x0057u))#defineIMR(*(volatileunsignedint*)(0x0000u))#defineIFR(*(volatileunsignedint*)(0x0001u))#defineXPC(*(volatileunsignedint*)(0x001eu))#definePMST(*(volatileunsignedint*)(0x001du))#defineBSCR(*(volatileunsignedint*)(0x0029u))#defineDRR1_ADDR(port)(port?0x41:0x21)#defineDXR1_ADDR(port)(port?0x43:0x23)#defineTCR_ADDR(port)(port?0x32:0x26)#defineTCR(port)(*(volatileunsignedint*)TCR_ADDR(port))#definePRD_ADDR(port)(port?0x31:0x25)#definePRD(port)(*(volatileunsignedint*)PRD_ADDR(port))/*SubAddressRegisterDefinitions*/#defineDMSRC_SUBADDR0x00#defineDMDST_SUBADDR0x01#defineDMCTR_SUBADDR0x02#defineDMSEFC_SUBADDR0x03#defineDMMCR_SUBADDR0x04#defineDMSRCP_SUBADDR0x1E#defineDMDSTP_SUBADDR0x1F#defineDMIDX0_SUBADDR0x20#defineDMIDX1_SUBADDR0x21#defineDMFRI0_SUBADDR0x22#defineDMFRI1_SUBADDR0x23#defineDMGSA_SUBADDR0x24#defineDMGDA_SUBADDR0x25#defineDMGCR_SUBADDR0x26#defineDMGFR_SUBADDR0x27/*ChannelDefinitions*/#defineDMA_CH00#defineDMA_CH11#defineDMA_CH22#defineDMA_CH33#defineDMA_CH44#defineDMA_CH55/*DMAChannelFlagsforIMR/IFR*/#defineDMAC06#defineDMAC17#defineDMAC210#defineDMAC311#defineDMAC412#defineDMAC513/*RegisterBitFields*/#defineTDDR0#defineTSS4#defineTRB5/*MacroDefinitions*//*DMAFramecountSet*/#defineDMA_FRAMECOUNT(chan,value)\{DMSBA=(chan*5)+DMSEFC_SUBADDR;\DMSDN=(DMSDN&0xFF00u)|value;\}/*DMAChannelEnable*/#defineDMA_ENABLE(chan)\DMPREC|=(1<<chan);#defineINTR_GLOBAL_ENABLE\asm("\tRSBXINTM")#defineINTR_CLR_FLAG(flag)\{IFR|=(0x1u<<flag);}#defineINTR_ENABLE(flag)\{IMR|=((0x1u)<<flag);}#defineTIMER_HALT(port)\TCR(port)|=(0x1u<<TSS)#defineTIMER_START(port)\TCR(port)=(TCR(port)&(~(0x1u)<<TSS))|(0x1u<<TRB)#defineTIMER_RESET(port)\{TIMER_HALT(port);\TCR(port)&=0xFFF0u;\PRD(port)=0xffffu;\TIMER_START(port);}/*DMAResetAll*/staticinlinevoiddma_reset_all(void){unsignedshortchannel;DMPREC=0x0000u;DMSBA=DMSRC_SUBADDR;for(channel=0;channel<=4;channel++){DMSDI=0x0000u;//srcDMSDI=0x0000u;//dstDMSDI=0x0000u;//ctrDMSDI=0x0000u;//sefcDMSDI=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*/DMSDI=0x0000u;/*DMGDA*/DMSDI=0x0000u;/*DMGCR*/DMSDI=0x0000u;/*DMGRF*/}/*InitializeGlobalDMARegisters*/staticinlinevoiddma_global_init(unsignedintdmpre/*IN:Valueforpriorityandenablereg*/,unsignedintdmsrcp/*IN:Valueforsourcepagereg*/,unsignedintdmdstp/*IN:Valuefordestpagereg*/,unsignedintdmidx0/*IN:Valueforelementindexreg0*/,unsignedintdmidx1/*IN:Valueforelementindexreg1*/,unsignedintdmfri0/*IN:Valueforframeindexreg0*/,unsignedintdmfri1/*IN:Valueforframeindexreg1*/,unsignedintdmgsa/*IN:Valueforglobalsrcaddrreload*/,unsignedintdmgda/*IN:Valueforglobaldstaddrreload*/,unsignedintdmgcr/*IN:Valueforglobalcountreloadreg*/,unsignedintdmgfr)/*IN:Valueforglobalframereloadreg*/{DMPREC&=0xFF00u;/*TemporarilyDisableAllChannels*/DMSBA=DMSRCP_SUBADDR;/*SetDMASubBankAddressRegister*/DMSDI=dmsrcp;/*WritetoDMAsrcsubbankregisterwithincrement*/DMSDI=dmdstp;DMSDI=dmidx0;DMSDI=dmidx1;DMSDI=dmfri0;DMSDI=dmfri1;DMSDI=dmgsa;DMSDI=dmgda;DMSDI=dmgcr;DMSDI=dmgfr;DMPREC=dmpre;}staticinlinevoiddma_init(unsignedintchannel/*IN:DMAchannelnumber*/,unsignedintdmsefc/*IN:Valuetosetsync&frreg*/,unsignedintdmmcr/*IN:Valuetosetmodecontrolreg*/,unsignedintdmctr/*IN:Valuetosetelementcountreg*/,unsignedintsrc_page/*IN:Valuetosetsourcepagereg*/,unsignedintsrc_addr/*IN:Valuetosetsourceaddrreg*/,unsignedintdst_page/*IN:Valuetosetdestpagereg*/,unsignedintdst_addr/*IN:Valuetosetdestaddrreg*/){DMSBA=(channel*5)+DMSRC_SUBADDR;DMSDI=src_addr;/*WritetoDMAsrcsubbankregisterwithincrement*/DMSDI=dst_addr;DMSDI=dmctr;DMSDI=dmsefc;DMSDI=dmmcr;DMSBA=DMSRCP_SUBADDR;DMSDI=src_page;DMSDI=dst_page;}4总结本文绍了由TMS320VC5402和TLC320AD50组成的语音信号采集系统的软硬件设计.AD50C丰富的可编程功能设置使系统能方便的实现不同采样率的转换,输入输出增益控制,转换前后的抗混叠与均值滤波等。VC5402的强大信号处理能力使得系统能够实现复杂的信号处理算法,不仅可以进行数据采集还能够对采集信号进行算法处理。系统若连接液晶显示模块并在软件上进一步丰富功能,可以应用于实际管道泄漏检测中,具有较高的应用价值。参考文献[1]杨进,李平,文玉梅,等.自适应供水管网泄漏检测定位仪器系统[J].[2]张勇,曾炽祥,周好斌,陈滨.TMS320C5000系列DSP汇编语言程序设计[M].[3]杨进,文玉梅,李平,自来水铸铁管道泄漏声信号频率特征研究[J].[4]胡剑波,徐盛,数字信号处理系统的应用和设计[M].上海:上海交通大学出版社,[5]刘益成,TMS320C54xDSP应用程序设计与开发。北京:北京航空航天大学出版社,[6]清源科技,TMS320C54xDSP硬件开发教程。北京:机械工业出版社,2003,62-64[7]《TMS320VC5402Datasheet》,TexasInstruments基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究\t"_blank
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市闵行区部分学校2025-2026学年八年级上学期期末考试物理试题(含答案)
- 广东省肇庆市鼎湖区2025-2026学年第一学期期末七年级地理科试题(无答案)
- 养老院入住评估与管理制度
- 企业内部公文处理制度
- 老年终末期患者失眠的中医护理方案
- 老年终末期压疮护理中疼痛管理方案优化
- 2026春人教鄂教版(2024)一年级第一单元《位置和方向》教学设计
- 瓦屋面工岗前品质考核试卷含答案
- 变压器试验工安全教育知识考核试卷含答案
- 钾肥生产工安全素养竞赛考核试卷含答案
- 生产现场资产管理制度
- 起重设备安全使用指导方案
- 江苏省扬州市区2025-2026学年五年级上学期数学期末试题一(有答案)
- “党的二十届四中全会精神”专题题库及答案
- GB/T 17622-2008带电作业用绝缘手套
- GB/T 1041-2008塑料压缩性能的测定
- 400份食物频率调查问卷F表
- 滑坡地质灾害治理施工
- 实验动物从业人员上岗证考试题库(含近年真题、典型题)
- 可口可乐-供应链管理
- XX公司印章管理办法
评论
0/150
提交评论