[信息与通信]第8章 家庭安防远程监控系统设计_第1页
[信息与通信]第8章 家庭安防远程监控系统设计_第2页
[信息与通信]第8章 家庭安防远程监控系统设计_第3页
[信息与通信]第8章 家庭安防远程监控系统设计_第4页
[信息与通信]第8章 家庭安防远程监控系统设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统原理与设计 第八讲 家庭安防远程监控系统设计,本节提要,1,2,3,功能需求分析及总体设计,系统硬件设计,软件设计,8.1 功能需求分析及总体设计,家庭安防监控系统主要是通过远程安防监控器实现对家庭智能化系统中各种与信息相关的通讯设备、家用电器和家庭保安装置进行集中的或异地的控制和家庭事务性管理,实现对家庭中重要设备进行远程信息查询、安防报警、远程监控等功能。,图8-1家庭安防系统总体结构图,整个安防监控器的电路框图如图8-2所示,由电源电路、人机交互模块、主控模块、移动通信模块、设备控制模块、数据采集模块、PSTN模块、语音录放模块等电路组成。,本节提要,1,2,3,功能需求分析及总体设计,系统硬件设计,软件设计,8.2系统硬件设计,系统功能较多,考虑系统对实时性、功耗、成本、扩展性等要求,安防监控器采用S3C44B0X作为处理器,采用双音多频解码集成电路芯片MT8888和ISD4004语音芯片实现报警器的主要功能,PSTN模块主要由主控芯片电路、语音模块电路、振铃检测电路、摘挂机电路、双音频信号收发器电路、输出放大电路和输入放大电路等部分组成。,表8-1 S3C44B0X主要端口分配表,监控器所涉及的关键技术主要在以下几个方面:1.DTMF(Dual Tone Multi Frequency)收发芯片MT8888CE的电路设计;2.基于语音芯片ISD4004的录放音电路设计;3.电话控制模块家电控制语音提示信息的存放和寻址。 本章主要对这几个模块的电路设计进行介绍,其它电路如电源、串口、键盘、LCD等电路设计参考第五章。,8.2.1振铃检测电路设计,8.2.2 摘挂机电路设计,8.2.3电话DTMF收发器电路设计,8.2.4语音模块设计,8.2.5 GSM通信模块,本节提要,1,2,3,功能需求分析及总体设计,系统硬件设计,软件设计,8.3软件设计,要实现家电(空调、电视、等)的远程开、关控制,家电状态的远程查询,必须对设备进行编号,设计规范的查询控制的命令格式,才能进行正确地监控家电设备。在一般家庭中电器类型有以下几种: 1:空调 2:电视 3:热水器 4:灯开关 5:煤气监测器 6:火焰监测器设备的监控命令设计为如下格式: 监控命令格式:命令类型+命令分类+设备序号+设备状态。命令类型主要分为查询命令和控制命令两种;命令分类是指查询命令中的查询分类,控制命令中的分类,如0表示关、1表示开;设备序号是指家电设备的编号;设备状态是在查询和控制动作的返回结果,具体见表8-2。,表8-2 监控命令格式,根据系统功能将任务划分为GSM短信查询控制任务、报警任务、电话查询控制任务、键盘设置等任务,本章主要针对前3个任务进行设计分析,编程内容包括:主函数设计报警任务GSM短信查询控制任务PSTN电话查询控制任务串口中断服务程序外部中断0服务程序,任务状态切换图,8.3.1 主程序设计,/*任务优先级定义*/#define Phone_Prio 7#define GSM_Prio 6#define Alarm_Prio 5/*任务堆栈定义*/#define STACKSIZE 50OS_STK Phone_StackSTACKSIZE=0, ; /Phone_Task堆栈OS_STK GSM_StackSTACKSIZE=0, ; /GSM_Task堆栈OS_STK Alarm_StackSTACKSIZE=0, ; /Alarm_Task堆栈/*任务定义*/,/*任务定义*/void Phone_Task(void *Id); /GSM_Taskvoid GSM_Task(void *Id); /GSM_Taskvoid Alarm _Task(void *Id); /GSM_Task/*事件定义*/OS_EVENT *E_GSM_Mbox; /申明短信消息事件typedef struct gsm_cmd /定义命令参数消息结构INT8U phone_no14; /手机号码INT8U dev_no; /设备编号INT8U cmd_type; / instruction命令类型INT8U cmd_class; /命令种类INT8U dev_status; /设备状态*GSM_CMD;,struct GSM_CMD GSM_Command; /定义命令短信消息 / OSMboxPend(E_GSM_Mbox,0,void main() ARMTargetInit(); /开发板初始化OSInit(); /操作系统初始化 /其他初始化操作OSTaskCreate(Phone_Task,(void*)0,(OS_STK*),8.3.2报警任务,系统报警任务功能是指系统定时查询各个设备的状态,并与设定的报警值进行比较,如果超出设定值则通过通信模块进行报警。,void Alarm_Task(void *Id) INT8U i,j,k=0;INT8U DeviceStatus=0;INT8U *msg;for(;) for(i=0;idev_no=i; if(DeviceStatus Devicei.UpStatus)/如果状态超出设定范围,则报警。 for(j=0;jmobile_no=MobilePhonej; GSM_Command -dev_status = DeviceStatus; SendMessage(GSM_Command);msg=OSMboxPend(E_GSM_Mbox, 2000, /如果在规定时间内有短信回复,跳出循环,if(msg=NULL) /当短信没有回复,则认为短信报警信息失败,电话报警while(k2) for(j=0;jmsg_data); /解析短信内容,获取有效控制或查询命令参数GSM_Command -phone_no= msg-phone_no;GSM_Command -dev_no=data0; /保存短信参数GSM_Command -dev_type=data1; GSM_Command -dev_class=data2;OSMboxPost(E_GSM_Mbox,GSM_Command); /发送短信消息邮箱,激活GSM任务,8.3.4 电话查询控制任务,该任务负责有线电话线路的监听,将获取的数据放入消息数组中。电话查询控制是通过远程电话根据监控器提示音进行按键输入控制或查询命令来实现的。电话振铃检测与外部中断0相关联,如果出现打入电话,可采用在中断服务程序中加入信号量事件来传递接入电话信号。,void Phone_Task(void *Id)char * password;INT8U i;INT8U j=1;INT8U data3;INT8U CmdType=0;INT8U CmdClass =0;INT8U DeviceNo=0;INT8U DeviceStatus =0;for(;)OSSemPend (E_PConnect_Sem , 0 , /播放提示输入密码错误,i+;if(!strcmp(password, PASSWORD)for(i=0;i3;i+) PlayRecord(0,InputInstructioni); /播放提示录音 /挂机,外部中断0中断服务程序负责监听电话和接通电话,通过信号量来通知任务电话接通信息。中断服务程序如下:void ConnectPhone_ISR()rGPF=|0x1;/设置端口GPF0,使继电器K1导通,接通电话OSSemPost(E_PConnect_Sem); /发送信号量,激活电话任务void ReadPhone_ISR()unsigned char data;StopPlay(); /中断录音播放data=DTMF_Read(); /读取按键值 OSMboxPost(E_PRead_MBox, /发送按键消息,激活电话任务,8.3.5 其他函数说明,1. 设备相关函数设备状态查询函数:unsigned char DeviceCheck(unsigned char deviceno)设备状态控制函数:unsigned char DeviceControl(unsigned char deviceno, unsigned char cmdclass); 2. 短信相关函数短消息发送函数:void SendMessage(unsigned char *message)短消息读取函数:void ReadMessage(void * msg)短消息解析函数unsigned char * MessageAnalyze(char *message),3. 电话相关函数电话拨号函数:unsigned char CallPhone(unsigned char *PhoneNo)电话摘机

温馨提示

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

评论

0/150

提交评论