基于CAN总线智能建筑监控系统的通信协议设计

发布者:科技先锋最新更新时间:2010-09-18 来源: 电子科技关键字:智能建筑  CAN总线  通信协议  标识符 手机看文章 扫描二维码
随时随地手机看文章

  现代智能建筑监控系统广泛采用了现场总线技术。现场总线的种类目前有40多种,但适合智能建筑且在我国推广的主要有两种:CAN(Control Area Network)总线和Lonworks总线。CAN总线技术以其可靠性高,结构简单,传输距离长和成本低而具有巨大的应用潜力。

  控制局域网CAN是现场总线技术中最成熟、最有发展前途的微处理器局域网络。协议采用总线型拓扑结构,通过研究CAN2.0B协议规范,制定了符合智能建筑监控系统的通信协议,并进行了通信节点软件的设计。

  1 基于CAN总线的智能建筑网络拓扑结构

  CAN总线的智能建筑监控系统拓扑结构,如图1所示。该系统由3部分组成:上位机、CAN通信节点和各个现场智能设备组成。通信节点的数量可根据建筑物的规模增减,CAN总线作为通信网络将各个节点连接成一个分布式智能监控系统。

CAN总线的智能建筑监控系统拓扑结构

  (1)上位机:由计算机和监控软件组成,对整个智能建筑监控系统的管理和控制,是整个系统的中心。

  (2)CAN通信节点:各通信节点功能相同,主要完成把现场设备采集到的实时数据发送到CAN总线上,接收CAN总线发送来的控制信息。CAN通信节点的硬件由微处理器、CAN控制器SJAl000、CAN收发器PCA82C250组成。

  (3)现场智能设备:由微处理器、和现场功能装置等组成。完成检测、报警、控制、显示等功能。智能建筑监控系统现场设备由照明、空调、电梯、安全监控、消防监控、给排水,配电等组成。

  2 CAN总线通信协议的硬件基础

  CAN总线协议描述了信息在设备之间的传递规则,它对层的定义与开放系统互连模型OSI一致,CAN被分为应用层、数据链路层和物理层3层,各层之间互相透明,每一层只与另一设备上相同的那一层通讯,实际的通讯是发生在每一设备上相邻的两层之间,而各个设备只通过物理层的通信介质连接在一起。

  CAN总线规范定义了模型的最下面的两层:物理层和数据链路层。CAN总线驱动器和通信介质则实现了物理层的主要功能。CAN总线控制器实现了总线协议中规定的数据链路层的传输任务。常用的CAN总线驱动器有PHILIPS公司的PCA82C250,总线控制器是SJAl000,通信介质是双绞线或同轴电缆。

  2.1 总线驱动器PCA82C250的工作原理

  PCA82C250是CAN总线控制器与物理导线之间的接口,该驱动器可以提供对总线的差动发送和接收功能。PCA82C250的驱动部分由1 个PNP的极管和1个NPN的三极管组成。这2个三极管根据TXD的信号导通或截止。当TXD=0时,2个三极管处于导通状态时,总线上显示为显性电平。当TXD=1时,2个三极管处于截止状态,总线上显示为隐性电平,此时驱动器对总线的影响很小。因此,如果存在其他节点发送显性电平,则总线的电平状态就是显性,只有所有的驱动器都发送隐性电平,总线的电平状态才是隐性。实现了CAN总线物理层的线与功能。PCA82C250功能图,如图2所示。

PCA82C250功能图

  2.2 基于线与功能多节点仲裁过程

  通信节点访问总线,对总线上信号进行检测,只有当总线处于空闲状态时,才允许发送。当总线上有多个节点同时进行发送时,必须通过“无损的逐位仲裁”方法来使有最高优先权的报文优先发送。在CAN总线上发送的每一条报文都具有惟一的11位或29位ID。CAN总线的状态取决于二进制数‘O’而不是 ‘1’,所以ID号越小,该报文拥有越高的优先权。因此一个为全‘0’标志符的报文具有总线上的最高级优先权。多节点仲裁过程如图3所示。

