首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

浅谈CAN总线的位定时参数

浅谈CAN总线的位定时参数

1.概述

CAN总线通信中,波特率、位周期内采样次数和采样位置都可以通过编程设置,这些设置为用户根据其应用优化网络通信性能提供了方便。优化位定时参数,能够保证信息同步、通信性能、传输延迟和晶振误差在极端条件下进行恰当的错误检测。

然而系统的有些性能是相互冲突的,例如,在位周期末端部分选择采样点可以使传播延迟有更大的容差,这时总线长度可以更长;如果在位周期的中点附近选择采样点,则系统的每个节点可以有更大的振荡器容差。可以明显地看出振荡器容差和总线长度是互相冲突的,它们只有通过优化位定时参数才能兼备。

本文将通过一个CAN总线控制网络介绍CAN总线位定时参数的基本概念和计算设置方法。该网络采用AT89S52单片机、SJA1000 CAN控制器和PCA82C250总线收发器设计,并应用于楼宇自动化控制系统中,获得了良好的应用效果。

2.CAN总线的位定时关系及相关概念

下面介绍的几个概念中有些与具体的器件有关,本网络中使用的CAN总线控制器件是SJA1000,因此,有关概念也都是针对SJA1000而言的。

振荡器时钟周期tclk tclk是CAN总线控制器外挂晶振频率的倒数,它是CAN总线系统中的最小时间单位。

系统时钟周期tSCL tSCL是系统将tSCL分频后得到的一个时间值,它在时间上就是一个时间份额TQ,分频数由SJA1000的波特率预设值(BRP)决定。tSCL可由下式来计算:tSCL=2×tclk×BRP (1)

位周期tBit位周期是一位数据在总线上的持续时间。使用Philips公司的独立CAN控制器,一个位周期由3个部分组成:同步段( tSYNC_SEG)、相位缓冲段1(tTSEG1)和相位缓冲段2( tTseg2)。如下式所示:tBit=tSYNC_SEG+tTSEG1+tTSEG2 (2)

CAN位定时控制寄存器BTR0和BTR1 SJA1000的地址6(BTR0)和地址7(BTR1)是位定时控制寄存器。
继承事业,薪火相传
返回列表