还有64K字节的EPROM

 定制案例     |      2018-01-10 21:36

  毕业辽宁工程技术大学,工学学士学位,建筑智能化行业5年从业经验,现任陕西山利公司售前工程师。小区安防监控的设计主要从小区周界、主次出入口、主干道、停车场、单元楼出入口、电梯厅、自行车集中停放区、监控中心、设备房、广场等公共区域进行考虑。由于每个项目的特殊性,再加上相关行业标准、地方标准,建议考虑思路如下:

  a展开全部随着生活水平的不断提高,人们对居住环境的要求也大大提高,对信息服务和安全防范的要求尤为突出。如何利用计算机和通信技术在智能化小区家庭智能管理系统中,对住户家庭水表、电表、煤气表的自动计量以及火灾、煤气泄漏、入室盗窃等警情的实时监控已经成为信息产业的热点技术.利用CAN总线技术虽然有其开放式、数字化、多点通信等诸多优点,但将其用于智能住宅小区,却因其成本偏高,目前在我国还难以推广。为此,作者开发出一种设备简单,成本低廉,便于维护经济型智能小区家庭管理系统,能有效地实现三表自动采集计费,防盗、防灾、自动报警和远程监控等功能.利用单片机进行实时采集,并将采集的数据通过串行口传给PC机,PC机完成数据的运算、存储、和打印。硬件通过PIC16FXX单片机实现,软件由VC++6.0实现。系统结构

  系统是由一台PC机(上位机)和多台PIC单片机(下位机,作为终端控制器)构成分布式控制系统,PC机COM口带多个终端控制器,终端控制器地址设为1-N。PC机采用巡查工作方式自动查询小区内所有终端控制器的报警状态,及时对各种报警信号做出响应,并通过有效手段(语音提示、电子地图标识等)向监控中心工作人员提供报警业主家庭有关地址、电话等详细信息,以便及时处理;同时通过抄表工作方式完成自动抄表以及报表输出等任务.终端控制器采集用户煤气表、电表、水表脉冲数据,实现3表自动计数;

  同时采集现场的防盗、防灾等信息,有意外事件发生时可自动启动报警器报警.PC机与终端控制器采用总线式网络结构相连,采用RS-485接口总线接口总线利用平衡发送和差分接收方式实现通信,以半双工工作方式工作,最大传输距离可达1200m,波特率在1200和38400b/s间可设置,RS485网络采用一对有补偿的双绞线。

  终端控制器采用PIC16FXX单片机,片中串行口加MAX487转换器,选用在多点总线传输线中双向数据通信应用网络广泛使用的MAX487收发器,其特点是具有限斜率的驱动器,即驱动器发送数字信号,其沿边斜率是受限制的,这使电磁干扰(EMI)减至最小,并减少因电缆终端不匹配而产生的影响.接口接线简单,维护方便,保证了抄表的可靠性和监控的实时性.

  每个家庭安装的终端控制器是以单片机PIC16FXX为核心的数据采集和处理装置,电路结构如图2所示.PIC16FXX单片机是由美国Microchip公司推出的一种新型的CMOS工艺的8位单片机,具有别具特色的哈佛总线和RISC结构,以及PIC16FXX的程序存储器为电可擦除闪速存储器(flash),可修改程序,甚至可在线片内数据存储器除RAM外,还有64K字节的EPROM,可以当作一般的或非易失性数据存储器使用,简单方便,它还具有片内上电复位,延时电路,看门狗电路等。终端控制器就是由PIC16FXX单片机扩展了8路信号输入通道,通信接口电路,键盘,看门狗电路,LCD显示器和EEPROM24C16等.

  为了简化硬件结构,将三表设计成脉冲表,报警探头为脉冲输出,从而避免了在控制器主板上使用A/D转换接口.本系统对表脉冲安排4路输入通道,利用单片机PIC16FXX的PORTA端口输入,表脉冲和报警脉冲信号分别通过斯密特触发器波形整形和74LS244缓冲器进入CPU,在一定的采样周期内,CPU轮流查询用户表和报警的输入端口状态,并进行数据分析处理,存到EEPROM24C16相应的存储区,等待中央计算机的查询和抄写.

  再安排4路输入通道用于对设防、撤防、解警和求助操作的遥控处理.串行接口器件LCD液晶显示器可显示表数据和有关报警状态等信息,所采用的液晶显示模块,内置显示RAM和驱动控制器,通过4线,用以存储用户各表的数据信息、报警状态信息和采集监控终端地址以及有关初始化信息.每个用户的采集监控终端设置不同的地址,从而保证采集数据的正确无误.

  主机向单个单片机传数据时,首先,上位机顺次发送起始标志位,目的地址位,数据,生成检验位,结束标志位,上位机发送后每个下位机都产生中断把上位机数据包都接收下来,当接收到结束标志字符时,表示接受到一帧完整的数据包,然后对数据解包,把接收到的目的地和本机地址进行比较,如果不是则马上跳出中断服务程序,相同的话则表示要和本下位机进行通讯。

  被轮询的单片机如果没有信息要上报给上位机的话就给上位机发送无上报要求的指令,上位机接受到此指令后便轮询下一地址的分机;若分机有数据需上报便回发一个有上报要求给主机,主机收到后便等待分机上报数据,有上报数据的分机组织好数据后上报给主机,然后等待主机的接收应答。主机收到分机上报的数据后进行检查,若正确接收发正确接收应答,否则发错误接收应答。当接收错误后,主机等待分机再次上报数据,分机收到接收错误应答后再次发送数据。

  上位机的软件是基于VC++6.0实现的,其中的重点和难点是进行实时的串行通讯。应用VC++编写串行通信程序,通常可归纳为如下四种方法:一是利用WindowsAPI通信函数;二是使用Microsoft提供的MicrosoftCommunicationsControl控件(简称MSComm);三是利用第三方编写的通信类(如MuMegaTechnologies公司提供的Cserial类);四是在VC++中用端口操作指令直接对串行端口编程,实现串行通信。本系统中采用的是MSComm控件,它是通过串行端口发送和接收数据,为应用程序提供串行通信功能,使用非常方便。