高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客
现场总线概述
国际电工委员会制定的国际标准IEC61158对现场总线(fieldbus)的定义是: 安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线。
新型的现场总线控制系统突破了DCS系统中通信由专用网络的封闭系统来实现所造成的缺陷,把基于封闭、专用的解决方案变成了基于公开化、标准化的解决方案,即可以把来自不同厂商而遵守同一协议规范的自动化设备,通过现场总线网络连接成系统,实现综合自动化的各种功能。
同时把DCS集中与分散相结合的集散系统结构,变成了新型全分布式结构,把控制功能彻底下放到现场,依靠现场智能设备本身便可实现基本控制功能。
常见的总线类型
CAN总线概述-汽车电子为例
车身遍布了各类功能电气设备:位于车身前后的照明灯、转向灯、示宽灯、刹车灯等灯具,位于车身中部的前(后)雨刮电机、喇叭,位于车门的车窗电动机、电动后视镜电机
各类控制开关则集中于驾驶室、车门
各类状态检测开关(例如门碰开关、刹车开动)也无规律的分布于整个车身区域。
采用多回路方式,要把后雾灯、后雾灯开关、蓄电池串接起来,才能实现“后雾灯开关闭合后雾灯亮”的控制功能。
对于转向灯这样的时间间隔闪动控制,必须在回路内部增设电子延迟设备;
涉及多个控制开关和电气设备的联动控制,比如“当点火开关处于ACC状态且喇叭按钮闭合喇叭鸣叫”,除了设计复杂的锁闭回路外也束手无策。
辅助电路繁多、线束庞杂、故障无法定位,无疑是明显的弊端。
采用电控单元ECU(Electronic Control Unit)的方式,采用嵌入式系统技术,将输入检测接口和输出驱动接口分离,采用单片机程序来完成功能逻辑,很大程度上解决了前述问题。
然而线束庞杂、故障数据定位困难等弊端依然存在。
每块ECU安装在就近必要的位置连接一定数量的电气设备,各司其职,例如前控ECU、门控ECU、后控ECU,甚至单独为某一具体设备设置ECU,例如电动座椅ECU,这样大大节约了线束的长度。
各ECU通过总线方式进行通信和级联,可通过中心ECU汇聚处理其它ECU的消息帧,共同完成复杂控制逻辑功能,并且预留对外的总线接,借助第三方设备进行远程诊断。
CAN(Controller Area Network)控制器局域网,可以归属于工业现场总线的范畴,是目前国际上应用广泛的开放式现场总线之一。
世界著名汽车制造厂商BENZ(奔驰)、BMW(宝马)、VolksWagen (大众)等都采用了CAN总线来实现汽车内部控制系统与各检测单元和执行机构之间的数据通信。
CAN总线的通信通过一种类似于“会议”的机制实现的,只不过会议的过程并不是由一方(节点)主导,而是,每一个会议参加人员都可以自由的提出会议议题(多主通信模式),会议与总线之间的对应关系如下
CAN总线仅定义物理层和数据链路层,基于CAN基础总线又开发了新的协议:如DeviceNet、SDS、CAN-open、CAN-LIN等应用层协议。
通信方式灵活,为多主工作方式。
CAN网络上的节点信息分成不同优先级,满足不同实时要求。
非破坏性的总线仲裁。
只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。
IS011898标准规定直接通信距离最远可达10Km(速率5Kbps以下)、通信速率最高可达1Mbps(此时通信距离最长为40m)。
节点数主要取决于总线驱动电路和通信线路阻抗以及长度,目前最大节点数可达110个;报文标识符可达2048(2^11)种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符536870912(2^29)几乎不受限制 。
采用短帧结构。每一帧的有效数据字节数为8个,传输时间短,受干扰概率低,具有极好的检错效果。
每帧信息都有帧间CRC校验和帧内的确认检错措施,保证了数据出错率极低。
通信介质可为屏蔽双绞线,同轴电缆或光纤,灵活选择。
CAN节点在严重错误的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,具有较强的抗干扰能力。
CAN总线网络层次结构
LLC功能:为数据传送和远程数据请求提供服务,完成报文接收、恢复管理和通知超载提供信息。
MAC子层的功能:控制帧结构,执行仲裁,错误检测,出错标定和故障界定。
物理层功能:定义信号怎样进行发送,涉及位定时、位编码和同步描述。
1993年形成的国际标准ISO11898中对基于双绞线的CAN总线介质装置特性做了建议。
CAN总线介质装置
CAN2.0A/B标准规定:总线空闲时,CAN_H和CAN_L上的电压为2.5V
在数据传输时:
显性电平(逻辑 0):典型值CAN_H 3.5V CAN_L 1.5V
隐性电平(逻辑 1):典型值CAN_H 2.5V CAN_L 2.5V
CAN总线基本术语
1、报文
总线上的报文以不同的固定报文格式发送,其长度遵守报文类型来限制。当总线空闲时任何连接的单元都可以开始发送新的报文。
2、报文路由:
在不使用任何系统结构信息的条件下,同时在不要求所有节点及其应用层改变任何软件和硬件的情况下,报文被接收于CAN网络中。
报文通信的标识:一个报文的内容由其标识符ID命名。
报文的成组:采用报文滤波,可以让节点只接收网络中一部分报文。
报文的相容性:可以使报文同时被所有节点或者零节点接收。
3.位速率
不同的系统,CAN 的速度不同。在一个给定的系统里,位速率是唯一的,并且是固定的。
4.优先权
在总线访问期间内,识别符需定义一个静态的报文优先权。
5.远程数据请求
通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧具有相同的标识符。
6.仲裁
如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。仲裁的机制确保了报文和时间均不损失。
7.错误检测
包括:位错误(Bit Error)、填充错误(Stuff Error)、形式错误 (Form Error)、应答错误 (Acknowledgment Error)、CRC 错误(CRC Error)
8.故障界定
CAN节点能够把永久故障和短暂扰动区别开来。永久故障的节点会被关闭Bus Off。
9.总线值
CAN总线具有两种逻辑状态,隐性和显性。显性表示逻辑”0”,隐性表示逻辑”1”。显性0状态下,VCAN_H和VCAN_L两者差分电压大于2V。隐性1状态下,VCAN_H和VCAN_L两者电压差为0。 “显性”位和“隐性”位同时传送时,总线的结果值为“显性”。
10.应答
所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器作出错误标志。
报文传输由4个不同类型的帧表示和控制
数据帧(Data Frame):数据帧携带数据从发送器至接收器。总线上传输的大部分为此类帧。
远程帧(Remote Frame):由需求数据的总线单元发出,请求发送具有同一识别符的数据帧。其中数据帧和远程帧,它们是通过帧间空间与其他各帧进行分隔。
错误帧(Error Frame):任何总线单元一旦检测到总线错误,就立刻发出错误帧。
过载帧(Overload Frame):过载帧用在先行数据帧(或远程帧)和后续数据帧(或远程帧)之间提供一附加的延时。以增大帧间间隔时间。
数据帧结构
数据帧由7个不同的位场(bit Field)组成:帧起始(Start of Frame)、仲裁场(Arbitration Field)、控制场(Control Field)、数据场(Data Field)、CRC场(CRC Field)、应答场(ACK Field))、帧结尾(End of Frame)。数据场的长度可以为0。
⑴ 帧起始 帧起始(SOF)标志数据帧和远程帧的起始,仅由一个“显性0”位组成。只在总线空闲时才允许站点开始发送。
⑵ 仲裁场:
标准格式帧:11位标识符(ID-28~ID-18)和远程发送请求位(RTR)。扩展格式帧:包括29位标识符(ID-28~ID-0)、替代远程请求(Substitute Remote Request-SRR)、IDE(IDentifier Extension bit)位、RTR位。
区分标准帧和扩展帧: 标准帧的IDE为0,扩展帧为1。
控制场由6个位组成
标准格式:IDE位(为显性0)、保留位r0、数据长度。
扩展格式:保留位r1,r0、数据长度。其中r1和r0为显性0。
但是实际中,由于会出现数据长度为0的情况,发送的时候将其变成显性0和隐性1位的组合,就保证了后续不是连续5个显性位0的组合,避免了位填充错误的出现。
CRC场
CRC场:由帧起始、仲裁域、控制场、数据域(远程帧无数据域),它们组成的二进制序列作为信息元。进行CRC校验。
CRC序列之后,它包含一个单独的隐性位(1)作为CRC界定符。
数据帧-CRC场
生成多项式为:X15+X14+X10+X8+X7+X4+X3+1
生成多项式对应二进制序列16位:1100 0101 1001 1001
CRC场=15位CRC校验序列+CRC界定符隐性位(1)
计算方法采用移位方法
应答场
应答场:(ACKnowledge Field)包含应答间隙(ACK Slot)和应答界定符(ACK Delimiter),在应答域里,发送站发送2个隐性位1。
当接收器正确收到有效的报文时,接收器就会在应答间隙期间(发送ACK信息)向发送器发送一显性位(0)以示应答。
帧结束
帧结束:每个数据帧和远程帧均由7个隐位1组成标志序列界定
远程帧结构
远程帧的目的:通过发送远程帧,向远程节点请求数据以初始化其资源。
远程帧分为:标准格式和扩展格式。都由帧起始、仲裁场、控制场、CRC 场、应答场、帧结尾等6个不同的位场组成。
与数据帧相反,远程帧的RTR位是“隐性1”的。它没有数据场,数据长度代码的数值是不受制约的(可以标注为容许范围里0...8的任何数值)。
RTR位的极性表示了所发送的帧是一数据帧(RTR位“显性0”)还是一远程帧(RTR“隐性1”)。从该极性即可判别其仲裁的优先级
错误帧结构
错误帧由两个场构成。第一个场用是不同站提供的错误标志(ERROR FLAG)的叠加。第二个场是错误界定符。
任何站点检测到总线上出错,即从下一位开始发送错误帧,即通知发送端停止发送。
错误标志:主动报错和被动报错
主动报错:标志由6个连续的显性位0组成。
被动报错:标志由6个连续的隐性位1组成。
帧间空间
数据帧与远程帧和之前帧,是通过帧间空间(InterFrame Space)来实现的。
不论前面的帧是数据帧、远程帧、错误帧、还是过载帧。特例 (1)过载帧与错误帧之间无帧间空间。 (2)过载帧之间无帧间空间。帧空间包括“间歇Intermission(3个隐性位1)”和“总线空闲”。
发送前一报文的“被动报错”站点:帧间空间 由 (间歇intermission3隐性位+挂起传送suspend transmission8隐性位)构成
过载帧结构
过载帧包括:过载标志和过载界定符,在以下三种情况需要需要发送过载帧:
接收器的内部原因要求缓发下一个数据帧或远程帧时。
在帧间间歇(Intermission)的第1位或第2位检测到1个显性位0。
如果CAN节点在错误帧界定符或超载帧界定符的第8位采样到一个显性位0,
因为错误帧界定符或超载帧界定符的第8位之后还应该有帧间空间,为3个隐性1。这时可能别的节点误认为是帧空间间隔。则节点会发送一个过载帧(不是错误帧)。错误计数器不会增加。
CAN错误处理
节点存在的三种状态
主动错误 (Active Error):“主动错误”的站点可以正常地参与总线通讯,并在错误被检测到时发出主动错误标志。
被动错误 (Passive Error):“被动错误”的单元参与总线通讯,在错误被检测到时,只发出被动错误标志。
总线关闭(Bus off):“总线关闭”的单元不允许在总线上有任何的影响(即关闭输出驱动器) 。不能参与发送数据,也不参与发送错误标志,只是默默的记时钟个数。
仲裁
CAN是按位对标识符进行仲裁。各发送节点在向总线发送电平的同时,也对总线上的电平进行读取,并与自身发送的电平进行比较,如果电平相同则继续发送下一位,不同则停止发送,退出总线竞争。标识符越小,优先级越高。
滤波
CAN总线通信中,要实现点对点、一点对多点及全局广播等3种方式。
在验收滤波器(接收滤波器)的帮助下,CAN控制器允许RXFIFO只接收同识别码和验收滤波器中预设值相一致的信息。只有当接收信息中的识别位和滤波器中预定义的值相等时,CAN控制器才允许将已接收的信息存入到RXFIFO。
验收滤波器由验收代码寄存器(ACRn)和验收屏蔽寄存器(AMRn)定义。
要接收的报文的标识符位模式在验收代码寄存器中定义。相应的验收屏蔽寄存器定义某些标识符位为“无关位”。
滤波模式:两种不同的过滤模式可由模式寄存器中的位MOD.3,AFM选择,单滤波模式(AFM=1),双滤波模式(AFM=0)
标准帧报文的单滤波器配置
参与滤波的内容有:ID.28~ID.18, RTR,数据的第1字节和第2字节。RTR数据帧为显性0,远程帧为隐性1;
扩展帧报文的单滤波器配置
参与滤波的内容有:ID.28~ID.0、RTR
RTR数据帧为显性0,远程帧为隐性1;
位时间
由发送单元在非同步的情况下每秒钟发送的位数称为位速率,发送1位数据所占用的时间就是位时间。包括:
同步段(SYNC_SEG) 1个CAN时钟周期
传播时间段(PROP_SEG) 1个CAN时钟周期
相位缓冲段1(PHASE_SEG1)1-8个CAN时钟周期
相位缓冲段2(PHASE_SEG2)1-8个CAN时钟周期
CAN网络设计
文章来源:https://www.toymoban.com/news/detail-806694.html
文章来源地址https://www.toymoban.com/news/detail-806694.html
到了这里,关于高级分布式系统-第11讲 现场总线技术的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!