打印

请问:哪里有关于CAN中用于时间戳的16定时器的详细说明?

[复制链接]
6372|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lyons|  楼主 | 2009-3-11 07:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在参考手册上没找到详细的相关说明
沙发
ST_ARM| | 2009-3-11 11:41 | 只看该作者

请问你所指的“16定时器”是指什么?

是指位时间的同步段(SYNC_SEG)、时间段1(BS1)、时间段2(BS2)的那个时间单元么?还是指其他什么时钟?

如果是,见如下:(详见21.5.7 Bit timing)

BaudRate = 1 / NominalBitTime
NominalBitTime = 1 × tq+tBS1+tBS2
其中:
tBS1 = tq × (TS1[3:0] + 1),
tBS2 = tq × (TS2[2:0] + 1),
tq = (BRP[9:0] + 1) × tPCLK
tPCLK = APB总线时钟周期
BRP[9:0], TS1[3:0] and TS2[2:0]的定义见CAN_BTR寄存器。
CAN是连接在APB1总线上的,在你的进行系统时钟初始化时,就已经对其进行初始化。

APB的时钟周期参见参考手册的6.2节 时钟。

使用特权

评论回复
板凳
lyons|  楼主 | 2009-3-11 13:37 | 只看该作者

我说的是用于TTCAN的16位定时器

使用特权

评论回复
地板
ST_ARM| | 2009-3-11 14:07 | 只看该作者

不明白你说的TTCAN是什么?

在我们的手册中,没有提过CAN内部有“16位定时器”?
请楼上上的提供出处。

使用特权

评论回复
5
lyons|  楼主 | 2009-3-11 16:26 | 只看该作者

TTCAN是时间触发CAN--Time Triggered CAN

21.2 bxCAN main features
● Supports CAN protocol version 2.0 A, B Active
● Bit rates up to 1 Mbit/s
● Supports the Time Triggered Communication option
Transmission
● Three transmit mailboxes
● Configurable transmit priority
● Time Stamp on SOF transmission
Reception
● Two receive FIFOs with three stages
● 14 scalable filter banks
● Identifier list feature
● Configurable FIFO overrun
● Time Stamp on SOF reception
Time-triggered communication option
● Disable automatic retransmission mode
● "16-bit free running timer"----------------我说的是这个
● Time Stamp sent in last two data bytes

使用特权

评论回复
6
ST_ARM| | 2009-3-11 18:05 | 只看该作者

真的没有太在意那个定时器

16-bit free running timer 是一自由运行的Timer,一旦使能CAN后,就开始运行,它主要用于记录接收/发送SOF时刻的时间戳。在Mailbox data length control and time stamp register (CAN_TDTxR) (x=0..2)使用

更详细的内容,我需要向欧洲的工程师询问,得到答复后,我会将内容公开这个跟贴后面。

使用特权

评论回复
7
lyons|  楼主 | 2009-3-11 19:33 | 只看该作者

谢谢了!

使用特权

评论回复
8
ijk| | 2009-3-11 22:22 | 只看该作者

我的感觉

我的感觉是,没有必要弄清楚这个定时器的太多细节。因为它提供的是一个相对时间,用户没有必要对它初始化或清0,用户只需要知道它的时钟源或者精度就够了。欢迎谈论。

使用特权

评论回复
9
香水城| | 2009-3-11 22:39 | 只看该作者

哈哈,16位自由运行定时器,到楼主这里变成“16定时器”

我说怎么看不懂?

其实我认为没必要说明什么,所谓Free running就是不受控地自由运行,即自动地不断递增,在需要时自动地发送出去。

在操作系统或任何通信协议的层面上,Time Stamp可以没有具体的时间含义,甚至可以是一个自由数,唯一的要求是,随着时间的推移,这个Time Stamp应该变化,并且是单调的。一个Free running的定时器满足了这个要求。

等等6楼的结果吧,看看设计师怎么说。

使用特权

评论回复
10
ST_ARM| | 2009-3-12 10:47 | 只看该作者

内部论坛上搜到一点资料

This 16-bit timer is activated by setting the bit TTCM in the CAN 
control register. It is NOT an independent timer like the general 
purpose timers. 
“16位定时器通过对CAN的控制寄存器TTCM置位来激活,不像通用定时器,它不是一个独立的定时器。”

This timer is incremented each CAN bit time. This means that the user can not configure its resolution (fixed to 16-bit) and can not modify  its frequency update (fixed to the CAN bit time). 
“这个定时器每一个CAN的位时间就自动加一,这意味着用户不需要对其进行配置,也不能修改它的频率(它的频率固定为:CAN的位时间--- tCAN)。”

在新的参考手册,将加入以上内容。

(不知道翻译得是否准确,敬请谅解)

使用特权

评论回复
11
starm| | 2009-3-12 10:56 | 只看该作者

可以用到这个timestamp参考接收消息的时间差 ?

使用特权

评论回复
12
lyons|  楼主 | 2009-3-12 15:46 | 只看该作者

谢谢!

使用特权

评论回复
13
ijk| | 2009-3-12 17:22 | 只看该作者

差不多

  跟我估计的差不多,我本来估计这个16-bit free running定时器的时钟是APB时钟,现在确定是CAN 的位时钟,其实这样更好-CAN总线上各个接点的APB时钟可以不同,但是CAN 的速率(CAN 的位时钟)总是相同的。

使用特权

评论回复
14
香水城| | 2009-3-12 22:55 | 只看该作者

这个问题的关键是要理解Time Stamp的概念

请看我在9楼的说明。

楼上几位说的Free running定时器的时钟是CAN的位时钟,这满足我说的Time Stamp单调变化的要求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

65

帖子

0

粉丝