我使用STM32系列微控制器,更具体地说是STM32F7
系列。目前我正在研究通用定时器的使用。
STMicro错误地解释了“影子寄存器”这个术语吗?
关于双缓冲寄存器。
微控制器有时使用双缓冲寄存器。这样,软件就可以写入和读取寄存器而不会造成麻烦。下图说明:
buffered register: active register:
-------------- --------------
| REGX_BUF | <-------> | REGX |
-------------- --------------
| |
| |
SOFTWARE HARDWARE
The software interacts Updates to and from the
only with the buffered active register take place
register. at specific moments (when it
is 'safe').
synonyms: synonyms:
- buffered register - active register
- preload register
- shadow register (?)
有几个方面从上图中两个REGX_BUF
和REGX
。
- 通常寄存器
REGX
被称为“活动寄存器”。 - 寄存器
REGX_BUF
有时称为“缓冲寄存器”。其他条款是“预加载寄存器”和“影子寄存器(?)”。
混淆说明。
不幸的是,关于术语“影子寄存器”有一个混淆。从我在互联网上看到的几个资料来看,它指的是REGX_BUF
。但是在STM32F746微控制器的参考手册RM0385和STM32F767微控制器的RM0410中,我偶然发现了这个术语“影子寄存器”的完全相反的解释。它不会参考REGX_BUF
,而是参考REGX
。
这是从参考手册的图片:
RM0385 -> chapter 23 General-purpose timers -> 23.3.2 Counter modes -> Fig 199
或
RM0410 -> Chapter 26 General-purpose timers -> 26.3.2 Counter modes -> Fig 244
该图混淆了我。我是否对“影子寄存器”这个术语有错误的解释,或者意法半导体在撰写本参考手册时是否犯了错误?
到底是什么问题? “X的影子寄存器”指的是一个“遮蔽”或复制“X”值的寄存器。这张图正好显示了影子寄存器跟随“自动预加载”的值,并且有一点时间延迟。 –
从我在几个源中读到的内容来看,“影子寄存器”是“预加载寄存器”的同义词:this是与软件交互的注册表。 --- “活动寄存器”是与硬件交互的一个。 来自STMicro手册的图解释术语“影子寄存器”不是“预加载寄存器”的同义词,而是“有效寄存器”的同义词。所以我感到困惑。 –
http://electronics.stackexchange.com/questions/86032/what-actually-is-a-shadow-register –