版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于DSP的语音处理系统的设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)
CadenceSPB基于DSP的语音处理系统的设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)基于DSP的语音处理系统的设计摘要近年来,随着DSP技术的普及和低价格、高性能DSP芯片的出现,DSP已越来越多地被广大的工程师所接受越来越广泛地被应用于各个领域,并且已日益显示出其巨大的优越性。DSP是利用专门或通用的数字信号处理芯片,以数字计算的方法对信号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小及可靠性高等优点,满足了对信号快速、精确、实时处理及控制的要求.本次设计基于TLV320AIC23和TMS320VC5416两种芯片设计并实现了一种语音录音、语音编码、语音解码、语音处理和回放的系统。通过软件和硬件结合对该系统进行设计,使本次设计的语音处理系统具有强大的数据处理能力并配有灵活的接口电路,可以作为一种语音信号处理算法研究和实时实现的通用平台,对语音编码在DSP上的实时实现进行了简单的研究,从而掌握了算法移植的一般流程,为能够在高速DSP硬件平台设计及系统应用开发方面取得成功奠定基础.关键词:DSP;数据采集;TLV320AIC23;TMS320VC5416。目录摘要I第1章绪论11。1DSP的发展及应用11.2语音信号处理系统概述2第2章DSP芯片介绍32。1TLV320AIC23简介32.2TMS320VC5416简介3第3章系统设计43。1系统硬件设计43.1。1系统结构框图43.1.2DSP处理器53。1.3A/D电路53.1.4D/A电路73。2系统软件设计103。2.1TMS320VC5416初始化103.2.2TLV320AIC23初始化10第4章总结11参考文献12致谢13附录14第1章绪论近年来,在数字信号处理领域有着绝对优势的DSP技术得到了迅速发展,不仅在通信计算机领域大显身手,并已逐渐渗透到人们日常消费领域。正因为如此,DSP应用越来越得到普遍重视。DSP作为可编程数字信号处理专用芯片是微型计算机发展的一个重要分支,也是数字信号处理理论实用化过程的重要技术工具。DSP器件分为两大类:一类是专门用于FFT、FIR滤波、卷积等运算的芯片,称为专用DSP器件;另一类是可以通过编程完成各种用户要求的信息处理任务的芯片,称为通用数字信号处理器件。1.1DSP的发展及应用最初的DSP器件只是被设计用以完成复杂数字信号处理算法。这可以追溯到20世纪50年代到60年代,那时数字信号处理技术刚刚起步。由于一般的数字信号处理算法运算量大,因此,算法只能在大型计算机上进行模拟仿真,无法实现数字信号处理。60年代中期,快速傅里叶算法的出现及大规模集成电路的发展,奠定了硬件完成数字信号处理算法和数字信号处理理论实用化的重要技术基础,从而促进了近40年来DSP技术与器件的飞速发展。通用DSP器件的发展可分为三个阶段:第一阶段(1980年前后),DSP雏形阶段.第二阶段(1990年前后),DSP的成熟阶段。第三阶段(2000年以后),DSP的完善阶段。目前,DSP的发展非常迅速。硬件结构方面主要是向多处理器的并行处理结构、便于外部数据交换的串行总线传输、大容量片上RAM和ROM、程序加密、增加I/O驱动能力、外围电路内装化、低功耗等方面发展。软件方面主要是综合开发平台的完善,使DSP的应用开发更加灵活方便。目前,DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。DSP芯片的主要应用:①信号处理——数字滤波,自适应滤波,快速傅里叶变换,相关运算,频谱分析,卷积,波形产生等;②语音处理——语音编码,语音识别,语音合成,文本—语音转换等;③图象图形处理——三维图形转换,机器人视觉,图象转换及压缩,模式识别,图象增强等;④控制——司服控制,机器人控制,自适应控制,神经网络控制等;⑤军事——保密通信,雷达及声音信号处理,导航及制导,调制解调,全球定位,搜索与跟踪等;⑥仪器仪表--频谱分析,函数发生器,模态分析,暂态分析等;⑦通讯-—回音相消,高速调制解调器,数字编码与解码,自适应均衡,移动电话,扩展通讯,噪音对消,网络通讯等;⑧消费电子-—高清晰度电视,音乐合成器,智能玩具,游戏等;⑨医学——助听器,病员监控,超声波设备,自动诊断设备,胎儿监控等。1.2语音信号处理系统概述语音处理在现代通信中应用非常广泛,主要有语音编码、语音识别、语音合成、语音邮件、语音存储等.典型的语音处理系统如下图1.1所示:图1.1典型的语音处理系统图中的输入信号可以有各种各样的形式。例如,它可以是麦克风输入的语音信号或是电话线已调的数据信号,可以是编码后在数字链路上传输或存储在计算机里德摄像机图象信号等.输入信号首先进行带限滤波和抽样,然后进行A/D变换将信号变成数字比特流.根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少是输入带限信号最高频率的2倍.DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号.DSP芯片对输入的数字信号进行某种处理。数字处理是DSP系统的关键,这与其它系统(如电话交换系统)有很大的不同。在交换系统中,处理器的作用是进行路由选择,它并不对输入数据进行修改.因此两者虽然都是实时系统,但两者的实时约束条件却有很大不同.最后,经过处理后的数字样值再经D/A变换转换为模拟样值。之后进行内插和平滑滤波就会得到连续的模拟波形。上面给出的典型的DSP语音处理系统,根据不同的用途应有不同的变动。第2章DSP芯片介绍2。1TLV320AIC23简介TLV320AIC23(简称AIC23)是TI公司的一款高性能Codec芯片。主要特性有:内置耳机输出放大器,支持MIC和LINEIN两种输入方式(二选一).且对输入和输出都具有可编程增益调节;芯片中的A/D转换器和D/A转换器采用多位的Sigma-Delta技术,数据传输字长为16、20、24、32bit,采样率为8kHz~96kHz;在采样率为96kHz情况下A/D转换器信噪比达到90dB,D/A转换器达到100dB;回放模式下功率为23mW,省电模式下更是小于15uW;只占用25mm的面积。基于上述优点,AIC23是可移动的数字音频播放和录音使用中的模拟输入输出等应用系统的理想选择,例如MP3播放器等。2.2TMS320VC5416简介TMS320VC5416(以下简称VC5416)是TI公司的一款16bit定点高性能DSP,是TMS320VC54x系列中的第3代芯片。主要特性有:速率最高达160MI/s;3条16bit数据存储器总线和1条程序存储器总线;1个40bit桶形移位器和2个40bit累加器;1个17×17乘法器和1个40bit专用加法器;最大8M×16bit的扩展寻址空间,内置128k×16bit的RAM和16k×16bit的ROM;3个多通道缓冲串口(McBSP);配有PCM3002,可对语音进行A/D和D/A转换。由于VC5416功耗低,性能高,其分开的数据和指令空间使该芯片具有高度的并行操作能力,在单周期内允许指令和数据同时存取,再加上高度优化的指令集,使得该芯片具有很高的运算速度并且该芯片本身具有丰富的片内存储器资源和多种片上外设,因此在工程界得到广泛应用,尤其是在语音编码和通信应用方面。第3章系统设计3.1系统硬件设计3.1.1系统结构框图音频系统应该具有较宽的动态范围,选择16~24位的ADC和DAC能完全捕获或恢复高保真的音频信号。系统的核心芯片(DSP)选用美国TI公司的TMS320VC5402[1](以下简称C5402)。DSP芯片模块是整个实时语音处理系统的核心部分,它对经数字化的信号进行压缩,编解码等.A/D转换模块功能是把模拟信号数字化,包括采集和量化,这部分为DSP处理语音数字信号做好了准备;D/A转换模块就是把数字信号转换为模拟的信号,输出音频信号。SDRAM(动态随机存储器)存储器模块主要是为DSP处理器扩展存储容量,达到要求的存储容量;但要注意的是要与DSP处理器的速度相匹配,以便良好的运行。电源模块是为内部芯片及周边系统电路提供能量的部分。系统结构框图图3.1如下所示:图3。1系统结构框图3。1.2DSP处理器作为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系列的其它芯片相比,5402具有高性能、低功耗和低价格等特点。它采用6级流水线,且当RPT(重复指令)时,一些多周期的指令就变成了单周期的指令;芯片内部RAM和ROM可根据PMST寄存器中的OVLY和DROM位灵活设置。这些都有利于算法的优化。C5402采用3.3V和1.8V电源供电,其中I/O采用3.3V电源供电,芯片的核采用1。8V电源供电.而实际常用的只有5V电源,所以必须采用电源转换芯片。选用TPS7301和TPS7333两块电源转换芯片(它们都是TI公司为配合DSP而设计的电源转换芯片),分别接上适当的外围电阻,构成电阻分压器,即可调整两块芯片的输出电压分别为3.3V和1。8V。3.1.3A/D电路PCM1800是双声道单片Δ-Σ型20位ADC,单+5V电源供电,信噪比为95dB,动态范围为95dB,其内部嵌有高通滤波器,具有PCM音频接口和四种数据格式,分为主控和受控两种模式,采样频率可选为32kHz、44。1KHz和48KHz.PCM1800构成音频信号采集系统时,主要涉及到BCK(位时钟信号)、LRCK(采样时钟信号)、FSYNC(帧同步信号)、DOUT(数字信号输出)、SYSCLK(系统时钟输入)这几个对时序有要求的引脚。通过对引脚MODE0和MODE1进行编程,可让PCM1800工作于主控模式(MasterMode)。此时,BCK、LRCK、FSYNC均作为输出,其时序由PCM1800内部的时钟产生电路控制.但SYSCLK只能由外部提供(这里用C5402的TOUT脚输出信号提供)。PCM1800的系统时钟只能是256fs、384fs或者512fs,这里fs是音频信号采样频率.在主控模式时,FSYNC用来指明PCM1800的DOUT输出的有效数据,它的上升沿表明一帧数据的起始,下降沿表明一帧数据的结束。FSYNC的频率是采样时钟频率LRCK的2倍。在此模式下,位时钟信号BCK的频率是采样时钟频率LRCK的64倍。通过对PCM1800的FMT0、FMT1两引脚编程(FMT0=1,FMT1=0),可以设置PCM1800输出的数据格式为20位的IIS格式。为了保证在数据处理时不影响新数据的接收以及在接收数据时不中断正在进行的数据处理过程,采用了多通道缓冲同步串口(McBSP).PCM1800与C5402连接后,C5402使用缓冲串口0接收数据,各种同步信号由PCM1800产生,C5402是被动接收各种信息。PCM1800与C5402的硬件接线图如图3.2所示。图3。2PCM1800与C5402的硬件接线图电源管理功能模块所用器件:TPS73HD301(3.3—V/AdjustableOutput该芯片一端输入可调,范围是(1。2—9.7V)电源模块管脚图3.3如下所示:图3.3电源模块管脚图3.1.4D/A电路PCM1744是双声道立体声DAC,包含数字滤波器和输出放大器,动态范围为95dB,具有多种采样频率可选,最高可达96kHz。采用24位的IIS数据输入格式。PCM1744的操作主要涉及到LRCIN(采样时钟信号输入)、BCKIN(位时钟信号输入)、SCKI(系统时钟输入)、DIN(数据输入)这几个对时序有要求的引脚。PCM1744与C5402连接后,C5402使用缓冲串口1发送数据,各种时钟信号均由C5402产生,PCM1744被动接收各种信息.PCM1744的系统时钟信号(SCKI)由C5402的TOUT引脚提供,TOUT是C5402的定时器输出信号引脚,有较强的驱动能力,可以驱动多个芯片。PCM1744的数据接收时钟格式必须是IIS格式,C5402在缓冲串口寄存器中设置各种时钟方式时,必须满足IIS格式的要求。C5402作为主动工作器件,可以对其缓冲串口输出信号进行调整.输出的采样时钟信号、位时钟信号可以在McBSP寄存器SRGR1和SRGR2中设置,设置遵循图3。4的原则。图3.4C5402时钟发生流程图基本的时钟信号可以来自CPU时钟,也可以来自晶振时钟,这在SRGR2寄存器中的第13位设置。基本时钟输入后,经CLKGDV(SRGR1的第7位到第0位)所设置的值进行第一次分频,得到位时钟信号(由BCLKX1脚输出)。值得注意的是,位时钟信号最高为DSP频率的一半.位时钟信号经FPER(SRGR2的第11位到第0位)和FWID(SRGR1的第15位到第8位)所设置的值进一步分频得到采样时钟信号(由BFSX1脚输出),FPER和FWID分别设置采样时钟信号的低电平和高电平的时间值.C5402与PCM1744的硬件接线如图3.5所示。图3。5PCM1744与C5402接线图PCM1800完成音频信号采集后,在DSP的外扩程序存储器中嵌入相应的处理算法,语音信号经处理后,再从PCM1744输出。复位电路:所用芯片为74HC14。复位电路图3.6如下所示:图3.6复位电路图存储器模块所用芯片为:MT48LC8M8A2TG-75、存储容量Density为64Mb、数据宽度16位、工作电压3。3V、TSOP封装54管脚、时钟速率133MHz、存储器模块图3.7如下所示:图3.7存储器模块图3.2系统软件设计3.1。1TMS320VC5416初始化SWWSR=0x7fff;/程序、数据、I/O空间SWCR=0x0001;/等待周期为7×2=14BSCR=0x8006;/按32KW分区,HD[7:0],D[15:0]HoldCLKMD=PLL_DIV_INIT;Waitloop(0x0400);CLKMD=PLL_LOCK_INIT_X(5);Waitloop(0x0400);PMST=0x0168;/中断向量表定位在0X100,MP/MC=1OVLY=1DROM=1;3.2TLV320AIC23初始化为使AIC23正常工作并产生预期的音频效果,必须对其相应的寄存器进行配置。首先对VC5416的I2C模块初始化,将AIC23总线上的地址写入从机地址寄存器ICSAR;再把相应的AIC23内部映射寄存器的地址和待写数据合并为16bit控制字,逐次写入ICDXR,并通过I2C总线发送给AIC23,即可完成对AIC23的初始化配置。AIC23初始化的部分源代码:Unsignedintcodec_buf[9]={OX1e00,OXOc00,OxO81aOxOaO4,OxOe01,0x1020,0x1021,0x0117,OxO5f9};Port_sub_address=(unsignedint*)MCBSP_SPSA_ADDR(1);Port_sub_index_reg=(unsignedint*)MCBSP_SPAD_ADDR(1);*Port_sub_address=MCBSP_SPCR2_SUBADDR;For(i=O;i<9;i++){While(!(*Port_sub_index_reg&(MASK_BIT(XRDY))));Set_codec_cs_low();MCBSP1_DXR1=codec_buf[i];While(!(*Port_sub_index_reg&(MASK_BIT(XRDY))));Set_codec_cs_high();}第4章总结经过这次的课程设计,我发现我在DSP这方面学得不够,很多东西都学得不够全面,掌握得不够深,不能熟练地把它们应用在实践当中。这次在刘伟春老师的细心指导和同学的热心帮助,以及自己上网查找资料下,还算比较顺利地完成了本次课程设计的任务。这次课程设计使我对DSP方面的知识有更深的理解,强化了自己的基础知识,也深刻体会到DSP技术应用领域的广泛.同时对CCS集成环境更为熟悉了,为我在今后的工作中奠定了坚实的实践基础.通过这次课程设计让我明白基础知识的重要性,同时也要理解更多的有关它的知识,并且很好地运用到实践当中,也让我知道了要好好地学习,不能懈怠。参考文献[1]戴明桢等编著。TMS320C54XDSP结构原理及应用。北京:航空航天大学出版社,第2版,2007;[2]彭启琮编著。DSP技术的发展与应用。北京:高等教育出版社,2002;[3]胡广书编著.数字信号处理理论、算法与实现.北京:清华大学出版社,2005;[4]张雄伟,曹铁勇.DSP芯片的原理与开发应用(第二版)[M].北京:电子工业出版社,2000;[5]郝软层,徐金甫。基于DSP芯片的MELP声码器的算法实现[J].微计算机信息,2006;[6]任丽香,马淑芬,李方慧.TMS220600系列DSP的原理与应用[M]。北京:电子工业出版社,2000;[7]北京合众达电子技术有限公司编著。SEED-DTK系列实验手册。北京合众达电子技术有限公司出版,2007。致谢在这次课程设计过程中,我要感谢每一个帮助过我的人。本论文是在刘老师的悉心指导下完成的,刘老师对我的论文提出了很多宝贵的意见,帮助我开拓研究思路,精心点拨、热忱鼓励。同时,刘老师渊博的学识、严谨的治学态度也令我十分敬佩,是我以后学习和工作的榜样。在整个设计过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响,同时,也让我知道了那些基础知识的重要性.本论文的顺利完成,离不开我们老师悉心教导、同学和朋友的关心和帮助。总之,感谢每一位关心过我,爱护过我的人。最后,再次感谢各位老师各位同学的帮助和支持,衷心地谢谢你们!附录源代码如下:#includevoidiirbcf(ifilt,band,ns,n,f1,f2,f3,f4,db,b,a)doubleb[],a[],f1,f2,f3,f4,db;/*TMS320VC5416初始化*/SWWSR=0x7fff;/程序、数据、I/O空间SWCR=0x0001;/等待周期为7×2=14BSCR=0x8006;/按32KW分区,HD[7:0],D[15:0]HoldCLKMD=PLL_DIV_INIT;Waitloop(0x0400);CLKMD=PLL_LOCK_INIT_X(5);Waitloop(0x0400);PMST=0x0168;/中断向量表定位在0X100,MP/MC=1OVLY=1DROM=1;/*TLV320AIC23初始化*/Unsignedintcodec_buf[9]={OX1e00,OXOc00,OxO81aOxOaO4,OxOe01,0x1020,0x1021,0x0117,OxO5f9};Port_sub_address=(un*)MCBSP_SPSA_ADDR(1);Port_sub_index_reg=(unsignedint*)MCBSP_SPAD_ADDR(1);*Port_sub_address=MCBSP_SPCR2_SUBADDR;For(i=O;i〈9;i++){While(!(*Port_sub_index_reg&(MASK_BIT(XRDY))));Set_codec_cs_low();MCBSP1_DXR1=codec_buf[i];While(!(*Port_sub_index_reg&(MASK_BIT(XRDY))));Set_codec_cs_high();}intifilt,band,ns,n;{intk;doubleomega,lamda,epslon,f1,fh;doubled[5],c[5];voidchebyi(),chebyii(),bwtf();doublecoshl(),warp(),bpsub(),omin();voidfblt();if((band==1)||(band==4))fl=f1;if((band==2)||(band==3))fl=f2;if(band<=3)fh=f3;if(band==4)fh=f4;if(ifilt<3){switch(band){case1:case2:{omega=warp(f2)/warp(f1);break;}case3:{omega=omin(bpsub(warp(f1),fh,fl),bpsub(warp(f4),fh,fl));break;}case4:{omega=omin(1。0/bpsub(warp(f2),fh,fl),1。0/bpsub(warp(f3),fh,fl));}}lamda=pow(10.0,(db/20.0));epslon=lamda/cosh(2*ns*coshl(omega));}for(k=0;k{switch(ifilt){case1:{chebyi(2*ns,k,4,epslon,d,c);break;}case2:{chebyii(2*ns,k,4,omega,lamda,d,c);break;}case3:{bwtf(2*ns,k,4,d,c);break;}}fblt(d,c,n,band,fl,fh,&b[k*(n+1)+0],&a[(n+1)+0]);}}staticdoublecoshl(x)doublex;{doublez;z=log(x+sqrt(x*x-1.0));return(z);}staticdoublewarp(f)doublef;{doublepi,z;pi=4.0*atan(1.0);z=tan(pi*f);return(z);}staticdoublebpsub(om,fh,fl)doubleom,fh,fl;{doublez;z=(om*om-warp(fh)*warp(fl))/((warp(fh)-warp(fl))*om);return(z);}staticdoubleomin(om1,om2)doubleom1,om2;{doublez,z1,z2;z1=fabs(om1);z2=fabs(om2);z=(z1return(z);}staticvoidbwtf(ln,k,n,d,c)intln,k,n;doubled[],c[];{inti;doublepi,tmp;pi=4.0*atan(1.0);d[0]=1。0;c[0]=1。0;for(i=1;i<=n;i++){d[i]=0.0;c[i]=0.0;}tmp=(k+1)—(ln+1。0)/2.0;if(tmp==0,0){c[1]=1.0;}else{c[1]=-2。0*cos((2*(k+1)+ln-1)*pi/(2*ln));c[2]=1。0;}}staticvoidchebyi(ln,k,n,ep,d,c)doubled[],c[],ep;intln,k,n;{inti;doublepi,gam,omega,sigma;pi=4.0*atan(1.0);gam=pow(((1.0+sqrt(1.0+ep*ep))/ep),1.0/ln);sigma=0.5*(1.0/gam—gam)*sin((2*(k+1)-1)*pi/(2*ln));omega=0。5*(1.0/gam+gam)*cos((2*(k+1)—1)*pi/(2*ln));for(i=0;i〈=n;i++){d[i]=0。0;c[i]=0.0;}if(((ln%2)==1)&&((k+1)==(ln+1)/2)){d[0]=—sigma;c[0]=d[0];c[1]=1.0;}else{c[0]=sigma*sigma+omega*omega;c[1]=-2。0*sigma;c[2]=1.0;d[0]=c[0];if(((ln%2)==0)&&(k==0))d[0]=d[0]/sqrt(1。0+ep*ep);}}staticvoidchebyii(ln,k,n,ws,att,d,c)doubled[],c[],ws,att;intln,k,n;{inti;doublepi,gam,alpha,beta,sigma,omega,scln,scld;pi=4.0*atan(1。0);gam=pow((att+sqrt(att*att-1。0)),1.0/ln);alpha=0.5*(1。0/gam-gam)*sin((2*(k+1)-1)*pi/(2*ln));beta=0.5*(1。0/gam+gam)*cos((2*(k+1)—1)*pi/(2*ln));sigma=ws*alpha/(alpha*alpha+beta*beta);omega=-1。0*ws*beta/(alpha*alpha+beta*beta);for(i=0;i<=n;i++){d[i]=0.0;c[i]=0.0;}if(((ln%2)==1)&&((k+1)==(ln+1)/2)){d[0]=-1.0*sigma;c[0]=d[0];c[1]=1.0;}else{scln=sigma*sigma+omega*omega;scld=pow((ws/cos((2*(k+1)-1)*pi/(2*ln))),2);d[0]=scln*scld;d[2]=scln;c[0]=d[0];c[1]=-2.0*sigma*scld;c[2]=scld;}}#inlcudestaticvoidfblt(d,c,n,band,fln,fhn,b,a)intn,band;doublefln,fhn,d[],d[],b[],a[];{inti,k,m,n1,n2,ls;doublepi,w,w0,w1,w2,tmp,tmpd,tmpc,*work;doublecombin();voidbilinear();pi=4.0*atan(1。0);w1=tan(pi*fln);for(i=n;i>=0;i--){if((c[i]!=0。0)||(d[i]!=0.0))break;}m=i;switch(band){case1:case2:{n2=m;n1=n2+1;if(band==2){for(i=0;i<=m/2;i++){tmp=d[i];d[i]=d[m—i];d[m-i]=tmp;tmp=c[i];c[i]c[m-i];c[m-i]=tmp;}}for(i=0;i〈=m;i++){d[i]=d[i]/pow(w1,i);c[i]=c[i]/pow(w1,i);}break;}case3:case4:{n2=2*m;n1=n2+1;work=malloc(n1*n1*sizeof(double));w2=tan(pi*fhn);w=w2-w1;w0=w1*w2;if(band==4){for(i=0;i<=m/2;i++){tmp=d[i];d[i]=d[m-i];d[m-i]=tmp;tmp=c[i];c[i]=c[m-i];c[m-i]=tmp;}}for(i=0;i<=n2;i++){work[0*n1+i]=0。0;work[1*n1+i]=0。0;}for(i=0;i〈=m;i++){tmpd=d[i]*pow(w,(m-i));tmpc=c[i]*pow(w,(m—i));for(k=0;k〈=i;k++){ls=m+i-2*k;tmp=combin(i,i)/(combin(k,k)*combin(i-k,i—k));work[0*n1+ls]+=tmpd*pow(w0,k)*tmp;work[1*n1+ls]+=tmpc*pow(w0,k)*tmp;}}for(i=0;i〈=n2;i++){d[i]=work[0*n1+i];c[i]=work[1*n1+i];}free(work);}}bilinear(d,c,b,a,n);}staticdoublecombin(i1,i2)inti1,i2;{inti;doubles;s=1.0;if(i2==0)return(s);for(i=i1;i〉(i1-i2);i-—){s*=i;}return(s);}staticvoidbilinear(d,c,b,a,n)intn;doubled[],c[],b[],a[];{inti,j,n1;doublesum,atmp,scale,*temp;n1=n+1;temp=malloc(n1*n1*sizeof(double));for(j=0;j<=n;j++){temp[j*n1+0]=1。0;}sum=1。0;for(i=1;i<=n;i++){sum=sum*(double)(n-i+1)/(double)i;temp[0*n1+i]=sum;}for(i=1;i〈=n;i++)for(j=1;j〈=n;j++){temp[j*n1+i]=temp[(j—1)*n1+i]-temp[j*n1+i-1]-temp[(j—1)*n1+i-1];}for(i=n;i>=0;i—-){b[i]=0.0;atmp=0.0;for(j=0;j<=n;j++){b[i]=b[i]+temp[j*n1+i]*d[j];atmp=atmp+temp[j*n1+i]*c[j];}scale=atmp;if(i!=0)a[i]=atmp;}for(i=0;i<=n;i++){b[i]=b[i]/scale;a[i]=a[i]/scale;}a[0]=1.0;free(temp);}毕业设计(论文)题目:基于51单片机的家用温湿度语音播报系统设计姓名学院名专业指导教师2014年月日诚信承诺本人__________声明,本论文及其研究工作是由本人在导师指导下独立完成,论文所利用的一切资料均符合论文著作要求,且在参考文献中列出。签名:日期:摘要本系统是一个基于单片机AT89C51的语音播报系统的设计,用来测量环境温湿度,整个设计系统分为5部分:单片机控制、DHT11温湿度传感器、液晶显示、语音播报以及键盘控制电路,整个设计是以AT89C51为核心,选用DHT11温湿度传感器,LED12864液晶显示器实现。当测量温湿度超过设定的温度上下限时,启动蜂鸣器和指示灯报警.语音录放选用的集成块是ISD1420芯片,其保真度高,录音效果好,而且经济实惠.LCD采用的是LCD12864,它具有功耗低、体积小、显示内容丰富、超薄轻巧等优点,应用越来越广泛.整个设计的重点在于编程,因为其外围电路相对比较简单,实现容易.在本论文中附带了软件实现的流程图以及部分子程序以及各种硬件电路图。关键词:液晶显示;语音播报;ISD1420ABSTRACTThissystemisadesignofthespeechthermometeraccordingtothemicroprocessorAT89C51,whichisusedtomeasuretheenvironmenttemperature,Thewholedesignsystemisdividedinto5parts:Amicroprocessorcontrol,temperaturesensor,theLCDdisplay,thespeechreportandthekeyboardcontrolcircuit,atthesametime,ThewholedesigntakeAT89C51asthecore,choosetosinglebusdigitaltemperaturesensorDS18B20,DS1302serialclockchip,RT1602LCDmonitorrealization,LCDdisplaythecurrentdate,time,weeksandtemperature.Whenmeasuringtemperatureoversettemperaturefluctuationlimit,startwithlightalarmbuzzer.Temperaturedisplaystability,andtemperaturemeasurementerroracuities1℃,plusorminustemperaturethedecimalpartretainedtwosignificantdigits。IncreasedCelsiustemperatureconversioncontrastwithFahrenheitandsetsupadisplayfunctionbeepvoiceautomaticallybroadcasttimetemperature,manualreal—timebroadcasttimetemperaturefunction。Thespeechrecoding&;playbackIchoosetouseistheICofISD1420,ithashighfidelity,goodrecordeffective,andeconomic。TheLCDIchooseisTC1602A,itspowerconsumeislow,ithasmanyadvantages,forexample,thevolumeissmall,thecontentsisabundant,superthinandagileetc,anditsapplicationisbecomingmoreandmoreextensive.Thewholedesignliesintheprogram,becauseitsoutercircuitismuchmoresimple,anditcancarryoutmoreeasily。Inmythesis,thereareflowchartandpartssubprogramandvarioushardwarecircuitdiagrams。KeyWords:DS18B20;LCD;speechfunction;soundingandlightalarm.目录TOC\o”1-3”\h\z\u引言1HYPERLINK\l”_Toc421109522”第一章绪论2_Toc421109525”2.2原理框图4HYPERLINK\l”_Toc421109526”2.3电源模块4HYPERLINK\l”_Toc421109527"2。4温湿度传感器模块4HYPERLINK\l”_Toc421109528”2.5显示模块5HYPERLINK\l”_Toc421109529"2.6键盘控制模块5第三章硬件设计7_Toc421109534”3.1。2单片机外围电路设计8HYPERLINK\l”_Toc421109535"复位电路10HYPERLINK\l”_Toc421109536"3.1.4AT89C51时钟电路12HYPERLINK\l”_Toc421109537"3.2电源模块123.3。1DHT11的传输特性15HYPERLINK\l”_Toc421109540"3。3。2温湿度测量电路设计163。3.3DS18B20与AT89C51的接口电路设计173。4键盘控制18_Toc421109544”3。6液晶显示18_Toc421109546”3。7。1ISD1420语音芯片录放音电路设计193。7.2ISD1420与AT89C51接口电路设计20第四章软件设计214。2显示模块程序22HYPERLINK\l”_Toc421109553"4.3键盘控制模块26_Toc421109556"4.6报警子程序模块35HYPERLINK\l”_Toc421109557"4.7以下源代码是ISD1420.h36HYPERLINK\l”_Toc421109558"4.8源代码是语音播报子程序37HYPERLINK\l”_Toc421109559”第五章调试39HYPERLINK\l”_Toc421109560"5.1测量温湿度子程序设计40HYPERLINK\l”_Toc421109561"5。2报警子程序41HYPERLINK\l”_Toc421109562"5。3实现时钟功能的程序设计42HYPERLINK\l”_Toc421109563”5.4显示程序设计43HYPERLINK\l”_Toc421109564"5.5语音播放子程序44HYPERLINK\l”_Toc421109565”第六章仿真结果数据分析46HYPERLINK\l”_Toc421109566”6.1功能仿真和结果46_Toc421109568”谢辞48HYPERLINK\l”_Toc421109569”参考文献49引言人民的生活与环境的温度和湿度息息相关,在工业生产过程中需要实时测量温湿度,在农业生产中也离不开温度的测量,因此研究合适的测温方法和测温装置具有重要的意义。随着自动化水平在工业生产过程中的日益提高,智能化已经成为一种趋势。人们越来越希望,生产生活中能够最大限度的趋于自动化和智能化,并且具有一定的人机交互性。大规模语音处理集成电路的发展,使得语音播报系统在实际生活生产中的应用越来越广泛[3]。语音播报技术体现了智能化,人性化,它不仅在需要用声音传递信息的环境中担当信息传输纽带的重要作用,还在繁忙的日常生产服务中通过温馨、亲切的语音提示方式调节受用者心情。语音播报技术的相关研究也已成为一个热门领域,现今生产生活中其相关技术的应用随处可见。具有语音播报的温度控制系统在工农业生产中拥有广泛的应用前景.目前生产生活中经常需要某一特殊的环境温湿度,测量一旦达不到一个相当高的要求就会造成巨大的损失。传统的方式对人力浪费较大,对温湿度控制不精确,而且一不小心容易发生意外。如果设计一套基于电子技术的具有语音播报功能的温湿度控制系统,就可以实时监测温湿度,并可以通过键盘准确地控制温湿度,不需要人力检测。第一章绪论1。1课题开发背景智能语音播报系统在我国属于新兴技术产业,有着极为光明的前景,此方面国内市场的主要产品趋向于应用国外先进的基础硬件生产成品。随着我国国民经济持续高速的发展,智能化生产规模日趋扩大,语音播报融入日常生活已成为一种趋势。如:对车辆收取管理、通行或进入等费用、提示语等播报的智能语音系统,或是在各公共场合的时间、天气、问候等提示语的播报。1.2设计的目的和意义人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温湿度,在农业生产中也离不开温湿度的测量,因此研究合适的测温方法和测温装置具有重要的意义.随着自动化水平在工业生产过程中的日益提高,智能化已经成为一种趋势.人们越来越希望,生产生活中能够最大限度的趋于自动化和智能化,并且具有一定的人机交互性.大规模语音处理集成电路的发展,使得语音播报系统在实际生活生产中的应用越来越广泛。语音播报技术体现了智能化,人性化,它不仅在需要用声音传递信息的环境中担当信息传输纽带的重要作用,还在繁忙的日常生产服务中通过温馨、亲切的语音提示方式调节受用者心情。语音播报技术的相关研究也已成为一个热门领域,现生产生活中其相关技术的应用随处可见。具有语音播报的温度控制系统在工农业生产中拥有广泛的应用前景.目前生产生活中经常需要某一特殊的环境温湿度,测量一旦达不到一个相当高的要求就会造成巨大的损失.传统的方式对人力浪费较大,对温度控制不精确,而且一不小心容易发生意外。如果设计一套基于电子技术的具有语音播报功能的温湿度控制系统,就可以实时监测温湿度,并可以通过键盘准确地控制温湿度,不需要人力检测,其测量速度、精度及可行度都得以保障,实现可远程监控、并尽可能节约人力资源的智能语音播报温度系统。相关产品利用率高,设备简单,费用低,效果好。1。3国内外现状及水平现代工业控制过程广泛应用了有播报功能的工作状态和故障状态报警装置。它以直观、易懂、方便、准确的形式向操作者提供有关信息,使操作者能够更准确、快速地处理系统问题.如:火车站信号自动语音播报系统可通过对多路信号进行检测采集,提供安全警示语音信息并播报,实现安全操作提示及报警,国内对此项技术的要求趋向人性化,高效化,智能化。采取的措施为不断完善传统呆板的录播式语音播报器,实现真正的智能化数字语音播报,根据不同的情况可以随时调整播报的语言及语音语调等。温度传感方面,温度传感器在我国工业生产、国防工程、空间技术、冶金、电子、食品、医药和石油化工等部门的广泛应用和超导技术的研究都有光明的前景.如CN61M/KG3004B矿用温度传感器,拥有操作方便、读数直观、工作可靠、体积小、重量轻、维修简便等特点,适于在煤矿、油田、化工等有爆炸危险的场所连续检测被测量对象的温度,并且有信号输出功能,可与国内各种型号的煤矿善传统呆板的录播式语音播报器,实现真正的智能化数字语音播报,根据不同的情况可以随时调整播报的语言及语音语调等。为了提高对传感器的认识和了解,尤其对温湿度传感器的深入研究以及用法和用途,基于实用丶广泛和典型的原则,因此设计了本系统,在生产和生活中应用性都比较强。本文利用单片机结合传感器技术和语音技术而开发设计了这一室内温湿度语音播报系统。本设计不紧可以显示室内温湿度,而且还能实现温湿度语音播报,使其更人性化,操作方便,控制灵活.随着科学技术的发展和电子设备智能化程度的提高一些电子产品除了使用传统的键盘和显示器件作为人机交互操作界面之外还借助于语音作为反馈信息以体现智能化和人性化设计本文以AT89S51单片机和语音芯片ISD1760为核心设计了一种温度和湿度语音播报系统完成了数据的实时播报实现了测量过程的智能化和自动化以适应各种对测量服务要求比较高的场合.,因此设计了本系统,在生产和生活中应用性都比较强。本文利用单片机结合传感器技术和语音技术而开发设计了这一室内温湿度语音播报系统。本设计不紧可以显示室内温湿度,而且还能实现温湿度语音播报,使其更人性化,操作方便,控制灵活。第二章设计方案2。1设计任务1.显示当前温度.2当测量温湿度超过设定温湿度值时,启动报警模块报警.3.手动实时播报温湿度。4。温度显示温度,误差≤±1℃2.2原理框图分析本题,根据设计要求我们确定了本系统的整体设计原理框图如图所示2。1电源模块2.3电源模块方案:采用独立的稳压电源。电源的稳压的特性较好,能够保证整个系统稳定工作。2。4温湿度传感器模块方案:DS18B20是美国达拉斯半导体公司推出的第一片支持“一线总线”接口的温度传感器.①、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯.②、测温范围-55℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃.③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。④、工作电源:3。0~5。5V/DC(可以数据线寄生电源)⑤、在使用中不需要任何外围元件⑥、测量结果以9~12位数字量方式串行传送⑦、不锈钢保护管直径Φ6⑧、适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温⑨、标准安装螺纹M10X1,M12X1。5,G1/2”任选⑩、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接.2.5显示模块方案:采用LCD显示屏进行显示。LCD显示屏是一种低压、微功耗的显示器件,2-3伏就可以工作了,工作电流为几微安,这是其它显示器无法比较的,而且可以显示(除数字外)大量信息,显示曲线,字母,比传统的LED数码显示器的画面有提高。虽然LCD显示器的价格比传统的LED数码管要贵,但它的显示效果更好,也是当今的显示器不二选择,所以采用LCD作为显示器。采用LCD,更容易实现题目的要求,而且功能兼容性高,只需将软件修改即可,可操作性强,易于度数,采用LCD12864四行十六字符的显示,能同时显示温湿度。2.6键盘控制模块方案:独立式按键.对于独立式按键来说,如果设置过多按键,虽然会占用较多I/O口,给布线带来不便,此方案适用于按键较少的情况。在本设计中所需要的控制点数的较少,只需要几个功能键,简便、易操作、成本低就成了首要考虑的因素。所以此时,可采用独立式按键结构。2。7语音播报模块方案:采用ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成.一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利--直接模拟存储技术(DASTTM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器.直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现.仅语音质量优胜,而且断电语音保护.第三章硬件设计3。1单片机模块此次的毕业设计单片机的控制湿最主要的核心部分,给出以相关的指令,按照用户的意愿执行相应的操作,这次选用是ATMEL公司生产的芯片AT89S51,它的价格廉价,而且通用性比较强,很容易获取。3.1。1单片机介绍CPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分电路组成。微型计算机即单片机是因工业测控系统数字化,智能化的迫切需求而发展起来的。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器.STC89C51使用经典的MCS—51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。此系列单片机易于开发、使用灵活、而且体积小、抗干扰能力强,可以兼容种类众多的支持芯片、较为丰富的软件资源,可以工作于各种恶劣的条件下,工作稳定等特点。考虑到本系统的需要以及本人对单片机的熟悉程度,因此本设计选用STC系列的STC89C51单片机作为本系统的CPU。由STC89C51单片机为核心的单片机最小系统包括晶振电路和复位电路。AT89C51的管脚图如图所示:AT89C51的引脚功能VCC:供电电压.GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1"后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节./PSEN:外部程序存储器的选通信号.在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器.注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP).XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3。1。2单片机外围电路设计本设计选用的AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In—systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案.AT89C51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89C51设计和配置了振荡频率,并可通过软件设置省电模式.空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位.同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式.AT89C51单片机综合了微型处理器的基本功能.当AT89C51芯片接到来自温度传感器的信号时,其内部程序将根据信号的类型进行处理,并且将处理的结果送到显示模块、报警模块、语音播报模块,发送控制信号控制各模块。该模块在硬件设计方面,其外围电路提供能使之工作的晶振脉冲、复位按键,四个I/O口分别用于外围设备连接。单片机AT89C51硬件连接图如图4。2所示,其中P0接口外接上拉电阻以保证高低电平的准确性.单片机AT89C51的I/O端口具体分配与下表3.1:图3.2单片机与外围设备硬件连接图表3。1AT89C51的I/O端口具体分配AT89C51的IO端口外接点LCD显示地址端口P1。0—P1.7语音芯片播音地址端口P2。0DS18b20通道P2。1-P2.4连接键盘控制端口P2。6连接报警器端口P3。3开始播音口P3.6LCD读/写选择端P3.7LCD数据/命令端P2。7LCD使能端3.1.3AT89C51复位电路基本的复位方式单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作.89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。1、手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端.手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。2、上电复位AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1?F。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l"态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。3、积分型上电复位常用的上电或开关.上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。C:=1uF,Rl=lk,R2=10k在本设计中复位电路的设计是采用简单,用得比较广的复位电路接法,如图3.3所示,它具有上电复位和按键复位的双重复位功能。图3。3复位电路3.1。4AT89C51时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式.电路图3.4所示:时钟电路图AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。3。2电源模块鉴于系统使用的单片机AT89C51和各芯片工作电压在5V左右.我们选择了5V稳压电源给单片机和各芯片供电。电路由简单实用的三端稳压器构成,输入电压5V,满足大部分电路的要求,电源电路图如下图3。5所示,由于使用了全桥,电压输入既可以使用交流输入,又可以使用正负直流输入,能够防止由于极性接反造成的事故。滤波电容使用电解电容与小电容并联的方式,能够有效消除高频自激现象。发光二极管接到电源与地之间,如果电源输出不正常,发光二极管都会出现工作异常,提示电源部分故障.图3。5电源电路图3。3温湿度传感器模块数字温湿度传感器DHT11是一款含有已校准熟悉信号输出温湿度复合传感器,它应用专用的温湿度传感技术和数字模块采集技术,确保产品具有卓越的长期稳定性和极高的可靠性.传感器包括一个NTC测温元件和一个电阻式感湿元件,并与一个性能高的8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点.每个DHT11传感器都在即为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便.典型的应用电路如图:表2—1DHT11引脚说pin名称注释1VDD供电3.5-5.5V2DATA串行数据,单总线3NC空脚,悬空4GND接地,电源负极表2-2性能说明参数条件MinTypMax单位分辨率8±Bit111%RH精度25℃±4%RH重复性±1%RH温度0—50℃±5%RH温度量程范围0℃3090%RH50℃2080%RH25℃2090%RH长期稳定性典型值±1%RH/yr迟滞±1℃互换性可完全互换分辨率888Bit111℃重复性±1℃响应时间1/e(63%)630S量程范围050℃精度±1±2℃主机必须把总线拉低,至少大于18ms。DHT11一旦接收到主机的开始信号,接着就等待开始信号的结束,然后发送80µs.的低电平响应信号,要读取DHT11的响应信号,必须等待开始信号的结束,并延时等待20—40µs后才能够接受,主机发送开始信号后,这时候就可输出高电平或切换到输入模式,接着总线由上拉电阻拉高.DHT11发送响应信号的时候总线为低电平,DHT11把总线拉高80µs之前,必须等到响应信号发送,准备发送数据时,每一bit数据都以50µs低电平时隙开始,数据位是0或1是由高电平的长或短来决定。假如响应信号的读取为高电平,但是DHT11无响应响应,这时候说明路线可能连接不正常,当最后一bit数据传送结束后,DHT11把总线拉低50µs,接着总线由上拉电阻拉高进入空闲状态.DHT11的湿度检测运用电容式结构,并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式的原有特性外,还可以抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可得出露点,同时不产生由于温度与湿度传感器之间随温度梯度变化引起的误差。CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大电路、模/数转换器、校准数据存储器、标准I²C总线等电路集成在一个芯片内。DHT11传感器的校准系数预先存在OTP内存中。经校准的相对湿度和温度传感器与A/D转换器相连,可将转换后的数字温湿度值送给二线I²C总线器件,从而将数字信号转换为符合I²C总线协议的串行数字信号。传输开始:初始化传输时,应首先发出“传输开始”命令,该命令可在SCK为高电平时使DATA由高电平变为低电平[5],并在下一个SCK为高时将DATA升高。接下来的命令顺序包含三个地址(目前只支持“000”)和5个命令位,当DATA脚的SCK位处于低电平时,表示DHT11正确接收到命令.连接复位顺序:如果与DHT11传感器的通讯中断,下列信号顺序会使串口复位:即当DATA线处于高电平时,触发SCK9次以上(含九次),此后接着发一个“传输开始"命令。温湿度测量时序:当发出了温湿度测量命令后,控制器就要等到测量完成。使用8/12/14位的分辨率测量分别需要大约11/55/210毫秒的时间。为表明测量完成,DHT11会使数据线为低,此时单片机必须重新启动SCK,然后传送两字节的测量数据与1字节的校验码。控制器必须通过使DATA为低来确认每一个字节。通讯在确认CRC数据位后停止。如果没有用校验,则单片机就会在测量数据后保持SCK为高来停止通讯,DHT11在测量和通讯完成后会自动返回睡眠模式。需要注意的是,为了使DHT11的温升低于0。1℃,此时的工作频率不能大于标定的15%(如:12位精度时,每秒最多进行三次测量)低电压检测,DHT11工作时可以自行检测VDD电压是否低于2。45V,准确度为±0.1V。下载校准系数:为了节省能量并提高速度,在每次测量前都要重新下载校准系数,从而使每一次测量节省8。2ms的时间.测量分辨率设定:将测量分辨率从14位(温度)和12位(湿度)分别减到12位和8位可应用于高速或低功耗场合.由于将传感器与其它功能电路部分结合在一起,因此,该传感器具有比其它类型的湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器芯片的抗干扰性能,保证了传感器的长期稳定性。而A/D转换同时完成,则降低了传感器对干扰噪声的敏感程度.其次在传感器芯片内部装载的校准数据保证了每一只湿度传感器具有相同的功能,具有100%的互换性。最后,传感器可直接通过I²C总线与任何类型的单片机。3。3.1DHT11的传输特性(1)湿度值输出DHT11可通过I²C总线直接输出数字量湿度值,其相对湿度数字输出特性曲线如图2-4所示。图2—4DHT11传感器相对湿度数字输出特性曲线由图2—4可以看出,DHT11的输出特性呈一定的非线性RHIinera=C1SORH+C2SORH+C3SORH2SORH为传感器相对湿度测量值,系数取值如下:12位:SORH:C1=-4,C2=0.0405,C3=-2.8×10-68位:SORH:C1=-4,C2=0.648,C3=-7。2×10-4(2)温度值输出由于DHT11温度传感器的线性度非常好,故可以用下列公式将温度数字输出转换成实际温度值:T=d1+d2SOT。当电源电压位5V,且温度传感器的分辨率为14位时,d1=-4,d2=0.01,当温度传感器的分辨率为12位时,d1=—40,d2=0.04。(3)露点计算空气的露点值可根据相对湿度和温度值得来,具体的计算公式如下:LogEW=0.66077+7。5/(273.3+T)+[log(RH)—2](2-2)Dp=[(0。66077—LogEW)×273。3]/(LogEW—8。16077)3。3.2温湿度测量电路设计为了实现多点测量系统采用了四个DHT11芯片.由于STC89C52单片机不具备IIC总线接口,所以只能单片机通过I/O口线来虚拟IIC总线。用P16来虚拟数据线DATA,P17口线来虚拟时钟线SCK,并接上4.7K的上来电阻。DHT11温湿度芯片通过两个虚拟的IIC总线接连接在STC89C52单片机的P16和P17口上.电源VCC和接地GND端接入一个0.4微法的去耦电容。滤除回路产生的耦合电流。电源接上上拉电阻后,连在两个控制开关后分别接在单片机的P10和P11口。开关SW1是切换温度和湿度测量的。SW2是控制转换四个DHT11工作的.DHT11首先由温度传感器、湿度传感器分别检测出相对湿度和温度信号,然后经过内部的放大电路放大后分别送到ADC中进行A/D转换、标准和纠错,最后通过二线制的串行接口,将相对湿度和温度的数据送至STC89C52单片机,再利用STC89C52单片机完成非线性补偿和温度补偿。当测量控制系统发出温湿度测量命令以后,使用8/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林艺术学院《影视照明技术》2021-2022学年第一学期期末试卷
- 吉林艺术学院《书法实训I》2021-2022学年第一学期期末试卷
- 吉林艺术学院《剪辑基础》2021-2022学年第一学期期末试卷
- 2024年供热管网互联互通协议书模板
- 吉林师范大学《中国东北史》2021-2022学年第一学期期末试卷
- 2024年大型绿植售卖合同范本
- 2024年大厂员工合同范本
- 娱乐场营销合同协议书范文范本
- (浙教2024版)科学七年级上册3.2 太阳系的组成与结构 课件(共2课时)
- 吉林师范大学《外国古代教育史》2021-2022学年第一学期期末试卷
- 绵阳市高中2022级(2025届)高三第一次诊断性考试(一诊)语文试卷(含答案)
- 自然资源调查监测劳动和技能竞赛
- 2 0 2 4 年 7 月 国开专科《法理学》期末纸质考试 试题及答案
- 6.1 我对谁负责 谁对我负责 课件-2024-2025学年统编版道德与法治八年级上册
- 2023-2024学年天津市经开区国际学校八年级(上)期末物理试卷
- 北京市海淀区2024学年七年级上学期语文期中试卷【含参考答案】
- 2023-2024学年北京市东城区东直门中学七年级(上)期中数学试卷【含解析】
- 新制定《公平竞争审查条例》主题
- 小学体育课件《运动损伤的预防和处理》
- 个人招生计划方案
- 2024年中煤集团西南分公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论