您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 家庭安防远程监控系统设计
1本节提要123功能需求分析及总体设计系统硬件设计软件设计28.1功能需求分析及总体设计家庭安防监控系统主要是通过远程安防监控器实现对家庭智能化系统中各种与信息相关的通讯设备、家用电器和家庭保安装置进行集中的或异地的控制和家庭事务性管理,实现对家庭中重要设备进行远程信息查询、安防报警、远程监控等功能。图8-1家庭安防系统总体结构图3整个安防监控器的电路框图如图8-2所示,由电源电路、人机交互模块、主控模块、移动通信模块、设备控制模块、数据采集模块、PSTN模块、语音录放模块等电路组成。主控模块PSTN模块语音录放模块移动通信模块数据采集模块人机交互模块设备控制模块电源模块4本节提要123功能需求分析及总体设计系统硬件设计软件设计58.2系统硬件设计系统功能较多,考虑系统对实时性、功耗、成本、扩展性等要求,安防监控器采用S3C44B0X作为处理器,采用双音多频解码集成电路芯片MT8888和ISD4004语音芯片实现报警器的主要功能,PSTN模块主要由主控芯片电路、语音模块电路、振铃检测电路、摘挂机电路、双音频信号收发器电路、输出放大电路和输入放大电路等部分组成。6表8-1S3C44B0X主要端口分配表端口号连接端口功能描述端口号连接端口功能描述GPF0K1继电器K1控制,接通电话通道nOEMT8888/RDMT8888读控制引脚GPF1K2继电器K2控制,选择播放录音通道nWEMT8888/WRMT8888写控制引脚GPF2K3继电器K3控制,选择录音通道ExINT0D4A74LS123/Q电话振铃输入检测GPF3ISD4004RARISD4004行地址时钟引脚ExINT1D4B74LS123/QMT8888按键输入信号检测GPF4ISD4004/SSISD4004片选ExINT2ISD4004/INTISD4004中断引脚D0-D3MT8888D0-D3MT8888数据引脚SIOCKISD4004SCLKISD4004时钟引脚A1MT8888RS0MT8888地址选择引脚SIOTxDISD4004MOSIISD4004数据输入引脚nGCS3MT8888/CSMT8888片选引脚SIORxDISD4004MISOISD4004数据输出引脚7监控器所涉及的关键技术主要在以下几个方面:1.DTMF(DualToneMultiFrequency)收发芯片MT8888CE的电路设计;2.基于语音芯片ISD4004的录放音电路设计;3.电话控制模块家电控制语音提示信息的存放和寻址。本章主要对这几个模块的电路设计进行介绍,其它电路如电源、串口、键盘、LCD等电路设计参考第五章。88.2.1振铃检测电路设计PHONEXS412XP4V10TPA200D8BRIDGE1VCCDGNDR323.3kV168050V111N4148+C414.7uR3310kR341kDGNDC90.1uC4103VCC+C810uR1322kA1B2CLR3Q4Q13Cext14RCext15GND8VCC16D4A74LS123R510kR4150kR1410kExINT0NET098.2.2摘挂机电路设计R7100/0.5wR62.2kV58V1/2wV4LEDK1RELAY-SPSTV11N4148C10.1uV61N4148+C5100u/50vR82.2kV128550VCCR910kR1010kGPF0NET0NET1108.2.3电话DTMF收发器电路设计R17100kR1847kC140.1uR19374kGAIN1IN-2IN+3GND4GAIN8BYPASS7VS6VOUT5D6LM386M1(8)C170.1uIN+1IN-2OSC16WR9CS10RD12RS011OSC27TONE8IRQ/CP13EST18ST/GT19GS3VREF4D014D115D216D317D2MT8888CE(20)Z23.5795MC112.2uR203.3k+C374.7uC150.1uR2118kV81N4148R1510kVCCR221.2k+C64.7uR910kR1010kV71N4148+C2347uC220.1uVCCGAIN1IN-2IN+3GND4GAIN8BYPASS7VS6VOUT5D7LM386M1(8)VCCC130.1uC240.047uR2310A9B10CLR11Q12Q5Cext6RCext7D4B74LS123+C3910uDGNDVCC+C74.7uR1122kR1210k+C1647uC382200pVCCK2RELAY-SPDTVCCR210kC20.1uV21N4148V138550SpeakerGPF1NET2D1D2D3D0nGCS3A1ExINT1nOEnWENET1118.2.4语音模块设计V31N4148+C214.7u+C291uSS1SCLK28MOSI2VCCD27MISO3XCLK26VSSD4INT25NC5RAC24NC6VSSA23NC7NC22NC8NC21NC9NC20NC10NC19VSSA11VCCA18VSSA12ANAIN+17AUDOUT13ANAIN-16AMCAP14NC15D3ISD4004V159014VCCC280.1uR291k+C3347uR2710kR262.2kR25300kR2810kC320.1uC310.1u+3V+C12100uV91N4148C30.1uVCCK3RELAY-SPDT+C2622uR1610kVCC123456789RS10kV148550R310kR312.2kR3022kC250.1uC270.1uL2INDUCTORDGNDC180.1uDGND21MICXP3NET1GPF2GPF3ExINT2SIOCKGPF4SIOTXDSIORXDNET2128.2.5GSM通信模块主控制器串口DC电源GSM模块SIM13本节提要123功能需求分析及总体设计系统硬件设计软件设计148.3软件设计要实现家电(空调、电视、等)的远程开、关控制,家电状态的远程查询,必须对设备进行编号,设计规范的查询控制的命令格式,才能进行正确地监控家电设备。在一般家庭中电器类型有以下几种:1:空调2:电视3:热水器4:灯开关5:煤气监测器6:火焰监测器设备的监控命令设计为如下格式:监控命令格式:命令类型+命令分类+设备序号+设备状态。命令类型主要分为查询命令和控制命令两种;命令分类是指查询命令中的查询分类,控制命令中的分类,如0表示关、1表示开;设备序号是指家电设备的编号;设备状态是在查询和控制动作的返回结果,具体见表8-2。15表8-2监控命令格式命令类型命令分类设备序号设备状态30查询命令1控制命令1开空调(控制1)1空调1开0关空调(控制、查询2)0关1开电视(控制)2电视1开0关电视(控制、查询)0关1开热水器(控制)3热水器1开0关热水器(控制、查询)0关1开灯(控制)4灯开关1开0关灯(控制、查询)0关1开煤气开关(控制)5煤气监测器1浓度高0关开煤气开关(控制、查询)0无煤气1开喷水开关(控制)6火焰监测器1有火焰0关喷水开关(控制、查询)0无火焰16根据系统功能将任务划分为GSM短信查询控制任务、报警任务、电话查询控制任务、键盘设置等任务,本章主要针对前3个任务进行设计分析,编程内容包括:1.主函数设计2.报警任务3.GSM短信查询控制任务4.PSTN电话查询控制任务5.串口中断服务程序6.外部中断0服务程序17任务状态切换图报警任务GSM查询与控制任务PSTN查询与控制任务空闲任务延时等待GSM短信事件等待电话延时结束延时结束GSM短信事件GSM短信事件任务等待任务抢占任务等待任务抢占任务抢占任务等待电话事件任务抢占延时结束任务抢占任务抢占188.3.1主程序设计开始系统初始化创建任务GSM查询控制任务报警任务……电话查询控制任务启动任务19///******************任务优先级定义***************///#definePhone_Prio7#defineGSM_Prio6#defineAlarm_Prio5///******************任务堆栈定义***************///#defineSTACKSIZE50OS_STKPhone_Stack[STACKSIZE]={0,};//Phone_Task堆栈OS_STKGSM_Stack[STACKSIZE]={0,};//GSM_Task堆栈OS_STKAlarm_Stack[STACKSIZE]={0,};//Alarm_Task堆栈///******************任务定义***************///20///******************任务定义***************///voidPhone_Task(void*Id);//GSM_TaskvoidGSM_Task(void*Id);//GSM_TaskvoidAlarm_Task(void*Id);//GSM_Task///*****************事件定义*****************///OS_EVENT*E_GSM_Mbox;//申明短信消息事件typedefstructgsm_cmd{//定义命令参数消息结构INT8Uphone_no[14];//手机号码INT8Udev_no;//设备编号INT8Ucmd_type;//instruction命令类型INT8Ucmd_class;//命令种类INT8Udev_status;//设备状态}*GSM_CMD;21structGSM_CMDGSM_Command;//定义命令短信消息//OSMboxPend(E_GSM_Mbox,0,&err);//OSMboxPost(E_GSM_Mbox,GSM_Command);OS_EVENT*E_PConnect_Sem;//申明电话连接消息事件//OSSemPend(E_PConnect_Sem,0,&err);//OSSemPost(E_PConnect_Sem);OS_EVENT*E_PRead_MBox;//申明电话按键读取消息事件INT8U*PRead_Message;//定义电话按键读取消息//OSMboxPend(E_PRead_MBox,0,&err);//OSMboxPost(E_PRead_MBox,PRead_Message);typedefstructgsm_msg{//定义短信消息结构INT8Uphone_no[14];//短信手机号码INT8Umsg_time[20];//短消息发送时间INT8*msg_data;//短消息内容}*GSM_MSG;22voidmain(){ARMTargetInit();//开发板初始化OSInit();//操作系统初始化……//其他初始化操作OSTaskCreate(Phone_Task,(void*)0,(OS_STK*)&Phone_Stack,Phone_Prio);//创建电话监控任务OSTaskCreate(GSM_Task,(void*)0,(OS_STK*)&GSM_Stack,GSM_Prio);//创建短信监控任务OSTaskCreate(Alarm_Task,(void*)0,(OS_STK*)&Alarm_Stack,Alarm_Prio);//创建报警任务……//创建其他任务InitRtc();//初始化系统时钟E_GSM_Mbox=OSMboxCreate(GSM_Command);E_PConnect_Sem=OSSemCreate(1);E_PRead_Mbox=OSMboxCreate(PRead_Message);OSStart();//操作系统任务调度开始return0;}238.3.2报警任务系统报警任务功能是指系统定时查询各个设备的状态,并与设定的报警值进行比较,如果超出设定值则通过通信模块进行报警。开始读取各个设备状态
本文标题:家庭安防远程监控系统设计
链接地址:https://www.777doc.com/doc-5662530 .html