can通道采样频率_CAN总线位定时参数的确定

本文探讨了CAN总线的位定时参数如何确定,包括波特率、取样点数和位置,以优化网络通信性能。通过对位定时参数的研究,可以理解其与参考时钟误差和信号延迟的关系,从而提高通信系统的整体性能。
摘要由CSDN通过智能技术生成

摘要:

can

通信中,波特率、位周期内取样点数和位置可以编程设置,这些设置为用户根据

其应用优化网络通信性能提供了方便。优化位定时参数,能够保证信息同步,保证传输延迟

和时钟误差在极端条件下进行恰当的错误检测。

本文说明位定时参数的确定方法。

键词:

can

总线

位定时

同步

延迟引言

can

总线是一种有效支持分布式控制和实时控制的、

多主的异步串行通信网络。由于

can

总线具有较强的纠错能力,支持差分收发,适合高噪声

环境,具有较远的传输距离,并且

philips

intel

等半导体公司都有支持

can

通信协议的

集成器件。

can

总线已经在各个领域中得到了广泛应用。在

can

通信协议中规定,通信波特

率、每个位周期的取样位置和个数,都可以自行设定。这样的设计理念,为用户在自己的应

用中,优化网络通讯性能提供了空间。为了通过设定位定时参数来优化网络通信性能,必须

清楚位定时参数与参考时钟误差和系统内信号延迟的关系。如果位周期内的取样位置偏后,

将能够容忍较大的信号传输延迟,相应的,总线传输距离可以延长;而如果周期内的取样位

置接近中间,则可以容忍系统的节点间的参考时钟误差。但这显然是矛盾的,为了协调这种

矛盾,必须对位定时参数进行优化位置。

1

位周期结构图

通过对

can

总线位定时参数进行研究,找到矛盾的关键所在,就能够对其进行优化,

从而提高通信系统的整体性能。下面以

philips

公司的独立通信控制器

sja1000

为例,进行

研究。

1

相关定义

1.1

位周期的组成波特率

(

fbit

)

是指单位时间内所传输的数据位的数量,

一般取单位时间为

1s

。波特率由通信线上传输的一个数据位周期的长度(

tbit

)决定,如下

式所示。

fbit=1/tbit

(

1

)根据

philips

公司的独立通信控制器,一个位周期由

3

个部分组成:同步段(

tsync_seg

)

、相位缓冲段

1

(

ttseg1

)和相位缓冲段

2

(

ttseg2

)

tbit=tsync_seg+ttseg1+ttseg2         (2)

所有这些时间段,都有一个共同的时间单元—

—系统时钟周期(

tscl

)

。具体到

sja1000

tscl

由总线时序寄存器的值来确定。

sja1000

2

个总线时序寄存器,即总线时序寄存器

0

(

btr0

)和总线时序寄存器

1

(

btr1

)

。这

2

个寄

存器有自己不同的功能定义,

共同作用决定总线的通信波特率。

总线时序寄存器

0

定义波特

率预设值

brp

(共

6

位,取值区间

[1,64]

和同步跳转宽度

sjw

(共

2

位,取值区间

[1,4]

)的

值。位功能说明如表

1

所列。

1bit7bit6bit5bit4bit3bit2bit1bit0sjw.1sjw.0brp.5brp.4brp.3brp.2brp.1brp.0can

的系统时钟周期

tscl

,可以由

brp

的数值为决定,计算公式如下:

tscl=2tclk

×

brp=2tclk

×

(32brp.5+16brp.4+8brp.3+4brp.2+2brp.1+1brp.0+1)

(

3

)其中

tclk

为参考时间

的周期。

tclk=1/fclk

(

4

)为了补偿不同总线控制器的时钟振荡器之间的相位偏移,

任何总线控制器必须在当前传送的相关信号边沿重新同步。同步跳转宽度定义了每一位周期

可以被重新同步缩短或延长的时钟周期的最大数目。

tsjw=tscl

×(

2

×

sjw.1+1

×

sjw.0+1

)

(

5

)总线时序寄存器

1

定义每个位周期长度采样点的位置和在每个采样点的采样数目。位

功能说明如表

2

所列,其中

sam

意义见表

3

2bitbitbitbitbitbitbitbitsamtseg2.2tseg2.1tseg2.0tseg1.3tseg1.2tseg1.1tseg1.0

3

位值功

sam0

三倍:总线采样三次:建议在中

/

低速总线(

a

b

级)使用,有

处于过滤总线上毛刺

1

单倍:总线采样一次;建议使用在高速总线上(

saec

级)

tseg1

(共

4

位,取值区间

[1,16]

)和

tseg2

(共

3

位,取值区间

[1,8]

)决定了每一位时钟数目和采样点

的位置。这里

tsync_seg=1

×

tscl

(此时间段固定)

(

6

)

ttseg1=tscl

×

(8

×

tseg1.3+4

×

tseg1.2+2

×

tseg1.1+1

×

tesg1.0+1)       (7)ttseg2=tscl

×

(4

×

tseg2.2+2

×

tseg2.1+1

×

tesg2.0+1)       (8)

位周期的标量值

(

nbt

)

定义为,

sync_seg

(

同步段系统时钟周期数)

tseg1

(相位缓冲段

1

系统时钟周期数)

tseg2

(相位缓冲段

2

系统时钟周期数)之和。这决

定了它的取值区间为

[3,25]

,在

1

个取样点时,最小值一般取

4

;在

3

个取样点时,最小值

一般取

5

nbt=tbit/tscl=sync_seg+tseg1+tseg2       (9)

位周期的一般结构如图

1

所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值