为了优化CAN通讯协议的实时性,通常有两类方法。第一类是在原有CAN事件触发协议的基础上对总线仲裁方式做一些改进;第二类是采用时间触发的TTCAN协议。负载率较大、较高时,不同类型的消息帧对消息帧的延迟时间影响较大。若采用动态优先级,事件型消息帧的延迟时间基本不变,周期型消息帧的延迟时间显著增加;若如采用TTCAN,事件型消息帧的延迟时间显著增加,周期型消息帧的延迟时间基本不变[5]。
缺少实时性分析与评估的有效工具
CAN总线局域网在工业控制系统中得到广泛应用,应用范围遍及高速网络到低成本的多线路网络[13]。但是国内缺少实时性分析与评估的有效工具。现已开发出了基于CAN总线应用协议的实验仿真系统。进行应用协议的在线测试、评估,为网络系统的设计、开发、测试及消息模型的研究提供实验平台[14]。
1.4 本文结构安排
本文在第一章中主要讲述了CAN总线网络的历史来源、现在的研究方向、用途以及未来的发展方向和存在的问题等;第二章详细介绍了CAN技术规范中信息帧的结构;第三章中介绍了作者在CAN总线网络协议中用到的软件环境和硬件设备;第四章描述了CAN总线网络分析软件各个功能实现的方法;第五章提出了编写软件的过程中所遇到的问题及其解决方法。
2 CAN协议分析
2.1 基本概念
CAN具有的属性为:消息的优先级;延迟时间的保证;配置灵活性;与时间同步的多播接收;全系统数据的一致性;多主机;错误的检测和报告;只要总线再次处于闲置状态就重传损坏的邮件;可以区分节点的永久性故障和暂时错误同时自动关闭永久性故障的节点[15]。
2.2 信息传输
2.2.1 数据帧
数据帧由7个不同的位域组成:帧,仲裁字段,控制字段,数据字段,CRC字段,应答字段,帧结束的开始。数据字段可以是长度为零。数据帧的结构如图2.1所示。
图2.1 数据帧的结构
帧的开头
标志着数据帧和远程帧的开始。它由一个单一的“显性”位组成。
A站只允许开始传输时,总线处于空闲状态(参见“总线空闲”)。所有站必须同步帧的起始引起的领先优势(参见“硬同步”)。所有站必须同步开始的第一站(参见“硬同步”)开始传输框架所造成的领先优势。
仲裁字段
仲裁字段包括标识符和RTR位。仲裁字段的结构如图2.2所示。
图2.2 仲裁字段的结构 标识符
此标识符的长度为11位。这些位是按顺序从ID0到ID10传输的。最低有效位为ID0。7个最高有效位(ID10-ID4)不能都是“隐性”。 RTR位
远程发送请求位:
在数据帧里的RTR位是“显性”的。在远程帧里的RTR位是“隐性”的。控制字段
控制字段由6位组成。它包括数据长度码和两个保留为将来扩展用的位。保留位要被发送为“显性”。接收机接受所有组合的“显性”和“隐性”位。控制字段的结构如图2.3所示。
图2.3 控制字段的结构
数据长度代码:
数据长度代码表示数据字段中的字节数。此数据长度代码为4位并且它和控制字段一起传输。编码的数据字节数由数据长度码来控制。各种数据长度代码所代表的数据字节数如图2.4所示,其中“d”代表显性,“r”代表隐性。
图2.4 各种数据长度代码所代表的数据字节数
数据帧只能使用0到8来表示数据字节数,不得使用其他值。数据字段 CAN总线网络协议分析+文献综述(3):http://www.751com.cn/tongxin/lunwen_9287.html