多节点仲裁过程

  2.3 CAN控制器SJAl000的功能介绍

  CAN的通信协议由CAN控制器完成,CAN控制器由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。

  SJAl000是PHILIPS公司推出的一种高性能的CAN总线控制器,它不仅和PCA82C200的基本CAN模式(BasieCAN)兼容,而且还增强CAN模式 (PeliCAN),这种模式支持CAN2.0B协议。SJAl000以一块可编程芯片上的逻辑电路的组合来实现这些功能,提供了与模块控制器及微控制器的接口,通过对它的编程,CPU可设置它的工作方式,控制它的工作状态,与CAN驱动器PCA82C250进行数据的接收和发送。

  3 CAN的帧结构

  CAN协议规定了两种不同的帧格式,不同之处为标识符的长度不同,具有11位标识符的帧称之为标准帧,具有29位标识符的帧被称为扩展帧。

  3.1 CAN帧类型

  报文传输由以下4个不同的帧类型所表示和控制

  (1)数据帧:携带数据从发送器至接收器。

  (2)远程帧:由节点发送,请求发送具有相同标识符的数据帧。

  (3)错误帧:由任何节点发出,检测到错误就发出错误帧。

   (4)过载帧:用于提供先前和后续数据帧或远程帧之间的附加延时。

  3.2 CAN扩展帧的数据帧结构

  扩展帧的数据帧结构,如图4所示。

 扩展帧的数据帧结构

  扩展帧的数据帧的主要结构有:

  (1)帧起始,标志帧的开始,它由单个“显性”位构成,在总线空闲时发送,在总线上产生同步作用。

  (2)仲裁域,仲裁域包括29位标识符、SRR位、IDE位、RTR位。29位标识符包括11位基本ID、18位扩展ID。基本ID按ID- 28到ID-18的顺序发送,扩展ID按ID-17到ID-0的顺序发送。基本ID首先发送,其次是SRR位和IDE位。扩展ID的发送位于IDE位之后。SRR是“隐性”位。IDE位在标准格式里为“显性”,在扩展格式里为“隐性”。RTR位在数据帧里必为“显性”,而在远程帧里必为“隐性”。标识符用于提供关于传送报文和总线访问的优先权信息,其数值越小,表示优先权越高,发生冲突时优先发送。

  (3)控制域,由6位构成,前2位为保留位,为“显性”。后4位为数据长度码(DLC),表示数据域中数据的字节数,必须在0~8范围内变化。

  (4)数据域,由被发送的数据组成,字节数为控制域中决定的0~8 bit,第一个字节的最高位首先被发送。

  (5)CRC域,包括CRC(循环冗余码校验)序列(15位)和CRC界定符(1个“隐性”位),用于帧校验。

  (6)应答域,由应答间隙和应答界定符组成,共2位。

  (7)帧结束,由7位隐性位组成,此期间无位填充。

  4 通讯协议的制定

  在CAN的协议规范,规定了数据链路层和物理层,没有规定应用层。所以用户在设计通讯软件时,必须首先设计合适的CAN总线通讯协议,才能完成数据准确可靠的传输。基于研究CAN2.OB规范的基础上,采用自定义协议的方法,制定了智能建筑监控系统的通信协议。通讯协议的制定主要包括以下3个步骤。

[page]

  4.1 CAN总线网络中信息传输类型

  智能建筑中信息传输类型主要有以下几种:

  (1)紧急信息,用以传输重要信息,优先级最高,如报警信息。

  (2)广播信息,向总线上挂接的所有节点发送的信息。

  (3)命令信息,控制节点向执行节点发送的信息。

  (4)状态信息,执行节点接收到命令执行后,向控制节点反馈的信息。

  (5)数据信息,负责采集数据的节点发送的信息,如传感器采集到的信息。

  4.2 根据标识符的分配方案确定各节点优先级

  标识符的分配方案首先满足节点以及报文信息对优先级的要求,同时利用标识符空问加载有关信息,减少在数据域内占用的空间。本系统采用有29位标识符的扩展帧格式,具体分配如下:

  (1)信息类型标识符(ID.28~ID.23),000001—紧急信息,000010—广播信息,000011—命令信息,000100—状态信息,000101—数据信息。

  (2)节点地址标识符(ID.22~ID.15),0000000l—上位机节点,00000010—安全监控节点,00000100—消防监控节点,0000010l—配电节点,00000111—给排水节点,00001000—电梯节点,00001001—照明节点,00001010—空调节点。

  (3)报文功能标识符(ID.14~ID.08),如果一个节点发送多帧报文,在报文信息类型相同的情况下,可以用报文功能标识符来区分报文的优先级。

  (4)现场装置地址标识符(ID.07~ID.00)。

  4.3 组织各帧报文

  明确各节点发送的报文,对系统中各类控制信号和数据进行分类,填充各报文的数据域。

  5 通信协议的软件实现

  通信协议的软件设计由3部分组成:CAN控制器的初始化、数据的发送和接收程序,其流程图如图5,图6和图7所示。

