2017-01-23 3 views
2

J'utilise la famille STM32 de microcontrôleurs, plus particulièrement la série STM32F7. Actuellement, j'étudie l'utilisation de minuteurs à usage général.

Est-ce que STMicro interprète mal le terme "registre d'ombre"?

A propos de doubles registres tamponnés.

Microcontrôleurs font parfois l'utilisation de registres à double tampon. De cette manière, le logiciel peut écrire et lire dans le registre sans causer de problèmes. La figure suivante explique:

   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 (?) 

Il y a plusieurs termes pour les deux REGX_BUF et REGX de la figure ci-dessus.

  • Généralement, le registre REGX est appelé "registre actif".
  • registre REGX_BUF est parfois appelé le « registre tampon ». D'autres termes sont le "registre de préchargement" et le "registre d'ombre (?)".

La confusion a expliqué.

Malheureusement il y a une confusion sur le terme « registre ombre ». D'après ce que j'ai lu sur plusieurs sources sur Internet, il fait référence à REGX_BUF. Mais dans le manuel de référence RM0385 du microcontrôleur STM32F746 et RM0410 du microcontrôleur STM32F767 je trébuche sur l'interprétation exactement opposée de ce terme "registre d'ombre". Il ne se réfèrerait pas à REGX_BUF, mais plutôt à REGX.
C'est une image du manuel de référence:

RM0385 -> chapter 23 General-purpose timers -> 23.3.2 Counter modes -> Fig 199 

ou

RM0410 -> Chapter 26 General-purpose timers -> 26.3.2 Counter modes -> Fig 244 

enter image description here

Ce chiffre me confond. Ai-je une mauvaise interprétation du terme «registre fantôme», ou est-ce STMicroelectronics qui a fait une erreur en écrivant ce manuel de référence?

+0

Quel est exactement le problème? "Shadow register of X" fait référence à un registre qui "ombrage" ou duplique la valeur de "X". Ce diagramme montre exactement que le registre des ombres suit la valeur du "Auto-preload" avec un peu de temps –

+0

D'après ce que j'ai lu sur plusieurs sources, "shadow register" est synonyme de "preload register": ceci est le registre interagissant avec le logiciel. --- Le "registre actif" est celui qui interagit avec le matériel. La figure du manuel STMicro interprète le terme «registre d'ombres» non comme un synonyme de «registre de précharge», mais plutôt comme un synonyme du «registre actif». Donc je suis confus. –

+0

http://electronics.stackexchange.com/questions/86032/what-actually-is-a-shadow-register –

Répondre

4

Le problème est que le terme «registre fantôme» n'a pas de signification spécifique et indépendante de l'architecture. Par exemple, l'architecture ARM comporte un ensemble de registres généraux auxquels vous pouvez écrire et lire (R0 - R12). Cependant, si vous entrez dans le contexte du gestionnaire d'interruptions R8 - R12 sont commutés sur "registres fantômes". Cela signifie que vous les adressez toujours comme vous le feriez dans un programme normal, mais que vous accédez à des registres complètement différents de la R8-R12 que vous avez utilisée dans le programme normal. Ce sont des ressources dédiées à la gestion des interruptions. Vous n'avez donc pas besoin de sauvegarder et de restaurer des registres comme vous le feriez normalement. Certains microcontrôleurs PIC vous permettaient d'écrire et de lire à partir de la même adresse pour les E/S de broche, mais en réalité, vous écrivez dans un tampon distinct de celui que vous avez lu, car l'écriture sur les broches peut ne pas nécessairement changer leur état immédiatement.Cette configuration a permis à l'architecture de mettre en mémoire tampon votre demande d'écriture pendant qu'elle attendait qu'elle puisse changer l'état de la broche. Ces tampons supplémentaires sont parfois appelés registres fantômes, et semble similaire à votre exemple. En utilisant la terminologie donnée dans vos exemples, je suppose que cela s'appellerait un "registre de précharge".

En général, le terme est utilisé pour désigner plusieurs ressources matérielles que vous pouvez traiter de la même manière. Lequel d'entre eux est le registre «réel» et qui est le registre «d'ombre» n'est pas cohérent entre les architectures et les fournisseurs, et à la fin n'est probablement pas très important non plus.

+0

Merci beaucoup. Cette réponse a clarifié le problème :-) –

2

fait ST définit sa norme: (. P 14 de général minuterie livre de recettes)

  • L'exemple registre actif (également appelé l'ombre exemple registre): son contenu est utilisée par la minuterie logique périphérique pour générer les formes d'onde sorties du canal du temporisateur.
  • L'instance de registre de préchargement: il s'agit de l'instance de registre accessible par le logiciel lorsque la fonction de préchargement du registre concerné est activée.

le document original est ST AN4776 Note d'application - qui se trouve here

+0

Merci beaucoup –