论文部分内容阅读
摘 要:分布式控制系统是现代控制系统的新方向,而通信系统是分布式控制的关键。在电器电磁干扰、震动干扰的环境下,分布式控制系统的稳定性可能受到一定程度的影响。CAN总线是实现分布式控制的总线,优点众多。而通信系统需要满足分布式控制系统实时性的要求,所以了解CAN总线相关分析方法十分重要。本文分析了CAN总线技术协议,对混合调度算法进行了说明,并对调度通信在CAN总线中的应用进行了研究。
关键词:CAN总线技术;调度通信;混合调度算法
中图分类号:TP273.5 文献标识码:A 文章编号:1004-7344(2018)35-0252-01
引 言
通信系统是分布式控制的关键,分布式控制可以使系统接线更为简单,减少电缆的使用量,也可以简化节点的设计,具有显著的优势。同时,分布式控制也提高了系统的处理能力,可以提高节点冗余度。分布式控制需要的现场总线技术的支持,这其中就包括了CAN总线。
CAN是德国公司开发的用于解决汽车数据交换的通信协议,最终成为国际标准,并且在制造业、通信业得到了广泛地应用。在部分欧美国家,CAN总线协议已经成为部分产业的标准总线。
1 CAN总线协议分析
1.1 CAN总线的物理层
虽然CAN总线的物理层在最初并未被定义,但是仍有研究者使用部分技术规范对CAN总线的物理层进行定义。部分学者使用高宽带对单位双线差分信号结构进行了定义;部分学者将其与低宽带的应用相结合我,定义了低速的双线差分信号结构。隐性与显性是物理层的基本状态,前者可视为二进制的1,后者可视为二进制的0。当两个节点同时传输相反的值,则显性值会被全部节点读到,这一情况可以被应用于系统访问控制中。
1.2 CAN总线的数据链层
首先是数据帧,CAN总线的数据需要借助数据帧实现传输,数据帧主要由帧起始、控制场、数据场等组成。其中,仲裁场包括远程发送请求位、标识符位,标准格式的数据帧的标识符长度为11位,ID10为最高权重位,ID0为最低权重位。同时该协议还规定前7位最高权重位必须有均为显性信号;远程发送请求位主要用于对数据帧与远程帧的区分中。控制段主要有扩展标识符位、数据长度编码位以及保留位。其次,错误帧。错误帧主要由错误界定符与错误标志叠加组成。之后是远程帧。在远程帧中,RTR无数据场,这一情况与数据帧差异显著,并且远程帧的数据长度码可以为0~8的任何数值。
2 混合调度算法
该算法的动态优先级机制是采用了最小松弛优先算法。若需在CAN总线中运用该算法,需要使最小松弛度的报文具有最高的优先级。在CAN总线的数据帧中,通过在在标识符中添加节点的编号区分信息的来源,使不需要的信息可以被剔除,并且全部节点的标识符具有唯一性。标识符还应该包括每个节点需要传输的报文的名称,进而区分报文的来源。报文的松弛度会影响当前报文的优先级,而后者是实时报文优先级域的反映。报文的松弛度、节点的调度以及基于优先级的调度是选择最低松弛度调度算法的重要参考,这是因为松弛度越小的报文二进制数越小。最低松弛度调度机制的时间临界点与实时应用存在着紧密的联系,如果CAN总线系统中最低松弛度调度机制的时间界限小于节点的松弛度的值,则其会通过相同的优先级竞争。在CAN总线系统中,全部的硬实时报文必须可被预知,进而保证系统在任何状态下都可以实现报文的实时传输。在这一过程中,技术人员必须对报文的传输时间段进行划分,必须将错误重传而产生的时间延迟考虑在内,从而确保报文的实时性。在硬实时报文的调度通信中,需要考虑到系统时钟偏差的影响。因此,所有节点的时间参考必须一致,防止时间域之间的相互影响。在总线调度中,时钟的精度越高,则相邻的时间域之间的间隙就会越小。定义报文n的有效截止期为dn,从而利用保留时间域,并利用最低松弛度调度算法对报文的松弛度加以计算。在这一基础上,硬实时报文可以在发送过程中拥有最高的总线访问权。
3 调度通信在CAN总线中的应用
报文的接收主要是利用微控制器进行,按照实时性的要求,本文采用中断方式。第一步:独立CAN控制器接收报文后,对报文进行过滤,通过的报文存入接收缓冲区中。第二步:待到报文进入缓冲区,独立CAN控制器接收中断。第三步:微控制器对报文的信息进行读取,读取中存入存储器,直到读取完毕。第四步:释放接收缓中区。CAN总线中断处理的程序为:第一步:倘若发生中断,判断中断产生的原因,如果是错误引发的中断,则进行错误处理。第二步:在排除错误引发的中断后进一步分析中断产生的原因,判断中断原因是否为数据溢出,如果是则使用溢出指示子程序进行处理。第三步:在错误、数据溢出被排除后,判断发送问题是否是造成中断的原因,若是,则进入发送子程序处理。第四步:判断是否为接受的问题导致的接收中断,若不是,则中断返回。
优先级待分配的报文参数为:信息A:8字节、周期2.0ms、截止期限2.0ms;信息B:8字节、周期3.0ms、截止期限3.0ms;信息C8字节、周期3.5ms;截止期限3.5ms;CAN总线采用标准帧格式。将信息A、B、C绑定在不同的节点上,分别记为节点1、2、3。之后将这个表中的数据分配优先级,报文A、B、C分配的优先级分别为1、2、3。报文C的实际响应时间分别为2.50ms、4.70ms、2.30ms、3.50ms。可见,优先级分配算法的适用条件较为苛刻。
在智能楼宇、智能小区等应用领域,控制采集系统多采用工业PC,直接使用串口转换器插到PC的串口就可接入仪表。大部分国产组态软件都支持百特仪表的通讯协议,数据采集难度较小。
4 结 语
现代工业对控制网络的实时性要求较高,CAN总线是实现分布式控制的总线,本文分析了CAN總线技术协议,对调度通信在CAN总线中的应用进行了研究。本文分析了CAN总线的物理层与数据链层,通过实验验证优先级分配算法的适用条件,并研究了可容许错误数最大化、可容许网络延时的最小松弛优先算法,对报文进行了有效的调度,进而确保报文的实时性。
参考文献
[1]余松科,刘武周,方 方,周 伟.两级CAN总线网络数据通信调度研究[J].成都大学学报(自然科学版),2017(2):179~182.
[2]陈 真,王锁平,梁慧娟.CAN总线通信在全电子计算机联锁系统中的应用[J].铁路通信信号工程技术,2016,13(6):20~22.
[3]常维江.CAN总线技术在配电网数据通信中的应用[J].商品与质量,2016(45):87.
收稿日期:2018-11-6
关键词:CAN总线技术;调度通信;混合调度算法
中图分类号:TP273.5 文献标识码:A 文章编号:1004-7344(2018)35-0252-01
引 言
通信系统是分布式控制的关键,分布式控制可以使系统接线更为简单,减少电缆的使用量,也可以简化节点的设计,具有显著的优势。同时,分布式控制也提高了系统的处理能力,可以提高节点冗余度。分布式控制需要的现场总线技术的支持,这其中就包括了CAN总线。
CAN是德国公司开发的用于解决汽车数据交换的通信协议,最终成为国际标准,并且在制造业、通信业得到了广泛地应用。在部分欧美国家,CAN总线协议已经成为部分产业的标准总线。
1 CAN总线协议分析
1.1 CAN总线的物理层
虽然CAN总线的物理层在最初并未被定义,但是仍有研究者使用部分技术规范对CAN总线的物理层进行定义。部分学者使用高宽带对单位双线差分信号结构进行了定义;部分学者将其与低宽带的应用相结合我,定义了低速的双线差分信号结构。隐性与显性是物理层的基本状态,前者可视为二进制的1,后者可视为二进制的0。当两个节点同时传输相反的值,则显性值会被全部节点读到,这一情况可以被应用于系统访问控制中。
1.2 CAN总线的数据链层
首先是数据帧,CAN总线的数据需要借助数据帧实现传输,数据帧主要由帧起始、控制场、数据场等组成。其中,仲裁场包括远程发送请求位、标识符位,标准格式的数据帧的标识符长度为11位,ID10为最高权重位,ID0为最低权重位。同时该协议还规定前7位最高权重位必须有均为显性信号;远程发送请求位主要用于对数据帧与远程帧的区分中。控制段主要有扩展标识符位、数据长度编码位以及保留位。其次,错误帧。错误帧主要由错误界定符与错误标志叠加组成。之后是远程帧。在远程帧中,RTR无数据场,这一情况与数据帧差异显著,并且远程帧的数据长度码可以为0~8的任何数值。
2 混合调度算法
该算法的动态优先级机制是采用了最小松弛优先算法。若需在CAN总线中运用该算法,需要使最小松弛度的报文具有最高的优先级。在CAN总线的数据帧中,通过在在标识符中添加节点的编号区分信息的来源,使不需要的信息可以被剔除,并且全部节点的标识符具有唯一性。标识符还应该包括每个节点需要传输的报文的名称,进而区分报文的来源。报文的松弛度会影响当前报文的优先级,而后者是实时报文优先级域的反映。报文的松弛度、节点的调度以及基于优先级的调度是选择最低松弛度调度算法的重要参考,这是因为松弛度越小的报文二进制数越小。最低松弛度调度机制的时间临界点与实时应用存在着紧密的联系,如果CAN总线系统中最低松弛度调度机制的时间界限小于节点的松弛度的值,则其会通过相同的优先级竞争。在CAN总线系统中,全部的硬实时报文必须可被预知,进而保证系统在任何状态下都可以实现报文的实时传输。在这一过程中,技术人员必须对报文的传输时间段进行划分,必须将错误重传而产生的时间延迟考虑在内,从而确保报文的实时性。在硬实时报文的调度通信中,需要考虑到系统时钟偏差的影响。因此,所有节点的时间参考必须一致,防止时间域之间的相互影响。在总线调度中,时钟的精度越高,则相邻的时间域之间的间隙就会越小。定义报文n的有效截止期为dn,从而利用保留时间域,并利用最低松弛度调度算法对报文的松弛度加以计算。在这一基础上,硬实时报文可以在发送过程中拥有最高的总线访问权。
3 调度通信在CAN总线中的应用
报文的接收主要是利用微控制器进行,按照实时性的要求,本文采用中断方式。第一步:独立CAN控制器接收报文后,对报文进行过滤,通过的报文存入接收缓冲区中。第二步:待到报文进入缓冲区,独立CAN控制器接收中断。第三步:微控制器对报文的信息进行读取,读取中存入存储器,直到读取完毕。第四步:释放接收缓中区。CAN总线中断处理的程序为:第一步:倘若发生中断,判断中断产生的原因,如果是错误引发的中断,则进行错误处理。第二步:在排除错误引发的中断后进一步分析中断产生的原因,判断中断原因是否为数据溢出,如果是则使用溢出指示子程序进行处理。第三步:在错误、数据溢出被排除后,判断发送问题是否是造成中断的原因,若是,则进入发送子程序处理。第四步:判断是否为接受的问题导致的接收中断,若不是,则中断返回。
优先级待分配的报文参数为:信息A:8字节、周期2.0ms、截止期限2.0ms;信息B:8字节、周期3.0ms、截止期限3.0ms;信息C8字节、周期3.5ms;截止期限3.5ms;CAN总线采用标准帧格式。将信息A、B、C绑定在不同的节点上,分别记为节点1、2、3。之后将这个表中的数据分配优先级,报文A、B、C分配的优先级分别为1、2、3。报文C的实际响应时间分别为2.50ms、4.70ms、2.30ms、3.50ms。可见,优先级分配算法的适用条件较为苛刻。
在智能楼宇、智能小区等应用领域,控制采集系统多采用工业PC,直接使用串口转换器插到PC的串口就可接入仪表。大部分国产组态软件都支持百特仪表的通讯协议,数据采集难度较小。
4 结 语
现代工业对控制网络的实时性要求较高,CAN总线是实现分布式控制的总线,本文分析了CAN總线技术协议,对调度通信在CAN总线中的应用进行了研究。本文分析了CAN总线的物理层与数据链层,通过实验验证优先级分配算法的适用条件,并研究了可容许错误数最大化、可容许网络延时的最小松弛优先算法,对报文进行了有效的调度,进而确保报文的实时性。
参考文献
[1]余松科,刘武周,方 方,周 伟.两级CAN总线网络数据通信调度研究[J].成都大学学报(自然科学版),2017(2):179~182.
[2]陈 真,王锁平,梁慧娟.CAN总线通信在全电子计算机联锁系统中的应用[J].铁路通信信号工程技术,2016,13(6):20~22.
[3]常维江.CAN总线技术在配电网数据通信中的应用[J].商品与质量,2016(45):87.
收稿日期:2018-11-6