LPC24xx系列CAN波特率计算

LPC24xx系列CAN波特率计算

 

   CAN总线时序寄存器CANBTR

   1

     2

      3         

SAM 0125K及以上波特率

       1100K及以下波特率

 

CAN标称位时间定义比较灵活,这里给出一个简单的原则:
定义:
CAN时钟: Tscl=(BRP+1)/Fvpb
     则: Tseg1=(TSEG1+1)*Tscl
         Tseg2=(TSEG2+1)*Tscl
         Tsjw=(SJW+1)*Tscl
 应满足: Tseg2>=2Tscl
         Tseg2>=Tsjw
         Tseg1>=Tseg2

 

 

CANBTR设置实例:假设VPB时钟为24MHz,需设置CAN标称位速率为100k
                可设置CANBTR为:0x001C000E
                也即:  BRP=14;
                        SJW=0;
                        TSEG1=12;
                        TSEG2=1;
                从而CAN位速率可以由下式计算得到:
                      CANbps=Fvpb/(TSEG1+TSEG2+3)(BRP+1)
                其中:CANbps为CAN位速率;Fvpb为VPB频率
                如上式所示:当Fvpb=24MHz时,CANbps=100kbits/s
                另外:
                MaxCANbps=Fvpb/(TSEG1+TSEG2+3-(SJW+1))(BRP+1)=106kbits/s
                MinCANbps=Fvpb/(TSEG1+TSEG2+3+(SJW+1))(BRP+1)=94kbits/s

波特率计算工具下载:

你可能感兴趣的:(嵌入式系统)