[CAN-bus/DeviceNet] 求助!希望老师能给一个详细的回答!

[复制链接]
 楼主| 发表于 2007-1-5 15:24 | 显示全部楼层 |阅读模式
尊敬的老师您们好!<br />&nbsp;&nbsp;&nbsp;&nbsp;我在学习ARM_CAN中遇到了这样一个问题!希望老师能给我一个答复!谢谢老师!<br />&nbsp;就是CAN总线的波特率的设置问题<br />CANstarter-ii的指南中的CAN常见问题解答我也看过,但还是不明白。<br />就是在实际的应用中,SAM&nbsp;&nbsp;,TSEG2,TSEG1,SJW&nbsp;,BRP等这些值的大小到底是怎么确定的,我按照书中提供的范围进行改动,运行后,就会出现报错情况。不知道这些数据到底是怎么确定下来的,如下面的这段程序,这些数据到底是怎样定下来的呢?希望老师能给我一个具体的解释!谢谢老师!<br />我的邮箱是ccy_7128@163.com<br /><br /><br />//当VPB时钟为4*11059200Hz时,常用波特率与总线时序器对照表,如果VPB时钟不等,请自己计算出总线时序器的值<br />//BPS&nbsp;=&nbsp;(SAM&nbsp;&lt&lt&nbsp;23)|(TSEG2&nbsp;&lt&lt&nbsp;20)|(TSEG1&nbsp;&lt&lt&nbsp;16)|(SJW&nbsp;&lt&lt&nbsp;14)|&nbsp;BRP<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_5K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;879<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_10K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;439<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_20K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;219<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_40K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;109<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_50K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;87<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_80K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(4&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;68<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_100K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;43<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_125K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(4&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;43<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_200K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;21<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_250K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(4&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;21<br />#define&nbsp;BPS_400K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(6&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;10<br />#define&nbsp;BPS_500K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(4&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;10<br />#define&nbsp;BPS_666K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(2&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;10<br />#define&nbsp;BPS_800K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(1&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;10<br />#define&nbsp;&nbsp;&nbsp;&nbsp;BPS_1000K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;23)|(1&nbsp;&lt&lt&nbsp;20)|(1&nbsp;&lt&lt&nbsp;16)|(0&nbsp;&lt&lt&nbsp;14)|&nbsp;8
发表于 2007-1-6 08:55 | 显示全部楼层

请对照参考周立功网站《确定SJA1000 CAN控制器的位定时参数》

和《CAN2.0规范》中关于位定时的内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

9

帖子

0

粉丝
快速回复 返回顶部 返回列表