• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2019-11-28 08:31 Aet 隐藏边栏 |   抢沙发  2 
文章评分 1 次,平均分 5.0

物理层

引脚

6#,14# 通讯引脚 2.5V
4#,5# 接地 0V
16# 正极(电源) 12V~14.6V
  • 6#和14#引脚,属于全双工通讯
  • 6#发送,14#接收(其实,这两个引脚都能发能收)
    (以差分信号格式发送,优点就是可以降低误差)

工作电平

  • ECU和TOOLS,都是1.5V到3V

通讯电平

  • 1.5V到2.5V

通讯波特率

  • 500kBps

关于初始化

  • CAN协议不需要初始化过程,所有功能任何时候都是处于响应状态
    (它根据帧头的优先级,来判断先响应谁)

链路层-帧格式

标准帧

  • 11位的CAN协议
  • 07 DF 08 02 01 02 99 99 99 99 99
  • 其中,这个11位并不是指的上面这里是11个字节的意思,而是,前面两个字节一共16位,它只用到了其中的11位,也就是说,第一个字节的高5位是没有被用到的,即,第一个字节的低3位,最大二进制为111,也就是07(11位CAN的第一个字节的取值范围为:01-07,超过07,那就是另一种协议了)
  • 前面两个字节,代表系统地址
  • 第三个字节,代表后面的byte3-byte10一共是8个字节,所以这个08其实是个固定值
  • 第四个字节,表示的是它后面的字节中的有效数据的个数(也就是说,02表示后面有两个有效数据,分别是01,02)
  • 其他的99,是用来填充无效位的,这个可以用任何数字来填充。

扩展帧

  • 29位的CAN协议
  • 18 DA 10 F1 08 02 01 02 99 99 99 99 99
  • 上面的这个帧,是29位的CAN协议,其中,08后面的字节的含义,是和11位的CAN协议一致的
  • 不同的是
    • 29位的CAN,帧头是由前4个字节构成的,4个字节,一共就是32位,而第一个字节的高3位没有被用到,所以它就是29位。

链路层-帧介绍

SF

  • 单帧
  • N_PCI(协议控制信息)占1个字节
  • 传输的信息长度不能超过7个字节
  • 07 DF 08 03 01 02 03 99 99 99 99
  • 也就是说,上面的03不能超过07
    (第一个字节的高4位如果是0000,那就是单帧,低4位表示长度)

FF

  • 第一帧或首帧
  • N_PCI占2个字节
  • 传输的信息长度不超过8个字节,那就得分开发,分开发的话,第一帧,就是首帧,首帧只存放6个有效字节的有效数据
    (首帧) 07 DF 08 10 09 01 02 03 04 05 06
    (流控制帧)07 DF 08 30 00 99 99 99 99 99 99
  • (连续帧) 07 DF 08 21 07 08 09 99 99 99 99
  • 也就是说,上面的03不能超过07
    (08后面第一个字节的高4位如果是0001,那就是首帧)

CF

  • 连续帧
  • N_PCI占1个字节
    (08后面第一个字节的高4位如果是0010,那就是连续帧)
  • 连续帧的序号,比如上面的就从21开始,到2F,然后再到20,然后再循环,也有直接从20开始计数的情况。

FC

  • 流控制帧
    (08后面第一个字节的高4位如果是0011,那就是流控制帧)
  • 第一个字节的低4位,FS,流的状态
0 连续传输 传输的信息能达到最大值
1 正等待 正等待CF
2 溢出 收到的FF_DL超过了缓冲区的大小
3-F 保留
  • 第二个字节,BS,可传输字节的大小
00 表示连续帧信息可达到最大量
01-FF 接收每段连续帧可传输信息的量
  • 第三个字节,STmim,活着ESTmin
00-7F 0-127ms
80-F0 保留
F1-F9 100-900us
FA-FF 保留
  • N_PCI占3个字节

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-21
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享