本文通过一个具体的实例,介绍了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="
各项均不能为空!"
′短消息的长度不能超过140个字符
if len(message)>140 then errmsg=errmsg+"
内容超长,请查检!"
′更新信息发送数据表
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=Zrr034&spnum=33343457&cp_id=wise
6733333000&cp_pass=wtiaw6&ip=211.1.607.105")
response.write "您的消息已经成功发出,谢谢!"
%>
此代码由神经元芯片将指令传送到VB程序后由PC机自动发出。
本文所设计的基于Lon Works技术的图像采集系统是智能家庭的一部分,其创新点是:利用LON网络,把图像采集与Neuron芯片集于一体,并通过PC机能向手机发送短信告知。管理者可以从任何有网络的地方来监视自己的家庭情况,即使主人不在也可以通过该装置以短信的方式向主人发出来访者信息,极大地提高了家庭的安全性。
上一篇:基于LPC2378的IAP功能实现配变监测终端程序远程更新的解决方案
下一篇:MathWorks扩大对TI C2000 Piccolo微处理器的支持