CAN控制器的初始化

数据的发送和接收程序

 数据的发送和接收程序

   5.1 通信节点的初始化

  初始化程序通过对CAN控制器SJAl000中的寄存器写入控制字,确定CAN控制器的工作方式,包括模式寄存器的设置、接收滤波方式设置、接收屏蔽寄存器和接收代码寄存器的设置、波特率参数和中断允许寄存器的设置等,完成初始化设置后,SJAl000进行正常的通信。

   5.2 数据发送程序

  发送数据前,采用查询方式先查看发送缓冲器状态,满足要求再把要发送的数据按照特定格式组合成一帧报文,送入SJAl000发送缓冲区,然后启动SJAl000发送命令。

  5.3 数据接收程序

  接收数据采用中断方式,主程序中应开放接受中断,单片机响应接收中断后读出CAN控制器中SJAl000的接收缓冲区数据并保存,再清SJAl000的接收缓存器。

  6 结束语

  通过研究CAN2.0B协议规范,对报文格式的分析和标识符的分配,设计出了基于CAN总线的智能建筑监控系统的通信协议。协议具有实现简单、通用性强、可靠性高,便于扩展等优点,通过验证,该协议有效地解决了智能建筑监控系统多节点通信过程中的仲裁问题。

关键字:智能建筑  CAN总线  通信协议  标识符 引用地址:基于CAN总线智能建筑监控系统的通信协议设计

上一篇:采用Profibus-DP实现控制系统通信的方法
下一篇:基于CPCI总线的多网口卡设计

推荐阅读最新更新时间:2024-03-30 21:32

