微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Lon Works技术在智能家庭图像采集节点应用

Lon Works技术在智能家庭图像采集节点应用

时间:09-26 来源:互联网 点击:

  本文通过一个具体的实例,介绍了Lon Works技术在智能家庭的具体应用。LON总线是美国ECHELON公司1991推出的为集散式监控系统提供的实现手段,并有一系列完整的开发平台。

  作者采用神经元芯片Neuron 3150并配合W77E58单片机系列开发了低成本的图像采集节点,并能通过上位机向用户发送手机短信,有效地弥补了现在的智能住宅的不足。

1 系统结构

  本系统是智能家庭系统中的子系统,主要实现的是:当有人进入该区域时则立即进行图像采集,通过各个模块进行处理后经LON总线送入上位机并通知用户,该系统属于家庭安全防范中的一部分。由于本文的需要,只设置了1个节点(也可以有多个节点)。设计中采用通用的LonWorks节点模块,以神经元芯片Neuron3150作为主控制端,W77E58单片机作为受控端进行图像采集处理。其系统总体框图如图1所示。

2 硬件设计

2.1 ZM460图像采集模块

  ZM460图像压缩模块采用JPEG压缩技术,是一种内置JPEG压缩功能的数字输出嵌入式摄像设备,图像具有多种分辨率,输出完整的JPEG文件并结合最适应的网络协议,将图像通过RS232/485串口输出图像。由于该智能节点实时性要求不是很高,故本文采用W77E58单片机来控制。

2.2 W77E58单片机芯片

  W77E58单片机芯片是一个快速并与8051单片机兼容的微控制器,它的内核经过重新设计,提高了时钟的速度和存储器访问周期速度,W77E58的指令执行速度是标准8051单片机的1.5~3倍。在相同的吞吐量及低频时钟情况下,电源消耗也比8051单片机低。W77E58内含32 KB Flash EPROM,工作电压为4.5V~5.5V,具有1 KB片上外部存储器,当用户应用时使用片上SRAM,可节省更多IO口。FIFO存储器用作对ZM460图像采集模块所采集的图像数据进行缓存,调节W77E58单片机与ZM460图像采集模块之间速度的差异,从而采集到完整图像。ZM460模块与W77E58单片机之间采用的是RS232接口。

2.3 Neuron 3150芯片

  Neuron 3150芯片是LON总线的核心,内部包括3个微处理器:MAC处理器、网络处理器、应用处理器。Neuron 3150芯片[2]的IO8、IO10通过双排针IO口分别与W77E58单片机的串行通信口RXD、TXD连接。因为神经元Neuron 3150芯片只支持半双工异步通信,所以应用程序处理器在处理其他事件时将不能够再顾及串行输入,有可能发生丢失串口字符的现象。为解决该问题,可以使用硬件握手协议,Neuron 3150芯片的IO0和IO1作为RST、CTS信号,分别与W77E58单片机的P2.4和P2.5引脚相连,为了增强驱动能力,中间再加1个反相器。如图2所示。


2.4 Neuron 3150芯片收发器

  收发器是智能节点与LON网之间的接口,是通信电路的核心。双绞线收发器是最通用的收发器类型。本设计采用变压器耦合型收发器FTT-10A。神经元芯片收发器的电路图如图3所示。另外,还有晶振电路、复位电路和Service电路等。晶振电路为Neuron 3150芯片提供工作时钟。复位电路用于在智能节点上电时产生复位操作。


2.5 Neuron芯片与PC机的连接

  Neuron芯片与PC机通过双绞线连接。主机是1台PC机,通过PCLTA可以自由地在Lon Works上进行网络通信。PCLTA(PC Lon Talk Adapter)是一个网络适配器,在驱动程序的作用下,主机通过PCLTA上网,充当上位机的角色,它是Lon Works网络的一个特殊节点,其作用是:与神经元芯片进行通信及与外界进行通信(包括手机)。

3 软件设计

单片机与Neuron 3150芯片之间的通信流程图如图4所示。


3.1 Neuron 3150芯片程序

  在Neuron 3150芯片中,使用的IO口称为串口(Serial)输入/输出对象。管脚IO8、IO10分别设置为异步串行数据的输入线和输出线。该IO对象类型是用于使用异步串行数据格式传输数据的场合,如RS-232通信。传输格式是:1个开始位、1个数据位、1个停止位。输入串行IO对象将等待被接收的数据帧开始直到接收了202个以上字符所要时间才结束。限于篇幅,只给出下面接收程序:

  //接收程序:
  IO_0 output bit CTS;
  IO_1 input bit RTS;
  IO_10 input serial RXD;
  Network output int fkmingling[b];
  When (io_change(RTS)to 0)
  {
  Unsigned int num;
  Unsigned long sum,getsum;
  IO_out(CTS,1);
  Num=io_in(RXD,inputbuf,7); //串口接收
  }

3.2 上位机系统设计

  上位机采用VB编写接口程序,通过设置控件Link调用ASP内的发送短信的文件,并获取Lon Works网络的节点的变量信息。用ASP+ADO进行收发短信设计,也可以使远程主机通过在浏览器中输入服务器的IP地址来监视Lon Works 设备信息。在发送短信之前先填好要发送的手机号和内容。发送短信ASP的主要代码(部分)如下:

%
′要发送的手机号码、要发送的信息内容预先设置好
SendNumber=request("SenderNumber")
Message=request("message")
if Sendnumber="" or message="" then errmsg="li>
各项均不能为空!"
′短消息的长度不能超过140个字符
if len(message)>140 then errmsg=errmsg+"li>短信
内容超长,请查检!"
′更新信息发送数据表
conn.execute("insert into senddata(mobile,message)
values("+sendnumber+"," +message+ ")")
response.redirect("http: //自己的IP地址
/mt/SendServ-let?dstmobile="+cstr(sendnumber)+"feemobile="+cstr(sendnumber)+"msg="+server.URLEncode(trim(message))+"sv code=Zrr034spnum=33343457cp_id=wise
6733333000cp_pass=wtiaw6ip=211.1.607.105")
  response.write "您的消息已经成功发出,谢谢!"
  %>
  此代码由神经元芯片将指令传送到VB程序后由PC机自动发出。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top