CAN通信协议的原理是什么?有哪些制定原则和协议规范呢?

通信网络

632人已加入

描述

CAN通讯协议制定原则

1、协议参照SAE J1939协议相关标准

2、总线上的传输速率为250 kbit/s(默认)/3、协议当中有多字节表示的数据,约定低字节在前;高字节在后

4、通信电缆应尽量离开动力线(0.5m以上)、离开12V控制线(0.1m以上)

5、协议中无效的或预留的字节以FFH或00F 填充,无效或预留的位均置为1或0

完整的CAN数据帧分为7个位场:包括帧起始、仲裁场、控制场、数据场、校验场、应答场和帧结束。CAN扩展帧报文,在仲裁场中标识位为29位。分为七个场:

驱动器

其中仲裁场共有32位,包括29位的ID、SRR位、IDE位和RTR位。

29位ID必须不能全是“隐性”。

ID在仲裁场中被分成两个部分,11位是基本ID,18位是扩展ID。SRR位:全称是“替代远程请求位”,SRR必须是一个隐性位。

它在扩展格式中处于标准帧RTR位的位置,因此代替标准帧的RTR 位。IDE位:全称是“识别符扩展位,属于扩展格式的仲裁场,在扩展格式里的IDE 位为“隐性”。

RTR位:全称为“远程发送请求位”,RTR 位在数据帧里必须为“显性”,而在远程帧里必须为“隐性” 如图所示,标识符分配使用符合J1939规范,规则如下:

驱动器

优先权(P):共有3位,仅用于优化报文经总线传输的等待时间。接收器接收时可以完全忽略这些位。共有8级,最高级0(0002)

保留位(R):这1位由SAE保留,将来使用。所有报文传送时将SAE保留位设置为0。

数据页位(DP):数据页占1位空间,作为选择参数组描述的辅助页。所有参数组号应在第一页分派之前将第零页充满。

PDU格式(PF):协议数据单元格式是一个8位场,它定义了协议数据格式,也是用于决定参数组号分配给数据场的场之一。

PDU特性(PS):这是一个8位场。根据协议数据单元格式定义,本场可能是目标地址或组扩展。如果协议数据单元格式场的值低于240,那么协议数据单元特性场是目标地址。如果协议数据单元格式场的值在240和255之间,那么协议数据单元特性场包括一个组扩展值。

源地址(SA):源地址域的长度是8位。网络中的一个设备应该有一个给定的源地址。因此,源地址保证按照CAN的要求每一个CAN标识符都是唯一的,在程序中要防止源地址复用。

应用层遵循原则

应用层的规定主要参照J1939相关规定:

1、应用层定义了协议数据单元PDU的两种格式PDU1和PDU2。

2、采用PGN对数据块(参数组)进行编号,广播方式下,根据PGN来识别数据块的内容

3、采用周期发送和事件驱动的方式来发送数据

4、定义新的参数组时,尽量将相同功能的参数、相同或相近刷新率的参数和属于同一个子系统内的参数放在同一个参数组中;同时,新的参数组既要充分利用8个字节的数据宽度,尽量将相关的参数放在同一个组内,又要考虑扩展性,预留一部分字节或位,以便将来进行修改。

5、协议可以完成如下功能:

● 向驱动器发出控制命令 (启动、停止、故障复位等)。

● 给驱动器发送速度或转矩给定信号。

● 从驱动器中读取状态值和实际值。

● 修改驱动器参数值

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分