基于CAN总线智能建筑监控系统的通信协议设计
时间:12-08
来源:互联网
点击:
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总线的智能建筑监控系统的通信协议。协议具有实现简单、通用性强、可靠性高,便于扩展等优点,通过验证,该协议有效地解决了智能建筑监控系统多节点通信过程中的仲裁问题。
在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总线的智能建筑监控系统的通信协议。协议具有实现简单、通用性强、可靠性高,便于扩展等优点,通过验证,该协议有效地解决了智能建筑监控系统多节点通信过程中的仲裁问题。
总线 CAN总线 收发器 三极管 电路 传感器 单片机 相关文章:
- 热插拔和缓冲I2C总线 (04-14)
- PCIe总线何时突破Unix服务器坚冰(02-03)
- TMS320VC5402 HPI接口与PCI总线接口设计(04-12)
- 基于Nios II的I2C总线接口的实现(04-09)
- 双口RAM CY7C026在高速数据采集系统中的应用(04-12)
- 计算机在新型多电机同步系统中的应用(07-08)