主页(http://www.pttcn.net):基于单片机与Lonworks的--可视对讲系统 随着智能化住宅小区的出现,传统的门铃已经远不能适应现代的家庭。人们希望通过一种新的方式来了解来客情况,同时确保自身的安全性,减少不必要的麻烦。因此各式各样的门铃悄然走进千家万户。从简单的叫门工具,到多功能、综合型电器,使用者的标准越来越高,对讲系统已成为现代多功能、高效率现代化住宅的重要保障。随之而生的楼宇对讲系统,也随着城市住宅小区的建设和发展,不断地推陈出新。从最初的普通单元门对讲,到可视单元门对讲,发展到联网管理,智能楼宇对讲系统已成为一种兼容性强大的综合系统。可以说,智能楼宇对讲系统不仅仅是方便住户和访客的电控门系统,也是小区物业管理和安防管理必不可少的有效手段,是现代化住宅小区必不可少的设施。 1、Lonworks总线技术 一般的可视对讲系统大多由单片机与RS-485总线构成,虽然成本低,但受到RS-485总线的限制,在无中继的情况下,通信距离不能太远,通信速率也不能太高,而采用中继则会提高成本,增大设计开发和施工维护的难度。如果采用单纯的Lonworks总线,又会降低网络对其他总线设备的兼容性,增加开发成本和设计困难。笔者采用基于单片机与Lonworks的可视对讲技术,不仅可以克服以上缺点,而且能更好地发挥二者的优势。整个系统由门口单元主机和户内可视分机组成,在网络上视其为不同的通信节点。在普通的通信网络中,节点对节点的访问所采用的协议是不同的,而对于Lonworks网络中设备的通信,则只需要采用一种称为LonTalk的网络标准语言实现。LonTalk协议由各种允许网络上不同设备彼此间智能通信的底层协议组成。 LonTalk协议又称为ANSI/EIA709.1控制网络标准,它提供了一系列通信服务,使得设备中的应用程序能够在网络上同其他设备发送和接收报文,而无需知道网络的拓扑结构或者网络的名称、地址,或其他设备的功能。LonTalk协议能够有选择地提供端到端的报文确认、报文证实和优先级发送,以提供规定受限制的事务处理次数。对网络管理服务的支持使得远程网络管理工具能够通过网络和其他设备相互作用,这包括网络地址和参数的重新配置、下载应用程序、报告网络问题和启动/停止/复位设备的应用程序。Lonworks系统可以在任何物理媒介上通信,这包括电力线、双绞线、无线(RF)、红外(IR)、同轴电缆和光纤。 同时,LonTalk支持在通信介质上的硬件碰撞检测,LonTalk可以自动地将正在发生碰撞的报文取消,重新再发。如果没有碰撞检测,当碰撞发生时,只有得到响应或应答时才会重发报文。Lonworks采用的是优先级带预测的p一坚持CSMA算法来实现碰撞检测。实验表明,36个节点互联,采用普通p一坚持算法,当每秒要传输的报文达500~1000包时,碰撞率由10%上升到54%;而采用预测p-坚持CSMA算法在500包以下时碰撞率很低,在500~1000包时,碰撞率稳定在10%。在网络的MAC层中,为提高紧急事件的响应时间,必须提供一个可选择的优先级机制,允许用户为每个需要优先级的节点分配一个特定的优先级时间片(priorityslot)。在发送过程中,优先级数据报文将在该时间片内被发送,优先级时间片可分为0~127之间的任意登记,低优先级的节点需要等待的时间较长。这个时间片加在p一概率时间片之前(即节点的随机等待时间之前),非优先级节点必须等优先级时间片完成后,再等待P-概率时间片后发送,这样,加入优先级的节点具有更快的相应时间,从而也更能提高网络的利用率。 在智能小区的设计中,采用Lonworks总线可以将众多的控制线路和通信线路集成到廉价的双绞线之上,既节约了开发和施工成本,也方便了网络的规划和管理。 2、系统结构设计 对于整个园区,采用星型分级网络;对于较大型的小区通信系统,可以采用域的管理方式。园区网络结构如图1所示。
所有节点由AT89S52单片机系统和神经元芯片TMPN3150B1AF构成核心模块,加上FTT一10A收发器和相应的外围电路构成。神经元芯片有11个I/O口,可由软件灵活配置34种不同接口,单片机较强的实时控制能力保证了数据间传输的实时性。整个系统由多个子网络构成,子网络与子网络通过Lonworks路由器进行扩张。各节点通过Lonworks总线进行网络通信,相互之间以双绞线相连,通信速率为78kb/s,可视对讲系统的视音频模拟信号通过视音频总线传输。该方案采用2级总线设计,实现在同一系统中同时进行多个通话的功能。同时,设置网络数据管理机和数据服务器,实现实时控制网络与计算机网络的信息共享。 3、节点硬件设计 节点硬件设计是通过单片机和Lonworks联合控制来实现的。节点硬件原理图如图2所示。 (1)CPU。节点的CPU采用工业级AT89S52和NeuronChip家族的TMPN3150B1AF,3150芯片不带程序存储空间,因而需要外接外部RAM,存放包括LonTalk协议、NeuronC库函数和任务调度程序的系统映象,存放包括NeuronC编译器产生的用户应用程序代码和其他特定应用参数的应用映象。3150芯片有11个应用I/O引脚,这些引脚可以各种方式配置并提供具有最小外扩电路的灵活I/O功能,可通过软件设置成34种可选的工作方式。在本系统中,将其设置成方式2,即位输出(bitoutput),用以控制继电器构成的视音频切换器。 (2)收发器。选用Echelon公司的FTT-10A,通信速率为78kb/s,带有变压器隔离耦合和一个曼切斯特编码器,支持多种网络拓扑结构。 (3)程序存储器。选用Winbond公司的W27C512—45,可以很方便地利用LonMaker来直接下载应用映象,其大容量也为将来的功能扩展提供了便利。 由于采用了单片机与Lonworks技术相结合的办法,不仅兼容了户内传统的监控设备,同时也提高了网络的通信效率和传输速率,简化了整个系统,减少了硬件出错的可能性,提高了系统的可靠性,大大减轻了硬件设计的工作量。 在工作流程上,一方面当户内发生异常情况,如产生超过正常浓度的烟雾以及门窗被非正常开启等,经监控设备所采集的相应监控信号将送入户内可视分机,经51芯片判断处理后送交神经元芯片,经过收发器送上Lonworks网络,并传输到管理中心进行相应的显示和报警,从而方便小区管理人员及时采取应对措施;另一方面有访客通过单元主机向户内发送请求,则启动主机上CCD摄像头,并使相应的视频切换继电器吸合,将访客影像实时传送到户内可视分机的显示器上,方便户主辨别。当户主开启与门口主机相连的电磁锁时,切断视频连接,释放线路资源以便于其他访客使用。 $Page_Split$ 4、节点软件设计 4.1Lonworks部分 Neuron芯片的编程语言为NeuronC,它是从ANSIC派生出来的,并对ANSIC进行了删减和增补。例如,NeuronC由事件的发生来驱动任务的执行;Neuron的芯片提供了毫秒和秒这2种类型的软件计时器。 主程序流程如图3所示。它主要完成的任务如下:首先对I/O对象和软件计时器的定义以及设置变量初始值,判断是否有“开锁”信号,并启动计时器开始计时,计时器终止时,Neuron芯片接受新的定时任务。 神经元芯片(neuronchip)是Lonworks技术的核心所在,它是一个带有多个处理器、读写/只读存储器(RAM/ROM)以及通信和I/O接口的单芯片系统。只读存储器包含一个操作系统、LonTalk协议和I/O功能库。NeuronC是一种基于ANSIC并为神经元芯片设计的一种编程语言,它对ANSIC进行了扩展以直接支持Neuron芯片的固件例程。NeuronC语言包括一个内部多任务调度程序、一个Run—Time函数库,采用的是事件驱动编程结构。整个接点的软件功能都是由若干个事件驱动完成。 对于单个节点,软件设计包括初始化,读取输入数据,更新网络变量,定时控制和执行输出控制操作等任务。 而对于园区网络,则将总线控制权交由管理中心掌握,其他节点如有总线占用需求,需要向管理中心发出请求,等待管理中心发出请求响应命令;而当节点总线访问程序结束后,管理中心会发出释放总线命令,终止节点对总线占用,以方便其他节点对总线的访问。 4.2单片机部分 单片机部分CPU采用ATMEL公司生产的工业级AT89S52芯片,这种芯片是AT89C51的工业版本,具有抗干扰能力强和价格低廉的特点。单片机系统软件需要实现的基本功能如下: (1)待机功能。平时(无控制操作时),户内可视分机和单元主机均处于待机状态,射频模块、单元主机摄像头以及户内可视分机显示屏电源均处于关闭状态。 (2)监控信号采集功能。户内可视分机不仅是连接单元主机的节点,更是户内各监控点信号采集的中心,当门磁、窗磁、户内红外、烟感以及紧急信号被发出时,都将首先送到户内可视分机,由AT89S52进行判断和初步处理,然后转交TMPN3150B1AF芯片送上Lonworks通信网络,传送到管理中心进行显示和处理。 (3)开锁功能。通过户内可视分机,可以控制打开安装于单元门上并与单元主机相连的电磁锁。控制软件由汇编语言编写,分户内可视分机和单元主机两部分,由系统不同状态的处理和切换组成。 5结论 采用基于单片机与Lonworks技术的可视监控系统,不仅不用单独为Lonworks网络设计专用的监控设备,而且提高了通信网络的使用率,简化了网络设计,减少了开发和生产成本,使可视化监控更加人性化。 (中国集群通信网 | 责任编辑:陈晓亮) |