微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CAN总线智能窗户系统的设计实现

基于CAN总线智能窗户系统的设计实现

时间:11-02 来源:互联网 点击:

摘 要: 本系统基于CAN总线,以单片机P8XC592和总线收发器PCA82C250为主体组成通信控制模块。各个控制模块为一个节点,每个节点可以独立进行操作,同时受到总台的监控。节点和总台PC机相连接组成一个控制器局域网。由于CAN总线具有较高的可靠性,实时性以及灵活性,所以运用CAN总线进行控制可以灵活地运用于智能窗户系统的开发中。
关键词:CAN总线 智能窗户 智能家居

1引言

在我国现有的市场里,智能窗户作为智能家居的一部分,它主要围绕着单个家庭进行开发。但随着人们对智能家居的要求越来越高,就在群控性,远程监控性,实时性等方面提出了更高的要求。在这样的前提下,引出了新的课题。结合CAN总线的数据通信技术具有突出的可靠性,实时性和灵活性的优点,把CAN总线技术运用于该系统中,达到在控制每个单独的窗户的同时,监控所有窗户的运行情况的目的。

2 系统结构设计

2.1 系统总体结构

CAN总线遵循ISO/OSI标准模型,分为数据链接层(包括逻辑链路控制子层LLC和媒体访问控制子层MAC)以及物理层。其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的帧处理,包括位填充用户可在其基础上开发适应系统实际需要的应用层通信协议。

与一般的通信总线相比,CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块编码,报文标识符可达2032中(CAN2.0A),而扩展标准(CAN2.0B)的标识符几乎不受限制,还可使不同的节点同时收到相同的数据。所以本系统可以由多个独立的窗户为基本单元,这些单元与上位计算机通过CAN现场总线组成了监控网络,从而实现群控的功能。

如下图1所示。从中我们可以看出,本系统被分为三层:

(1)现场设备层:有一个雨水传感器以及多个窗户节点组成的,这些输入输出设备作为CAN的I/O点接入现场总线。窗户节点N的个数是由选取的总线驱动电路决定的。

(2)设备控制层:CAN控制器P8xC592以及CAN收发器PCA83C250,这是CAN总线控制的核心部分,CAN控制器实现通信及节点控制的功能;CAN收发器起到节点与总线之间通信的功能。

(3)管理监控层:作为控制系统的人机交互接口,通过上位PC机实现对整个系统的监视控制作用。

图 1系统硬件结构图

2.2系统的硬件选取

在本系统中,总线控制器和收发器分别采用Philip公司的P8xC592和PCA83C250。P8xC592单片机是用COMS工艺制造的具有CAN功能的8位单片机其指令集与80C51完全兼容,这样就有利于编程。PCA83C250是CAN控制器与物理总线的接口,可以提供对总线的差动发送和接收功能。在此特别注意 P8xC592单片机是一种集成CAN控制器的高性能微处理器,所以在该系统中,P8xC592不仅仅要与CAN相连接,同时还要对各个窗户子系统进行控制。

同时传输介质只要使用双铰线,在短距离(40m)条件下就具有高速(1Mbit/s)数据传输能力,而在最大距离10000m时具有低速(5kbits/s)传输能力。而主控制器采用的是性价比高,结构简单,便于编程的89S51单片机,主要用于对CAN控制器P8xC592及其串口RS232初始化,并通过对CAN控制器8xC592及其串口RS232的控制操作实现现场CAN总线与管理层PC机的数据交换等通信任务。

3 用户通信协议设计

3.1 通信协议

这里采用的是CAN2.0A标准,该协议最大的优点是废除了传统的站地址编码,因此CAN没有节点地址的概念,代之以通信数据块进行编码,支持以数据为中心的通信模式.当窗户节点不同时,只需要在总线上增减控制器的节点数,并对相应的数据帧进行适当的修改. CAN上的节点数主要取决于总线驱动线路,当采用PCA82C250时,最多可达110个。

3.2 数据帧

数据帧如图2所示,包括七个部分:帧起始,仲裁场,控制场,数据场,CRC序列,ACK场,帧结束.仲裁场包括有报文标识符(11位)和远程发送申请位(RTR);控制场由六位组成,如图3所示,后四位位数据长度码,代表数据场字节数,这里设为02H;传输信号每一帧数据长度为16位,高字节用D8到D15八位编码表示节点在大楼的位置,低字节设为控制字,控制字各位均为高电平有效。如下图4所示,例如:数据场为0801H,表示8号窗户节点要求托管;0802H表示8号窗户节点处于开启状态,0804H表示8号窗户处于关闭状态,0808H表示8号窗户要执行开窗指令,080F H表示8号窗户要执行关窗指令。对于上位机和下层的各个节点来说,它们需要发送的数据帧信息是不同的。

图 4 数据场组成

3.3 多主广播方式

总线空闲时,任意节点均可发送数据,其它节点都可接收总线上的数据,CAN只需通过报文滤波就可以实现点对点,一点对多点及全局广播等传收方式,无须专门调度。这里用接受码寄存器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top