- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于CAN总线智能建筑监控系统的通信协议设计
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 组织各帧报文
明确各节点发送的报文,对系统中各类控制信号和数据进行分类,填充各报文的数据域。
作者:王忠 孙浩钦 易茂祥 来源:电子科技