zoukankan      html  css  js  c++  java
  • CAN波特率设置

    通过对CAN位定时寄存器CANBIT以及CAN波特率预分频扩展寄存器CANBRPE的设置可以得到需要的CAN通信波特率。

    CAN的位定时配置不当,将使得CAN模块无法按照目标波特率接入CAN网络,将导致CAN节点无法通信正常。

    根据CAN规范,位时间被分成4个时间段:同步段(Sync_Seg)、传播时间段(Prop_Seg)、相位缓冲段1(Phase_Seg1)和相位缓冲段2(Phase_Seg2)

    每个段由具体、可编程数量的时间份额(time quanta)组成,时间份额是位时间的基本时间单元,它的长度(tq)由CAN控制器的系统时钟(fcan)和波特率预分频器BRP定义:tq=BRP/fcan

    CAN模块的系统时钟fcan是其CAN模块时钟(CAN_CLK)输入的频率。

    各参数取值范围:

    参数                         范围                   编程值                     说明

    BRP                        1~64                   0~63                    波特率分频器,定义时间单元tq的时间长度

    Sync_Seg               1tq                                                  固定长度,总线输入与系统时钟同步

    Prop_Seg               1~8tq                  0~7                      补偿物理延时时间

    Phase_Seg1          1~8tq                  0~7                      相位缓冲段1,补偿边沿阶段的误差,可通过同步暂时延长

    Phase_Seg2          1~8tq                   0~7                      相位缓冲段2,补偿边沿阶段的误差,可通过同步暂时缩短

    SJW                       1~4t                  0~3                       同步跳转宽度,不能比相位缓冲段长

    位时间长度为:[TSEG1+TSEG2+3]tq或[Sync_Seg+Prop_Seg+Phase_Seg1+Phase_Seg2]tq

    位定时配置的编程是由两个CANBTR决定的:Prop_Seg与Phase_Seg1 的和(作为TSEG1)与Phase_Seg2(作为TSEG2)组合成一个字节,而SJW与BRP组合成另一个字节。

    SAMP  TSEG22  TSEG21  TSEG20  TSEG13  TSEG12  TSEG11  TSEG10

    SJW1   SJW0      BRP5       BRP4      BRP3       BRP2       BRP1      BRP0

    将结果配置写入寄存器:((TSeg2-1)<<12)|((TSeg1-1)<<8)|((SJW-1)<<6)|(BRP-1)

    参数的计算步骤

    1、首先计算CAN时钟和波特率的比值

    2、根据比值确定BRP和时间量子的数目,一个位时间总的时间份额值可以设置在8~25的范围内

    3、Sync_Seg的值固定为1tq,量子数目减1后再分配

    4、Prop_Seg其长度视系统测量的延迟时间而定,必须为可扩展的CAN总线系统定义最大的总线长度和最大的节点延迟。

    5、Prog_Seg<=Phase_Seg1<=Phase_Seg2;Phase_Seg1=Phase_Seg2 或者 Phase_Seg1+1=Phase_Seg2

    6、Phase_Seg2不能比CAN控制器的信息处理时间短

    7、同步跳转宽度SJW取4和 Phase_Seg1中小的那个

    总的来说,波特率BitRate=Fpclk/((BRP+1)*((TSEG1+1)+(TSEG2+1)+1)

    举例说明:

    参考来源:http://www.docin.com/p-498322094.html

                     https://blog.csdn.net/sudogod/article/details/15503867

  • 相关阅读:
    吴恩达《深度学习》第四门课(4)特殊应用:人脸识别和神经风格迁移
    吴恩达《深度学习》第四门课(3)目标检测(Object detection)
    经典算法详解(12)分解质因数
    吴恩达《深度学习》第四门课(2)卷积神经网络:实例探究
    经典算法详解(11)递归查找数组中的最大值
    吴恩达《深度学习》第四门课(1)卷积神经网络
    经典算法详解(10)图中有多少个三角形
    吴恩达《深度学习》第三门课(2)机器学习策略二
    数据结构与算法——备用2(十)
    数据结构与算法——查找算法(八)
  • 原文地址:https://www.cnblogs.com/shinedaisiki/p/9950363.html
Copyright © 2011-2022 走看看