- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN波特率设置时的参数计算
CAN 波特率设置时的参数计算
CAN (Controller Area Network )总线最早由德国 BOSCH 公司提出,主要用于汽车内部测量与控制中心
之间的数据通信。由于其良好的性能,在世界范围内广泛应用于其他领域当中,如工业自动化、汽车电子、
楼宇建筑、电梯网络、电力通讯和安防消防等诸多领域,并取逐渐成为这些行业的主要通讯手段。 Can
控制器器只需要进行少量的设置就可以进行通信,其中较难设置的部分就是通信波特率的计算。CAN 总线能
够在一定的范围内容忍总线上CAN 节点的通信波特率的偏差,这种机能使得CAN 总线有很强的容错性,
同时也降低了对每个节点的振荡器精度。实际上,CAN 总线的波特率是一个范围。假设定义的波特率是
250KB/S,但是实际上根据对寄存器的设置,实际的波特率可能为200~300KB/S (具体值取决于寄存器的
设置)。
CAN 波特率设置时需要计算几个参数,这些参数共同决定波特率大小,由于计算比较复杂,希望有一个简
易步骤,本人经过研究,找到一个简易办法,现贴出来分享,不对的地方请留言指正。需要说明的是,本
人使用的can 控制器是AT89C51CC03 单片机中的can
首先,确定一下各项参数的取值范围:
参数 范围 编程值 说明
BRP [1..64] 0-63 定义时间量子(时间份额)的长度tq
Sync_Seg 1 tq 固定长度,总线输入与系统时钟同步
Prog_Seg [1..8]tq 0-7 补偿物理延时时间
Phase_Seg1 [1..8]tq 0-7 可通过同步暂时延长
Phase_Seg2 [1..8]tq 0-7 可通过同步暂时缩短
TSJW [1..4]tq 0-3 不能比任何一相位缓冲段长
以上是参数的取值范围,编程值是实际往寄存器里写的值,为实际取值减1。下面说一下步骤:
1、首先计算CAN 时钟和波特率的比值;
2、根据比值确定预分频器的分频值BRP,计算时间量子的数目,这个数值范围是8-25;
3、将时间量子数减1 (去掉Sync_Seg )后在Prog_Seg Phase_Seg1 Phase_Seg2 三个参数中分配;
4 、Prog_Seg 和整个线路的时延有关,一般不太好确定,可以按下面的原则进行分配:
Prog_Seg=Phase_Seg1=Phase_Seg2 ;
Phase_Seg1=Phase_Seg2 或者 Phase_Seg1+1=Phase_Seg2 ;
5、SJW 取Phase_Seg1 和4 中小的那个。
估计上面叙说不太好理解,下面举例说明:
假定晶振是12M,CAN 时钟为6M (不同单面机,CAN 时钟和晶振的关系不一样,BRP 的取值范围不同
单单片机也不一定相同,参看单片机说明)
1、500K 波特率
FCAN/CAN baudrate = 6 MHz/500 kHz = 12,在8-25 范围,所以BRP=1,TQ 数目=12/1=12
Prog_Seg Phase_Seg1 Phase_Seg2 分别等于3、4 、4
寄存器编程值为(上述值减1):
BRP=0,SJW=3,PRS=2,PHS1=3,PHS2=3
2、100K 波特率
FCAN/CAN baudrate = 6 MHz/100 kHz = 60,取BRP=6,TQ 数目=60/6=10
Prog_Seg Phase_Seg1 Phase_Seg2 分别等于2、3、4
寄存器编程值为(上述值减1):
BRP=5,SJW=2,PRS=1,PHS1=2,PHS2=2
3、10K 波特率
FCAN/CAN baudrate = 6 MHz/100 kHz = 600,取BRP=60,TQ 数目=600/60=10
Prog_Seg Phase_Seg1 Phase_Seg2 分别等于2、3、4
寄存器编程值为(上述值减1):
BRP=59,SJW=2,PRS=1,PHS1=2,PHS2=2
4 、5K 波特率
FCAN/CAN baudrate = 6 MHz/5 kHz = 1200,取BRP=60,TQ 数目=1200/60=20
Prog_Seg Phase_Seg1 Phase_Seg2 分别等于6、6、7
寄存器编程值为(上述值减1):
BRP=59,SJW=3,PRS=5,PHS1=5,PHS2=6
您可能关注的文档
- (天津)野生山珍干菌礼盒报价单.pdf
- - 黄直久-201006外加剂与混凝土含气量标准.pdf
- 03附图:调整后总施工进度计划.pdf
- 01 PADS9.3 参数设置.pdf
- 0~6岁儿童中医药健康管理服务记录表.pdf
- (简述)HT32F1755-1765-2755_Datasheetv110.pdf
- 1-简述龟鳖类的生活习性、濒危现状及保护.pdf
- 1 往复压缩机-故障案例分析-打印版.pdf
- 10151大连海事大学2013年度本科教学质量报告.pdf
- 10 -7第一批新产品2009-A1版报价单.pdf
- 云南省大理市事业单位考试(中小学教师类D类)职业能力倾向测验强化训练试题集及参考答案.docx
- 2025年辽宁省大石桥市职业能力倾向测验事业单位考试(中小学教师类D类)试题推荐.docx
- 2025年江苏省张家港市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库汇编.docx
- 2025年河南省孟州市事业单位考试(中小学教师类D类)职业能力倾向测验知识点试题参考答案.docx
- 2025年辽宁省开原市事业单位考试(中小学教师类D类)职业能力倾向测验重点难点精练试题新版.docx
- 甘肃省敦煌市事业单位公开招聘考试职业能力倾向测验(D类)(中小学教师类)真题汇编.docx
- 2025年贵州省福泉市事业单位考试(中小学教师类D类)职业能力倾向测验知识点试题附答案.docx
- 2025年云南省文山市事业单位考试(中小学教师类D类)职业能力倾向测验试卷新版.docx
- 2025年江苏省江阴市事业单位公开招聘考试职业能力倾向测验(D类)(中小学教师类)真题学生专用.docx
- 2025年山东省禹城市事业单位公开招聘考试职业能力倾向测验(D类)(中小学教师类)真题完美版.docx
文档评论(0)