共2条
1/1 1 跳转至页
,SJA1000,16MHz 在SJA1000电路中使用16MHz的晶振,

问
如何设置实际总线的通讯波特率?
SJA1000独立CAN控制器的CAN通讯波特率由寄存器BTR0、BTR1、晶振等参数共同决定。
计算一个在指定晶振频率下的SJA1000节点通讯波特率,实际上是计算SJA1000寄存器BTR0、BTR1的设置值,但手续非常繁琐,工作量很大,需要涉及计算CAN系统时钟周期(SYNC_SEG、TSEG1、TSEG2、SJW和NBT)。这是由CAN2.0基本规范所决定,主要是为了使在不同工作方式、通讯距离的CAN节点之间能够正常、可靠通讯。同时,计算得出的CAN通讯波特率也仅是针对一个具体数值范围内的通讯波特率;这意味着,标称通讯速率为100Kbps的CAN节点,一般可以与通讯速率为90Kbps-110Kbps的CAN节点正常通讯。
因此,我们建议直接采用国际CiA协会推荐的通讯波特率设置值。相关的设置值可以参考ZLGCAN产品的附录3内容;下表列出了部分CiA推荐的BTR0、BTR1设置值。
表 SJA1000标准波特率
Baudrate
( Kbps ) 晶振频率 = 16MHz 晶振频率 = 12MHz
BTR0 BTR1 BTR0 BTR1
10 31 1C 65 1C
20 18 1C 52 1C
50 09 1C 47 1C
100 04 1C 43 1C
125 03 1C 42 1C
250 01 1C 41 1C
500 00 1C 40 1C
800 00 16 40 16
1000 00 14 40 14
有关这一方面的理论资料,可以参考《确定SJA1000 CAN控制器的位定时参数》等相关文档;《单片机与嵌入式系统应用》等杂志也有相关的论文《CAN总线位定时参数的确定》等资料刊载。
答 1: 在LPC2294电路中使用11.0592 MHz的晶振在LPC2294电路中使用11.0592 MHz的晶振,
如何设置实际总线的通讯波特率?
答 2: re2*11.0592MHz的波特率
#define BPS_5K 0x1c0113UL
#define BPS_10K 0x1c0089UL
#define BPS_20K 0x1c0044UL
#define BPS_50K 0x1c001bUL
#define BPS_100K 0x1c000dUL
#define BPS_125K 0x1c000aUL
#define BPS_250K 0x1b0005UL
#define BPS_500K 0x1b0002UL
#define BPS_800K 0x1a0001UL
#define BPS_1000K 0x170001UL
SJA1000独立CAN控制器的CAN通讯波特率由寄存器BTR0、BTR1、晶振等参数共同决定。
计算一个在指定晶振频率下的SJA1000节点通讯波特率,实际上是计算SJA1000寄存器BTR0、BTR1的设置值,但手续非常繁琐,工作量很大,需要涉及计算CAN系统时钟周期(SYNC_SEG、TSEG1、TSEG2、SJW和NBT)。这是由CAN2.0基本规范所决定,主要是为了使在不同工作方式、通讯距离的CAN节点之间能够正常、可靠通讯。同时,计算得出的CAN通讯波特率也仅是针对一个具体数值范围内的通讯波特率;这意味着,标称通讯速率为100Kbps的CAN节点,一般可以与通讯速率为90Kbps-110Kbps的CAN节点正常通讯。
因此,我们建议直接采用国际CiA协会推荐的通讯波特率设置值。相关的设置值可以参考ZLGCAN产品的附录3内容;下表列出了部分CiA推荐的BTR0、BTR1设置值。
表 SJA1000标准波特率
Baudrate
( Kbps ) 晶振频率 = 16MHz 晶振频率 = 12MHz
BTR0 BTR1 BTR0 BTR1
10 31 1C 65 1C
20 18 1C 52 1C
50 09 1C 47 1C
100 04 1C 43 1C
125 03 1C 42 1C
250 01 1C 41 1C
500 00 1C 40 1C
800 00 16 40 16
1000 00 14 40 14
有关这一方面的理论资料,可以参考《确定SJA1000 CAN控制器的位定时参数》等相关文档;《单片机与嵌入式系统应用》等杂志也有相关的论文《CAN总线位定时参数的确定》等资料刊载。
答 1: 在LPC2294电路中使用11.0592 MHz的晶振在LPC2294电路中使用11.0592 MHz的晶振,
如何设置实际总线的通讯波特率?
答 2: re2*11.0592MHz的波特率
#define BPS_5K 0x1c0113UL
#define BPS_10K 0x1c0089UL
#define BPS_20K 0x1c0044UL
#define BPS_50K 0x1c001bUL
#define BPS_100K 0x1c000dUL
#define BPS_125K 0x1c000aUL
#define BPS_250K 0x1b0005UL
#define BPS_500K 0x1b0002UL
#define BPS_800K 0x1a0001UL
#define BPS_1000K 0x170001UL
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
汽车+汽车电子电阻解释与分析被打赏5分 | |
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 |