[经验之谈]9S12的MSCAN速率配置及错误帧故障的解决

- UID
- 851929
|
回复后的内容是:
本帖最后由 beition 于 2011-8-22 10:36 编辑
最后,我把CAN0CTL1 = 0x80; 改为 CAN0CTL1 = 0xc0;故障消失。
仔细分析了一下,我仅仅是把CAN时钟源从晶振改为总线。说明晶振有问题。
用示波器测量,发现晶振有轻度的毛刺,一般情况下不影响使用。
总结了一下,说明一个问题:当预分配因子小于等于2的时候,如果时钟源采用晶振,那么晶振一定要质优可靠,不允许有毛刺,而且晶振电路布线一定要合理设计。曾经有一块板子,100%会出现这个问题。说明晶振电路存在问题,会有毛刺。这可以说是 飞思卡尔的MSCAN模块潜在的一个比较严重的问题。
因速率在125Kbps时候没有这个问题,说明预分频因子在4或者更大的时候,晶振的毛刺对CAN影响不大。
为了可靠起见,建议采用总线时钟。
|
|
|
|
|
|

- UID
- 851929
|
回复后的帖子是:
最后,我把CAN0CTL1 = 0x80; 改为 CAN0CTL1 = 0xc0;故障消失。
仔细分析了一下,我仅仅是把CAN时钟源从晶振改为总线。说明晶振有问题。
用示波器测量,发现晶振有轻度的毛刺,一般情况下不影响使用。
总结了一下,说明一个问题:当预分配因子小于等于2的时候,如果时钟源采用晶振,那么晶振一定要质优可靠,不允许有毛刺,而且晶振电路布线一定要合理设计。曾经有一块板子,100%会出现这个问题。说明晶振电路存在问题,会有毛刺。这可以说是 飞思卡尔的MSCAN模块潜在的一个比较严重的问题。
因速率在125Kbps时候没有这个问题,说明预分频因子在4或者更大的时候,晶振的毛刺对CAN影响不大。
为了可靠起见,建议采用总线时钟。 |
|
|
|
|
|