基于单片机电话远程控制系统方案设计.doc_第1页
基于单片机电话远程控制系统方案设计.doc_第2页
基于单片机电话远程控制系统方案设计.doc_第3页
基于单片机电话远程控制系统方案设计.doc_第4页
基于单片机电话远程控制系统方案设计.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

邵阳学院毕业设计(论文)1 绪 论 1.1课题的来源21世纪是信息时代,各种电信新技术推动了人类文明的进步。自从1876年,alexander graham bell(贝尔)发明电话以来,世界各国的电话网络发展非常迅速。近十年来,中国的固定电话业务呈现出举世瞩目的快速增长。1997年8月局用电话交换机总容量突破1亿门,网络规模跃居世界第二位,1999年7月固定电话用户总数突破1亿户。随着我国信息事业的持续、快速发展,通信基础设施日臻完善,固定电话、移动电话用户总数接近两亿。利用现有的个人通信终端,实现基于plmn(陆基移动通信网)和pstn(公用电话交换网)的电话远程控制系统,既可以节约投资,又便于推广。电话远程控制系统(itrcs),以ccitt及我国标准共同规定的部分标准程控交换信令(dtmf双音多频信号,振铃信号,回铃音信号等)作为系统控制命令,以plmn与pstn通信网作为传输介质,使用户可以在远端利用固定电话或移动电话发送dtmf双音多频信号,实现对近端电器设备的远程控制。随着电话的逐渐普及,很多家庭都装有电话。根据这种情况,设计并制作出一种多路电话遥控器,通过它可以随时随地用电话对多种家用电器进行开关控制及定时功能。电话线路是全国联网的,所以遥控距离可跨省市。1.2课题研究目的随着社会的发展和人们生活水平的提高,越来越多的家用电器进入了人们的生活,这些家用电器给人们的生活带来了很多的方便和享受,同时随着电话在家庭中的普及,利用电话实现家用电器遥控是家用电器未来的发展方向。本文介绍一种基于单片机的电话遥控装置。利用该装置,用户可以通过任意一部双音频电话(包括手机和固定电话)遥控家中的电器。远程控制系统可用于家庭,无人场所,工业现场等。该系统的设计,利用了现有的电话网络资源、集成现代电子技术、通信技术、微处理技术与遥控技术于,它为出门在外旅游的人们,因总惦记家里的安危,想不用回家就可以开关家里的电器设备,造成有人在家的假象,保证家里的安全,也可为工作了一天的人们提早准备了浴水,使你尽情释放一天的疲劳;提早准备了香喷喷的饭菜;提早打开空调,一进门便能享受清凉的的世界。为人们省去了多少的麻烦,带来了多少的便利。同时又由于采用基于公共电话网新型的遥控方式,而常规的有线遥控需进行专门的布线,增加了投入;而红外线、超声波遥控则受距离所限。现有的遥控方式中,还有载波通信控制手段和基于无线寻呼的遥控方式。载波方式即通过电力线传递信息,该方式只能局限于同一变电所、同一变压器所辖范围内。因此也存在距离问题,应用范围有限。基于无线寻呼的遥控方式利用了现有的寻呼频率资源,不需占用额外的频谱。因此它比起这些常规的遥控方式显示出了一定不可比拟优越性。它不需占用了一定的频率资源,也不会造成电磁干扰以及电磁污染,又突破常见的遥控方式的空间界限,可跨越省市,甚至跨越国家。由于本装置采用电话线网络作为媒介及并接在电话机的两端,且不占据电话线的资源,又充分地利用了电话这一种己经比较成熟的双工通信方式,通过电话的语音提示的信息,从而使操作者能够及时了解受控方信息,使产品达到交互式与智能化。总之,电话通到哪里,用户就可以从哪里遥控家中的电器。1.3国内外现状随着现在人们生活水平不断的提高,对电子科技和通信技术方面不断地提出挑战,使电子技术和通信网络有机结合,不断推出各类新型电子产品,逐步使人们的日常生活更加舒适、安全、方便、快捷等等。比如现在的各种遥控技术,也出现在我们的生活当中,也有关于它的各种电子产品。小到玩具遥控赛车、各类的遥控器等。当它应用于家居生活,提出现代化都市生活的家居智能化的新概念,更有后来的智能化建筑等。同时大也大到航天航空,卫星发射等各个技术领域。然而遥控技术指的是通过一定的手段对被控物体实施一定的距离的控制。比较常用的遥控方式有无线电遥控、有线遥控、红外线遥控,超声波遥控等。但基于dtmf远程遥控是利用电话网络而实现对各种设备远程控制,更是一种新型的遥控技术。多年来,在国外这一技术己经成熟,但由于我国的电子产业基础慢与国外有着较大的差距,对这个课题的研究,从目前来看还没有成熟的产品。随着现代电子技术日新月异,该技术会不断地向产业化和网络化方向发展。1.4 课题研究的前景电话远程控制装置是以at89c51为单片机作为控制核心,mt8870为dtmf信号接收电路,在系统程序控制下实现功能,它由电话振铃检测模块,电话自动摘机、挂机控制电路和阻抗匹配电路,dtmf译码模块,语音存储模块和功放模块,以及微处理器控制和驱动电路模块六大部分组成。电话遥控作为一较新的课题与常规的遥控方式相比,显示出一定的优越性,不需进行专门的布线,不占用无线电频率资源,避免了电磁污染。同时,由于电话线路各地联网,可以充分利用现有的电话网。为突出电话遥控的信息反馈功能,并使产品达到高性价比,所有使用的集成电路和其它元器件都尽量选择廉价的。在该作品的基础上进行了功能扩展是很方便的。譬如:使用语音芯片作为信号音反馈,提高本作品的实用性(此次设计只做了基本功能的实现,所以并未使用语音芯片)。加上留言电路,主人不在家时客人可以留言。利用遥控方式可使主人很方便地在异地提取留言信息;在各路终端上接上传感器即可实现对环境声响的监听;接上自动拨码电路可定时将预定信息转至主人传呼机或特定电话,从而达到定时提醒主人的目的。电话远程控制系统于家庭,无人场所,工业现场等。2 电话远程控制系统方案设计2.1基于单片机电话远程控制系统方案设计电话远程控制系统是由单片机构成主控部分,主要进行信息处理,接收外部操作指令形成各种控制信号及发出相应的控制信号,并完成对各种信息的采集。此系统主要由电话振铃检测模块,电话自动摘机、挂机控制电路和阻抗匹配电路,dtmf译码模块,语音存储模块和功放模块,以及微处理器控制和驱动电路模块六大部分组成。系统方框图如图2.1所示: 图2.1 电话远程控制系统方框图当我们拨打电话号码时,电话接通后, 振铃检测模块检测振铃脉冲信号,把振铃次数送到单片机存储并累加,当计到我们设置的振铃次数时,单片机就控制摘机、挂机控制电路动作,使系统与电话线连接保证互相通信的物理通道连接成功,用户的控制命令通过dtmf译码模块输送到单片机进行识别处理,同时语音模块根据单片机处理命令的不同提示不同的操作和选择,经过功放电路和变压耦合到电话线上传输给用户,用户根据语音提示进行下一步的操作。由于系统的最终目的是控制远距离的电器状态,所以单片机会根据用户的命令选择相应电器驱动线路进行控制,达到远程控制的目的。2.2 系统方案论证此系统主要采用了单片机和mt8870芯片,再结合了一些外围控制电路和匹配电路来完成电话远程控制系统的设计。在大学的四年期间,系统的学习了电子系统设计方法和基础知识,掌握了一定的数字电路和模拟电路技术,能够参照相关资料进行电路设计达到理想的效果。在系统方案设计之前做了大量的准备工作,仔细阅读了与电话技术相关的资料并进行了整理,了解到许多的振铃芯片与电路,经过综合考虑与实验,我采用光电耦合、三极管及一些外围电路来制作本单元电路,因为光电耦合能够把电话线上的强电压信号与本系统隔离,这样既实现了信号的传递又保护了本系统,市场上光电耦合器和三极管都容易买到,价格不高。dtmf译码选择了mt8870,它是电话机中常用的典型芯片,用它来做译码电路具有一定的成熟性。由于要保持电话的接通需要保证电路中有一定的阻抗,即具有一定大小的动作电流,为此我仿照电话技术参数用三极管和电阻搭建了一个阻抗匹配电路,经试验电路设计达到预期效果。在语音提示方面,搜集了许多语音芯片资料,最终决定用isd4004语音芯片,它与lm386功放可以组成语音提示电路。微处理器采用现今流行的at89c51单片机,单片机是我们的主修课程,对其使用方法和编程比较的熟悉,市场上也能够轻易的买到,价格不高,才几元钱一个。综合以上考虑,从技术上讲,mt8870在电话中的应用已经非常成熟,单片机的控制也已经达到了非常娴熟的地步,而且在这种产品中利用at89s51单片机来进行控制是十分理想的选择,体积小,功耗小。从经济上讲,mt8870与单片机都是非常常用的电子元件,易购买,价格便宜,系统的所有元件加在一起也只有几十元的成本,而相对于它的功能来说,其性价比之高就很明显的浮现在我们眼前。所以,不管是从技术的可行性还是从经济的可实施性都可以达到我们的要求。另外,该系统并接于家用电话的两端,不会影响到电话机的正常使用,连接非常的方便简单,由于都是模块化组成的,用户可以很容易的看懂操作方法。当用户拨打家用电话机号码,由通过市局交换机向电话机发出振铃信号,振铃检测模块检测有信号进来,首先检测振铃的次数达到10次(次数通过软件进行设计)后,单片机控制实现模拟摘机,并驱动语音电路提示请输入密码。通过单片机进行核对,如果该密码正确,则在语音的提示下输入该要控制家用电器的命令键。dtmf信号通过双音多频解码器解码后,由微处理器根据数据去控制该家用设备。当用户输入 “#”(程序设定)键,自动实现挂机,从而完成一次远程控制。且摘机后,在30秒(时间由程序设定)内没有输入,电话会自动挂机,这样在相当的程度上就可以防止误操作。信号音检测采用软硬件相结合的方法来实现对拨号后线路状态的识别。由此,该方案论证可行。3 电路设计3.1 系统工作原理电话远程控制系统的原理图如图3.1所示:系统由电话振铃检测模块,电话自动摘机、挂机控制电路和阻抗匹配电路,dtmf译码模块,语音存储模块和功放模块,以及微处理器控制和驱动电路模块六大部分组成。系统以at89c51作为核心控制器件,mt8870为dtmf信号的接收电路,在系统程序的控制下实现远程控制功能。它适用于家庭、商店等无人的场所,还可以用于工业控制现场,它通过电话控制各种空调和家用电器,并可以连接防探头实现自动报警,同时该系统提供对各种空调未端设备的控制。以电话作为媒介, 通过电话线完成对设备的远程操作。此电话远程控制系统的工作原理如下:由于该系统并接在家用电话的两端,且不影响到电话机的正常工作,因此出门在外的人,可以通过拨打家中的电话号码,交换机向家中电话机发送振铃信号,当有振铃信号进来的时候,该系统的振铃检测电路接收到铃流信号时,单片机的定时/计数器t1开始计数,当计数的次数达到10次时,计数器溢出向cpu申请中断,当cpu响应中断请求后,置p2.6为低电平,启动模拟摘、挂机电路,实现自动摘机。接通线路后,cpu置p1.6为低电平,选中语音芯片,而后单片机利用引脚p1.4、p1.5、 p1.6、p1.7模拟spi总线工作方式,向isd4004发出控制命令,从而启动控制语音提示电路(该电路主要由isd4004、lm386和外围电路组成,通过变压器耦合到电话线上),发出“欢迎使用电话远程控制系统,请输入密码并以#号键结束”,这一提示信息,提示用户输入密码,用户输入的密码通过电话线接口电路,再通过解码芯片mt8870及一些外围元器件组成的解码电路,将双音频信号转化为相应的二进制号码,从该芯片的q1q4端口传送到at89c51的p1.0、p1.1、 p1.2、p1.3进行密码检验,如果密码不正确,语音信号会提示用户“密码不正确,请重新输入密码”。如果密码检验正确,语音提示“请输入被控设备的编号,以#号键结束”,输入1之后,语音提示“该设备目前状态处于off状态,开启请按1,关闭请按0,以#号键结束”或“该设备目前状态处于on状态,开启请按1,关闭请按0,以#号键结束”,几秒钟后,语音提示“操作成功,继续控制其它设备请按1号键,退出请按0号键,以#号键结束”。用户可以根椐自己的需求,进行下一步的操作,如不需要,既可挂机结束本次远程控制操作。图3.1电话远程控制系统工作原理图3.2 振铃检测电路设计如下图3.2所示,该电路是以光耦合器件为核心组成的,当有铃流信号进来,此信号通过光耦合器件,给发光二极管一个电压,从而使光耦合器件工作,再经过一个反向器输出标准的方波信号,可供主控部分的检测1。图3.2 振铃检测电路3.2.1 电路设计思路由于在电话线上没有摘机之前,电话线的两端是4860v的直流电压信号。当电话线上无振铃信号时,该系统不会工作。当有铃流信号进来,程控交换机送来的是253hz的正弦交流电压信号,其pp为9015v,信号以1秒送、4秒断的形式发送,振铃检测可以有多种形式,但是最常用的是采取光耦合器件来实现的,由于它的优点在于可以使输入与输出在电气(电源、地线)上完全绝缘,具有很高的抗干扰性。而在该电路中,它作为一个开关器件和信号隔离的作用。同时具有很高的耐压值可达到5001000v,以及价格便宜,设计简单,工作可靠等优点。只要在程序部分进行振铃次数的检测,设置在一定次数的振铃后再摘机,提高了系统的稳定性。3.2.2 元件选取(1) 隔直电容c1的选取隔直电容c1是电解电容,用于过滤直流,滤出低频信号,而且振铃信号的电压还比较高,在这里采用1耐压100v的钽或铝解电容。(2) 电阻r1的选取电阻r1是起限流作用,保证光耦合器件的正常工作,因为电话线的阻值小到一定值时,便会在电话环路内形成动作电流(程控电话交换机检测到环路电流突变大于30ma,即认为用户己摘机),会影响电话线路的正常工作。所以此处取33k。(3) 稳压二极管d1的选取稳压二极管d1为光耦器件进行保护而设计的。它并接于光耦的两端,当信号的正半周期加在光耦的两端使其导通,当负半周期使光耦截止,可经此该二极管续流,从而保护光耦不会电压过大而损坏,这样就要求光耦要有良好的耐压性能。此处采用1n4003。(4) 光耦u1的选取光耦是一种光电信号的耦合器件,它是一种将发光二极管和光敏三极管封在一起的器件。通过光信号耦合,使夹杂在输入开关量中的各种干扰脉冲都挡回在输入回路的一侧。光耦具有较高的电气隔离和抗干扰能力,对地电位差干扰有很强的抑制能力,而且有很强的抑制电磁干扰能力。速度高、价格低、接口简单、体积小、寿命长等优点。选取型号为til系列的p621。(5) 电阻/电容r2/c2的选取电阻r2电容c2共同组成滤波电路。主要是滤除振铃信号中的低次谐波。使信号到开关三极管的基极可以得到较好的方波信号,从而可以使以后输出的信号加到at89c51的定时/计数器t0。 (6) 反相器的选取由于检测振铃信号的光耦在导通和截止时,光耦三极管的集电极(输出端)电平并不是确定的数值,如果此输出信号传给主控单元,势必使主控单元无法识别,影响其正常工作。为了解决这一问题,采用了在光耦的集电极加一反相器的办法。经反相器输出的波形有很大的改善,基本上是方波信号。本电路由开关三极管等组成,信号三极管的集电极引出,优化了电路设计,使其工作更加可靠。3.3 摘挂机与阻抗匹配电路设计根据国家有关标准规定,不论任何电话机,摘机状态的直流电阻应小于300,有r键的电子电话机的摘机状态直流电阻应小于350。在挂机状态下,其漏电流小于5ua。因为程控电话交换机检测到电话线回路电流突变大于30ma时,即认为用户己摘机。当回路电流小于30ma时认为电话己挂机,即与系统通讯结束。3.3.1 电路设计思想摘、挂机控制电路如图3.3所示2。在未摘机之前,p2.6(conet)端为高电平,该电路处于末工作状态,当振铃检测电路检测到十次振铃时,p2.6输出低电平,q9管导通,从而q8也导通,继电器工作,使得电话线与阻抗匹配电路连接形成摘机动作并保持通话状态。阻抗匹配电路如图3.4所示。在未摘机之前,p2.6(conet)端为高电平,该电路处于未工作状态,当振检铃测电路检测到十次振铃时,p2.6输出低电平,q2管导通,从而q1的基极变为低电平也使q1导通,q1的集电极经电阻r3和发光二极管组成回路,形成大约300的电阻,电流为30ma 图3.3 摘、挂机电路图的恒流源,使回路电流变大,控制电路向交换机发出模拟摘机的信号,交换机响应摘机信号,实现电话线路接通。整个电路完成自动模拟摘机过程。图3.4 阻抗匹配电路图3.3.2 元件选取(1)摘、挂机控制电路元件的选取及说明此电路中我们需要的是开关三极管,所以三极管选用pn4250与pn222。r13为限流电阻,q9导通集电极电压较大为使q8导通不烧坏,r14取10k较为合理。继电器选用12v的电源,为使继电器正常工作,需要加续流二极管d4,d4选用10bq015。(2)阻抗匹配电路元件的选取极性保护电路d1的选取:当程控交换机确认有摘机信号时,送来的是直流信号,但是电话线哪一端为正,哪一端为负。为了解决这一问题,电话机中都装有极性保护电路,这样做可以使不确定的极性变成确定的极性,经其变换后再与电路的其它部分相连,起到了必要的保护作用。本电路选取的4个二极管的型号为1n4004。高压三极管q1及开关管q2的选取: 接在电话线路中的三极管一般都选择耐高压的三极管,该电路也考虑到电话线上的电压有时可能会出现很高的情况,所以选用了高压三极管。从程控交换技术手册可以了解,摘机时电话线两端的电压为811v左右,环路阻抗要小于2k(600时比较合适),环路电流要在30ma左右。三极管q1的主要作用就是充当恒流源,需选用pnp型的三极管。本电路选取的是2n5401。而三极管q2起到开关的作用,当加高电平时,处于饱和导通状态,当低电平时,处于截止状态.本电路选取2n5551。 3.4 微处理器由于是用于小产品的设计,要求体积小、功耗小、容易控制,我选择了我最熟悉的at89c51。(1)at89c51主要技术指标3at89c51与mcs-51系列的单片机在指令系统和引脚上完全兼容。at89c51是一种低损耗、高性能、cmos八位微处理器。片内有4k字节在线可重复编程快擦写程序存储器;全静态工作,工作范围:0hz24mhz;1288位内部ram;32位双向输入输出线;两个十六位定时器/计数器;五个中断源,两级中断优先级;一个全双工的异步串行口。(2) at89c51引脚功能:at89c51单片机共有40引脚,其分布如图3.5所示。 p0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。p3口与 图3.5 at89c51单片机引脚分布图p1、p2口不同,它具有第二功能。 3.5 dtmf接收译码电路设计3.5.1 mt8870与at89c51单片机的接口电路mt8870电路的基本特性是实现dtmf信号分离、滤波和译码功能,输出相应的16种dtmf频率组合的4位并行二进制码。电路输出的二进制码q1q4由数据输出允许端toe控制。toe为高电平时,q1-q4输出与当前输入的dtmf信号相对应的二进制码;低电平时,q1q4端呈高阻状态。运放和r2、r4、c1组成一反相放大器,对输入的dtmf信号进行隔离放大,其增益k=r2/r5,改变r2的值可变增益的大小,但增益不宜过大,一般k值取为15,输入的dtmf信号的幅度应在27.5883mv之间。vref为基准电压输出端,取值vdd/2=2.5v。mt8870与单片机接口电路如图3.6所示4: 图3.6 mt8870与单片机的连接图输入的dtmf信号经mt8870解调后,在std端产生一个控制输出信号,该信号输出端与单片机at89c51的外部中断int1相连。当该信号发生由1到0的跳变时,中断标志ie1(中断设置为下降沿触发方式),当at89c51响应中断后,产生一个rd信号,经反相之后使mt8870的toe端产生一个高电平脉冲信号,该信号使mt8870的数据输出端q1q4由原来的高阻状态变为与当前输入的双音频信号相对应的二进制编码信号,at89c51通过p1口将该二进制数读入并保存在数据ram区5。3.5.2 dtmf信号dtmf双音多频信号是目前在按键电话(固定电话、移动电话)、程控交换机及无线通信设备中广泛应用的一种信号,它是一组由高频信号与低频信号叠加而成的组合信号。ccitt和我国国家标准都规定了电话键盘按键与双音多频信号的对应关系,如表3.1所示。在表中显示,电话键盘上的任何一个键都由两个互不为谐波关系的频率组成,因此每一个按键对应的一组频率都能够唯一地被辨认出来。表3.1 mt8870数字编码表flowfhighkeytoeq4 q3 q2 q169712091100016971336210010697147731001177012094101007701336510101770147761011085212097101118521336811000852147791100194112090110109411336*110119411477#111006971633a111017701633b111108521633c111119411633d10000any0zzzz 每个号码所对应的两个频率互不为整数比。高频率群中的最高频率1633hz为备用频率,这样就变为7中取2的方式,只有12个号码。这12个号码代表阿拉伯数字“0”“9”以及符号“*”和“#”,通常这12个号码足够用了。其中符号“*”、“#”用于表示特殊功能,如“重发”、“暂停”等。如按“5”时高频群频率1336hz与低频群频率770hz同时输出。采用16键时,高频群频率1633hz系备用频率,(a)(d)预定为数据通信等其它功能。3.5.3 dtmf解码芯片mt8870dtmf信号接收器又称为dtmf解码器,它的功能是把dtmf信号变换为二进制数字信号。利用这些数字信号借助逻辑电路进行控制,在程控电话系统中它往往接在交换机中。目前双音多频产品多属于cmos 集成产品,国际上一些主要器件产品厂商或公司均有代表性的dtmf接收器。如mitel公司mt8870、m8870、mh88305与mk5091等。这些dtmf产品集成度高、体积小、抗干扰能力强,并且中间传输的是两个音频信号,最后输出的是二进制编码信号,便于与微型计算机接口。本系统选取的mt8870是mitel公司生产的dtmf信号接收器,是coms大规模集成电路芯片, mt8870的内部集频带分离滤波器与数字解码功能为一体,滤波部分用开关电容技术,分成高频群及低频群滤波器,解码器使用数字计数器技术检测把全部16个dtmf音调解码成四位二进制码。由于它内部有差动放大器、时钟振荡器和锁存三态总线接口,所以减少了该集成电路外部器件的数目。其内部结构见附录。mt8870 共有18个引脚,引脚分布如图3.7所示。mt8870引脚功能如下:in+:运算放大器同相输入端;in-:运算放大器反相输入端;gs:增益选择,它为内部运算放大器的输出端与前端连接反馈电阻提供通道;vref:基准电压输出端,标准值vdd/2用来给内部运放输入端加偏置;图3.7 mt8870的引脚分布inh、pwdn:内部连接端,大多接到vss。osc1、2:时钟输入端及时钟输出端,这两脚之间接一个3.579545mhz的石英晶体组成内部振荡电路。vss:负电源输入端,大多数情况该端接公共地。toe:三态输出使能输入端,该端为逻辑高时使能q0-q3有输出。q1-q4:三态数据输出端,当toe为使能时,提供与最接近接收到的有效音调对相对应的四位二进制码。std:延时导引输出端,当一个被收到的音调对已被寄存并且锁存器的输出已被校正时,该端为逻辑高,当st/gt端电压降到低于vrs时,该端转变为逻辑低。est:早期导引输出端,表示有效音调频率的检测。一旦数字算法检测到一个有效的音调(信号状态),该端就出现高电平,信号状态的任何减小将导致est转换为逻辑低。st/gt:导引输入/保护时间输出。它是一个双向端,std检测出一个大于vtst的电压,器件寄存所检测到的音调对并校正锁存器输出;std端检测出一个小于vtst 的电压,器件自由地接收一个新的音调对。gt输出的作用是重复外部导引时间常数。vdd:正电源输入端,规定vdd 为+5v。3.6 语音电路设计基于dtmf远程控制系统利用语音提示电路实现用户和系统之间的交流。语音模块由语音存储模块和功放模块组成,用户在语音的提示下进行操作。首先存储若干段系统提示音,由单片机判断用户输入的信息,再对语音提示电路进行寻址,播放相应的提示音,提示用户进行下一步操作。由于所需语音分段比较的多,所以内存容量不能太小,经过综合考虑,我选择了isd4004语音芯片。(1) 语音的录制、存储与播放电路设计isd4004介绍isd4004是美国isd公司制造的一种新款语音芯片。与isd其它系列语音产品不同的是,isd4004是一种微控制器“从”设备,而“主”控制器可以是内置有spi兼容接口的微控制器,也可以用i/o仿真spi通信协议。该芯片的所有操作必须由微控制器控制,操作命令可通过串行通信接口(spi或microwire)送入。isd4004系列工作电压为3v,适用于移动电话及其它便携式电子产品中。通过串行外设接口spi与单片机连接,可实现对语音芯片更加灵活的寻址和控制,同时减少芯片的引出端数,提高了芯片的使用灵活性。isd4004共有28个引脚,引脚分布如图3.8所示:isd4004引脚功能如下: 图3.8 isd4004引脚分布图vcca,vccd:供电电源端3v。 vssa,vssd:接地线端。芯片内部的模拟和数字电路也使用不同的地线。anain+:录音信号同相输入端,输入放大器可用单端或差分驱动。耦合电容和本端的3k电阻输入阻抗决定了芯片频带的低端截止频率。anain-:录音信号反相输入端,信号通过耦合电容输入。aud out:音频输出端,可驱动5k的负载。mosi:串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供isd输入。miso:串行输出端,isd未选中时,本端呈高阻状态。sclk:时钟输入端,由主控制器产生,用于同步mosi和miso的数据传输。数据在sclk上升沿锁存到isd,在下降沿移出isd。int: 中断输出端,本端为漏极开路输出。isd在任何操作(包括快进)中检测到eom或ovf时,本端变低并保持。中断状态在下一个spi周期开始时清除。中断状态也可用rint指令读取。ovf标志指示isd的录、放操作已到达存储器的末尾。eom标志只在放音中检测到内部的eom标志时,此状态位才置1。rac:行地址时钟,漏极开路输出。每个rac周期表示isd存储器的操作进行了一行(isd4004系列中的存贮器共2400line)。xclk:外部时钟输入端,不用时必须接地。autcap:自动静噪端,用于当没有信号时自动减少噪音。由于isd4004提供了spi的串行接口,因此用户可以通过单片机实现对该芯片的操作、工作模式设置及寻址,从而完成之间的数据交换。isd4004 spi接口的控制spi的接口控制位如下图3.9所示ovfeom p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 0 0 0c4 c3 c2 c1 c0 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0misomosimessage cueing(mc)ignore address bit(iab)power up(pu)play/record(p/r)rum图3.9 spi端口控制位 mosi主设备输出,从设备输入miso主设备输入,从设备输出;ovf溢出标志;eom信号结束标志。iab:忽略地址控制位。iab=1时 ,忽略地址寄存器a10a0位;iab=0时,使用a10a0位操作,即当iab置0时录放音操作从地址a9a0开始,为了能够连续录放音,iab应在一行结束之前置1。否则,isd芯片将在同一个语音段重复操作。这个特点在语音提示类产品中非常有用。同时,行地址时钟端与iab配合使用进行存储管理。mc:使能信息检索。mc=1时,使能信息检索;mc=0时,取消信息检索。pu:上/断电选择。pu=1时,上电;pu=0时,断电。p/r: 录/放音选择。p/r =1时,放音;p/r =0时,录音。 run: 启动停止操作。run=1时,启动;run=0时,停止。 p10p0:行地址寄存器输出。a10a0:输入地址寄存器。isd4004与单片机的接口技术由于isd4004是在单片机的控制下实现工作,因此单片机必须实现模拟spi总线1的工作方式,同时对isd4004工作状态进行查询(如操作是否达到某一地址的末尾、存储器是否溢出)可以选用单片机的6个io口分别与isd4004的miso、mosi、sclk、int 和rac、cs 相连,其中 cs 是用作器件的片选信号,miso、mosi、sclk、int 用于和单片机的数据通信5,控制isd4004的语音提示播放及查询等功能。isd4004语音芯片与单片机的连接图6 如图3.10所示。图3.10 isd4004语音芯片与单片机的连接图(2)语音功放电路设计语音功放电路如下图3.11所示7: 图3.11 lm386功放电路图该电路是以常用的功率放大器lm386为核心组成的,它是lm386电压增益最大的用法。c5使引脚1和8在交流通路中短路,c6为旁路电容,语音信号经rc电路从第三脚输入到lm386,c4为输出电容,语音信号可以直接连接扬声器驱动其工作。上图为典型应用电路,我们可以直接加以利用即可。3.7 驱动电路设计驱动电路设计与摘、挂机控制电路相同,驱动电路如图3.2所示。当q9、q8导通时,继电器工作,使得与继电器连接的电器与电源接通或者断开,执行电器的开和关的状态转换。3.8 电源电路设计任何一个系统都离不开电源的支持,电源好比人的心脏,给整个系统工作提供动力,电源的品质直接影响到系统工作的性能,因此电源在系统中占有举足轻重的地位。在此系统中有三种需求电源:第一是单片机的工作电源+5v,第二是语音存储芯片isd4004的工作电源+3v,第三是继电器的工作电源+12v。综合三种电源考虑使用统一的+12v外接电源,而系统将自动的把+12v转换成+5v、+3v提供给单片机与isd4004。其稳压电源电路如图3.12所示。在电路中,变压器将常规的交流电压(220v、380v)变换成所需要的交流电压18v;整流电路将交流电压变换成单方向脉动的直流电;滤波电路再将单方向脉动的直流电中所含的大部分交流成分滤掉,得到一个较平滑的直流电;稳压电路用来消除由于电网电压波动、负载改变对其产生的影响,从而使输出电压稳定。再经过7812稳压管的稳压,把电压钳制在12v,这时的电压可以直接连接系统的12v电压接口。图3.12 lm7812电源电路图4程序设计4.1 系统资源分配单片机的p0口为电器控制引脚,p1.0、p1.1、p1.2、p1.3为mt8870解码值输入脚, p1.4、p1.5、p1.6、p1.7为isd4004的控制引脚,p3.4为检测铃声次数控制脚,p2.6为系统自动摘、挂机控制脚;单片机30h为用户密码设置单元起始地址,50h为按键存放起始地址,40h到49h为按键0到9的解码值,4ah为*的解码值,4bh为#的解码值,20h存放语音地址高8位工作单元,22h存放语音地址低8位工作单元,23h为存放单字节指令的工作单元。4.2 系统程序流程上电系统就开始工作,程序循环运行。先初始化堆栈和密码存储单元内容,开t0计数器,当计数到10次,计数已满引起中断,p2.6置低电平,系统自动摘机,此时电话接通。接着调用“欢迎使用电话远程控制系统,请输入密码并以#号键结束”语音子程序,等待用户输入密码,将用户输入的密码和程序设定的密码进行比较,判断密码的正误。如果不正确,调用“你的输入有误,再见”语音子程序;如果密码正确,调用“请输入被控设备的编号,以#号键结束” 语音子程序,等待用户输入被控设备的编号,用户输入完毕,判断该设备的当前状态,如果是开启的状态,调用“该设备目前状态处于on状态,开启请按1,关闭请按0,以#号键结束” 语音子程序;如果是关闭的状态,调用“该设备目前状态处于off状态,开启请按1,关闭请按0,以#号键结束” 语音子程序。等待用户输入操作命令,接着调用“操作成功,继续控制其它设备请按1号键,退出请按0号键,以#号键结束” 语音子程序。等待用户输入的操作命令,如果继续控制其它的设备,跳转到判断密码正确之后程序段,重新进行循环;如果用户不继续控制其它设备,输入命令,置p2.6为高电平,系统自动挂机,断开通话连接。系统流程图如图4.1所示。 4.2.1 mt8870控制程序关于mt8870芯片的各引脚的功能和相关的解码电路在前一章的硬件电路己经介绍,其工作时序图如图4.2,其芯片的内部结构见附录1。检测到音频信号时,est端就出现高电平,随后st/gt经过了一段电容充电的上升时间,这时,st/gt端的检测出大于该芯片的内部参考电位vtst时,st/gt马上跳变为高电平,这时再经过初始化start振铃声10次到了?摘机、开0中断调用语音子程序密码输完了?n密码正确?调用语音子程序3输入被控设备编号号?查询设备状态调用语音子程 序4输入控制码?输出驱动调用语音子程序6继续控制?调用语音子程序nn调用语音子程序2挂机调用语音子程序7挂机nnyyyyny.图4.1 系统程序流程图编码、转换、锁存在内部的寄存器后,这时std端变为高电平,并且随st/gt端的电压低于vtst变为低电平,表明了该芯片的解码工作己经结束。所以我们利用std的下跳变作为单片机外部中断int1的信号源,当std有下降沿到达时,产生外部中断。其解码以后的中断服务子程序(数据接收程序)如下,toe端图3.1 系统流程图图是内部芯片三态门的使能控制端,为高电平有,表明允许接收数据。 图4.2 mt8870的工作时序图解码中断服务程序:mt8870: setb toe mov p1,#0fh mov a,p1 anl a,#0fh mov r0,a cjne a,code#,back setb signal# clr ex0back : inc r0push a reti4.2.2 isd4004控制程序isd4004芯片尽管提供了地址输入线,但它的内部各信息段的地址却无法直接读出。isd4004芯片内部结构图见附录2。用户录制的语音每一段结束后芯片自动设有段结束标志(eom),芯片录满后设有溢出标志(ovf)。如果用单片机等控制电路按某一段的起始地址进行放音操作,遇到段结束标志(eom)即自动停止放音,单片机收到段结束标志(eom)就开始触发下一段语音的起始地址,如此控制,即可以将很多、不同段的语音组合在一起成一句话放音出来,实现语音的自动组合。首先,单片机89c51控制isd4004语音芯片从头至尾放音一遍,它会将语音芯片中的每一段语音的起始地址都记录下来,即完成了芯片搜索操作。然后,用户可按照rs232标准串口协议向单片机的rxd端发送合成指令,单片机即将合成命令翻译成对应的语音芯片中各段语音的起始地址,并控制语音芯片发出需要的语音,一段结束后立刻又播发需要的下一段,如此将一句话合成“说”完。在单片机的tdx端将作为忙信号端使用,当有语音输出时该端将保持低电平,空闲时为高电平。在使用中,我们利用89c51的内部定时器进行计时,使用了外部中断捕捉eom跳变信号。为提高计时的精度,使用了自动重载的工作模式,定时器在每个定时周期结束之后立即重新装入初值开始计时使每个定时周期之间没有隔离。在这种模式下,定时器是8位工作状态,最大计时周期不到0.6ms,为产生400ms的定时周期,采用多次定时产生一个周期的方法。每个定时周期设定为0.5ms,800次产生一个400ms的周期。播放遇到eom标记,eom引脚信号变低持续50ms之后变高;isd器件的播放一直到eom由低电平回到高电平。由于89c51外部中断的触发信号是高电平到低电平的跳变,每次播放之前,开放定时和外部中断。开始播放时,启动定时器;播放结束时,引发外部中断,停止定时器计时。在此之前,每个400ms地址计数器值加1,一直到播放结束为止。此时,地址计数器当前值与起始值之差值就是该段所占用的地址单元数,从而在起始的基础上计算出结束地址。isd4004的录放音控制实现都是利用软件使单片机的i/o口模拟spi的工作通信协议,在指令的控制下,实现16分钟录放音。其中程序和流程见附录。由于at89c51单片机不具有spi接口,因此我们必须用软件来模拟spi接口通信协议。具体做法是:用四个普通i/o口分别与isd器件的miso 、mosi、sclk和ss端相连,其中与sclk相连的i/o口负责提供时钟脉冲。所有的串行数据传送从ss脚下降沿开始,在传送过程中ss端一直保持低电平,指令期间为高电平。始终在时钟上升沿数据输入isd,时钟下降沿数据从isd输出。用软件模拟spi接口时8,时序一定要正确。at89c51单片机的指令执行时间为1us(12mhz晶振时),而isd4004芯片的spi时间在ns级的9,所以用nop指令满足大部分时延的要求。其流程图如图4.3所示。系统初始化片选产生时钟下降沿,使isd器件输出一位数据保存数据产生时钟上升沿,isd器件输入一位数据传输完成?返回产生时钟上升沿,isd器件输入一位数据yn图4.3 spi接口模拟流程图isd4004的录放音程录-放音程序-cs equ p1.6sclk equ p1.7mosi equ p1.5miso equ p1.4addrl equ 22h ;存放地址低8位工作单元addrh equ 20h ;存放地址高8位工作单元com equ 23h ;存放单字节指令的工作单元org 0ajmp mainiorg 30hsoun: acall powerup ;上电指令 acall del25ms ;延时25ms acall setplay01 ;设置放音起始地址 acall del65s ;连续放音65s acall stop ;停止放音 ret;主机通过数据线mosi将1个字节的数据按位分8次传送到isd4004中transfer: clr mosi c

温馨提示

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

评论

0/150

提交评论