我使用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 –