作者采用神经元芯片Neuron 3150并配合W77E58单片机系列开发了低成本的图像采集节点,并能通过上位机向用户发送手机短信,有效地弥补了现在的智能住宅的不足。
1 系统结构
本系统是智能家庭系统中的子系统,主要实现的是:当有人进入该区域时则立即进行图像采集,通过各个模块进行处理后经LON总线送入上位机并通知用户,该系统属于家庭安全防范中的一部分。由于本文的需要,只设置了1个节点(也可以有多个节点)。设计中采用通用的LonWorks节点模块,以神经元芯片Neuron3150作为主控制端,W77E58单片机作为受控端进行图像采集处理。其系统总体框图如图1所示。
图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主从处理器的连接框图
2.4 Neuron 3150芯片收发器
收发器是智能节点与LON网之间的接口,是通信电路的核心。双绞线收发器是最通用的收发器类型。本设计采用变压器耦合型收发器FTT-10A。神经元芯片收发器的电路图如图3所示。另外,还有晶振电路、复位电路和Service电路等。晶振电路为Neuron 3150芯片提供工作时钟。复位电路用于在智能节点上电时产生复位操作。
图3 Neuron芯片收发器连接图
2.5 Neuron芯片与PC机的连接
Neuron芯片与PC机通过双绞线连接。主机是1台PC机,通过PCLTA可以自由地在Lon Works上进行网络通信。PCLTA(PC Lon Talk Adapter)是一个网络适配器,在驱动程序的作用下,主机通过PCLTA上网,充当上位机的角色,它是Lon Works网络的一个特殊节点,其作用是:与神经元芯片进行通信及与外界进行通信(包括手机)。
3 软件设计
单片机与Neuron 3150芯片之间的通信流程图如图4所示。
图4 单片机与 3150芯片通信流程图
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的主要代码(部分)如下:
<%< p="">