基于CAN总线的大型虚拟树网络设计*

2022-09-01 12:33
关键词:树状通信地址通信协议

覃 喜

(广西交通职业技术学院,广西南宁 530023)

0 引言

控制器局域网(Controller Area Network,CAN)是一种具备低成本、高可靠(误码率为4.7×10-11)、长距离(在5 kbit/s时通信距离可达10 km)、强抗干扰、能实时传输等特点并被广泛应用于工业控制、医疗电子、家用电器、传感器,以及安全防护等诸多领域的网络总线。

CAN总线虽然拥有诸多优点,但由于受其硬件电气特征的限制,且CAN总线本身缺少逻辑上的层级概念,因此往往难以直接构建大型、复杂的通信网络。事实上,当前基于CAN总线的主要通信协议,大多只能直接构建不超过256个甚至不超过64个节点的小型网络。虽然理论上可以将多个小型网络及协议组合拼接成一个大型网络,但这需要掌握并维护多个网络协议,或需要开发不同网络间的转换协议,这势必会增加开发和维护成本,同时降低网络的通信效率和灵活性。以上各种原因,使得直接基于CAN总线和现有通信协议构建大型通信网络变得更复杂,难度也更高。

CAN总线理论上可以同时挂接的节点数量,几乎没有限制,其本身具备直接构建大型网络的潜质。基于这一前提并结合CAN总线本身的诸多优点,本文提出并设计实现一种基于CAN总线的千节点级大型虚拟树网络及其通信协议,可以搭建多达1576个节点数量的大型网络,满足大型分布式设备控制系统、大型分布式数据采集系统,以及二者相结合的大型分布式综合测控系统的设计需要。

1 系统结构

图1所示为基于CAN总线的四层级大型树状网络的拓扑结构。它由根级、一级、二级和叶级四个层级组成。其中,根级有一个节点,称为根节点;根节点有1~7个直系子节点,称为一级节点;每个一级节点又有1~7个直系子节点,称为二级节点;而每个二级节点,又有1~31个直系子节点,称为叶级节点。由此可见,该树状网络的最大节点容量为:1个根节点,1×7=7个一级节点,7×7=49个二级节点,以及7×7×31=1519 个叶级节点,共计1+7+49+1519=1576个节点。

图1 大型树状网络的拓扑结构

在该大型树状网络中,通过对各层级进行编层并对各节点进行编号的方式,能够识别各层级和各节点的唯一性。其中,叶级不需要编层,而根级、一级和二级均使用位宽为2的二进制数nn进行编层,分别为01、10和11;根节点不需要编号,而一级、二级和叶级节点则分别使用位宽为3、6和11的二进制数xxx、xxx-yyy和xxx-yyy-zzzzz进行编号,分别为 001~111、xxx-001~xxx-111 和 xxxyyy-00001~xxx-yyy-11111;其中 ,xxx=000、yyy=000、zzzzz=00000的编号用于多播、广播通信,其余编号用于单播通信。

图1所示的大型树状网络,被设计为虚拟的树状网络。它仅要求网络的物理通信链路在逻辑上是树状结构的,而不要求网络的各物理节点也连接成树状结构。换言之,只要网络的物理通信链路在逻辑上能够形成图1所示的树状结构,就可以依照图1所示的层编码和节点编号规则,将网络映射为图1所示的虚拟树网络。虚拟化设计大大增强了树状网络的物理连接灵活性,使得该网络至少能够支持如下四种典型物理连接。

(1)节点并联方式。如图2所示,当网络的节点较少,不超过CAN收发器电气特征所能连接的数量上限时,可以将所有的CAN节点直接并接在同一条CAN总线上,然后通过图1所示的层编码和节点编号规则,将网络映射为图1所示的虚拟树网络。

图2 节点直联的虚拟树网络

(2)总线级联方式。如图3所示,当网络的节点较多,超过CAN收发器电气特征所能连接的数量上限时,也可将各CAN节点连接成多条CAN总线,并通过中继器及其透明转发功能,将各CAN 总线级联成一条逻辑上的虚拟CAN总线,然后将虚拟CAN总线按照图2所示的方法进一步映射为图1所示的虚拟树网络。

图3 节点直联的虚拟树网络

(3)树状连接方式。当网络的节点数量进一步增加时,为了避免过多的中继级联而导致网络的通信产生太大的延迟,可以直接将所有的CAN节点在物理上连接成如图1所示的虚拟树网络。

(4)复合连接方式。如果有必要,也可灵活组合前三种连接方式来构建图1所示的虚拟树网络,或将虚拟树网络中的某些节点合并为同一个物理节点,以减少某些非必要的物理节点和中继器,从而节约硬件成本和提升网络通信效率。这时,合并后的物理节点应同时实现合并前的各节点的功能。

2 通信协议

图1所示的大型虚拟树网络主要用于分布式测控系统,其信息流被设计为仅能在不同层级的直系节点间纵向传播。这使得通信双方能充分利用通信节点在虚拟树网络中的位置信息来减少地址冗余,从而有效缩短通信地址的位宽。最终,虚拟树网络仅使用13位通信地址(不含方向码),就能支持1576个节点的任意两个层级的任意两个直系节点间的双向单播通信,下行多播和广播通信,以及其他特殊通信。

