各位大神好,CAN通信波特率500K,我遇到个CAN配置问题,希望得到帮助,问题描述如下:
1 原来我是30M的晶振,配置成主频率150M(30*10/2),485通信正常,CAN通信正常。CAN配置如:
#if (CPU_FRQ_150MHZ) // CPU_FRQ_150MHz is defined in DSP2833x_Examples.h
ECanaShadow.CANBTC.bit.BRPREG = 9;
ECanaShadow.CANBTC.bit.TSEG2REG = 2;
ECanaShadow.CANBTC.bit.TSEG1REG = 10;
#endif
SAM 设置成了1,SJW设置成了0.
2 现在我换成24M的晶振,配置成主频144M(24*6/1),依据144M的主频配置的485通信正常。但是CAN通信无法正常运行。现在CAN通信采用了DS301标准里面的推荐配置,详细如下:
#if (CPU_FRQ_144MHZ) // CPU_FRQ_144MHz is defined in DSP2833x_Examples.h
ECanaShadow.CANBTC.bit.BRPREG = 8;
ECanaShadow.CANBTC.bit.TSEG2REG = 1;
ECanaShadow.CANBTC.bit.TSEG1REG = 12;
#endif
SAM 设置成了1或者0都试过不行,SJW设置成了0.
希望大神们能帮我解决,谢谢!
BISHENG CAO:
补充一下,我的CAN通信波特率500K
各位大神好,CAN通信波特率500K,我遇到个CAN配置问题,希望得到帮助,问题描述如下:
1 原来我是30M的晶振,配置成主频率150M(30*10/2),485通信正常,CAN通信正常。CAN配置如:
#if (CPU_FRQ_150MHZ) // CPU_FRQ_150MHz is defined in DSP2833x_Examples.h
ECanaShadow.CANBTC.bit.BRPREG = 9;
ECanaShadow.CANBTC.bit.TSEG2REG = 2;
ECanaShadow.CANBTC.bit.TSEG1REG = 10;
#endif
SAM 设置成了1,SJW设置成了0.
2 现在我换成24M的晶振,配置成主频144M(24*6/1),依据144M的主频配置的485通信正常。但是CAN通信无法正常运行。现在CAN通信采用了DS301标准里面的推荐配置,详细如下:
#if (CPU_FRQ_144MHZ) // CPU_FRQ_144MHz is defined in DSP2833x_Examples.h
ECanaShadow.CANBTC.bit.BRPREG = 8;
ECanaShadow.CANBTC.bit.TSEG2REG = 1;
ECanaShadow.CANBTC.bit.TSEG1REG = 12;
#endif
SAM 设置成了1或者0都试过不行,SJW设置成了0.
希望大神们能帮我解决,谢谢!
ming chen3:
回复 BISHENG CAO:
你的第二次的CAN波特率已经不是500K了
各位大神好,CAN通信波特率500K,我遇到个CAN配置问题,希望得到帮助,问题描述如下:
1 原来我是30M的晶振,配置成主频率150M(30*10/2),485通信正常,CAN通信正常。CAN配置如:
#if (CPU_FRQ_150MHZ) // CPU_FRQ_150MHz is defined in DSP2833x_Examples.h
ECanaShadow.CANBTC.bit.BRPREG = 9;
ECanaShadow.CANBTC.bit.TSEG2REG = 2;
ECanaShadow.CANBTC.bit.TSEG1REG = 10;
#endif
SAM 设置成了1,SJW设置成了0.
2 现在我换成24M的晶振,配置成主频144M(24*6/1),依据144M的主频配置的485通信正常。但是CAN通信无法正常运行。现在CAN通信采用了DS301标准里面的推荐配置,详细如下:
#if (CPU_FRQ_144MHZ) // CPU_FRQ_144MHz is defined in DSP2833x_Examples.h
ECanaShadow.CANBTC.bit.BRPREG = 8;
ECanaShadow.CANBTC.bit.TSEG2REG = 1;
ECanaShadow.CANBTC.bit.TSEG1REG = 12;
#endif
SAM 设置成了1或者0都试过不行,SJW设置成了0.
希望大神们能帮我解决,谢谢!
yu han:
回复 ming chen3:
他的波特率还是500k,144/2/9/16=0.5M=500k