当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:从研究CAN2.OB总线规范入手,介绍了CAN总线规范的硬件基础,分析了CAN总线报文格式,通过对报文标识符的分配,设计了应用于该系统的通信协议,并给出了软件设计流程,较好地解决了智能建筑监控系统通信过程中

摘要:从研究CAN2.OB总线规范入手,介绍了CAN总线规范的硬件基础,分析了CAN总线报文格式,通过对报文标识符的分配,设计了应用于该系统的通信协议,并给出了软件设计流程,较好地解决了智能建筑监控系统通信过程中的仲裁问题。
关键词:智能建筑;CAN总线;通信协议;标识符

    现代智能建筑监控系统广泛采用了现场总线技术。现场总线的种类目前有40多种,但适合智能建筑且在我国推广的主要有两种:CAN(Control Area Network)总线和Lonworks总线。CAN总线技术以其可靠性高,结构简单,传输距离长和成本低而具有巨大的应用潜力。
    控制局域网CAN是现场总线技术中最成熟、最有发展前途的微处理器局域网络。协议采用总线型拓扑结构,通过研究CAN2.0B协议规范,制定了符合智能建筑监控系统的通信协议,并进行了通信节点软件的设计。

1 基于CAN总线的智能建筑网络拓扑结构
    CAN总线的智能建筑监控系统拓扑结构,如图1所示。该系统由3部分组成:上位机、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所示。


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个步骤。
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所示。

 


5.1 通信节点的初始化
    初始化程序通过对CAN控制器SJAl000中的寄存器写入控制字,确定CAN控制器的工作方式,包括模式寄存器的设置、接收滤波方式设置、接收屏蔽寄存器和接收代码寄存器的设置、波特率参数和中断允许寄存器的设置等,完成初始化设置后,SJAl000进行正常的通信。
5.2 数据发送程序
    发送数据前,采用查询方式先查看发送缓冲器状态,满足要求再把要发送的数据按照特定格式组合成一帧报文,送入SJAl000发送缓冲区,然后启动SJAl000发送命令。
5.3 数据接收程序
    接收数据采用中断方式,主程序中应开放接受中断,单片机响应接收中断后读出CAN控制器中SJAl000的接收缓冲区数据并保存,再清SJAl000的接收缓存器。

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ST4E1240 是意法半导体新系列收发器芯片的首款产品,为现代高性能工业应用提供强大而可靠的 RS-485信号传输解决方案。新收发器支持的数据速率远高于原有的RS-485 标准,可以延长电缆长度实现多点连接,总线上的收...

关键字: 工业自动化 智能建筑 机器人

随着电子技术的飞速发展,串行RapidIO(SRIO)作为一种高效、灵活的通信协议,在嵌入式系统、数据中心和通信网络中得到了广泛应用。SRIO 2.0作为SRIO协议的新一代标准,对阻抗要求有着更为严格的规定。本文详细论...

关键字: 串行RapidIO 通信协议 通信网络

网络通信协议是一种网络通用语言,为连接不同操作系统和不同硬件体系结构的互联网络提供通信支持,是一种网络通用语言。常见的网络通信协议有TCP/IP协议、IPX/SPX协议、NetBEUI协议等。

关键字: 通信协议 TCP/IP

单片机通信协议是指单片机之间进行数据传输时所遵循的规则和标准。常见的单片机通信协议包括UART、SPI、I2C、CAN和Modbus等。这些协议各有特点,适用于不同的应用场景。

关键字: 单片机 通信协议

物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。

关键字: 物联网 通信协议 互联网

船载通信系统是现代船舶中不可或缺的重要组成部分,它为船舶提供了与外界通信和数据传输的渠道。船载通信系统行业设计方案涵盖了多个方面,包括系统架构、硬件设备、软件系统、通信协议等。本文将详细介绍船载通信系统的行业设计方案。

关键字: 船载通信 数据传输 通信协议

SPI,Serial Peripheral Interface,串行外围设备接口,是一种同步通信协议,通常用于芯片间进行数据交互。

关键字: SPI 通信协议 外围设备

RS-485是一种常用的数据通信协议,广泛应用于工业控制系统、楼宇自动化、安防系统等领域。在某些应用中,为了防止电气噪声干扰或电气冲击,需要对RS-485接口进行隔离。

关键字: RS485 通信协议 工业控制

目前,智能家居领域使用了多种通信协议,如主流的NB-IoT、ZigBee、Z-Wave、WiFi、蓝牙等。 我们在选择智能家居设备时,应该如何选择通讯协议呢?

关键字: 智能家居 通信协议 NB-IoT

物联网终端的种类非常多,包括物联网网关、通信模块以及大量的行业终端,其中尤以行业终端的种类最为丰富。

关键字: 物联网 通信协议 网关
关闭
关闭