摘要
本篇笔记主要记录MPC5744p的CAN通信波特率计算,以及需要注意的问题
CAN 位时间
记得最早是在2015年就给大家推送过关于CAN通信波特率的设置,当时是以NXP的kinetis系列之KV46为例子来给大家介绍的,最近推送了几篇有关CAN通信的文章,后台又有人问起这个问题,今天我们就来在给大家详细普及下,今天以NXP的汽车级芯片MPC5744p的flexCAN为例,MPC系列是基于PowerPC架构的,和ARM架构的芯片时由区别的,但NXP家的PPC架构和ARM架构如果都是flexCAN的IP,那么驱动基本上可以通用,之前的文章也可供参考。
今天我们来一步步看如何在flexcan上配置can的比特率,首先要搞明白CAN标准对位时间的定义,CAN通信波特率的计算是一个难点,要正确计算设置CAN波特率。CAN2.0协议中定义标称位速率为一理想的发送器在没有重新同步的情况下,每秒发送的位数量,也就是我们说的波特率。位时间由若干个时间单元(Tq)或者称为时间份额组成。每一位的组成如下图所示:

CAN2.0协议中规定要求每一位可以划分为几个不重叠时间片段,分别是:
同步段(Synchronization segment)
传播段(Propagation segment)
相位缓冲段1(Phase segment 1)
相位缓冲段2(Phase segment 2)
同步段:
位时间的同步段用于同步总线上不同的节点。这一段内
CAN通信波特率配置详解

本文详细介绍了MPC5744p芯片的CAN通信波特率计算,包括CAN位时间的各个组成部分,如同步段、传播段、相位缓冲段等,并提供了波特率配置的寄存器设置和具体计算示例。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



