采用CAN总线的工业自动化平台
辅助进行演示与评估的特性
---我们向演示平台添加了某些特性,以辅助对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收发器能够承受上述错误条件并在故障去除后恢复相同的出错率性能。
评论