首页 » 通讯 » CAN通讯系列8- 揭开波特率的神秘面纱_波特率_相位

CAN通讯系列8- 揭开波特率的神秘面纱_波特率_相位

落叶飘零 2025-01-19 02:49:34 0

扫一扫用手机浏览

文章目录 [+]

CAN通讯系列6- 波特率是什么?

CAN通讯系列7- 如何准确吸收数据?

CAN通讯系列8- 揭开波特率的神秘面纱_波特率_相位 通讯

已经详细先容了波特率,CAN位韶光,同步段(SS)、传播韶光段(PTS)、相位缓冲段1(PBS1)和相位缓冲段2(PBS2),采样点等观点。

有了这些根本,本文打算通过一个实例,揭开波特率的神秘面纱。
为何这么说?

Source: 若何进行CANoe 仿真工程配置

由于对付汽车研发职员,大多数人只须要关注波特率是否设置精确,只有底层软件开拓职员须要去打算和配置波特率干系的参数。
下面结合Infineon芯片手册来进行CAN波特率干系参数的打算和配置。

1 打算波特率干系参数

根据Infineon Aurix系列芯片手册供应了CAN位韶光的标准格式定义,有:

Tsync表示同步段(SS)的韶光Tseg1表示传播韶光段(PTS)和相位缓冲段1(PBS1)的韶光Tseg2表示相位缓冲段2(PBS2)的韶光

Source: Infineon TC27x系列用户手册

根据Infineon Aurix系列芯片手册供应的求解方法,这些韶光干系量的关系如下所示:

假设需求是:须要设置某路CAN的波特率为500Kbps,采样率为87.5%。
已知利用的微掌握器的晶振时钟周期频率为20MHz。

首先,将晶振时钟周期频率转换为韶光,即有:1/fCAN=1/20MHz=50ns

然后,要设置的波特率为500Kbps,换算韶光表示则为1/500 Kbps =2000ns

其次,采样率要设置为87.5,那意味着(Tsync+Tseg1)/ (Tsync+Tseg1+Tseg2)= 7/8,由于CAN位韶光长度范围应知足8~25个tq,则CAN位韶光可能为8或16或24,此时:

如果CAN位韶光为8个tq,那么tq=250ns;根据打算公式:

250ns/50ns=5,由于BRP只能为整数,这时取DIV8=0, BRP=4。

如果CAN位韶光为16个tq,那么tq=125ns; 此时125ns/50ns=2.5,不为整数,不成立!

如果CAN位韶光为24个tq,那么tq=83.33ns,tq不为整数,不成立!

综上就可以确定CAN位韶光应为8个tq,tq=250ns,取DIV8=0, BRP=4。

根据采样点取在87.5%处,根据已有的打算公式,

先算TSEG2,即有:

1-87.5%=Tseg2/NBT=[(TSEG2+1)tq]/8tq=(TSEG2+1)/8

即有:TSEG2=0,把稳也便是相位缓冲段2(PBS2)为1个tq

那么Tseg1= NBT-Tseg2-Tsync=6tq,以是TSEG1=5。

再根据下式打算SJW,

由于Tseg2=1Tq,以是SJW只能取0。
综上有:DIV8=0, BRP=4,TSEG1=5,TSEG2=0,SJW=0。

2 配置波特率干系参数

有了上面的打算结果,接下来底层软件工程师要做的便是对寄存器做配置,比如Infineon的这款芯片是要去配置节点位韶光寄存器,如下所示:

Source: Infineon TC27x系列用户手册

配置结果如下:

代码实现形式如下:

而汽车行业都在用AutoSAR工具链进行底层软件开拓,比如EB Tresos是常用的MCAL配置工具,利用其进行波特率配置的话,将不才面界面进行配置。

Source: EB tresos实战记录: 配置通信-Can_eb配置can-CSDN博客

相关文章

中国芯片家当链之射频芯片_射频_滤波器

手机通信旗子暗记是一种电磁波,每一代的手机通信网络都会选用一些频率来通信,而5G的意思是第五代通信网络。目前全天下的5G频段有两种...

通讯 2025-01-20 阅读0 评论0

JLINK调试STM32F373_测试_电路

一、序言  前天制作的 STM32F373 测试电路板,一贯没有能够通过串口 BOOTLOADER 进行程序下载。后面查看了官方运...

通讯 2025-01-20 阅读0 评论0