[关闭]
@wuqi0616 2017-02-19T08:14:44.000000Z 字数 6305 阅读 851

Delay Modeling and Controller Design for NCS

The University of Toronto
Jimmy   Kin Cheong  So
Professor Raymond H.Kwong
2003

硕士论文

摘要重点

NCS是一个反馈控制系统,它通过实时网络实现闭环控制。这类系统的 优点再于安装成本较低,增加了灵活性并且适合快速安装场合。然而,这里讨论的系统延时是NCS的普遍问题,它的存在很可能会破坏闭环系统的稳定性。
在这篇文章的第一部分对3种常见的网络环境下的控制应用的时延进行了建模:分别是Controller Area Network(CAN总线);Process Field Bus(Profibus);fully-switched Ethernet
这篇文章的第二部分分别提供了控制系统在固定时延和随机时延下的控制策略:固定时延的系统可以通过修改Smith predictor实现控制;随机时延的系统可以通过dynamic controller进行控制


1 介绍内容重点

典型NCS的结构框架如下图所示:
typical NCS setup and information
1957年,O.J.M.Smith 针对单输入单输出系统(SISO)提出了一种控制方案,在闭环控制时延问题上该方案具有提升潜能。Smith predictor内部不稳定性导致其无法稳定不确定系统。后人改进之后,Smith predictor现在已经可以保证固定时延系统的稳定性,然而Smith Predictor不适用在随机时延下观测它所有的内部状态和对它进行稳定性分析。
在2000年,Lin Xiao,Arash Hassibi,and Jonathan为随机时延下的系统提出了一种控制器设计方案。该控制器可以使得闭环系统的转移概率矩阵[1]均方稳定。但这种动态控制器不适合固定时延系统。
每种控制器设计对不同时延类型下的系统都有其各自的优点,针对不同的网络 选择合适的控制器设计策略以达到该种设计策略的优点的目的是很重要的。
不同网络有不同的可靠性:错误检测和纠错。可靠性问题取决于系统想要提供的服务的质量。该文在考虑了种种网络控制带来的问题后,分析了3种常见网络在工业控制上的行为(随时间变化)
CAN和Profibus详细的时序分析已经有前人研究了,但是由于没有适当地表征传输误差,他们建立的模型也是不完整的。(传输误差会增加响应时间)
步骤
1、利用时序分析,表征CAN\Profibus\Ethernet延时模型,该模型提供信息(延时范围和延时的随机性)
2、利用模型提供的信息选择控制器设计策略。
3、本文研究两种类型的控制器,这两类控制器都是基于Markov jump system model,可以分别稳定固定时延和随机时延下的系统。
4、实验结果表示:

网络类型 时延类型 控制器类型
CAN和Profibus 固定时延 Smith Predictor
Ethernet 随机时延 dynamic controller

文章结构
第二节提出了CAN的时序分析和协议描述。CAN不考虑消息重发机制,因为CAN的优先级是基于网络的,高优先级的消息重发直接会影响到低优先级的消息响应时间。
第三节提出了Profibus的时序分析和协议描述。前人没有考虑到转移误差所导致的消息重发会在该文中考虑。
第四节提出了Ethernet的协议描述。介绍了传统网络配置并且解释了传统配置不适用于控制应用的原因。
第五节讨论了NCS系统的控制器设计。5.1对系统提出问题和做出假设:输入和输出具有时延。5.3讨论了系统在固定时延下前人研究的modified Smith Predictor。这节最后,以磁悬浮球为例完成了其系统的设计过程。5.5讨论了在随机时延前人研究的控制器设计策略。在这节最后,在磁悬浮球系统系统上证实了该设计过程的实用性。
第六节,总结了CAN\Profibus\Ethernet的主要特征和限制。总计了系统在固定时延和随机时延下的控制器设计。每个控制器的使用要求也会在这节讨论,最后是在这个课题上未来的研究方向。

2 Controller Area Network

