




免费预览已结束,剩余99页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录内容摘要:1关键字:1abstract:1key words:21.1选题意义31.2系统硬件分析32 主要业务介绍42.1 tc35i业务描述42.2 tc35i与短信有关的命令介绍52.3移动通信基本结构描述62.4 sim卡基本介绍62.5 nrf24l01通信方式的基本描述73 系统框图介绍84 硬件设计94.1 系统电源设计94.1.1 gsm电源94.1.2 主控系统电源104.2 控制电路设计104.3 显示电路设计114.4 电平转换电路设计124.5 无线通信模块借口电路134.6 实时时钟电路设计144.7 硬件报警电路设计154.8温度测试电路设计174.9家用电器控制电路设计185 系统软件设计195.1 整体系统流程图195.2串口通信统流程图215.3主机与tc35i通信的软件设计215.4 nrf24l01通信软件设计225.5 ds1302的时序模拟235.6 lcd12864驱动设计245.7 cpu控制器2号系统流程265.8 cpu控制器3号系统流程276 系统调试286.1液晶显示器的调试286.2串口调试286.3系统联调30结束语34参考文献35致谢36附录:37附件1:系统主机电路图37附件2:系统从机电路图38附录3 (系统部分代码)39lgsm的底层驱动39lnrf24l01的底层定义41lnrf24l01的底层驱动42l12864的底层驱动及功能函数46lds1302的底层驱动及功能函数52l系统1号中的功能函数55l系统1号中的主函数58llcd1602的底层驱动及功能函数66l串行adc tlc549的底层函数70l系统2号中的主函数71lds18b20的驱动及功能函数73l系统3号中的主函数77l基于visual baisc 控制界面的源代码79102内容摘要:随着科技的发展,gsm网络已经十分成熟,是各类监控系统网络的不错选择。利用gsm网络作为远程监控系统的信息传输平台是一种有效的方法,其原理简单,安全保密性高,又不需要组建专用网络和网络维护。本文从硬件和软件两方面详细阐述了基于gsm的短消息监控系统。综合了线数据通信、数据采集、串口通信、2.4g无线发射接收、单片机等技术。本文主要实现手机的查询温度、设置led灯的工作状态、设置电风扇的转速、设置实时时间和非正常状态报警等功能。具体是用户手机编辑设置命令,通过gsm网络发送给tc35i监控模块,tc35i监控模块在接收到内容后通过主机分析短信内容,然后通过nrf2.4gl01无线发射模块发送给从位,从机在接收消息后经过单片机分析内容后处理相应的指令,根据短信内容要求实现对应的功能。系统还能识别来信用户,提取来电号码,与之对话。同时兼有信号采集,自动报警等功能。当单片机检测到红外信号时,会自动发送一条短消息给手机;当检测到红外信号倒计时后会自动发送信息给用户报警;本设计的设计成本较低,可以满足一般工业无线远程监控要求,具有很好的性价比。关键字: gsm tc35i nrf24gl01 无线数据通信 数据采集abstract: with the development of science and technology, gsm network has been very mature, all kinds of monitoring system is the good choice of the network. using gsm network as remote monitoring system of information transmission platform is a kind of effective method, its principle is simple, safe, and dont need high secrecy organized special network and the network maintenance.this article from two aspects of hardware and software are expounded in detail based on gsm of short news monitoring system. comprehensive line of data communication, data acquisition, serial communication, 2.4 g wireless transmitting receiving, microcontroller techniques. this paper mainly realizes mobile query temperature, setting led lamp working condition, the setting of the electric fan speed, the setting of the real-time time and abnormal condition alarm functions. concrete is the user mobile edit settings command, through gsm network to send tc35i monitoring module, tc35i monitoring module at receive content through the analysis after sms content, then through nrf2.4 gl01 wireless transmitting module send from bits in receiving messages from the machine, after the microcontroller analysis content post-processing corresponding instruction, according to the message content requests to realize the corresponding function. system can identify letter users, extraction, with the incoming call number dialogue. concurrently at the same time signal acquisition, automatic alarm functions. when the scm detected infrared signal, will automatically send a short message to mobile phones; when detected infrared signal countdown will automatically be sends messages to users alarm, this design is the design with low cost, can satisfy general industrial wireless remote monitoring requirements, and has a good price.key words: gsm tc35i nrf24gl01 wireless data communication data acquisition1 引言1.1 选题意义随着科技的发展,各种电子设备蜂拥而至,如何使自己设计的作品在众多的产品中脱颖而出成为了设计者的考虑的一大内容,设计者既要考虑产品的智能化、实用化,又要考虑产品的外观上的简洁、美观。目前大都的工业控制设备都是有线传输的,这无疑给监控设备的安装、维修和更新带来了很多不便。相对无线设备来说,有线技术依赖物理线路来连接主控和监控。传统设备有着明显的局限性,尤其是当被控制部分所处环境恶劣、现场危险、噪声干扰大、工作人员不宜停留的工作场所,采用有线通信模式显然会付出很大的代价。而gsm网络信号遍布在我们周围的各个角落,短信息服务作为 gsm 网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视。本设计以gsm 网络作为远程数据无线传输网络,同时再利用2.4g开放频段对家居短距离的多点实现无线监控,最终实现只需要任意部手机就可以实现对系统实现远程监控。为了方便控制,对系统编写了上位机来代替gsm工作。系统易于实现,界面友好,操作简单,容易被市场接受。作为最常用的电子设计自动化中控制芯片,该系统采用了最简单、最典型的控制芯片单片机,使得系统更加经济。1.2 系统硬件分析tc35i新版西门子工业gsm(global system for mobile communications全球移动通讯系统(全球通)模块是一个支持中文短信工业级gsm模块,工作在egsm900和gsm1800双频段,在如今移动网络覆盖全面的今天,gsm的使用变得简单而可行。tc35i模块采用串口方式与cpu通信,串口是一种可以将接收来自cpu的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给cpu的器件。232串口电路是传统串行通信方式,简单可靠。系统设计中主要利用了gsm的短信功能,利用短信来完成系统的功能设置。nrf24l01是典型的2.4g通信模块,目前2.4g 产品应用比较广泛,有些芯片性能也很不错,但性价比不是很高。nrf24l01是一款新型单片射频收发器件,工作在2.4ghz2.5ghz ism频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型shockburst技术,其中输出功率和通信频道可通过程序进行配置。nrf24l01功耗低,在以-6 dbm的功率发射时,工作电流也只有9 ma;接收时,工作电流只有12.3 ma,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便,并且接口电路简单,因此受到电子设计爱好者的青睐。主控是由常用的stc89c52单片机来实现的。在一般的单任务的系统中,系统对cpu的要求并不高,并不需要借助于功能强大的arm内核,采用11.0592m的晶振完全可以满足设计者的要求,另外dip封装的stc89c52单片机便于一般的开发者在普通的万能板上进行硬件实现,因此选用52单片机来实现主控是比较合理的。2 主要业务介绍2.1 tc35i业务描述gsm数字移动通信系统史源于欧洲。早在1982年,欧洲就有几大模拟蜂窝移动系统(“1g”)经营了。1991年开通了第一个gsm系统(900m hz),同时有来自欧洲的15个国家参与,标志着“2g”的开始。同年,移动特别小组还完成制定了名为dcs1800(1800m hz频段)电信业务规定。对于绝代部分业务二者是通用的,双频切换工作,因此两个系统可通称为gsm系统。目前,3gpp组织还在发展gsm标准,以便利用已经大量部署gsm基础设施,平滑地向3g技术演进。gsm模块采用at命令来实现通信。at 即attention(口令),at 命令集是从teterminal equipment(终端设备)或dtedata terminal equipment(数据终端设备) 向taterminal adapter(终端适配器) 或dcedata circuit terminating equipment(数据电路终结设备)发送的。通过ta,te 发送at 命令来控制ms mobile station(移动台)的功能 与gsm 网络业务进行交互。用户可以通过at 命令进行呼叫、短信、电话本、数据业务、补充业务、传真等方面的控制。在该系统中主要利用了tc35i(gsm )模块中的短信业务来实现系统控制的。数字蜂窝移动通信(gsm)系统是一个gmsk(高斯滤波最小频移键控gaussian filtered minimum shift keying)数字调制系统,是基于时分多址技术的移动通信体制中应用广泛、成熟、完善的系统,是我国公众移动通信网的主要方式,覆盖面积广、功能强、用户多。gsm工作时分上行和下行频段,双工间隔工作的:gsm900m上行(ms-bs):890915mhz,下行(bs- ms):935960mhz,双工间隔45mhz,载频间隔200khz,共有122/124个频道;dcs1800m上行(ms-bs):17101785mhz,下行(bs- ms):18051880mhz,双工间隔95mhz,载频间隔200khz,共有374个频道。在gsm通信过程中,每一个移动用户都有自己的sim卡,凭借卡上的isdn号(msisdn)可以准确的与移动用户通信。号码组成格式为:国家号(cc)国内目的码(ndc)用户号码(sn)我们国家的国家号位86,所以在我们的手机短信中有“+86”的信息,因此可以根据这点提取国内每个用户的电话号码,进而与其通信。2.2 tc35i与短信有关的命令介绍gsm模块与cpu之间的通信协议是一些at指令。at指令时有西门子、wavecom、诺基亚、爱立信、摩托罗拉和hp的公司共同为gsm系统研制的,由etsi发布,包含了对sms的控制。at指令在此基础上演化并加入了gsm07.05标准以及之后的gsm07.07标准。at指令是以at作首以字符回车(cr)、发送符(ctrl/z)结束的字符串,at指令的响应数据包中。在每个指令执行成功与否都有相应的返回,如“ok”、“error”。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。表2-1是关于短消息的一些基本at命令。表2-1 gsm中关于短消息的基本at命令命 令功 能at检测gsm模块是否存在(at命令通信开始)at+csms=0选择消息业务at+cpms=?检测消息存储区(缺省值为sim卡上)at+cpms?读取当前存储区上的消息数at+cmgf?查询当前消息格式at+cmgf=1(0)设置消息格式:1为文本;0为pdu(二进制传输)at+cnmi=2,1来信提醒at+cmgr=n读取第n条信息at+cmgs发送消息(以ctrl+z结束)at+cmgd=n删除第n条信息2.3移动通信基本结构描述随着社会的发展,人们对通信的需求日益迫切,对通信的要求也越来越高。集成电路技术和微机的法杖,从20世纪7、80年代开始移动通信开始逐步成为人们日常的重要工具了。移动通信凭借方便小巧等的魅力已经成为了人们日常生活中的不缺品了。在短短的几十年中移动通信已经得到了重大发展。在移动发展的第三阶段(20世纪70到80年代)人们便进入了1g时代,第四阶段(20世纪90年代至今)人们走过了2g时代,正处在3g时代,而移动通信还任大步向前跨。gsm使用的是时分多址的变体,是目前三种数字无线电话技术(tdma、gsm和cdma)中使用最为广泛的一种。从移动通信技术的结构来看我们可以归结为图2-1的模型。图2-1 移动通信的基本结构从图上可知,移动通信结构主要有用户手机、基站和另一用户组成三部分,是全双工通信。基站成为了移动通信的枢纽,是通信的重要组成部分。2.4 sim卡基本介绍sim卡是(subscriber identity module 客户识别模块)的缩写,也称为智能卡、用户身份识别卡,gsm数字移动电话机必须装上此卡方能使用。它在一电脑芯片上存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容,可供gsm网络客户身份进行鉴别,并对客户通话时的语音信息进行加密。一般sim卡有5部分组成:cpu(8位/16位/32位)、程序存储器rom、工作存储器ram、数据存储器eeprom和串行通信单元,这5个模块集成在一块集成电路中,sim卡事物如图2-2所示。sim卡在与手机连接时,最少需要5个连接线:电源(vcc) 、时钟(clk) 、数据i/o口(data) 、复位(rst) 、接地端(gnd)。在图2.4-1中,可以看到sim卡中有6个引脚他们分别是:1、电源(ccvcc);2、复位(ccrst);3、时钟(ccclk);4、接地端(ccgnd);5、检测脚(ccvpp);6、数据接口(ccio)。图 2-2 sim卡实物图2.5 nrf24l01通信方式的基本描述nrf24l01是一款工作在2.42.5ghz世界通用的ism频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型schockbursttm模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频段选择和协议可以通过spi接口进行设置。从2.4g到2.525g的频带范围内,将通信划分为125分频道,每个通信频道内有开辟了6个通信地址,所以nrf24l01的可通信对象是很广的,对于一个一般的系统是明显足够的。对于nrf24l01的控制通信方式也是很简单的,对于主控只需要通过spi接口对芯片进行读写就可以了,因为其可以工作在自应答模式,因此减少了cpu的工作量。nrf24l01的中断引脚(irq)为低电平触发(刚好符合单片机的中断触发方式),当状态寄存器中tx_ds(接收成功)、rx_dr(发送成功)或max_rt(发送溢出)为高时触发中断,中断后只需要读相应的中断源,进而做出响应的相应就可以了。在发送模式只需要对其写模式、频道、地址和数据,然后等待中断就可以了;在接受模式只需要写接收模式、频道和地址,然后等待中断,读出数据就可以了。spi通信方式主要有6个接口,表2-2是对6个引脚的功能介绍。图2-3是对spi读时序的介绍,图2-4是对spi写时序的介绍。表2-2 spi通信接口介绍引脚名称类型描述ce输入发射和待机控制csn输入spi使能,低电平使能sck输入spi时钟mosi输入主出从入(串行)miso三态输出主入从出(串行)irq输出中断,低电平使能图2-3 spi读时序图2-4 spi写时序极低的电流消耗:当工作在发射模式时发射功率可以为-6dbw,电流消耗为9ma,接收模式为12.3ma,待机时消耗更低。经济节约是短距离无线通信的理想工具。3 系统框图介绍系统的构成与工作原理如图3-1所示,cpu控制器1号作为整个系统的核心,连接着gsm(或上位机)和cpu控制器2号与cpu控制器3号。cpu控制器1号连接着ttl和232电平转换器(max232),max232中有直通和交叉两种电平转换方式,所以在cpu控制器1号与max232之间通过一个单刀双掷开关来切换,选择连接gsm模块或pc机(上位机和gsm用同一套通信协议,是gsm的替代品,方便调试);同时cpu控制器1号通过模拟的spi接口控制无线通信模块1和无线通信模块2与无线通信模块3通信进行无线多点监控。作为从机2号与3号将采取到的温度信号主动地发给1号主机,从机2号与3号也等待着主机1号的控制命令,响应相应的动作。该系统的控制芯片都是采用stc89c52的单片机控制的,dip封装便于在万能板上焊接调试,51内核的单片机是最基本最常用的控制芯片,8k的rom、256b的ram对于一些简单的控制系统是完全足够的,单片机工作在11.0592m hz的晶振12分频模式下(stc单片机可以6分频工作),这种处理速度可以满足单任务系统的处理要求。图3-1 系统框图4 硬件设计4.1 系统电源设计电源是一个系统能量的来源,是一个系统系性能稳定的重要决定性因素之一,所以一个合理的电源是对一个系统来说是关键的,既要做到性能可靠又要做到经济节约。4.1.1 gsm电源对于系统来说,gsm是个通信模块,所以可以给它设计一个独立的电源,就像平时用电脑和单片机通信一样,两部分的电源可以分开,对于远距离的通信一般电源也是独立的,这样可以减少电源带来的问题(比方压差、干扰等)。但对于系统所用的tc35i模块来说,所用的电源是没有多大问题的,是电源适配器提供的12v直流电源,然后在模块内经过稳压,得到各种所需要的电源的。4.1.2 主控系统电源主控部分的电源的稳定性决定着整个系统的性能,整个系统基本上是利用了ttl电平,在数字电路中+5v的电源是很常用的。所以,在这系统利用lm7805三端稳压块,得到+5v的电源。主控部分电源如图4-1所示。在图中我们还可以看到lm317,是用来产生稳定的3.3v电压的。3.3v电压是提供给无线通信模块使用的。从图中并没有变压和整流部分,只是看到一个电源接口座,因为系统是采用7.5v的电源适配器作为能量供给的。为了防止电源适配器反接,经过了一个二极管(整流管的pn结承受电流大),然后经过电解电容(一是滤波,二是储能)得到大约6.8v的电压,在7805后得到一个相对稳定的5v电源,可供系统使用;在电源后面还接上lm317,经过调整可以得到3.3v的电压,3.3v电源也是常用的工作电压,在这里是为nrf424l01供电的,其实也不是要求一定是3.3v电压,但是要求稳定。图4-1 主控部分电源电路图4.2 控制电路设计系统采用最常用的控制器件51单片机来作为系统的核心。stc89c系列单片机是宏晶科技推出的新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统8051 单片机,12 时钟/ 机器周期和6 时钟/ 机器周期可任意选择。考虑到时实际代码量和运行速度,在这系统可选用stc89c52单片机,采用11.0592mhz的晶振12时钟周期工作。单片机工作的最小系统如图4-2所示。很明显,这些都是使用51单片机的人很熟悉的电路,包含电源、复位电路、时钟源、单片机和一些辅助信号(如31号脚接高电平)。图4-2 单片机最小系统4.3 显示电路设计因为这是一个多点通信、控制系统,包含了三处小系统,所以当然在硬件上也有三处基本信息的显示。其中主控系统是采用采用的12864(带字库),是一个能显示8k像素的显示器。12864是一个可选择串、并输入,可显示字符、汉字、图像的显示器,在这里系统采用的是并行输入方式显示了图像、字符和汉字。12864的连接电路如图4-3所示,其中第17脚位复位控制端,低电平复位,所以平时为高电平;15号脚为串并选择端,高并低穿,所以系统可设置15号脚位高电平;16号脚可以不接。系统还包含两个通信点,在这只是为了显示一些基本的单点信息,所以两处都是采用1602来作为显示界面。1602的连接电路图如图4-4所示。图4-3 12864的使用连接电路图4-4 1602的使用连接电路图当然,图中的控制信号和通信总线是因具体电路而定的,图中的显示电器标号只是截取整个体统中的局部。他们的三号脚位调压显示,这个要根据具体电路来用电位器调节。4.4 电平转换电路设计由于计算机串口的rs232电平是+10v、-10v,而一般的单片机采用的是ttl电平即:0,+5v。如果两者要实现通信,则就要采用电平转换。整个系统的控制基本是用串口来实现的,对于单片机所输出的ttl电平或是cmos电平是无法直接与工业电平通信的,所以电平的转化就是必要的。对于整个系统,是用gsm作为通信的转换点的,系统所用的tc35i是采用232电平与外界通信的。max232是常用的rs-232通信芯片,通常max232是16引脚,同时具有直通和交叉一对电平转换工具的器件。在整个系统设计中,对于主机与gsm通信时采用了交叉方式,而主机与上位机通信时采用的是直通方式,利用单刀双掷开关可以直接切换两种工作状态。图4-5是max232在体统中的连接方式。图4-5 max232的接口连接图max232产品是由德州仪器公司(ti)推出的一款兼容rs232标准的芯片。该器件包含2驱动器、2接收器和一个电压发生器电路提供tia/eia-232-f电平。max232产品是由德州仪器公司(ti)推出的一款兼容rs232标准的芯片。该器件符合tia/eia-232-f标准,每一个接收器将tia/eia-232-f电平转换成5-v ttl/cmos电平。每一个发送器将ttl/cmos电平转换成tia/eia-232-f电平。max232的引脚图示意图如图4-6所示。图 4.-6 max232的管教示意图在本设计中用到的rs-232通讯芯片为max232,该产品是由德州仪器公司(ti)推出的一款符合rs232标准的芯片。rs-232接口引脚图如图4-7所示。在两个串口连接中,一为直通方式,一为交叉方式。 图 4-7 rs-232接口引脚图其中用到的端口定义为: 2号引脚为:接收数据rxd;3号引脚为:发送数据txd; 5号引脚为:信号地gnd。4.5 无线通信模块借口电路在整个系统中远程通信和gsm串口通信,而短距离的无线通信确是通过无线通信模块nrf24l01来实现的。由于有线电路布线不是很方便,因而在本设计中采用了nrf2401无线模块,在本设计中nrf24l01采用的是spi通信方式,占有单片机的资源较少(如图4-8所示,具体链接可以参考附录)。对于用户来说,串口方式通信主要考虑的对象是软件设计怎样模拟通信方式、编写底层驱动及如何配置芯片寄存器。对于整个短程无线通信系统来说,为了实现多点数据采集与控制,所以系统在使用了3个无线通信模块。3个模块的硬件设计基本一致,只是采用的控制命令不一样,通信时,为了减少通信干扰,系统采用了主叫跳频方式通信。图 4-8 spi接口引脚nrf24l01有四种工作模式,即:收发模式、配置模式、空闲模式、关机模式。其中:收发模式又有enhanced shockbursttm 收发模式、 shockbursttm收发模式和直接收发模式三种。空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的启动时间。在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关。在关机模式下,为了得到最小的工作电流,一般此时的工作电流为 900na 左右。关机模式下,配置字的内容也会被保持在nrf24l01 片内,这是该模式与断电状态最大的区别。4.6 实时时钟电路设计作为一个完整的系统,让用户了解当前的时间信息是必要的,实时时钟就是为辅助系统而设计的。ds1302是美国dallas公司推出的具有涓细电流充电能力的低功耗实时芯片,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。作为时钟芯片对时钟的要求是高的,因此ds1302的秒表是对32.768khz的晶振进行15次二分频得到的。ds1302的8号脚可外接辅助电源(3v电池,在平时主电源可为辅助电源充电),可是可掉电保护的,他可有有辅助电源供电,当1号脚上的主电源掉电时,8号脚便可提供时钟工作,并保持时钟和ram信息能量,ds1302的可编程电源结构如图4-9所示,合理配置寄存器,电源部分是可涓流为vcc1充电的。ds1302采用串行通信方式,由主控提供时钟源,在复位信号的辅助下通过数据线与外界通信。ds1302的电路连接图如图4-10所示。图4-9 ds1302的电源结构图4.-10 实时时钟电路在图4-10中可以看到始终芯片采用的是32.728khz的晶振,当然为了让晶振的起振效果更好,工作更稳定,可以采用对称振动方式,在晶振两边加上对称电容,并联一个大电阻降低q值,易于起振。其实在实时时钟电路中32.768khz的晶振是很常见的,对信号进行分频后得到比原始信号稳定度更高的时钟信号,供给芯片计时。4.7 硬件报警电路设计在系统中报警是一个人性化辅助功能,但是在系统中增添一个报警功能是简单的。我们知道,人的耳朵能识别的声音频率在2020000hz内,是交流信号,所以设计一个报警电路并不是给予一个电平这么简单的,当然系统也可以采用用cpu来模拟一个报警时序,但对于一个辅助设计来说,对cpu的占有率太高了,是不合理的,系统是采用io口高低电平来控制报警电路来报警的。系统报警电路如图4-11所示。电路中是ne556来实现的,556是由两个555组成的,555的内部结构图如4-12所示,由两个比较器、一个rs触发器、一个放电管和一个输出电路组成。利用555,可以很容易实现单稳态、多谐振荡等常用电路。在图中,先利用一个555组成一个多谐振荡电路,产生音频中的低频,造出声音的基本框架,为一个矩形波,输出一个高低电平。556的3号脚和11号脚原本是2/3vcc电压点,输出的频率和这一点是有关系的,可以看到图4-12中前一个555输出接到后一个555的该点,后一个555也是有多谐振荡电路的模型,但是在矩形波的控制下得到一个变频信号多音频信号。经过耦合,原本是可以直接输出给喇叭的,但是脉冲信号的频谱成份是很多的,所以直接输出音质太杂,所以在输出之前加一级低通滤波是必要的。从图中可以看到还有一个控制信号,当rst为低时输出也为低经过耦合后无声音输出,当rst为高时,可以听到清晰的报警声。图4-11 硬件报警电路图4-12 555的内部结构系统是不能无缘故的报警的,检测非法信号的电路如图4-13所示。考虑到51单片机的普通io口是共源级输出的,原本就弱上拉,所以利用线与的方式来检测外部电平是合理的。stc89c2单片机普通io口的弱上来最少有200k欧姆,所以对外部信号的检测是有足够的灵敏的。线与的方式检测信号硬件电路简洁,性能可靠,因此在这用图4.7-3来检测非法闯入信号。图4-13 非法闯入信号检测4.8温度测试电路设计系统有多点数据采集功能,而在实际电路中,系统利用了2.4g网络采集了两路温度数据:一路采用模拟器件lm35和串行ad tlc549测试温度;一路采用数字器件ds18b20测试温度。lm35为to-92封装的器件,典型应用该lm35的电源端加上420v的电源,输出特性为10mv/,测试范围为2150,当然可以在输出端加上一定下拉负电源。采用lm35输出的是模拟信号,所以系统上就有了tlc549。tlc为dip-8封装的串行adc器件,为了提供一定参考电压,在这儿是用一个可调电阻代替的。实际电路如图4-14所示。图4-14 模拟温度测试电路对于数字测温所采用的是我们常用的ds18b20,to-92封装的器件。ds18b20是美国dallas公司生产的可组网数字温度传感器芯片封装而成的,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,是典型的单总线器件。ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20在与微处理器连接时仅需要一条(i/o口)线即可实现微处理器与ds18b20的双向通讯。支持多点组网。可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。其测温范围为55125,在-10+85时精度为0.5。当然,对于单总线的时序是比较严格的,这就对模拟单总线带来了一定的难度,在采用搜寻方式来实现单总线挂多路器件时要特别注意。如图4-15所示的电路,原本是应该给数据总线加上一定的上拉的,但考虑单片机p0已经有了10k的上拉,这里就可以省去。图4-15 数字温度测试电路4.9家用电器控制电路设计为了体现对家具的无线控制,系统中选取了常用的灯具和风扇作代表。像图4-16所示的电路是在电路中很常见的led控制电路,采用led作为照明将会成为一种趋势,节能、亮度高。图4-16电灯控制电路电路只是实现简单的亮灭控制是很难满足现代人的生活需求的,生活中还要求对亮暗的调节,如像电风扇一样,显示中的电风扇是有几个档位的。如图4-17所示电风扇驱动电路,就是利用脉宽调制来实现电风扇转速的控制的。脉宽调制(pwm)实际上就是调占空比,方式有:1、定周期调高电平宽度;2、定高电平宽度调脉冲周期;3、混合调制;根据实际中测试发现,像led这样要符合人的视觉效果的调制方式可以先择1方式;像电机这样的对闪烁没有什么要求的调制方式可以选择方式2。在图4-17的电路中,系统选择了一个电脑电源风扇作为世界控制对象。利用变压器将市电电压变成实际要求相符的电压范围,再利用整流桥将电源变成余弦脉冲直流电源,经过电容滤波得到相对稳定的直流电源。实际上的电风扇驱动电路是串联式的。tip132是to-220封装的npn达林顿管,耐压值为100v,能承受8a的直流电流,工作在开关状态与电动机串联,完全满足系统工作要求。相对控制电路,风扇工作在大电压大电流的环境中,为了系统安全,系统利用光电耦合来实现控制的。在调试中发现,上拉电阻r30和限流电阻rp5是相关的,rp5的减小可以增大r30降低的功耗,但是单片机的功耗必然提高;rp5的增大却不一定能让开关管工作在开关状态,所以在调试中应该合理选择。图4-17 风扇调速电路5 系统软件设计5.1 整体系统流程图对于整个系统来说,cpu控制器1号就是核心,gsm、上位机软件、cpu控制器2号3号都是他的外围,所以对cpu控制器1号的设计体现了整个系统的灵魂。系统需要灵活又要实时,所以在中断和实时之间要有一定的衡量。系统工作情况分为数据采集和系统主叫方式。在数据采集时为了保证系统的灵活性,系统并不要求系统能实时数据更新,在一个多点数据采集系统中只需要保证在短时间内能有正确通信,整体系统的实时通信易导致系统的死机。而在系统主叫时,要让用户有满意的印象,必须要做到实时性强,此时系统工作在主叫模式下,由系统主导呼叫定点响应,循环工作在这一阶段直到系统响应成功。为了保证与gsm通信的优先权,串口通信工作在中断方式。而为保证不定长度的字符串通信的实时性和准确性,对于时间的计算是有要求的,所以系统工作的系统时钟是要和程序代码对应在一定范围的。系统大致流程图如图5-1所示。图5-1 主机大概流程图5.2串口通信统流程图对于通信来说,保证通信成功是目标。通信分为发射和接收,当然发射的实现是比接受容易多的,系统中的串口通信属于基带传输,接收的难度在于如何实现同步、实时和准确。串口通信的协议解决了大部分难度,对于单核的系统为了实现实时性最好是利用中断方式,然而单片机的内存局限性,系统要对及时对接收的信息清除,所以当系统正常工作时又要实时接受是有出入的,时间的不确定性,容易将接受的内容清除掉,延时能很好的解决这一问题,可以规定一个一定大小的堆栈,尽可能的让系统接收串口通信内容,系统可以再每一次大循环是都查询一次接收的内容,然后在每次检测通信内容后多整体内容清除。而对于发射则简单的多,系统只要主动地发射就可以了。5.3主机与tc35i通信的软件设计与tc35i的通信是系统的核心,所以合理的实现是完成系统地关键。在本程序流程图中涉及到具体的at指令以及相关的通信协议。当刚上电时mcu会不断的发送“at”指令去检测tc35i的存在(包括整个串口部分电路),直到收到tc35i会返回一个“ok”,然后发送“at+cnmi=2,1”给tc35i,设置来信提醒,发送“at+cmgf=1”给tc35i,设置字符串通信。在正常通信时,如果有来信,则能检测到at+cnmi=2,1命令,然后mcu发送“at+cmgs=”的指令来提取短信的内容,根据短信的内容系统实现相应的功能。这样就完成了从等待接收到接收、分析处理的全过程。系统能实现,发信息,收信息,检测通信内容,检测来电用户,与来电者通信等。具体流程如图5-2所示。图 5-2 主机与tc35i通信程序流程图从图中可以看到,在温度查询时为何不直接发送信息而要在循环前面发送信息?者可能跟单片机资源有限有关,因为在温度查询检测时发送会出错,所以提前发送,即下一轮大循环是发送。5.4 nrf24l01通信软件设计对nrf24l01模块的控制实际上就是对里面寄存器的设置,而要对十几个寄存器合理的配置编写一些合理的底层驱动函数是必要的。spi接口是常用于对flsh的读写,在这里作为串口通信的一种来实现近距离的无线通信。从图2.5-1和2.5-2可以了解spi借口的读写时序,可以编写底层读写函数、读数据、写命令函数(可以参考附录nrf24l01的底层驱动),然后编写配置寄存器的接口。对nrf24l01的读写配置大致可包括:复位、写发送地址、接收通道0地址、使能、发送接收允许、自动重发、通信协议配置、接收发射频率、接收发射模式,写数据到缓存,读缓存数据。在软件设计时,将主机和数据点1、数据点2控制在调频通信模式,平时工作在随机发射接收状态,系统不要求实时通信,但系统可以保证在人可以接受的范围内(几秒)通信成功,保证数据的更新,延时等待可以做到数据无误,因为平时工作在循环模式中。但是如果是来自gsm的控制命令的话,系统可以做到精确且实时,保证命令的优先权。5.5 ds1302的时序模拟ds1302里面有与时间有关的寄存器,还有31个8bit的ram,对ds1302的访问有单字节访问和爆破访问。在系统设计是统一采用单字节读写来实现的。图5-3和图5-4是ds1302的单字节读写时序,5-3 ds1302单字节读时序5-4 ds1302单字节写时序可以看到读写时序是不一样的,读时序有15个脉冲,而写时序有16个时钟脉冲。写地址时都是采用上升沿触发,写数据也是上升沿触发,而读数据时采用的是下降沿触发。如果不注意,这一点能能会导致读数据错误。系统设计的是实时时钟,所以,并不要求每次开机都对时钟芯片写数据,因为ds1302可以保证2000年到2099年中100年的时间准确性,在外加辅助电源时,ds1302可以持续工作。所以一般系统只需要读时间信息就可以,只有在掉电时间不对后在写时间。对ds1302的控制时序如图5-5所示。5-5 系统ds1302控制时序5.6 lcd12864驱动设计lcd12864是常用的液晶显示器,在这里作为主要的显示器,归结起来12864就像一块黑板一样方便擦写。12864a-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16x16点阵)、128个字符(8x16点阵)及64x256点阵显示ram(gdram)。对于12864的输入输出游并、串两种方式,在系统中io口有余所以选择了并口通信,快速有效。对于显示可分为文本显示和绘图点阵显示:(1)文本显示ram(ddram)提供8个4行的汉字空间,当写入文本显示ram时,可以分别显示cgrom、hcgrom与cgram的字型;st7920a可以显示三种字型 ,分别是半宽的hcgrom字型、cgram字型及中文cgrom字型。三种字型的选择,由在ddram中写入的编码选择。文本显示地址如表5-1所示。表5-1 lcd12864文本显示的地址 x坐标line180h81h82h83h84h85h86h87hline290h91h92h93h94h95h96h97hline388h89h8ah8bh8ch8dh8eh8fhline498h99h9ah9bh9ch9dh9eh9fh (2)绘图显示ram(gdram)提供1288个字节的记忆空间,在更改绘图ram时,先连续写入水平与垂直的坐标值,再写入两个字节的数据到绘图ram,而地址计数器(ac)会自动加一;在写入绘图ram的期间,绘图显示必须关闭。绘图显示的缓冲区对应分布请参考图5-6。5-6 12864绘图显示坐标在系统中用到了文本显示,也用到了绘图显示(满屏绘图和16*16像素),所以先编写文本显示和绘图子函数,具体可以参考附录lcd12864的底层驱动。12864的底层子函数包括:查忙、写命令、写数据、读数据,然后基于这些底层函数编写对应的功能函数:初始化、定位开始打印字符串、扩展指令、绘图(128*64和16*16)和清除绘图等。系统对12864的利用流程如图5-7所示。图5-7 12864的利用流程5.7 cpu控制器2号系统流程cpu控制器2系统是作为主机的外围存在的,是系统的一个监控点,是响应主机的。系统包含了:无线通信模块、模拟温度测试电路(采用串行ad tlc549,其读时序如图5-8所示)、led显示灯和1602显示器。从图5.7-1可知,在为低电平后,每来一次时钟上升沿则读出以为据。cpu控制器2号系统基本流程图如图5-9所示。图5-8 tlc549的读时序图5-9 cpu 2号控制时序5.8 cpu控制器3号系统流程跟cpu控制器2系统一样3号系统是作为主机的外围存在的,是系统的另一个监控点,是响应主机的。系统包含了:无线通信模块、数字温度测试电路(采用ds18b20,其读时序如图5-10所示)、风扇控制和1602显示器。ds18b20是严格的按照单总线来通信的,是相对复杂的,系统在利用ds18b20时选择了最简单的一种方式来实现的,跳过了rom的搜寻。cpu控制器3号系统基本流程图与cpu控制器2号系统基本流程图的流程图基本相同,只是实现手段稍微有点不同,另外加上了利用定时器实现的脉宽调制信号。图5-10 ds18b20的读写时序6 系统调试对于一个工程一个项目,都是从一点点调试出来的,调试是完成一个工程不可缺少的一部分,既包含硬件调试也包含软件调试,总之系统联调是建立在扎实的底层设计之上的。下面将具体阐述系统调试的过程。6.1液晶显示器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程力学补考试卷及答案
- 法治安全培训教育基地课件
- 2025黑龙江齐齐哈尔市富裕县信访局招聘公益性岗位人员2人模拟试卷及答案详解(新)
- 工序检验考试试题及答案
- 2025年离子色谱考试试题及答案
- 2025年身材管理考试试卷及答案
- 法律诊所课件法律关系
- 网络安全竞赛测试题及答案解析
- 法律权利与义务的课件
- 2025年生物质能生物质油在生物质能源技术展望报告
- 巡检管理制度燃气版
- 2024年企业全面预算管理教材模板
- 新生儿洗胃操作课件
- 2024行政办事员职业资格认证理论考核试题
- 国际工程风险管理案例分析
- 中医眼科学瞳神疾病上
- 运动中的攻击性行为
- 欧美钢结构案例-花旗银行中心工程危机
- 从“管理型”到“服务型”:中职学校行政组织的模式转型与对策研究
- 中华人民共和国档案法修订宣传课件
- 工具式型钢悬挑脚手架施工工法
评论
0/150
提交评论