引言
随着人类社会的进步和科学技术的迅猛发展,特别是4C技术(Computer,Communication, Control和CRT Technology)的发展,人类开始迈入数字化和网络化为平台的智能化社会。信息化社会在改变我们生活方式与工作习惯的同时,也向传统的住宅提出了挑战。智能家居网络系统以4C技术为基础,采用先进、成熟的设备和产品以及先进的管理软件,对整个家居的信息通信、安全防范、报警求助集中于统一的平台上进行管理。它不仅已经成为一个国家经济实力和科学技术的综合标志之一,而且也是人类社会住宅发展的必然趋势。
CAN总线是目前流行的现场总线技术之一,依靠可靠性高、价格低廉的优势,已得到了广泛的应用[1]。CAN总线采取了许多新技术及独特的设计,与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。CAN总线上的节点数主要取决于总线驱动电路,目前可达110个。这个特点正好解决了家庭领域中家用电器种类繁多,分布零散的问题。CAN总线采用节点ID标示每个节点,而不需要专门为每个节点设置地址,这就可以任意添加或删除节点而不用对总线上的其他节点进行任何修改。
1 系统总体设计
本系统在CAN网络的基础上添加智能控制器与Internet的网络接口,从而实现智能家居的远程监控。智能家电远程监控系统如图1所示。
由图1可知系统由三部分组成:CAN网络,智能控制器和Internet。CAN网络就是通过CAN总线把家庭安防、远程抄表、环境调节、娱乐功能和家电控制等节点模块组成家庭局域网,以实现数据和控制信息的快速传输,各个节点模块是由8位MCU+CAN控制器+CAN收发器+相应的传感器/控制器组成,我们把各个节点模块称之为智能节点;智能控制器选用的是Philips公司的内部集成CAN控制器的32位微处理器LPC2294,只需连接CAN收发器即可成为CAN网络的一个节点,这样再通过扩展网络接口就实现了CAN网络与Internet的信息交换,达到远程监控的目的;Internet的发展极大的加快了信息的传递,任何接入互联网的电脑都可以用来监控我们的系统,当然安全性也是我们必须考虑的。
1.1 监控系统的主要功能
监控系统主要完成以下功能:
(1)家庭安防:安全是居民对日常生活的首要要求,安防因此成为远程家庭信息监控系统的首要组成部分,例如:红外报警、门窗磁报警、紧急求助报警、燃气泄漏报警、火灾报警等。当红外报警装置工作时,如果家中有人走动,系统就会自动通过蜂鸣器和语音实现本地报警;同时,报警信息会被及时地传到物业中心或110报警中心,还可以自动拨号到指定的手机或电话上。
(2)远程抄表:水、电、气表的远程自动抄收计费是物业管理的重要部分,实现三表的自动抄表计费,解决了入户抄表的低效率、不安全和对住户造成干扰等因素。
(3)家电控制:通过统一的家电联网接口,将网络家电和远程家庭信息监控系统相连,组成网络家电系统,实现家用电器的远程监控和故障诊断等功能。
(4)环境调节:室内的环境是人们居住首先考虑的因素。环境调节是智能家居的主要组成部分,例如:温度设定,用户可任意设定并写该室内的温度;温度控制,监测当前室内温度值。该值被送给空调机组,其与设定值的差值送给自己的空调末端设备控制节点。
(5)娱乐功能:包括视听娱乐和游戏等,视听娱乐包括州V播放、家庭影院、投影机、电视自动录像等。
2 智能控制器的硬件设计
系统选用功能强大的带有CAN接口的32 位微处理器LPC2294,运行基于特定应用的嵌入式实时操作系统,实现合理的任务调度,满足控制系统对实时性和可靠性的要求。
LPC2294是一款功能强大、超低功耗的具有ARM7TDMI-S 内核的32 bit微处理器[2]。具有2个32bit定时器、4路CAN通道、2个UART、高速IIC接口以及9个外部中断,内部嵌入256KB 高速Flash存储器和16 KB静态RAM, 112个通用I/O口。其内部集成的4路CAN控制器, 符合CAN 规范CAN2. 0B, ISO 1189821标准。
2.1外扩ROM和RAM
1)Flash ROM:虽然LPC2294内部嵌入256KB 高速Flash存储器和16 KB静态RAM,可以满足一般的控制要求。但是我们需要外扩一个容量相对大的FlashROM来保存监测到的历史数据,以便查看和打印。为了满足操作系统及其文件系统的存储要求,系统选用了2M Flash ROM器件SST39V160作为存储介质。
2)EEPROM:LPC2294内部没有集成EEPROM,要将家电设备编号保存下来, 故外扩了容量为1024 Byte的显存。
3)SDRAM:嵌入式操作系统的运行需要动态ARM,而芯片LPC2294内部提供的16K静态RAM主要用来为7种工作模式分配堆栈和临时变量分配空间,需要在外部总线上扩充SDRAM(HY57v641620H)芯片,解压缩后的操作系统将驻留在其内。
2.2键盘和液晶显示
为便于控制新挂接在CAN总线上的家电设备,实时显示家电设备的运行情况,设计了键盘输入与LED显示。为了充分利用LPC2294的I2 C接口,以及减少电路的复杂性,采用了ZLG7290 I2C接口键盘及LED驱动器。ZLG7290的I2 C接口传输速率可达32 kb / s,易与处理器接口,并提供键盘中断信号,提高主处理器工作效率。
按键使用了数字键( 0~9) ,用于输入和修改数字,可连击实现快速输入和修改数字;移位键在修改模式下,用于选择要修改的位;加1键在修改模式下将当前要修改的位进行加1操作(在0~9之间循环) ;模式键实现进入/退出修改模式,不允许连击;确认键在修改模式下将修改好的数据写入EEPROM中。
2.3网络接口
RTL8019AS与以太网的连接由PM34 – 1006M滤波器芯片和RJ45完成[1]。其连接如图2所示。这里采用PM34- 1006M是为了提高网络通信能力。图中TPIN+、TPIN-、TPOUT+和TPOUT-是RTL8019AS芯片输入/输出信号的4个引脚,滤波器右边是以太网RJ45接口,通过标准带RJ45插头的双绞线接入以太网。
3 智能控制器的软件设计
为了便于系统的扩展和升级,同时更好地协调控制系统的稳定性及实时性,系统采用了嵌入式操作系统uClinux进行设计开发。
3.1 嵌入式操作系统uClinux
uClinux是Linux2.0的一个分支,它被设计用于没有MMU的微控制器领域。uClinux的最大特征就是没有MMU(内存管理单元模块),它很适合那些没有MMU的处理器,如ARM7TDMI。uClinux具有完全的TCP/IP协议栈,同时对其他许多的网络协议都提供支持。这些网络协议都在uClinux上得到了很好的实现。
通过使用嵌入式uClinux,它既保存了原先Linux操作系统稳定性、功能强大等优点,又对内核的代码重新编写,减少了内核容量,提高了效率[4]。实时性方面,可以使用进程间通信如管道、消息队列、共享内存等方法将CAN总线的接收中断与应用程序直接关联,加快系统对CAN总线事件的响应速度。进一步可以通过RTLinux和RTAI(Real Time Application Interface)这两种方案增强uClinux的实时性。主要包括:下载uClinux源代码,实现在LPC2294上的移植、编写驱动程序、在uClinux系统下编写应用软件。
3.2 系统软件设计
为了充分利用LPC2294有限的内存资源,应尽量减少任务个数及任务之间的频繁切换,可以将优先级相近且运行周期相近的功能整合到同一任务中。通过实时性分析,结合各功能运行周期的要求,系统分为以下3个任务:
(1)系统监控与报警。此任务保证控制器与CAN总线上的智能家电设备进行实时通信,及时了解总线上家电的运行情况并作相应处理。此任务运行周期为100ms,优先级最高。确保系统运行的可靠性和响应的及时性。
(2)远程通信任务。主要是实现系统信息与TCP/IP数据的转换,以实现家电的远程检测和控制。任务的实时性较高,把其优先级设为次级高。
(3)LED显示任务。主要是显示实时的温度,湿度等室内环境参数和电器设备状态。无实时要求,优先级最低。
4 结论
本系统通过扩展LPC2294芯片,组成了智能控制器,实现了家用电器的集中监测和控制。通过移植嵌入式系统使得系统更加稳定和灵活,与互联网的连接则实现了家庭安防和家电的远程监控。系统达到了集中控制与远程控制的目的。