多CPU单片机系统设计在社区安防系统中的应用
3.利用总线的方法实现CPU之间的通信
随着总线技术的发展,使得多主多从的单片机系统设计变得越来越简单。设计者只须通过接口芯片就可以将CPU挂到总线上去,实现CPU之间的通信,其典型的结构如图4所示。
这种方法具有结构简单、设计灵活、经济实惠的特点。在系统数据量不大,速度要求不是很高的情况下,应该是一种很好的选择方法。值得一提的是,在这种方法中,I2C总线以其结构简单、设计灵活、易于扩展和开发周期短的特点,越来越受到设计者的青睐。尤其目前很多单片机都带有I2C接口,不用接口芯片就中以把CPU直接挂到总线上,使得电路设计更加简单、经济。本文的多CPU系统也是基于I2C总线的一种安防系统。
二、基于多CPU下的社区安防系统的设计方法
1.系统的拓扑结构
系统的拓扑图如图5所示。该系统实际上是一个3级分布式测控系统。第1级由1台安装在社会值班室的PC机组成,是整个系统的核心部分。它主要负责向各家庭数据终端(HDT)发出各种命令,接收返回信息,并进行数据库管理和报表统计等工作。第2级由安装在各家庭的家庭数据终端组成,相当于1个监控节点。它主要负责接收PC机发来的命令和向PC机发送各检测模块的检测信息,并进行显示、报警、存储等信息的处理。第3级由安装在家庭各房间的各种模块组成,包括烟感、红外等报警模块,水表、电表等数字模块和家电控制的控制模块。它主要负责检测和控制各控制对象的状态。
2.家庭数据终端(HDT)的功能
家庭数据终端是安装在家庭内部的1个监控节点,主要执行以下任务:(1)接收PC机发来的命令;(2)信息显示;(3)键盘扫描;(4)声光报警;(5)生成家庭状态字节,并向PC机发送各种状态信息;(6)报警信息储存,即“黑匣子”功能;(7)扫描各传感器模块状态。另外,HDT还应个有可添加扩展模块的功能。这些功能当然可以用1个CPU实现,但将给CPU带来较大的工作量,降低了系统的安全性和可靠性。因此,我们采用多CPU的思想进行系统的设计。
根据HDT的功能特点,将任务分成3个部分,分别由3个CPU来完成。各CPU之间采用I2C总线进行通信,其结构如图6所示。CPU-1专门用于与PC机的通信,包括:(1)接收PC机发来的命令,并传送给其他CPU;(2)生成家庭状态字节,向PC机返回信息;(3)进行声光报警。CPU-2专门用于与第3级各模块的通信,包括:(1)扫描各传感器模块的报警状态,并及时通知其他CPU;(2)接收其他CPU传送过来的命令,对有关控制对象进行操作;(3)向AT24C64中存储报警记录,包括报警类型和报警时间,实现“黑匣子”功能。CPU-3专门用于信息显示和键盘扫描,包括:(1)接收PCF8583的数据,显示时间;(2)接收CPU-2传送来的信息,显示报警类型或故障位置;(3)扫描键盘,并向其他CPU发送命令,完成布防、撤防、修改密码等操作功能。在3个CPU之间,采用I2C总线进行连接;CPU选用Philips公司生产的P87LPC76X芯片。P87LPC76X芯片是一种20脚封装的单片机,适合于许多要求高集成、低成本的场合,具有较高的性能价格比,是Philips小型封装系列中的一员。它在提供很多新特征的同时,提供了I2C总线的通信接口。另外,它还提供了3个寄存器和中断控制位以实现对I2C总线的操作,因此,可以很容易地利用它的I2C接口实现多CPU的设计思想。
结束语
随着单片机技术的迅速发展,封装小、功能强、价格低的单片机越来越多地被开发出来。单片机所执行的功能也会越来越专一,越来越简单。这将为多CPU系统的设计提供一个坚实的基础,
《多CPU单片机系统设计在社区安防系统中的应用(第2页)》