虚拟树网络应为每个节点设置恰当的报文接收和转发规则,使每个节点都能够接收以自己为宿地址的通信数据,同时接收并无条件转发那些以自己为中继节点的通信数据。这样设置后,虚拟树网络只需正确配置各节点的通信地址,就能够实现任意直系节点间的纵向通信。进一步为每个节点分配独立地址和恰当的共用地址,可使某些报文只能被特定的某个节点接收,而使另一些报文只能被特定的某些节点接收,从而在虚拟树网络中实现单播、多播和广播通信链路。

完整的单播、多播和广播通信地址分配方案如表1所示(按照仲裁优先级从高至低排列,并假设xxx ≠000,yyy≠ 000,zzzzz ≠ 00000)。表1中的单播、多播和广播通信地址的具体实现,是弹性的、可剪裁的。实际的虚拟树网络,可根据需要,仅实现表中的部分或全部单播、多播和广播通信地址。

表1 大型虚拟树网络的单播、多播和广播通信地址分配方案(不含方向码)

3 数据传输格式的制定

为充分提高大型虚拟树网络的通信效率和灵活性,虚拟树网络将底层CAN通信协议的29位标识符定义为表2所示格式。该格式将单播通信的方向码与优先级码融合为2位特征码,节约了仲裁标识符位。同时,考虑到CAN总线在仲裁时0比1优先,特规定:对于数据采集系统,上行报文的优先级为01,下行为10;对于设备控制系统,下行报文的优先级为01,上行为10;而对于测控相结合的综合系统,则根据数据流的特征综合考虑后设置。

表2 大型虚拟树网络底层CAN通信的29位仲裁标识符分配方案

4 楼宇综合控制系统应用示例

某高校有一栋5层高的教学楼,每层有14个房间单元(10个教室、4个办公室、2个公共卫生间)。每个教室有13个开关需要控制(8个照明灯开关、2个空调开关、1个投影仪开关、1个总控开关,以及1个走廊灯开关),每个办公室有7个开关需要控制(4个照明灯开关,1个空调开关,1个总控开关,以及1个走廊灯开关),每个公共卫生间有2个开关需要控制(1个照明灯开关,1个走廊灯开关)。

本文的大型CAN虚拟树网络,可以轻松构建该教学楼的综合控制系统,实现对该教学所有开关的可靠、精细和灵活控制。

(1)系统的节点拓扑。

该教学楼控制系统省略了根节点,使用1个一级节点作为教学楼节点,5个二级节点作为各楼层节点,每个分节点使用14个子节点作为房间节点,并规定:各楼层节点的1~10号、11~14号、15~16号子节点,分别用作该楼层教室、办公室、公共卫生间等空间的子节点,控制系统节点拓扑如图4所示。

图4 某教学楼综合控制系统节点拓扑

(2)节点地址分配。

根据教学楼的设备控制需求,从表1中选出表3所示的地址分配方案。在该方案中,每个房间节点都分配有6个下行通信地址,分别用于接收房间所在楼层节点和教学楼节点的下行单播和广播报文。

表3 教学楼综合控制系统的单播和广播通信地址分配方案(不含方向码)

(3)开关的分配方案。

每个房间节点连接并控制若干个开关。为了便于批量控制,规定:各房间节点的0~7号、8~9号、10~11号、12号、13号开关,分别控制该房间的照明灯、走廊灯、空调、投影仪、总闸。若某房间没有相应设备(例如公共卫生间没有投影仪),则对相应编号的开关进行虚拟控制。

(4)开关的控制策略。

教学楼节点和楼层节点都可以向直系房间节点发送携带指令的单播或广播报文,从而单独或批量控制目标房间节点的特定开关;当然,各房间节点也能够直接控制本房间节点的开关。例如,在教学楼节点下行发送宿地址为10 001 100 00000,指令为“断开8~9号开关”的报文,就可以批量关闭4楼的所有走廊灯;而在教学楼节点下行发送宿地址为10 001 000 00000,指令为“断开1~7和10~13号开关”的报文,则可以关闭整个教学楼除走廊灯之外的所有设备的电源。

5 结语

CAN总线具备低成本、高可靠(误码率4.7×10-11)、长距离(在5 kbit/s时通信距离可达10 km)、强抗干扰、能实时传输等诸多优点,非常适合应用在大型分布式可靠测控领域,发展潜力巨大。本文针对当下CAN总线及其通信协议不容易直接构建大型通信网络的现状,设计了一套可直接基于CAN总线构建大型虚拟树网络的方案,支持灵活的物理连接方式并能实现多达1576个网络节点的组网规模,具备完善、灵活和丰富的单播、多播和广播通信链路,能够有效保障该大型网络的通信效率和灵活性,足以满足大型分布式设备控制系统、大型分布式数据采集系统的数据通信需求,以及二者相结合的大型分布式综合测控系统的设计需要,具有一定的推广价值。

该系统预留了宽度多达12位的指令码设计空间,能够实现丰富的指令功能设计。该系统在完善指令码及上层通信协议的设计后,每个节点将能够支持与管理多达160路设备,使整个网络能够测控的设备规模,多达25万路以上,具有较大的拓展空间。

猜你喜欢
树状通信地址通信协议
稿 约
树状月季的栽培管理及园林应用
村庄
蓬勃能力之树 奠基生命成长
车载网络通信协议标准化问题研究
开心一刻读者评刊表
电动汽车充电接口及通信协议新国标发布
列表画树状图各有所长
树状图为概率题做导航
基于R8C的汽车OBD通用故障诊断仪设计