三大总线之CAN总线
产生与发展  1. CAN总线的产生与发展   控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。   随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。   分散式工业控制系统就是为适应这
[嵌入式]
为何车载空调压缩机CAN总线通讯需要采用隔离方案?
炎炎夏日,车内空调系统的稳定可靠运行显得尤为重要。本文将为您介绍如何通过总线隔离避免因通信不畅引起的车载空调故障。 为什么要用隔离 从能源种类来看,目前公路上的车型主要可以分为两类,一类是使用传统汽油、柴油作为燃料的车辆,另一类是使用电池的新能源车。这两类车型的车载空调系统有什么区别呢?传统的燃油车辆,空调压缩机是由发动机直接将动能传递给空调压缩机,而新能源车的空调压缩机则是由车内的电池驱动的。 图1 动力电池 将新能源汽车的动力电池驱动压缩机需要几个步骤,首先要将直流电转化为交流电(逆变),然后调整交流电频率使其能稳定驱动压缩机中的电机,该部分的功能部件在车辆中以空调驱动单元存在。说到高压、逆变、变频、
[汽车电子]
为何车载空调压缩机<font color='red'>CAN总线</font>通讯需要采用隔离方案?
基于CAN总线的电工实验指导系统设计
引 言 在生产现场控制系统中,智能设备与常规电气设备的安装、调试与维护需要相当数量的电气技术人员,如何高效、批量、规范地培养高级电气操作人员是教仪厂商急需解决的问题。它要求设备具备 通信 功能,让教师能掌握训练过程的动态指标,从而了解学员的实际实验情况,可对实验过程进行控制,实现分类指导。 本文通过对CAN( 控制器局域网 )协议及其应用的研究,利用CAN通信控制器、CAN收发器以及增强型微控制器等元器件,研制并开发一种基于CAN总线的应用系统--电工实验指导系统,在电工实验室开出网络化实验教学课程,从而改变常规教学方法的不足,让学生更加自主、灵活地完成其实验任务,并可根据自己的情况进行扩展实验,为建立开放性实验实训设施基地打下良
[单片机]
基于<font color='red'>CAN总线</font>的电工实验指导系统设计
基于ARM的CAN总线电缆沟道监测系统的设计
1 引言 城市高低压输电电缆人地率已成为城市管理水平的标志之一。城市输配电电缆近年正逐渐从架空线改为电力电缆,电缆沟道作为电缆线路的通道,其建设速度逐年加快,建设里程逐年递增,以后更会大规模展开。 研制一套电缆沟道检测系统,采用现代化的设备和手段对电缆沟道环境和电缆运行状态进行实时传输,全程监测,状态显示,临界报警,预测提示,事件分析统计等,通过此设备使电缆沟道的管理由人工周期巡检,事后补救式转变为全程实时监测、人工周期维护和事件应急反应处理相结合的管理模式。将事故隐患消除在萌芽状态,防患于未然,降低事故发生率和人员成本,提高供电质量,增加经济效益。这里基于LPC2292控制器和CAN现场总线技术,考虑经济、实用因素,提出
[单片机]
基于ARM的<font color='red'>CAN总线</font>电缆沟道监测系统的设计
STM8学习笔记---串口通信中如何自己定义通信协议
在单片机刚开始学习的时候,串口通信是经常要用到的,但是实际产品中串口通信是需要通信协议的。好多人不明白为什么要用通信协议,如何定义通信协议,带通信协议的程序要怎么写。今天就来说一下如何串口通信协议是如何定义出来的。 先看一段最简单的串口程序。 void Uart1_Init( unsigned int baudrate ) { unsigned int baud; baud = 16000000 / baudrate; Uart1_IO_Init(); //IO口初始化 UART1_CR1 = 0; UART1_CR2 = 0; UART1_CR3 = 0; UART1_BRR2 = ( uns
[单片机]
基于CAN总线的电动车控制系统设计
当前全球汽车工业面临金融危机和能源环境问题的巨大挑战,实现汽车能源动力系统的电气化,已经成为汽车产业的趋势。提高电动汽车上的各个控制单元间通信的可靠性和实现高传输速率,选择CAN总线协议。CAN总线为多主工作方式,网络上任何节点均可在任意时刻向其他节点发送信息。它采用非破坏性的基于优先权的总线仲裁技术,可靠性高。CAN总线通信距离长达10 km,通信速率最高可达1 Mb/s。CAN通信系统抗干扰性好,工作稳定。某个节点出现故障,不会导致整个系统通信的不正常。由于采用短帧的报文结构,数据传输时间短,具有很强的抗干扰性,具有高效的非破坏总线仲裁,出错检测和故障自动关闭等优点。 1 控制系统整体结构     电动车控制系统由电池管理、充
[工业控制]
基于CAN总线的电梯外呼系统方案设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。 电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过CAN总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。 AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI- SC结构,具有
[嵌入式]
汽车CAN总线系统的挑战与设计
CAN总线技术已在汽车上广泛应用,随着新能源车型以及自动驾驶技术的推广,总线问题也对汽车的安全带来风险挑战,本文从系统角度对CAN总线的电气、EMC、硬件以及软件等相关设计进行梳理,结合现有总线系统设计经验进行分析与总结。 01、汽车总线技术发展与挑战 汽车CAN总线技术起源于BOSCH公司,为了解决当时汽车电控模块增多带来的布线空间矛盾、信号抗干扰能力差、汽车重量增加等诸多问题而诞生的。CAN总线实现了总线上的信息共享,大大减少了汽车的线束,见图1所示。 图1 汽车CAN系统结构示意图 随着汽车电控模块对高速率通信的需求日益增加,高性能通信系统必须缩短耗时的任务,BOSCH联合其他专家合作开发
[汽车电子]
汽车<font color='red'>CAN总线</font>系统的挑战与设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved