采用CAN总线的工业自动化平台

编辑:外地网互动百科 时间:2019-11-13 20:55:11
编辑 锁定
本词条缺少概述名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
中文名
采用CAN总线的工业自动化平台
外文名
Array
类    型
自动化平台
属    性
工业
Array
---系统设计
  系统要求概述
  ---演示平台意味着它应当能够展示如何通过CAN总线控制几种子系统,所选子系统应类似典型的工业或车载子系统。子系统分布在三个电子板上。
  ---由于许多DSP与微处理器都在向3.3V操作移植,因此将德州仪器(TI)的3.3V CAN收发器组合到平台中,从而显示其如何与标准5V CAN收发器进行互操作。由于这一点,该平台既包括3.3V CAN收发器,也包括5V CAN收发器。
  ---许多处理器都包括集成的can控制器。本演示选择了三种处理器,覆盖了低端控制(TMS320LF2406A)、高端控制(TMS320F2810)及普通微处理器(TMS470R1VF338——ARM7处理器)市场。
  ---要展示总线的仲裁工作情况,即多于一个节点需要同时向总线传输时总线如何反应,就要添加流量发生器以对总线加压。
  ---本演示包括了以下子系统:
  ---* 风扇/温度控制。
  ---在温度设定值发送至使用风扇控制目标温度的温度控制系统情况下,该系统将用做工业控制应用的模型。举例而言,它可以仿真HVAC系统,也可以仿真任何在节点上根据CAN总线另一节点的命令设定值进行本地控制的子系统。
  ---* 马达控制
  ---该系统用于仿真流行的工业马达控制应用。此处的马达速度和/或位置由CAN总线上的远程节点控制,而实际的马达控制则由节点之一本地进行。
  ---* CAN总线讹误器(corrupter)
  ---该系统允许向CAN总线注入各种故障,以显示总线如何检测错误并在错误移除时无故障恢复。
  ---* 总线负载因数控制
  ---该 子系统产生额外的CAN总线流量。现有两种流量发生器,第一种为额外流量,马达速度决定其速率。第二种为完全基于微控制器的流量发生器。其目的在于用额外 的流量进行总线加载,从而导致发生总线仲裁,以显示CAN总线对高总线负载的强大可靠性。在高总线负载下,优先级较低的数据包传送延迟,而优先级较高的数 据包将使用总线。我们已设定平台使之在低优先级数据包延迟时给出音响提示。图2是各种子系统及其分布。
  ---在总线上通信
  ---CAN总线处理器之间的通信由专门的CAN控制器处理,其作为每个处理器器件的一部分。上述控制器支持CAN协议的2.0B版本。虽然三个处理器之间的硬件相似,但可用的控制器有所不同,见表1。
  ---消 息通过“邮箱”从处理器发送到处理器。这些邮箱经过配置可接收或传输含确定消息标志符的消息。发送消息时,每个处理器的控制器参 与确认消息已正确发送。随后,如果消息标志符与邮箱的消息标志符相匹配,则存储消息以备处理。如果不匹配,则放弃消息。
  3.3V与5V的互操作性
  ---ISO 11898所描述的CAN物理层基本为5V系统,使信号线偏置为2.5V。使用5V部分作为CAN收发器似乎很自然,这也是传统的做法。但是,大多数电子 系统都在向3.3V或更低的操作移植。理想的CAN收发器将允许采用3.3V电源的操作。TI提供一系列在3.3V上工作的CAN收发器 (SN65HVD23x),但允许在传统的5VCAN总线上工作。该平台使用5V与3.3VCAN收发器的混合,显示了两种类型器件之间的互操作性。
  辅助进行演示与评估的特性
  ---我 们向演示平台添加了某些特性,以辅助对CAN总线功能进行评估。这些特性介绍如下。F2810包括一个SCI接口,可通过电平转换器(如 SN75LV4737A)方便地连接到PC的UART。我们开发了命令接口,允许从主机PC上的程序对总线操作进行监视与控制。我们可使用该程序向其他节 点发送控制消息,并监视CAN总线的状态。在板上放置了几个LED以显示CAN总线何时工作、何时从PC接收命令等。
  总线负载与讹误(Corruption)
  ---这部分将描述用于给总线加载流量的电路系统及用于向总线注入错误条件的电路系统。
  ---总线负载
  ---现 有两种机制可给CAN总线加载流量。第一种机制为传感器节点上的“满溢数据包(flood packet)”发生器。数据包充满总线的速率通过膝上型电脑或PC的GUI接口的下拉菜单项控制。合适的满溢速率取决于总线的数据速率 (1Mbps、500kbps、250kbps、125kbps)。表2显示了就每种数据速率而言总线上的理论最大数据包负载,以及总线负载接近最大时 GUI上可用的推荐速率。消息的位长由以下方程式得出:
  ---L=SOF+MSGID+RTR+CTRL+(8·MSGLENGTH)+CRC+ACK+EOF+IFS+STUFF
  ---其中:
  ---* SOF是帧长度的起点,1b。
  ---* MSGID是消息标识符长度,11b
  ---* RTR是远程传输请求的位长,1b
  ---* CTRL是控制字段长度,6b,其包括IDE(标志符扩展位)、r0(保留位)以及DLC(数据长度)字段。
  ---* MSGLENGTH是消息所占字节的长度。大多数消息为6B长,其中一条消息为8字节长。计算时假定为6B。
  ---* CRT是循环冗余码的长度,16bit。
  ---* ACK是确认比特(acknowledge bit)的长度(此为2)。
  ---* EOF是帧结尾标志符长度,7b
  ---* IFS是消息间的最小总线帧间间隔时间,7b。
  ---* STUFF是因填充位(stuff bit)造成的消息额外时间。长串零之后总线将强制进行转移,我们假定消息与消息标志符的填充位最大数为(11+48)/5b。
  ---第 二种机制可用来使总线负载超出其容量。马达旋转的速率决定着马达速度数据包载入总线的速率。马达速度从零开始上升时,总线的负载也逐渐加大。在某一点上, 传感器节点上“满溢数据包”发生器的低优先级数据包及马达节点的马达数据包将被延迟,从而使得更高优先级的流量可进入总线。系统 监控节点检测延迟的消息,通过使扬声器发出卡嗒声表明发生了消息延迟。因此,扬声器卡嗒声表明总线仲裁正在工作,使得低优先级的数据满溢及马达位置数据包 延迟,以支持高优先级数据包的传输。
  总线讹误
  ---系统监控节点还包括在GUI接口控制下向总线注入错误条件的功能。总线讹误器能够对总线进行以下工作:
  ---* 打开系统监控板上总线连接器与CAN收发器之间的CAN_high line
  ---* 打开系统监控板上总线连接器与CAN收发器之间的CAN_low line
  ---* 短路CAN_high line为5V
  ---* 短路CAN_low line为5V
  ---* 短路CAN_high line为接地
  ---* 短路CAN_low line为接地
  ---* 同时短路CAN_high line与CAN_high line
  ---* 去除CAN线路之间的终端
  ---* 在CAN线路间安装更多的终端
  ---还可以产生另一种错误:
  ---* 使CAN节点断电(将一块板从电源上拔下)
  ---就上述大多数错误而言,总线将停止工作。上述某些错误条件将导致总线出错率下降。我们可通过GUI接口提供的统计数据查看错误条件的影响。我们要求CAN收发器能够承受上述错误条件并在故障去除后恢复相同的出错率性能。
  性能测量
  ---本部分将总结平台的性能评 估。我们通过观察在两种不同cable长度的每个总线讹误模式下如何影响节点间的通信来测量性能。为了测试总线断电节点的影响,马达节点关闭。这些测试在 CAN总线的不同波特率下重复进行。最后,我们用Philips pca82c251替代TI的SN65HVD251 5V CAN收发器再次进行测试。在所有情况下,TI的CAN收发器去除讹误模式后均未出现损坏或性能下降。并且,TI的CAN收发器与Philips PCA82C251 CAN收发器性能相当。
  结论
  ---该平台演示了CAN总线电子器件的上述四项关键属性以及TI提供的CAN总线电子产品。
  ---* 5V与3.3V CAN总线收发器的互操作性。
  ---通过混合采用5V与3.3V CAN总线收发器,显示了标准5V CAN总线系统的互操作性。
  ---* CAN总线的多主机操作。
  ---三个节点中的任一个均产生消息,并传递至其余两个节点的任意一个。在总线上没有节点居于主导地位。相反,总线操作由消息的优先级决定。
  ---* 总线仲裁操作
  ---如果总线加载了大量的低优先级数据包时,高优先级数据包可干预低优先级数据包的及时交付。低优先级数据包因为高优先级流量而延迟时,该平台将通过声音提示反映这种情况。这表明总线仲裁正确工作,让总线首先为高优先级数据包服务。
  ---* 注入错误条件的性能
  ---总线讹误器允许各种错误条件注入总线。大多数情况下,总线在注入错误条件时将不能工作。最重要的是,总线在注入错误条件去除后还能恢复,而且总线操作也能回到原先的状态。
词条标签:
科技