网站首页 > 技术教程 正文
CAN位计时
位的布局
出于计时目的,CAN总线上的每个位都划分成至少4个时间成分。时间成分逻辑上划分成四个组或节 –
同步节
传播节
阶段节1
阶段节2
这里是一个CAN数据位的图片:
辅助工具
位计时计算器
为给出的输入频率和给出的总线速度计算所有可能的CAN总线参数集。
进入计算器
同步节始终是一个时间成分长,用于时钟同步。总线上的数据改变时,此处期望一个位边界。
传播节用来补偿总线线路中的延迟。
如有必要,阶段节可以缩短(阶段节1)或延长(阶段节2),以保持时钟同步。
在阶段节1和阶段节2之间的边界上对总线电平进行采样。
大部分CAN控制器还提供选项可以在一个位期间进行三次采样。这种情况中,在采样点之前的两个时间成分的边界上进行采样,结果取决于大数判决译码(至少82527这样)。
时钟同步
为了调整片上总线时钟,CAN控制器可能会缩短会延长位的长度(时间成分的整数倍)。这些位时间调整的最大值称为同步跳变宽度(SJW)。
硬同步在起始位从隐性到显性转换时产生。位时间从该边界重新开始。
重新同步在报文的同步节中不发生位边界时产生。一个阶段节被缩短或延长(缩短值或延长值取决于信号中的阶段错误)。可以使用的最大值由同步跳变宽度参数决定。
位计时寄存器计算
大部分CAN控制器允许程序员使用下列参数设置位计时:
时钟的预分频器值
采样点之前的时间成分数量
采样点之后的时间成分数量
同步跳变宽度(SJW)中的时间成分数量
通常为这个目的提供两个寄存器:btr0和btr1。但是,不同控制器之间略有差异,所以请仔细阅读您的数据清单。
在82c200和SJA1000上(均产自NXP – nee飞利浦),寄存器布局如下:
76543210
btr0SJW1SJW0BRP5BRP4BRP3BRP2BRP1BRP0
btr1SAMTSEG22TSEG21TSEG20TSEG13TSEG12TSEG11TSEG10
BRP0..BRP5设置时钟预分频器值
SJW0..SJW1设置SJW的长度
TSEG10..TSEG13设置采样点之前的时间成分数目(不包含起始位)
TSEG20..TSEG22设置采样点之后的时间成分数目
SAM,如果要获取三个样本,则设置为1。如果一个样本就已足够,则设置为0。
注意:这些参数的实际值比写入寄存器的值大1。
示例:如果提供给SJA1000的振荡器信号是16 MHz,我们想要250 kbit/s的比特率,采样点接近整个位的62%,以及SJW为2个时间成分,那么我们可以设置 –
BRP = 4,指定时间片长度为2 * 4 / 16000000 s = 500纳秒,以及
TSEG1 = 5,指定采样点之前有5个时间片,以及
TSEG2 = 3,指定采样点之后有3个时间片。
这样,每个位都将包含5 + 3 = 8个时间片,最终的比特率为1 / (8 * 500 ns) = 250 kbit/s。寄存器值应该为
btr0 =(SJW – 1) * 64 + (BRP -1) =
(2-1)*64 + (4-1) =
67 =
0×43
btr1 =SAM * 128 + (TSEG2 – 1)* 16 + (TSEG1 – 1) =
0*128 + (3-1)*16 + (4-1) = (“4″ 因为不包含起始位)
35 =
0×23
采样点为一个位的5/8(=62.5%)。
- 上一篇: 英特尔开始瞄向苹果订单,大抢台积电订单
- 下一篇: 车载主机再利用(补充)(车载主机接线图)
猜你喜欢
- 2024-11-14 建安区拟命名2022年度文明家庭名单公示
- 2024-11-14 “让罕见被看见,让关怀更早些”,松江这个征稿活动开始了!
- 2024-11-14 新石器时代手游探索与发现:最新礼包兑换码揭秘开启史前文明之旅
- 2024-11-14 泵的选型条件及泵的选型(泵选型一般程序及需要考虑的几方面因素)
- 2024-11-14 收下这份攻略 国美零售“黑伍”海信超品惠就这样买
- 2024-11-14 汽车仪表的发展、趋势及采用CAN总线技术实现设计
- 2024-11-14 汽车时间同步(汽车上的时间不对)
- 2024-11-14 正点原子开拓者NiosII资料连载第二十章CAN通信实验
- 2024-11-14 基于CAN总线的伺服电机通信控制特性
- 2024-11-14 openEuler操作系统管理员指南:查看系统信息
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)