1986年德国人Robert Bosch GmbH第一次提出了CAN,是作为通信系统。CAN的提出克服了UART提供的点对点的物理连接通信方式,极大的简化了系统的布线格局。
CAN是串行网络,在单片机之间建立,主要用于嵌入式系统。采用双线、半双工、高速网络系统并且适用于使用短消息的高速应用程序。理论上提供2032个设备连接,但是实际上最大连接节点为110个。高速通信速率高达1Mbits/sec。CAN的误差约束和误差检测功能使CAN比其他网络在噪声严重的环境中更具可靠性。

2.1 CAN协议描述

CAN的误差处理和恢复过程不仅会影响时间的行为还会影响我们针对特殊的应用选择合适网络的决定。

2.1.1 检测方式和辨识

CAN是一个多主网络由许多控制器组成,这些控制器共享不同的控制和任务。主节点可以主动调用从属节点提供主节点需要的数据并且它也可以发送信息到其他节点上。
CAN和Ethernet相似之处
1、CAN节点在传送信息之前检查总线是否忙碌并且CAN使用冲突检测方法。
CAN和Ethernet区别之处
1、当Ethernet网络检测到一个冲突时,所有的发送节点会停止传送(破坏性冲突检测机制)并且在尝试再次发送之前等待一个随机的时间。
2、当CAN网络检测到冲突时,高优先级的节点将会继续传送数据而低优先级的节点会停止传送数据并听取总线的命令(构造冲突检测机制)

CAN总线节点发送数据信息的特点:
CAN总线上任意节点发送的数据信息中部包含任何地址信息,每个发出的信息都有独一无二的标识。
网络上的所有其它节点都会接收该数据信息,但是只有与之相关联的节点会处理该信息。
信息的标识符决定了信息的类型和信息优先级,数值越低表示优先级越高。(版本2.0A的标识符有11bit/版本2.0B的标识符有29bit)

2.1.2 CAN Frames

两个帧类型:数据帧和远程帧
此处输入图片的描述
(Remote Transmit Request-RTR)帧置位表示传输节点向标识符提供的类型寻求信息
此处输入图片的描述

SOF-Start Of Frame
RTR:用以区别数据帧还是远程帧
IDE-Identifier Extension:用以区别标准帧还是扩展帧
DLC-Data Length Code:表明数据区域的数据字节长度
Data Field:包含0-8bytes
CRC-Cyclic Redundant Check:保证了帧的完整性。
ACK:在该处直接接受数据
EOF-End of Frame:表明了消息的结尾
IFS-Intermission Frame Space:最小比特数分隔连续的消息。
如果接下来任何站没有总线访问,总线保持空闲

此处输入图片的描述
SRR-Subsitute Remote Request:经常作为一个接收位传输以确保当标准数据帧和扩展数据帧具有相同的11位标识符时标准数据帧具有高的优先级。

扩展数据帧和标准数据帧优势比较
1、扩展数据帧虽然标识符位数更多理论上能支持更多的设备链接,然而考虑实际硬件却无法达到理论的数量,反而比起标准帧增加了数量位。
2、扩展数据帧被证明需要更长的总线访问时间和成本对应更低的产出。
3、由于两者的CRC位数量是一样的,扩展数据帧会更高频率出现位错误。
综上:标准数据帧框架是工业CAN总线常用的框架。

2.1.3 Error Process and Detection

CAN的高效错误检测机制可以分为消息阶段和位阶段。
在消息阶段:
CRC通过在传输最后添加冗余检查位来为数据帧提供保障。在接受方的这个位上重新计算并且在接受位前进行测试
在位阶段:
传输显示总线信号和检测误差。每个传输站点观察总线信号并检测发送位和接受位的不同之处。独立位的编码是在位阶段进行检测的。
如果每一位都采用不归零编码,保证了高效率编码。但是其编码检查受到填充位规则的限制。

如果接受站本身具有错误而不是发送的消息错误,那么CAN采取关闭自身以防止消息被错误地认定为不正确。

2.2 Timing Analysis

以往实时CAN总线的实现方法是非常被动的,只有当测试开始出现问题时才需要担心,但是这种常规工作具有较低的总线利用率(出现长延时的概率是很小的)[2]

2.2.1 Literature Review-评论纽约大学提出的CAN的时间行为数学模型

