这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » SJA1000,16MHz 在SJA1000电路中使用16MHz的晶振,

共2条 1/1 1 跳转至

,SJA1000,16MHz 在SJA1000电路中使用16MHz的晶振,

院士
2006-09-17 18:14:16     打赏
,SJA1000,16MHz 在SJA1000电路中使用16MHz的晶振,



关键词: SJA1000     16MHz     电路     使用     晶振    

院士
2006-12-22 22:43:00     打赏
2楼
问 如何设置实际总线的通讯波特率?


    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 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]