打印

初学CAN通信,被波特率搞晕了

[复制链接]
3400|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pbug|  楼主 | 2010-7-24 14:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手上两块MC9S08DZ60的开发板,晶振是8Mhz,我想用250kbps的速度通信,但总不成功,我想我是不是哪里弄错了?我的CAN配置如下:

时钟源:外部时钟源(即8Mhz晶振)
CAN预分频器数值:2(fTQ=8/2=4M)
每Bit所需要的TQ数:4M/250k=16
时段2所占的TQ数:16*(1-75%)=2(我假设在75%处采样)
时段1所占的TQ数:16*75%-1=11 (减1是因为要将Sync_SEQ所占的1TQ减去)
根据时段1和时段2的数值,查表找到同步跳转宽度为1

根据上面的技术结果,得出的数值应该是:
CANBTR0_BRP=2-1=1
CANBTR0_SJW=0
CANBTR1_TSEG1=11-1=10
CANBTR1_TSEG2=0

但是,按照上面的来配置,两块板子总是通信不了,我快要疯了!!!我到底哪里错了?正确的配置应该是怎样?

相关帖子

沙发
bluehacker| | 2010-8-21 08:05 | 只看该作者
SJW应该等于min(时间段2,4}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