CAN总线在家庭智能化控制系统中的研究与应用
0 引言
家庭智能控制系统的主要功能集中在家庭安全报警、电话或电脑远程控制、红外遥控、自动抄表控制、灯光和湿度控制等方面。根据智能终端设备传输数据和功能的不同可以把它分成两类子网,一类是传输数据以数据量小、速率低的家庭自动化控制设备;另一类是传输多媒体信息、(视频、音频信号),信号量大、速率快,如视频会议、音频点播等。家庭智能终端设备可以采用总线结构组建成有线子网和无线子网,因各设备分布在家中不同的地方,对于组建成有线子网布线比较复杂,但是如果采用PLC与CAN总线构建成网络,将降低成本。
CAN(Controller Area Network,控制器局域网)是德国Bosch公司在20世纪80年代初为汽车检测控制而开发的一种串行数据通讯协议,它是一种多主机总线,通讯介质可以是双绞线、同轴电缆或光导纤维,通讯速率为1Mb/s。CAN总线具有卓越的性能,极高的可靠性和独特的设计,广泛应用于工业自动化、交通工具、医疗仪器以及建筑、环境控制等众多部门。
1 家庭智能化控制系统的组成
家庭智能化控制系统是电视、洗衣机、空调及水表、电表、燃气表等设备的指挥通信和信息管理的核心,主要功能是与远程控制系统进行数传通信,接收各种控制口令,完成对相应设备的实时控制。
控制系统中凡具有嵌入式微处理器或微计算机的单体均通过CAN总线相互连接。组成分布式局部网,实现数据交换和信息资源共享。这种设计具有以下优点:减少了通信端口、连接电缆;抗干扰能力强;配置灵活、系统扩展和升级方便;调试简单,检修方便。
由CAN总线组成的家庭智能化控制系统原理如图1所示。
2 PLC与CAN总线的连接
现以GE FANUC系列90 PLC为例,给出一个PLC与CAN总线的连接方案。
GE系列90 PLC都带有经转换的RS 232串行通讯口,编程计算机通过此串口与PLC进行通讯和编程。RS 232标准电平采用负逻辑,规定+3~+15V之间的任意电平为逻辑“0”电平,-3~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN _H”和“CAM_L”,静态时均为2.5 V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。
RS 232串口的帧格式为:1位起始位,8位数据位,1位可编程的第9位(此位为发送和接收的地址/数据位),1位停止位。而CAN的数据帧格式为:帧信息+ID+数据(可分为标准帧和扩展帧两种格式)。因此,设计时就需要有一个微控制器来实现电平和帧格式等的转换,其转换方式如图2所示。
用单片机AT89C52作为微处理器;用SJAl000作为CAN微控制器,SJAl000中集成了CAN协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理;高速光电隔离用6N137实现,其作用是防止串入信号干扰;MAX232用来完成RS 232电平到微控制器接口芯片TTL电平的转换。具体的硬件接口电路参见SJAl000的资料,但有以下几点需要注意:
(1)CAN总线两端接有一个120 Ω的电阻,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠性。但实际上只需保证CAN网络中“CAN_H”和“CAN_L”之间的跨接电阻为60 Ω即可。
(2)SJAl000的20引脚RXl在不使用时可接地,配合CDR.6的置位可使总线长度大大增加。
(3)引脚TX0,TXl的接法决定了串行输出的电平。具体关系可参考输出控制寄存器OCR的设置。
(4)AT82C250的RS引脚与地间接有1个斜率电阻。电阻大小可根据总线通信速度作适当调整,一般在16~140 kΩ之间。
(5)MAX232外围需要4个电解电容C1,C2,C3,C4,这些电容也是内部电源转换所需电容,其取值均为1μF/25 V,宜选用钽电容并且位置应用量靠近芯片,电源Vcc和地之间要接1个0.1μF的去耦电容。
在微处理控制下,RS 232和CAN进行数据交换时,采用串口接收和CAN中断方式可提高工作效率。SJAl000的初始化在复位模式下才可以进行,主要包括工作方式的设置、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。其主程序流程图如图3所示。
数据能否准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍CAN波特率的设置、串口波特率的自动检测、串口数据流量控制。
CAN协议中的要素之一是波特率。可以设置位周期中的位采样点位置和采样次数,以使可以自由地优化应用网络性能,但在优化过程中,要注意位定时参数基准参考振荡器的容差和系统中不同信号传播延迟之间的关系。
系统的位速率fbit表示每单位时间传输数据位的量,即波特率fbit=1/tbit。额定的位
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)
- 采用CAN总线实现DSP芯片程序的受控加载(11-08)
- 基于DSP的电动汽车CAN总线通讯技术设计(10-08)
- 基于DSP的CANopen通讯协议的实现(01-18)