打印

请教:“影子寄存器”在SMI32中共有几个?

[复制链接]
5706|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
60岁老头|  楼主 | 2008-8-4 17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  我觉得这种说法很别扭,“影子”总是和“本体”对应的。

沙发
香水城| | 2008-8-4 19:00 | 只看该作者

在STM32中有两种“影子寄存器”

一种“影子寄存器”是与自动重装载寄存器对应,另一种是与捕获/比较寄存器对应;影子寄存器的作用就是在程序写它对应的寄存器(本体)与数据真正写入本体寄存器之间作一个缓冲,当本体寄存器正在进行相应操作时,不宜立即修改它的内容,应该等它当前的操作执行完后再行更改。

影子寄存器起到了同步写操作与本体寄存器操作的作用。

使用特权

评论回复
板凳
60岁老头|  楼主 | 2008-8-4 19:46 | 只看该作者

哈哈,香主犯了我开始时一样的错误。

    哈哈,香主犯了我开始时一样的错误。如果是这样,就不“别扭”了。
    事实是,参考手册中的“影子”,指的都是起实际被比较作用的寄存器。
和我们的习惯相反。
    我现在的理解是:
    “影子”寄存器,指的都是起实际被比较作用的寄存器。
    下列寄存器有“影子”寄存器:
预分频器寄存器 (TIMx_PSC)    TIM1-4 共4个
自动装载寄存器 (TIMx_ARR)    TIM1-4 共4个
捕获/比较寄存器(TIMx_CCRx)   TIM1-4 共7个 总计15个。
    “影子”寄存器的存在,是实现硬件事件快速实现“更新”的需要。

    另外,据说在捕获中,也有“影子”的存在。
    

使用特权

评论回复
地板
香水城| | 2008-8-4 21:03 | 只看该作者

谢谢60岁老头的指教

确实我对这个“影子”理解不透,而且手册中也没有非常清晰地说明,我正在要求总部的设计人员能够给出清楚地说明,并放到下一版本的手册中。

好在目前还不影响TIM的使用。

使用特权

评论回复
5
grant_jx| | 2008-8-4 21:48 | 只看该作者

“影子”大部分都是在Times中出现

按这类寄存器的实际作用理解,就应该是“实时更新”实际用于操作寄存器的的状态的。这类寄存器在ST 8bit MCU 的定时器部分也有。

使用特权

评论回复
6
pb486| | 2008-8-5 09:07 | 只看该作者

关注

使用特权

评论回复
7
60岁老头|  楼主 | 2008-8-5 11:52 | 只看该作者

我错了

    下列寄存器有“影子”寄存器:
预分频器寄存器 (TIMx_PSC)    TIM1-4 共4个
自动装载寄存器 (TIMx_ARR)    TIM1-4 共4个
捕获/比较寄存器(TIMx_CCRx)   TIM1-4 共16个 总计24个。

使用特权

评论回复
8
xinhuam| | 2008-8-12 11:58 | 只看该作者

TIM1_RCP也似乎有影子寄存器

使用特权

评论回复
9
60岁老头|  楼主 | 2008-8-12 16:35 | 只看该作者

从手册上来看,好象没有。

    至今尚无法理解“影子”存在的必要性。“影子”就是“影子”。
    要不如何解释全世界那么多CPU中没有这个概念。
    侃侃而已。

使用特权

评论回复
10
60岁老头|  楼主 | 2008-8-12 16:50 | 只看该作者

不是TIM1_RCP,是TIM1_RCR。

    他的名称也错了,不应该叫“周期计数寄存器”。要误解为计数器的。
    应该叫“周期数寄存器”,它和自动重装载寄存器(TIM1_ARR)用于向下计数时是一个概念。

使用特权

评论回复
11
xinhuam| | 2008-8-14 12:51 | 只看该作者

是写错了,TIM1_RCR.

是写错了,TIM1_RCR.
但确有个计数器REP_CNT, 图25上面写了Repetition counter, TIM1_RCR是它的寄存器. 
另外,预分频器寄存器的不叫“影子寄存器”,而叫缓冲区, 耐人寻味,仔细想象很有道理.TIM1_RCR的没写是叫“影子寄存器”,还是“缓冲区”,但按理应该是“影子寄存器”,请大家探讨

使用特权

评论回复
12
wyfdlzg| | 2010-11-20 08:10 | 只看该作者
影子寄存器的最主要作用是在于同步 如果没有影子寄存器的存在,那么各个寄存器的更新是即时的 即软件写的时候完成 而很多时候要求多个寄存器同时更新 所以需要影子寄存器

使用特权

评论回复
13
john_lee| | 2010-11-20 20:47 | 只看该作者
应该叫“深度为2个单位的FIFO”。

使用特权

评论回复
14
香水城| | 2010-11-20 21:54 | 只看该作者
应该叫“深度为2个单位的FIFO”。
john_lee 发表于 2010-11-20 20:47


不一样的,FIFO是有进有出,而这里的“本体”寄存器可是没有“出”的概念。

使用特权

评论回复
15
hutianyu| | 2012-7-18 17:42 | 只看该作者
看看大神们讨论受益匪浅

使用特权

评论回复
16
LAORUAN| | 2012-7-18 20:14 | 只看该作者
一直很好奇“香水城”是ST公司的啥?

使用特权

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

本版积分规则

23

主题

158

帖子

0

粉丝