




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘 要随着信息科技的日益发展,智能家居逐渐得到普及,而远程家电控制系统则是智能家居的一个重要组成部分。本系统设计的是由用户通过拨打家里的电话来实现远程控制家用电器。本系统是以AT89S52为控制核心,通过振铃检测来实现模拟摘挂机;通过音芯片ISD4004完成语音的录制和播放,用来提示用户进行密码输入等一系列的操作;通过解码芯片MT8870对DTMF信号进行解码,用按键操作来实现密码输入及对控制对象的选择;通过ZigBee模块组网来实现对具体家用电的控制。并结合具体的软件程序实现了远程家电控制系统。振铃检测及模拟摘挂机部分则是本文的重点。系统通过设计了一个具有整流、滤波、稳压等一系列功能的模拟电路以及相应的软件程序来实现对电话线路中铃流信号的检测和模拟摘挂机。并通过实际测试,最终实现了振铃信号检测及模拟摘挂机的功能。关键词:远程家电控制;模拟摘挂机;MT8870;ISD4004;ZigBeeIIAbstractAbstractWith the increasing development of information technology, smart home gradually gained popularity, and the remote appliance control system is the smart home is an important component.This system is designed by the user by calling your home phone to remote control home appliances. The system is based AT89S52 as the control center via the ring detection to achieve analog hook; through a complete voice chip ISD4004 voice recording and playback, used to prompt the user for the password input and a series of operations; through the decoder chip MT8870 DTMF signals on decode the password with the key operation to achieve the object of the control input and choice; through networking ZigBee module to achieve the specific household electric control. Combined with specific software programs to achieve the remote appliance control system.Ring detection and analogue hook part is the focus of this article. By designing a system with a rectifier, filter, regulator and a series of functional analog circuits and the software program to achieve the ringing signal on the telephone line and the analog detection hook. Through the actual test, and finally realize the ringing signal detection and simulation pick hang up function.Keywords: remote control of home appliances; analog hook and hang up; MT8870; ISD4004; ZigBee目录目 录摘 要IAbstractII1 绪 论11.1 设计背景11.2 发展现状21.3 功能及特点32 总体设计42.1 硬件设计42.1.1 主要芯片42.1.2 振铃检测及模拟摘挂机模块92.1.3 DTMF信号解码模块92.1.4 语音提示模块112.1.5 控制模块122.2 软件设计122.2.1 振铃计数部分142.2.2 语音提示部分142.2.3 密码服务部分192.2.4 控制部分203 详细设计213.1 振铃检测部分213.1.1 振铃信号223.1.2 检测原理223.1.3 整流模块233.1.4 滤波模块273.1.5 稳压模块303.1.6 光耦模块323.1.7 触发器模块333.2 模拟摘挂机部分353.2.1 继电器模块353.2.2 摘挂机模块364 系统调试37结 论40致 谢41参考文献42附录1 系统原理图43附录2 振铃检测及模拟摘挂机部分程序44河北工程大学毕业设计说明书1 绪 论1.1 设计背景21世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。本文介绍的远程家电控制系统可以使得人们可以通过手机或电话在任何时候、任意地点对家中的任意电器(空调、热水器、电饭煲、灯光、音响、DVD录像机)进行远程控制;也可以在下班途中,预先将家中的空调打开、让热水器提前烧好热水、电饭煲煮好香喷喷的米饭。而这一切的实现都仅仅是打一个简单的电话1。此外,该系统还可使家庭具有多途径报警、远程监控等多种功能,如果不幸出现某种险情,您和110可以在第一时间获得通知以便进一步采取行动。舒适、时尚的家居生活是社会进步的标志,智能家居控制系统能够在不改变家中任何家电的情况下,对家里的电器、灯光、电源、家庭环境进行方便地控制,使人们尽享高科技带来的简便而时尚的现代生活。实现智能化离不开运算和控制单元,正是因为通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。本系统采用MCU(AT89S52)作为主控器件,单片机应用系统由硬件和软件组成。硬件由单片机扩展的存储器、输入输出设备以及各种实现单片机系统控制要求的接口电路和有关的外围电路芯片或部件组成;软件由单片机应用系统实现其特定控制功能的各种工作程序和管理程序组成。在单片机应用系统开发的过程中,应不断调整软、硬件,协调地进行软、硬件设计,以提高工作效率,当系统硬件和软件紧密配合、协调一致,就可以组成高性能的单片机应用系统。本课题完成了单片机应用系统其开发过程的系统的总体设计、硬件设计、软件设计和系统调试,根据开发的实际需要,相互协调、交叉,有机的进行。本设计的MCU与各个芯片和模块的接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。本系统的电话远程控制是基于电话交换网络的国际双音频通信标准DTMF通信方式,程控交换信令作为系统控制命令,采用MT8870双音多频编解码电路实现,单片机通过MT8870识别来自电话程控交换机的网络的控制信号,用户只需拨通家中的电话可以根据系统的语音提示进行按键选择以实现用户身份的识别、远程控制和安防操作。在设计本系统时,面对各种检测对象和大量控制单元,需要利用各种接口标准和MCU进行连接,再经过MCU进行数据处理,实现实时测控。而此时采用单片机来实现智能家居控制系统不仅具有采集控制方便、简单、灵活等优点,而且可以大幅度提高采各模块和芯片的协调性,从而大大提高系统的可利用性。521.2 发展现状随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越强,各种传感器都已经标准化、模块化这给智能家居控制系统的设计提供极大方便。目前从事家庭网络研究的组织有很多,影响比较大的有ITU-T、IEEE、OSGI、OMA、DSLFotum、DLNA、ECHONET等国际或国外标准化组织,国内有中国通信标准化协会(CCSA)、闪联联盟、e家佳联盟等。每个组织都有一系列企业作为其技术支持队伍,每个组织制定的家庭网络的标准侧重点不同,它们既重合又交叉,既互补又竞争。所有的标准都是从其成员的利益出发,规范技术的一般要求、性能指标,并不涉及具体的实现技术。其中的e家佳所提出的标准涵盖了家庭网络主干网通信协议规范、家庭网络系统体系结构及参考模型、家庭网络控制子网通网一致性测试规范等一系列共六项标准。国内外的公开相关论文、报告文献也不少,如有基于us/os的嵌入式系统,基于u clinux的嵌入式家庭网关等,其特点是功能较单一,价格较低廉,不能适应新的业务需求。目前国际上投入使用相关产品大致有以下几种。X-10是最早流行于美国的智能家庭网络系统。其只要特点是以易于获得的电力线作为传输介质。该产品在美国主要用于旧房改造,其优点是造价低,但传输速率低下、抗干扰能力差和可扩展性差使得产品的进一步推广受到了限制。美国电子工业协会(EIA)于1984年组织开发的家庭网络标准,于1992年正式推出了CEBus(Consumer Elecronic Bus),定为EIA-600标准。CEBus是一种完全开放式的家庭网络标准,它定义了几乎所有传输介质中信号的传输标准,符合标准的电气产品均可以直接互联互通。但由于对信道的传输速率标准定义得太低(10kbps),无法满足逐渐飞速发展的多媒体应用的需求。造价昂贵,也使得CEBus系统使用并不广泛。HBS(Home Bus System)标准由日本首先提出,但是只规定了通信协议由物理层、数据链路层和网络层组成,上层应用留作工程问题解决。EIB(European Installation Bus)是欧洲安装总线协会EIBA(European Installation BusAssociation)推出的用于电器安装领域的智能控制网路。EIB系统采用分布式结构,主要使用双绞线作为传输介质。通信协议使用物理层、数据链路层、网络层、传输层、应用层。EIB受到西门子、ABB公司的大力推广,在欧洲应用比较广泛,在我国也有一些应用。EHS(European Home System)是由欧洲ESPRIT(European Strategic Programme forResearch andDevelopment in InformantionTechnolog)项目组支持开发的一种开放式的家庭网络系统,它采用客户/服务器方式连接。EHS主要传输介质有电力线和双绞线。通信协议采用了IOS/OSI模型中的物理层、数据链路层、网络层和应用层2。1.3 功能及特点智能家电并不是单指一个家电,而应是一个技术系统,随着人类应用需求和家电智能化的不断发展,其内容将会更加丰富,根据实际应用环境的不同智能家电的功能也会有所差异,但一般应具备以下基本功能。通信功能,包括电话、网络、远程控制、报警等;消费电子产品的智能控制,例如可以自动控制加热时间、加热温度的微波炉,可以自动调剂温度、湿度的智能空调,可以根据指令自动搜索电视节目并摄录的电视机、录像机等等;交互式智能控制,可以通过语音识别技术实现智能家电的声控功能;通过各种主动式传感器(如温度、声音、动作等)实现智能家电的主动性动作响应。用户还可以自己定义不同场景不同智能家电的不同响应。例如你可以在电话里告诉智能家居控制器:晚上5点把花园的灯打开,并把空调设定到25度;安防控制功能,包括门禁系统、火灾自动报警、煤气泄漏、漏电等;三表远程抄收系统;健康与医疗功能,包括健康设备监控、远程诊断、病人异常监护等等。2 总体设计远程家电控制系统是一种基于AT89S51单片机的家用电器电话遥控装置,该装置使用现有的电话线来传送遥控命令,利用普通电话作为遥控命令生成和发送装置,我们只要设计接收端的电路,把它接在现有的电话线路中,那么就可以在任何地方,任何一部电话机上实施对系统的遥控操作,从而实现对家用电器的远程控制3。该系统要实现的功能包括铃流检测、自动摘挂机、密码验证与修改、语音提示、信号解码以及家电控制。2.1 硬件设计远程家电控制系统首先要检测电话线上的铃流信号,确定电话无人接听后自动摘机,接收远端发送来的信号,并对其进行解码,解码后的信号由中央处理器单元采集处理,根据要求控制相应的电器。为了方便用户使用,系统设计了密码保护和语音提示功能。家电远程控制系统一般工作于无人值守的环境,为了智能化,采用单片机作为中央处理器。整个系统包括单片机系统、振铃检测及模拟摘挂机系统、语音提示系统、双音多频信号DTMF解码、ZigBee控制部分。总体系统框图如图2-1所示。电话线ZigBee无线传输模块家用电器单片机振铃检测电路DTMF解码电路语音提示电路模拟摘挂机电路图2-1 系统总体框图2.1.1 主要芯片本系统是以单片机AT89S52、双音多频解码芯片MT8870、语音录放芯片ISD4004以及Zigbee控制模块CC2530为核心,通过固定电话网来遥控的远程家电控制系统。2.1.1.1 主控芯片AT89S51AT89S51是一种低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。AT89S51具有完整的输入输出、控制端口、以及内部程序存储空间,基本功能单元包括定时/计数器、中断系统、串行通信接口等。主要是用来满足单片机测控功能要求的基本计算机外围电路,用来完善和扩大计算机的功能。与我们通常意义上的微机原理类似,可以通过外接A/D,D/A转换电路及运放芯片实现对传感器传送信息的采集,且能够提供以点阵或LCD液晶及外接按键实现人机交互,能对内部众多I/O端口连接步进电机对外围设备进行精确操控,具有强大的工控能力。单片机51系列共有四个8位双向并行I/O通道口,分别是P0、P1、P2、P3,各具有特殊的电路结构,每位均有自己的锁存器、输出驱动器和输入缓冲器。这种结构,在数据输出时可锁存,即输出新的数据之前,通道口上原数据一直保持不变,但对输入信息是不锁存的,因此从外部输入的信息必须保持到取数指令执行完为止4。其最小系统如图2-2所示。图2-2 AT89S51最小系统2.1.1.2 语音芯片ISD4004本设计采用的语音芯片是ISD4004。用于对语音信号的录制存储和输出。通过单片机的I/O口对ISD4004系列语音芯片进行录放音控制,其结构简单、控制可靠、有较高的实用价值。ISD4004系列工作电压3V,单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内FLASH存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可为4.0、5.3、6.4、8.0kHz。频率越低,录放时间越长,而音质则有所下降,片内信息存于FLASH存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。ISD4004系列芯片的参数如表2-1所示。表2-1 ISD4004系列芯片的参数型 号时 间输入采样典型带宽最大段数最小段长外部钟频ISD4004-088分钟8.0kHz3.4kHz1200200ms1024.0kHzISD4004-1010分钟6.4kHz2.7kHz1200250ms819.2kHzISD4004-1212分钟5.3kHz2.3kHz1200300ms682.7kHzISD4004-1616分钟4.0kHz1.7kHz1200400ms512.0kHzISD4004芯片的引脚图如图2-3所示。图2-3 ISD40072.1.1.3 解码芯片MT8870DTMF信号的解码模块是将接收的两个叠加的正弦波模拟信号通过解码变成二进制信号,同时解码电路还具有判断功能,判断DTMF信号是否发送,再将解码的二进制信号传送到单片机。远程家电控制系统采用MITEL公司生产的MT8870作为DTMF信号的解码核心器件。MT8870主要用于程控交换机、遥控、无线通信及通播系统,实现DTMF信号的分离滤波和译码功能,输出16种频率组合而成的四位并行二进制码。MT8870具有拨号音抑制和模拟信号输入可调功能,所以在设计MT8870 DTMF解码电路时,只需外加一些阻容元件即可。MT8870是一种带呼叫进展过滤器的单片双音多频收发器。它包括一个带增益可调放大器的DTMF接收器和一个DTMF发送器。其中滤波电路采用高频群和低频群两个六阶开关电容带通滤波器,解码采用数字计数器技术来确定输入的DTMF音调的频率,并将其译成标准的四位二进制码。发送器采用开关电容D/A变换器。片内使用了一个脉冲计数器,能合成精确的音调脉冲,保证音调脉冲准确的定时发送。MT8870提供了一个标准的微处理器总线接口,可以直接与MCS-51系列MCU和微机接口。它还可以选用呼叫进展方式工作,通过呼叫进展滤波器来检测特定通带内的信号频率,供微处理机或计数器电路分析,以确定检测到的呼叫进展音的性质。它从接收端接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高、低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端输出相对应的8421码5。其芯片引脚图如图2-4所示。图2-4 MT88702.1.1.4 ZigBee控制模块CC2530CC2530是用于2.4-GHz IEEE802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存,8-KBRAM和许多其他强大的功能。CC2530有四种不同的闪存版本,CC2530F32/64/128/256,分别具有32/64/128/256KB的闪存。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。CC2530整合了业界领先的2.4GHZ IEEE802.15.4/ZigBee RF收发机CC2520以及工业标准的增强性8051MCU的卓越性能,还包括了8kB的SRAM,大容量flash以及许多其他的强大特性。CC2530芯片上系统(soc)是高度集成的解决方案,仅需要很少的外置元件,且所选用元件均为低成本型,可支持快速,廉价的ZigBee节点的构建。CC2530芯片系统保持了CC2520所包含的作射频性能,包括了超低功耗、高灵敏度,出众的抗噪声及抗干扰性能,所集成的MCU为强大的8位,单周期8051微控制器核心(其典型性能可达到标准的8倍)。另外,CC2530还包括了许多强大的外设资源,如DMA、定时/计数器、看门狗定时器,aes-128协处理器,8-14位ADC、USART,睡眠定时器,上电复位电路,掉电检测电路以及21个可编程I/O引脚。其芯片引脚图如图2-5所示。图2-5 CC25302.1.2 振铃检测及模拟摘挂机模块振铃检测电路的作用就是检测电话线上有无铃流信号,并将铃流信号状态传输给单片机,使单片机能够有效实施对家电的远程控制。由于该系统并联在电话机的两端,并且不能影响电话的正常使用,所以要求系统在接到铃流信号后不能马上动作,只有在达到设定的响铃次数后,才默认家里无人,允许电力摘机响应。铃流未到达前,电话线上存在大于48V的直流电压。当有振铃信号时,电话线上的铃流信号为(90V15)V、25Hz的交流信号。其中直流电压为48V左右,交流电压为(25V15)V、25Hz的正弦信号。铃流信号进入检测电路以后,首先用高压电容进行隔直,再经滤波稳压以后,经过光耦再通过触发器最后输出标准的高低电平给单片机,单片机通过对铃声信号的计数,当响铃次数达到设定值时,就发出指令让继电器闭合,实现模拟摘机状态。根据这个原理,系统设计了一个振铃检测及模拟摘挂机的电路如图2-6所示。图2-6 振铃检测及模拟摘挂机2.1.3 DTMF信号解码模块双音多频DTMF(Dual Tone Multi Frequency),有高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信令有16个编码。双音多频的拨号键盘是44的矩阵,每一行代表一个低频,每一列代表一个高频。每一个按键就发送一个高频和低频的正弦信号组合,比如1就相当于697Hz和1209Hz。交换机可以解码这些频率组合并确定所对应的按键。DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。一个DTMF信号有两个频率的音频信号叠加构成。这两个音频信号的频率来自两组预分配的频率组,即行频组和列频组。每一对这样的音频信号唯一表示一个数字或符号。电话机中通过常有16个按键,其中10个数字键09和6个功能键#、*、A、B、C、D。国际上采用多种频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。用这8中频率可以形成16种不同的组合,从而代表16中不同的数字或功能键。其组合见图2-2所示。表2-2电话键盘与DTMF频率对应关系表高频低频1209Hz1336Hz1477Hz1633Hz697Hz123A770Hz456B852Hz789C941Hz*0#DMT8870是MITEL公司生产的DTMF接收器,是一种大规模COMS集成电路,主要有滤波器、译码器和控制电路三个部分组成。本系统的双音多频DTMF信号解码电路由MT8870主要承担。MT8870的电路连接如图2-7所示,其2、3脚接收来自电话机的双音多频脉冲信号,该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音多频信号按高、低音频信号分开,再经高,低群滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端输出相对应的8421码。MT8870的数据输出端Q4Q1连到单片机,单片机识别4位代码。电话按键与相应译码输出。其中A,B,C,D 4个按键常被当作R/P,REDIAL,HOLD,HANDSFREE等功能使用。为了使单片机能及时获取有效数据,MT8870的CLD有效端经反相后接CPU的INT0引脚。当MT8870获取有效双音多频信号后,CLD电平由低变高,再反相为低,CPU检测后,指示输入口接收有效二进制代码。而无效的双音频信号是不会引起MT8870的CLD端变化的。图2-7 MT8870解码电路2.1.4 语音提示模块本系统设计中采用可以由单片机进行串行通信控制的ISD4000系列语音芯片。ISD4000系列单片语音录放器件是用COMS工艺实现的高语音质量。3V工作电压的集成电路芯片,特别适合用于移动电话等各种便携式设备。为了给设计的系统足够的后期扩展空间,本系统采用的是录放时间较长的ISD4004-08M芯片,这个芯片的录放时间长达8min,输入采样频率是8.0Kz,典型的滤波通带是3.4Khz。ISD4000系列的串行操作是通过SPI串行接口实现的,SPI串行接口协议如下,数据传输协议设定微控制器SPI的移位寄存器是由串行时钟SCLK的下降沿驱动。而对于ISD4000系列器件,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送达到MISO引脚。ISD4004的中断引脚与时钟引脚和片选引脚也分别与单片机对应引脚相连接,搭建成整个语音录放系统。语音提示电路将录入芯片的提示语音在正确的解码信号的作用下,准确的播放出来,以便对用户的操作带来方便。友好的语音提示,可以让用户正确快速的实现对家电的远程控制,并且语音提示部分还包括密码输入提示,这样还能提高安全性。考虑到系统设计的产品是要面对不同的人群,所以在设计中充分考虑产品的实用性,故不向ISD4004语音芯片中录入一成不变的提示音而是在设计语音提示放音电路的同时加入录音电路由于ISD4004语音芯片必须使用SPI接口与外部的语音控制器(AT89S51)通信,而设计使用的AT89S51没有专门的SPI接口硬件模块,所以在编程的时候,同样需要采用模拟SPI协议时序的方法控制ISD4004芯片。其在系统中的应用电路设计原理图如图2-8所示。图2-8 ISD4004语音提示电路2.1.5 控制模块系统的控制模块是由三个ZigBee模块组成的,将其中的一个ZigBee模块设定为协调器,另两个ZigBee模块作为控制节点。其中一个节点接一个LED灯,模拟控制家用电灯,另一个节点接电机模拟电风扇。本系统所采用的ZigBee模块是以单片机CC2530为控制核心,让控制模块中作为协调器的ZigBee模块与整个系统的主控芯片AT89S51相连。系统设计之初,我们将不同的家用电器与电话机的按键进行匹配编码,并将不同的家用电器与相应的ZigBee控制节点相连,当按下相应的按键时就对对应的家用电器进行操作。当用户通过进行按键操作来选择要控制的家用电器时,先由DTMF信号解码模块对按键进行解码,程序在匹配到要控制的家用电器后,由主控芯片发出指令给ZigBee模块的协调器单片机,协调器在得知要控制的家用电器以后,就对相应的控制节点发出控制指令,最后由相应的控制节点单片机来完成对家用电器的控制,从而实现了系统对家用电器的远程控制。其原理框架图如图2-9所示。控制节点1家电2家电1控制节点2协调器按键操作DTMF解码主控芯片AT89S51图2-9 控制模块2.2 软件设计整个系统除了硬件电路以外,还需要软件系统来协调工作,才能够最终实现整个预定功能。系统的软件工作流程是,当用户被呼叫时,程控交换机即将向被叫用户发送振铃信号。振铃信号经振铃检测电路变换成单脉冲,这个脉冲被输入到单片机的中断引脚进行计数。当单片机对这个脉冲进行计数达到预定的数值之后即认为家中无人,随后发送摘机命令,控制模拟摘挂机的继电器线圈上电,常开触点闭合接入300的负载电阻达到模拟摘机的效果。此时通话双方之间建立了正常的通话线路。单片机控制语音芯片播放提示语音,用户在语音提示下继续操作。软件会对用户进行身份确认,若用户3次输入错误密码将直接挂机。身份确认后用户可按照提示输入控制命令,单片机将会对控制命令进行分析,随后通过ZigBee控制模块对相应的家电进行控制,从而实现了远程家电控制系统。系统主程序是系统正常工作的基础。系统主程序是紧紧围绕系统工作流程设计的,其流程图如图2-10所示。图2-10 系统主程序流程图2.2.1 振铃计数部分远程家电控制系统中采用外部中断0来对振铃信号进行计数6。当有振铃信号到来时,单片机的外部中断引脚就会捕捉到一个上升沿电平,触发外部中断,程序进入中断服务当中,在中断服务处理中对振铃信号进行计数,当计数值超过5次时,停止计数,并将计数值清零,同时控制单片机连接模拟摘挂机电路的引脚输出一个高电平,让继电器闭合,从而实现模拟摘机功能,此时主程序进入后续控制过程。其中断服务程序如下。/* INT0中断函数 对铃声信号计数 频率为20HZ */void counter(void) interrupt 0 EX0=0; /关闭外部中断0 LedNumVal+; /中断计数 if(LedNumVal5) P2=Disp_TabLedNumVal%10; LedNumVal=0; /计数清零 K1=1; /继电器闭合 EX0=1; /打开外部中断02.2.2 语音提示部分由于对家电实施的是远程控制,这就要求系统拥有人机对话界面功能,为此本系统设计了语音提示功能。系统采用的是外部中断1对其端口的电平进行有效的控制来实现语音提示功能的,也可以使用流行音乐芯片和录放功能的语音芯片来实现此功能。ISD4004语音芯片是以SPI串行接口为控制基础的,要求微处理器遵循SPI串行接口协议,对于不含SPI串行接口电路的AT89系列单片机,要使用软件编程的方式模拟实现SPI串行通信协议,才能实现其对ISD4004语音芯片的控制。SPI串行接口协议,数据传输协议设定微控制器SPI的移位寄存器是由串行时钟SCLK的下降沿驱动。而对于ISD4004系列器件,在时钟上升沿锁存MOSI引脚数据,在下降沿将数据送到MISO引脚。所有串行数据传送都是由/SS引脚的下降沿开始;在所有串行通信期间,/SS引脚都保持低电平,在两条指令之间保持高电平;数据在时钟上升沿移入,在时钟下降沿移出;录音和放音初始化操作都是通过把/SS引脚置为低电平,串行操作码和地址实现的;输入操作码和地址的格式是8位控制码加16位地址码;每个有EOM报文结束或OVF溢出产生的结束信号都将产生中断,包括信息检索快进周期。当下一个初始化SPI周期时,中断状态将被清除;当中断数据被移位出MISO引脚时,控制盒地址数据就同时被移进MOSI引脚;任何一个操作都是从RUN未被置1开始的,由RUN被清0结束;所有的指令都是从/SS上升沿开始的。SPI控制寄存器用于控制器件功能,这些控制包括录音、放音、信息快速检索,上电和掉电、启动和停止操作以及忽略地址指针等。其中SPI端口及其控制位的示意图如图2-11所示。图2-11 SPI端口及其控制位系统在进入正常通话状态之后会不断的向语音芯片发出放音指令,播放相应的提示语音用于用户进行操作。ISD4004录音的起始地址是0XA0,也就是十进制数160,本设计中用来记录初始地址的常量是second_count。为了更容易看出地址的变化,本设计中录音地址从170开始录音。电路上电后,程序首先完成单片机各个端口的初始化,以及对定时器和1602进行初始化。上电以后上电显示的发光二极管发光,说明上电成功。上电后,液晶会显示“000 ISD4004-X”字样。随后启动液晶地址显示状态,并开始查询按键状态,进入系统待机状态。如果有按键按下,则转去执行按键所对应的工作程序,按键包括放音按键和录音按键。在待机状态下,如果录音键被按下,此时录音显开始,并且发光二极管发光,持续按键直到录完想要录制的内容,松开按键,同时发光二极管熄灭,并且液晶显示出录音的初始地址和终止地址。如此可以反复录音不大于25段,时间不超过8分钟。如果放音键被按下,则开始按照顺序播放,当第一段播放完毕的时候,会在液晶显示上面看见播放的录音的起始和终止地址,并且还显示播放的段数。再次按下放音键会接着播放下一段,直至到达录音的最后一段,然后再返回到第一段。语音播放程序流程图如图2-12所示。液晶显示初始化放音开始结束放音键按下?录音键按下?录音NNYY图2-12 语音提示程序流程图系统的软件设计直接影响到系统的整体性能。为了便于编程,对ISD4004-8芯片的操作需要设计相应的子程序。其中有WriteDataLCM(LCD模块写数据函数);WriteCommandLCM(LCD模块写指令);ReadStatusLCM(读LCD模块的忙标志);DisplayOneChar(在第X+1行的第Y+1位置显示一个字符);DelayUs(微妙延时程序);DelayMs(毫秒延时程序);init_t0(定时器0初始化函数);display(显示处理程序);Recorkey_treat(录音键处理程序);Playkey_treat(播放键处理程序);isd_setrec(发送setrec指令);isd_rec(发送rec指令);isd_stop(stop指令(停止当前操作);isd_powerup(发送上电指令);isd_stopwrdn(发送掉电指令);isd_send(spi串行发送子程序,8位数据)。其中spi串行发送子程序,是ISD4004发送8位数据的子程序,本段程序中先将芯片选中并打开spi通信端。8位数据发送的顺序是先发低位数据再发高位数据。而停止操作子程序就是关掉ISD4004的片选就行了。上电子程序是先延时然后再开片选再延时然后关片选就可以了。电子程序是先调用延时函数再关片选然后再调用延时函数即可。发送发送setplay指令函数就是控制发送地址的顺序。延时函数就是用了循环来实现的,有微秒和毫秒延时。下面依次对放音子程序、录音子程序。2.2.2.1 放音部分系统在上电后首先判断放音键是否按下,如果按下则判断是不是录音好后的第一次放音,如果是则从第0段开始播放。播放键按下后ISD4004上电并延时,然后传送当前所播放语音的开始和终止地址,发送setplay指令,传送地址,先传低八位再传高八位。地址传送完了之后发送放音指令并延时。等待放音完毕后的EOM中断信号,放音完毕后发送stop指令。当一段录音播放完毕后,再次按下播放键就会增加放音的段数,即接着会播放下一段。如果播放到最后一段还继续按放音键,则会从第一段开始重新播放。放音子程序的流程图如图2-13所示。开始放音键按下?继续按下放音键?ISD4004上电延时播放语音按键数超过录音段数? 发送当前语音地址播放语音播放语音结束图2-13放音子程序流程图2.2.2.2 录音部分系统上电以后先判断是不是上电以后第一次的按键录音,如果是则发录音首地址,本设计从170开始。每段的语音地址首尾地址相差3个。将每段语音的地址暂时存入寄存器并判断录音的段数是不是超过25段,如果超过25段就会将之前录的语音全部覆盖,重新从首地址开始录音。如果不超过25段,则继续录制。当录音键按下之后ISD4004上电并延时,此时指示灯发光,一直按着录音键则可以对声音进行录音。如果芯片没有溢出则发送录音指令,并进行计数,计数是通过计时器来实现的。当录音结束的时候发送4004的停止指令,根据录音时间来确定录音结束的地址并将本段的语音地址暂时存入寄存器中。录音完毕后指示灯熄灭,录音的段数自加并将录音段数寄存。录音子程序流程图如图2-14所示。开始录音键按下?录音段数大于25?是否继续录音?结束ISD4004上电复位暂存录音地址指示灯亮开始录音暂存结束地址录音段数自加1NYYN图2-14录音子程序流程图2.2.3 密码服务部分系统在设计时增加进行密码修改功能。密码修改程序用于用户在线修改或使用键盘现场修改用户操作密码。软件设计中将用户通过在线状态输入的密码或者通过使用键盘输入的密码存入寄存器R5中,将通过以上两种方法设置的新密码存放如R6中,将第二次输入的密码存放入R7中。其程序流程图如图2-15所示。开始输入原始密码NYYNYN返回新密码写存是否修改修改命令确认密码是否相同重新输入新密码输入新密码密码是否正确图2-15 密码修改程序流程图如何利用16种DTMF信号实现多样的系统控制功能,是系统成功与否的关键,借助于软件编程,系统可以对16种DTMF信号的任意组合进行解释,从而丰富了系统功能。系统软件需要实现的功能包括。系统身份认证功能,为了保证只有合法用户才能操作系统,电话远程控制系统上线后,用户必须输入密码,带系统确认后才具有对系统的操作权限;用户信令解释功能,对收到的用户信号,系统按照软件设定加以解释,并决定对语音提示电路寻址,播放相应的系统提示音,实现用户和电话远程控制系统之间的交互操作,或对外部控制设备发出相应的驱动信号;软件定时功能,系统软件设定系统的自动复位功能,定时器的设置规定了系统一次上线工作的最大时间。若一次工作超时,系统自动离线,进入待机状态。2.2.4 控制部分控制部分主要是通过ZigBee组网来实现对家用电器的控制。让作为协调器的ZigBee模块不断对单片机送来的控制信号进行监测,当有控制信过来,通过分析得出要控制的目标家用电器,在由作为节点的ZigBee模块完成具体的控制任务。其软件流程图如图2-16所示。对AT89控制信号监测N有无控制信号Y控制输出家电1家电3家电2返回图2-16 控制程序程序流程图3 详细设计本文的重点是对远程家电控制系统中的振铃检测及模拟摘挂机部分的设计。根据国家相关标准规定,不论任何电话机,摘机状态的直流电阻应小于300,有#R键的电子电话机的摘机状态直流电阻应小于350。挂机状态下的漏电流小于5A。当用户摘机时,电话机将通过叉簧接上约300的负载,从而使整个电话线回路流过约30mA的电流。交换机检测到该电流后便停止铃流发送,并将线路电压变为十几伏的直流以完成接续。据此,系统设计的振铃及模拟摘挂机电路如图3-1所示。当有电话呼入时,电话线上传输的25HZ、90V的交流振铃信号由普通电容C1隔离直流后由整流桥整流,整流后的脉冲直流电压不稳定,需经稳压电路稳压,再经光电隔离器U1后输出TTL脉冲信号,该脉冲经74LS123整形成大方波信号,该方波信号被送至单片机的P3.4引脚进行计数,当计数值达到预设值时,单片机P0.1引脚输出高电平,三极管Q1导通则继电器K1动作,将负载电阻R3(300)接入电路实现模拟摘机。这里所说的模拟摘机是指将R3接入电路后,电话线上就会出现大于10mA的电流,交换中心检测到这一电流后就不再输出振铃信号而是转为接通电话。手动摘机接通电话时的工作过程与此一致,因此称为模拟摘机。如果振铃信号没有达到预设值就消失,则单片机的计数值清零,控制器不动作。图3-1 振铃检测及模拟摘挂机电路3.1 振铃检测部分当系统处于待机状态时,即没有振铃信号时,线路上是一个48-60V的直流电压。若用户被呼叫,电信局交换机会向用户发送振铃信号,振铃信号为25HZ的正弦波,谐铃失真不大于10%,电压有效值9015V。振铃以5S为周期,其中1S通,4S断。据此可以用电容进行耦合,然后用整流桥进行整流,再经过稳压滤波,然后通过光电耦合器中光敏三极管的通与断输出TTL信号再送到触发器中,最后触发器输出的脉冲信号直接输出至单片机的中断计数器,完成振铃检测。3.1.1 振铃信号当有电话呼入时,电话线电压上升至90V左右,话机便响铃。当摘机应答时,电话线电压又会下降至10V。电话线路对电流有一定的限制,进入电缆前就安装了保险丝。交换设备供出的每一个模块都是有电,电话线是48V供电,线路上已串接了电阻,每一端大约600欧姆,负载稍微超过,交换机就会认为摘机,这样就会影响通讯。电话响铃的时候耗电量是最大的,线路设计时已经考虑到正常通话的电流,平均每户48V的直流电不超过20毫安。在某个用户端长时间取电10mA时就会被监测设备监测到,自动给该用户闭电。目前使用的程控交换机,直流馈电电压是48V,由于铅蓄电池是浮充工作的,电话机挂机时实际电压约直流50V。当电话机摘机后,话机直流回路接通,话机中有电流,这时电压降为7-10V,视线路长短、话机不同而异。话机摘机后的电流不相同,受用户线路、电话机及局内交换设备影响。一般在20-30mA。挂机时电流应该在5微安左右。当铃响时,振铃电压是9015V、频率为16-25Hz的交流电压。原纵横制交换机挂机60V。程控交换机挂机48V,铃流电压90V。普通话机挂机48V,震铃90V,通话8V。但值并不准确,会在一定范围内变化。给出的只是一般值市话局挂机时直流48V。振铃:20HZ,75V以上。通话,视线路及话机质量,一般在直流6-12V之间。小交换机,直流电压一般两种,24V或者48V。振铃和通话时差不多。普通电话机的振铃信号其电压有效值9015伏,周期为25HZ。振铃以5S为周期,其中1S通,4S断。其波形包络如图3-2所示。图3-2 振铃包络信号3.1.2 检测原理振铃信号检测的基本原理是,首先通过整流桥进行全波整流将交流信变为直流信号。再通过稳压滤波逐步将脉动的直流信号变为平滑的直流信号,然后通过光耦隔离输出TTL上升沿电平给触发器,最后由触发器输出标准的上升沿电平给单片机,由单片机来对铃声信号进行计数。据计数结果来完成后续的控制。其波形变化如图3-3所示。图3-3-1 交流振铃信号图3-3-2 脉动直流振铃信号图3-3-3 稳压滤波振铃信号图3-3-4 标准高低电平图3-3 波形变化3.1.3 整流模块由于振铃信号是一个断续的交流信号,所以检测之前需要借助整流电路来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省日照市莒县联考2024-2025学年六年级下学期期末检测数学试题(无答案)
- 北师大版五年级上册数学第一单元 小数除法 检测卷(无答案)
- 财富广场租房合同范本
- 网贷还款合同范本
- 保安公司试用合同范本
- 钢构基础合同范本
- 冲压厂加工合同范本
- 木材加工企业合同范本
- 入股保本经营合同范本
- 装饰拆除施工合同范本
- 孕产期保健知识
- 广西田林八渡金矿 资源储量核实报告
- 目标管理Smart原则培训课件
- GB/T 44927-2024知识管理体系要求
- 《红楼梦》(解析版)
- 达州电力集团笔试真题
- AAMIST79-2017卫生保健设施蒸汽灭菌和无菌保证综合指南
- 《BOM材料清单教程》课件
- 《安全管理体系》课件
- 树立正确的人生价值观课件
- 防腐保温工程监理实施细则
评论
0/150
提交评论