标题: [经验之谈]9S12的MSCAN速率配置及错误帧故障的解决 [打印本页]
作者: fish1330 时间: 2009-5-30 10:38 标题: [经验之谈]9S12的MSCAN速率配置及错误帧故障的解决
CAN模块的时钟配置,取决于TQ数,还有分频数。
但是不少新手还漏掉了一个重要的参数:那就是时钟源。
请查看下图:
[attach]6905[/attach]
CAN模块的时钟源可以选择为 晶振或者总线时钟。默认是晶振。
配置寄存器为 CANCTL1 <6>:CLKSRC 位。
MSCAN Clock Source—This bit de?nes the clock source for the MSCAN module
0 MSCAN clock source is the oscillator clock
1 MSCAN clock source is the bus clock
然后配置分频系数:
CANBTR0<5..0>: 预分频因子=1+CANBTR0<5:0>
然后配置TESG1和TSEG2:
TSEG1=CANBTR1<3..0> +1
TSEG2=CANBTR1<6..4> +1
位速度=(预分频因子) * (1+TSEG1+TSEG2) / CAN模块时钟
---------------------------------------------------------------------------------------
近期在调试MSCAN功能中,发现速率升至250Kbps的时候,用周立功CAN调试器测试,部分线路板存在收发上百帧数据即无法收发数据。用VECTOR CAN调试,发现错误帧累积过多,自动被总线上其他节点屏蔽。而速率在125Kbps则无此现象。
此时,配置CAN如下:
CAN0CTL1 = 0x80;/* 进入初始化阶段,CAN时钟采用晶振源输入 */
CAN0BTR0 = 0xc1; /* 预分频因子 1+1 = 2 */
CAN0BTR1 = 0x3A; /*采样数,TSEG1及TSEG2 */
以上已经初步设定CAN速率为 250KBps。
如果是125Kbps,则修改预分频因子CAN0BTR0 = 0xc3;
因此现象不普遍,基本存在于 1/3左右,所以一直在排查硬件问题。CAN线路上相关元器件全部换了一遍,故障依旧。
后来,稍微修改了一下程序,把CAN0BTR0 = 0xc1;改为 0x81;现象略有好转。
经过多次试验,终于发现MSCAN原来存在一个潜在的大问题。
本帖隐藏的内容需要回复才可以浏览
[此贴子已经被作者于2009-7-26 14:52:59编辑过]
作者: fish1330 时间: 2009-5-30 10:44
帖子配置错误。
原先要设定成回复可见,结果设成 获赠金币帖 了。
回复可见是正常了,不过获赠金币不能改了。
就这样吧
作者: shxwait 时间: 2009-5-30 11:47
另一个是选择时钟源吗?
作者: shxwait 时间: 2009-5-30 11:48
怎么回复后也看不到啊
作者: WXEV 时间: 2009-5-30 13:43
我试试看看。。回复后可以看到的
[此贴子已经被作者于2009-5-30 13:43:28编辑过]
作者: serapha 时间: 2009-6-2 12:00
[em03][em03][em03]
作者: modelfly 时间: 2009-6-8 17:16
我试试看看。。回复后可以看到的
作者: strayroc 时间: 2009-6-10 21:19
怎么回复后也看不到啊
作者: hejianqian 时间: 2009-6-12 10:43
[em01]
作者: lxclxc 时间: 2009-6-12 14:23
我试试看看。。回复后可以看到的
作者: maryshuang 时间: 2009-6-12 16:22
应该是时钟的配置!
作者: jaky0 时间: 2009-6-13 06:15
狂顶,先看看
作者: da-zhaozhuang 时间: 2009-6-19 15:09
我正在学习CAN中,谢谢楼主分享。
作者: lissddd 时间: 2009-6-25 20:14 标题: dddddddddddddddddddddd
sgfgdfdfgdfgdfgdfdfgdfdf
作者: pangfei007 时间: 2009-6-26 01:38
我回复了,谢谢!!
[em01]
作者: yazouren 时间: 2009-6-27 18:32
学习一下
作者: caigogo 时间: 2009-7-1 15:08
看看,呵呵!
作者: shengbo_2003 时间: 2009-7-2 14:46
谢谢
作者: hooter 时间: 2009-7-3 12:48
为什么必须回复才能看啊!!以前不这样的啊
作者: flower314 时间: 2009-7-9 14:20
[em01]正好要用到,支持下
作者: liujuan3669151 时间: 2009-7-12 15:28
还没做过,先谢了
作者: phoibos 时间: 2009-7-16 22:26
看看
作者: fayefayehoo 时间: 2009-7-20 13:40
[em60]看帖
作者: xiongxiong26 时间: 2009-7-21 20:13
回复看看
作者: mayong0626 时间: 2009-7-27 17:47
我试试看看。。
作者: bruceho 时间: 2009-7-28 09:46
看看吧[em05]
作者: bruceho 时间: 2009-7-28 09:47
看不到
作者: hooter 时间: 2009-7-29 11:51
kankan
作者: bwsh 时间: 2009-7-30 10:24
[em02] 回复收看
作者: chenjake 时间: 2009-7-30 13:51
看看~
[em01]
作者: xyklon 时间: 2009-7-30 16:47
刚把can调试通过,关注下
作者: ademaomao 时间: 2009-7-30 21:51
先看看
作者: xmyhome 时间: 2009-8-7 16:05
xiang kan
作者: shengds 时间: 2009-8-7 22:39
我也过来学习一下
作者: modelfly 时间: 2009-8-10 10:48
怎么回复后也看不到啊
作者: zcreat 时间: 2009-8-15 15:19
看不到啊
作者: kingforestwang 时间: 2009-8-19 21:39
我遇到了,老出错误。晕了
作者: applespine 时间: 2009-9-15 16:17
比较关注CAN方面的帖子
作者: wjma198310 时间: 2009-9-24 21:05
应该是时钟的配置
作者: whc1223 时间: 2009-9-25 09:02
en ghhhhhhhhhhhhhhhhhhhhh
作者: jaky0 时间: 2009-9-26 05:38
我试试看看。。
作者: ljwtwb2005 时间: 2009-9-27 11:22
正在学习CAN中,谢谢楼主分享
作者: shangmingli 时间: 2009-9-29 09:55
支持一下。希望学习。
作者: daixiaoke 时间: 2009-10-9 20:23
老是感觉MSCAN的波特率设置部分比较奇怪,部分按照英文手册上说的非法的设置值在运行时,竟然也能通行,不知楼主有没有遇到这个问题?
作者: fsystem 时间: 2009-10-12 17:09
顶顶 看看
学习了!!!!!!!!!!
作者: tx007007 时间: 2009-10-15 10:52
一定要看看
作者: lileibmw 时间: 2009-10-15 11:35
瞅瞅,谢谢
作者: SCYOU2000 时间: 2009-10-16 16:42
一定要看看
作者: Rodger_roy 时间: 2009-10-20 16:38
好帖子,谢谢.!
作者: laoli_eccn 时间: 2009-10-23 23:46
回复看看,谢谢
作者: sd5717806 时间: 2009-10-27 16:16
回复!谢谢
作者: javahan1 时间: 2009-10-28 08:28
好东西,研究研究
作者: glose 时间: 2009-10-28 10:55
看下CCCCCCCCCCCCC
作者: pengkily 时间: 2009-11-4 19:29
原先要设定成回复可见,结果设成 获赠金币帖 了。
回复可见是正常了,不过获赠金币不能改了。
作者: whut_wj 时间: 2009-11-6 23:24
时钟源,应该是最首先关心的东西。
作者: jmuauto 时间: 2009-11-8 20:10
thanks you
作者: lmh-dsp 时间: 2009-11-8 21:06
看看啊看卡啊啊卡按阿科技阿卡啊阿卡
作者: hutu0043 时间: 2009-11-10 13:32
多谢楼主~学习一下~
作者: nowaydoso 时间: 2009-11-10 13:59
学习了,谢谢
作者: xiaotianli 时间: 2009-11-17 11:11
是不是真的啊?看一下啊
作者: sdlczl 时间: 2009-11-17 16:21
学习学习学习学习学习学习
作者: wuyaplane 时间: 2009-11-18 10:35
看看到底是啥好东西
作者: iouzjl 时间: 2009-11-22 23:59
学习了。谢谢。。
作者: jjh_joshua 时间: 2009-11-25 16:40
xiexie,,,,,test OK
作者: Milani 时间: 2009-11-30 22:44
学习学习~~
作者: hualang0929 时间: 2009-12-1 13:09
看看~~~~~~~~~~~
作者: wjdmorals 时间: 2009-12-1 22:35
呵呵,学习学习,谢谢!
作者: applex_ww 时间: 2009-12-2 14:52
werwerwerwer
作者: zxiangru 时间: 2009-12-4 15:07
看看,看看,看看
作者: zhanghl45 时间: 2009-12-8 09:31
时钟源会不会被改了?
原先要设定成回复可见,结果设成 获赠金币帖 了。
回复可见是正常了,不过获赠金币不能改了。
就这样吧
作者: zhaoxyz486 时间: 2009-12-10 13:08
kankhhhhhhhhhhhhhh
作者: zps_grin 时间: 2009-12-10 14:17
谢谢分享,ddddddddd
作者: dicke-dunkun 时间: 2009-12-12 09:00
支持一个,看看怎么样排除故障的!
作者: thl0971 时间: 2009-12-17 13:26
看看分享 谢谢
作者: songhg_detc 时间: 2009-12-18 00:14
学习一下。。。。。
作者: haiyanfreescale 时间: 2009-12-22 12:08
也在研究,看看
作者: dannyfeng 时间: 2009-12-28 19:46
我也出现了类似问题
作者: dew0119 时间: 2009-12-29 19:12
试试,能不能看啊
作者: zel5532063 时间: 2009-12-29 23:15
我来试试看看
作者: dannyfeng 时间: 2009-12-30 16:52
楼主辛苦,不顶不行
作者: wq925110 时间: 2010-1-3 10:00
hao dongd ong
作者: jimmycc 时间: 2010-1-6 21:02
顶一个........
作者: hujieqiang 时间: 2010-1-8 15:44
还搞那么神秘啊
作者: crazy2008 时间: 2010-1-13 15:15
参考一下
用过HZ256,好像只有只有一个时钟源,就是晶振,不能用总线频率
作者: denghaibo 时间: 2010-1-15 12:24
看看怎么回事,我就老调试不成功
作者: ponygame 时间: 2010-1-15 14:35
我也来看看
作者: mingxia 时间: 2010-1-15 16:41
只是路过^_^
作者: toumingse 时间: 2010-2-6 20:45
一起来看看到底是什么问题
作者: toumingse 时间: 2010-2-6 20:48
我们一直用的是总线时钟,看来以后的注意了,谢谢斑竹啊。
作者: xulei2002 时间: 2010-2-28 18:15
look,thank..............
作者: ffery 时间: 2010-3-7 16:00
非常感谢楼主的分享!!!!!
作者: mgsqty 时间: 2010-3-30 13:09
正在学习 看看学习下!
作者: hhh5355 时间: 2010-4-7 19:53
我试试看看。。
作者: lesok 时间: 2010-4-7 20:48
作者: mcu2007 时间: 2010-4-7 23:33
lkugtyszgskjjhf
作者: xiaoqi050222 时间: 2010-4-12 13:00
先看一下 1# fish1330
作者: yujiechen8611 时间: 2010-4-12 15:47
我也遇到过这样的问题,原以为总线时钟和晶振时钟相等,CLKSRC为0或1没关系
作者: mingtain 时间: 2010-4-15 16:11
谢谢!!!!!!!!!!11
作者: baishaohua 时间: 2010-4-19 09:59
Thanks.
I'm now busy doing some work about CAN communicaiton.
作者: chaos_fy 时间: 2010-4-29 10:49
kaknaknakna
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |