共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 跳转至页
回复
有奖活动 | |
---|---|
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? | |
抽奖了,抽奖了,金升阳医疗电源 |
打赏帖 | |
---|---|
【换取手持数字示波器】+与同事对定时器输出相位可调PWM移相全桥控制分享被打赏50分 | |
【换取手持数字示波器】+LP-MSPM0L1306开发板试用体验+串口被打赏40分 | |
CC-RL编译器相关问题求助被打赏10分 | |
【换取手持数字示波器】+与同事对ESP-12开发调试经验分享被打赏50分 | |
【换取手持数字示波器】+同事tek示波器调试spi解析被打赏50分 | |
【换取手持数字示波器】+2.6寸墨水屏调试经验被打赏50分 | |
换取手持数字示波器+个人开关电源的设计经验被打赏50分 | |
【换取手持数字示波器】+【APT32F173测评】+URAT被打赏20分 | |
【换取手持数字示波器】CH32X035的定时器以及外部中断体验被打赏50分 | |
【换取手持数字示波器】CH32X035搭建开发环境(RISC-V)被打赏50分 |