此处输入图片的描述
周期帧包括
:周期
:传输时间
:截止时间
:数据大小(bytes)
造成消息延时的两个原因:
1、高优先级的消息
2、已经开始传输的低优先级消息
在没有硬件失败情况的最坏情况响应时间为:

[3]
其中47是标准CAN帧的bit fields固定格式大小,是数据大小,而是位时间。34是按位填充。一般的填充位为5,也可以自己定义。
在图2.4中显示了一个周期帧m的最坏情况下的响应时间(标志在消息对应的释放时间)
消息m所要经历的最长等待时间
低优先级消息可能占据总线的最长时间=其最大传输时间:
[4]
这里除了要考虑低优先级消息所占时间还要考虑等待队列里的所有高优先级消息占用时间。
队列时间
队列时间的最大期望还要考虑错误帧传送和重发高优先级的消息时间,将这些都考虑进去后的最大队列时间为:

前人的文献中不是没有考虑重发消息的可能性就是只考虑了当前消息的重发而忽略了高优先级消息的重发对低优先级消息的影响。

2.2.2 Improved Model

事实上,CAN总线经常与电路和机械部分连接,电磁部分会对总线产生干扰信号,这部分模型包含消息的重发和错误帧的传输。在高达29位的总线受到严重干扰信号时,从检测到错误帧到下一帧的开始需要17~23位时间,这里取23位。
另外需要知道错误帧是否受到其他消息的干扰,由此可以推断低优先级消息的可能占据总线的最长时间等同于具有错误帧的低优先级的最大消息的最大传输时间


改进的模型
其中是第i次重发和第i-1次重发之间的时间。
按照我们的假设,我们需要知道低优先级消息占据总线的最长时间,就需要知道具有错误帧的低优先级的最大消息的最大传输时间。当接受方接收到低优先级的错误消息时会发出错误帧以确认之前传送的消息失败,而只有当没有其他更高优先级的消息等待发送时才会触发重发机制。当然我们引入另一个变量记录消息m占据总线时错误帧的传输时间。
例如,消息在成功传输消息之前重发了次,那么消息m占据总线的时间为:

另外还要考虑所有与消息m同队列中比消息m高优先级的消息(不管成功失败)的最大传输时间:

得到最大队列时间:

这个模型不仅仅考虑了高优先级消息重发对于低优先级响应时间的影响,还允许我们对不同信号的不同重发次数进行了分配并且计算了最坏情况下的响应时间。

实例

基础:
1、总共3个周期信号
2、每个信号在成功传输前都需要经历1次重发
扩展:
3、错误帧占据总线的时间为1个单位时间
4、在消息1结束之前,有更低优先级的消息占据总线
消息序列

时间序列分析
对于消息1:需要等待错误的消息完成传输之后开始传输它自己的内容
对于消息2:需要等待比它优先级高的消息1成功传输后才进行传输
对于消息3:需要等待比它优先级高的消息1、2成功传输后才进行传输[5]
计算得响应时间为:
分析结果

2.3 Summary

1、CAN是一种对短消息优化的确定性协议。它相比于点对点通信系统需要更少的接线,并且具有优秀的错误修复机制和检测机制。
2、CAN协议的Hamming distance[6],因此具有高可靠性并且它的响应时间具有更少的随机性。
3、CAN常用于医疗器械、纺织机、专用机械、电梯控制等领域
缺点:
1、与其它网络相比,CAN协议的数据比特率比较低(500kbps最大)

CAN协议要求不同的基站必须同步,在任意给定的时间所有的站必须感知相同的物理层从而使得arbitration mechanism 操作正确。以使得总线传输速率的上限取决于电信号的传播速度。

2、不适合传输大数据类型的消息,尽管CAN支持将数据分割成大于8bytes



[1] transition probability matrix 是什么?
[2] 为什么传统CAN的实时实现方法利用率低?
[3] 是指小于等于x的最大整数
[4] 是指大于等于x的最小整数
[5] 对于消息3来说为什么在等待1、2消息传输成功后,还要再次等待消息1传输成功?
[6] 什么是Hamming distance?
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注