SPECIFICITES

 

Le SX est l’un des microcontrôleur 8 bit le plus rapide au monde, il peut fonctionner jusqu'à 100 MHz.

a) Périphérique virtuel :

En combinant la puissance de traitement avec la mémoire programmable intégrée sur la puce, Scenix a été un des premiers constructeurs à permettre l’établissement de périphériques virtuels utilisant des microcontrôleurs 8 bit, ce qui élimine le problème de limitation de bus. La série SX inclue un mode d’instruction de type RISC ( Reduced Instruction Set Computer ).

b) Mémoires internes au microcontrôleur :

Il possède deux mémoires différentes :

On peut introduire une fonction « Trigger de Schmitt » en entrée sur les ports B et C.

c) Les ports et la fonction comparateur :

La fonction comparateur analogique est accessible sur le port B : RB1 et RB2 sont les entrées du comparateur, et RB0 en est la sorite. Les résultats possibles sont « 1 » ou « 0 » .

Le port B peut être utiliser en MIWU ( Multi Input Wakeup ).

Le Mode Register permet de définir le mode de fonctionnement souhaité.

d) Les registres :

 

Les registres du CPU incluent un registre de travail 8 bits : Working Register (W). Il sert souvent de pseudo accumulateur. Un ensemble de « 31 file registers » servent d’accumulateurprimaire. Les 8 premiers registres de fichiers incluent :

Le composant SX possède trois registres FUSE, FUSEX, DEVICE qui contrôlent les fonctions telles que fonctionner le SX en mode turbo, étendre l’opération de la pile, ou augmenter la vitesse de l’oscillateur interne. Ces trois registres sont accessibles uniquement en Mode de programmation des instructions mémoires. Aucune modifications de ces registres n’est donc autorisées pendant le fonctionnement d’un programme.

Registres de fonctions spécifiques :

Le CPU utilise un ensemble de registres de fonctions spécifiques pour contrôler les opérations du composant. Les 5 bit de poids faible du registre de sélection de fichier FSR sélectionnent un des 31 registres du mode d’adressage indirect. L’appel du registre de fichier situé à l’adresse 00h de n’importe quelle instruction de fichier sélectionne l’adressage indirect, qu’utilise le registre FSR. Il faut noter que le registre de fichier à l’adresse 00h n’est pas un registre physiquement implanté. Le CPU contient également une pile (Stack) de 11 bits constituée de 8 niveaux pour les connexions de sous-programmes.

e) Les timers Le SX a deux différents timers :

 

Le « Real-Time Clock/Counter », (RTCC) :

1 = incrémenté par la broche d’entrée.

0 = incrémenté par l’horloge (cycles d’instructions).

1 = incrémenté sur front montant.

0 = incrémenté sur front descendant.

Le seul problème, est qu’il n’existe pas de flag permettant de savoir s’il vient d’y avoir une interruption. Pour déterminer si le RTCC est la cause de l’interruption, il faudra s’assurer, que l’adresse qu’il contient est proche de 00h, puisque chaque interruption est générée lors du passage de FFh à 00h.

 

Le «  Watchdog timer », (WDT) :

Le tableau suivant rend compte des différents réglages de ces trois bits et de leur influence sur la périodicité du reset : 

PS2 : PS0 ( avec PSA = 1 )   Watchdog Timer Output
       Divide-By-Factor
Watchdog Timeout            Period
000 1 0.018 sec
001 2 0.037 sec
010 4 0.073 sec
011 8 0.15 sec
100 16 0.29 sec
101 32 0.59 sec
110 64 1.17 sec
111 128 2.34 sec

Remarques :

Reti est un simple retour d’interruption, comme expliqué ci-dessus, alors que retiw effectue avant de restaurer les registres une soustraction de W à RTCC, ce qui permet à RTCC de retrouver la valeur qu’il contenait avant l’interruption.

f) Autres :

Interruption :

Aucune interruption n’est prioritaire par rapport à une autre. Les interruptions sont traitées séquentiellement.

Celles-ci peuvent être générer par l’horloge interne ou bien par une patte externe. La SX garantit une réponse de 3 cycles (60 ns) pour une interruption interne et 5 cycles (2 de plus pour la synchronisation) par une entrée (soit au total 100ns)

Horloge :

La vitesse de l’horloge peut être réglée par un diviseur de fréquence. On obtient une vitesse d’horloge réglable de 455 KHz jusqu’à 100 MHz.

Le SX peut être configuré dans un des modes d’horloge suivants:

Chaque type d’horloge a ses avantages. Le choix de l’horloge dépend de la vitesse et de la précision requises, ainsi que du coût .

Les deux branches utilisées pour gérer l’horloge sont OSC1 et OSC2. On programme l’horloge en mémoire à l’adresse FFFH, grâce à un registre 12 bits (le FUSE register) qui permet de sélectionner les différents modes d’horloge.

Les oscillateurs :

Il existe deux options :

Reset :

Le composant peut être réinitialisé de plusieurs façons :

Remarque :

le Power Down permet de réduire la consommation de puissance à bas niveau pendant les périodes d’inactivité (équivalent au Sleep).

Brown out detector :

Il réinitialise le composant lorsque la tension d’alimentation est trop basse.