Les microcontrôleurs SX Scenix
Philippe André
Dunod
Avant-propos1
Chapitre 1 - Présentation3
1.1 Introduction3
1.2 Points clés3
1.3 Possibilité du CPU4
1.4 Possibilité des entrées/sorties4
1.5 Architecture5
1.6 Outils de développement et de programmation5
1.7 Type d'applications5
1.8 Brochages et références6
1.9 Description des broches12
Chapitre 2 - Architecture15
2.1 Introduction15
2.2 Mémoire du programme15
2.3 Mémoire de données17
2.3.1 Les banques17
2.3.2 Organisation des banques des SX18/20/28AC17
2.3.3 Organisation des banques des SX48/52BD20
2.3.4 Exemples d'accès aux registres pour les SX48/5221
2.4 Registres spéciaux24
2.4.1 W (registre de travail)25
2.4.2 INDF (registre d'accès indirect par FSR)26
2.4.3 RTCC (horloge et compteur temps réel)26
2.4.4 PC (compteur de programme)27
2.4.5 Status (registre d'états)27
2.4.6 FSR (registre de sélection d'accès indirect)29
2.4.7 RA, RB, RC, RD et RE (ports d'entrées/sorties)30
2.4.8 Mode et PCR30
2.4.9 Option31
2.5 Fonctionnement du pipeline34
2.5.1 Influence du mode de l'horloge35
2.5.2 Les retards dans le pipeline35
2.5.3 Précautions à prendre lors de l'utilisation d'une instruction du type: lecture/modification/écriture36
2.6 Compteur de programme37
2.6.1 Test et passe37
2.6.2 Saut absolu38
2.6.3 Saut indirect et saut relatif38
2.6.4 Call (appel de sous-programme)39
2.6.5 Return (retour de sous-programme)41
2.7 La pile41
2.8 Options de configuration42
Chapitre 3 - Le jeu d'instructions57
3.1 Introduction57
3.2 Les opérandes57
3.3 Types d'instructions58
3.3.1 Les instructions logiques59
3.3.2 Les instructions arithmétiques et les décalages59
3.3.3 Les instructions concernant des bits59
3.3.4 Les instructions de déplacement de données60
3.3.5 Les instructions de contrôle du programme60
3.3.6 Les instructions de contrôle du système61
3.4 Tableaux récapitulatifs des instructions par catégorie62
3.5 Mnémoniques équivalents utilisés en assembleur65
3.6 Descriptions détaillées des instructions66
Chapitre 4 - Horloge, power down et reset127
4.1 Introduction127
4.2 Option de configuration de l'horloge127
4.2.1 Choix du nombre de cycles d'horloge par instruction128
4.2.2 Oscillateur RC interne128
4.2.3 Oscillateur RC externe129
4.2.4 Quartz ou résonateur externe132
4.2.5 Signal d'horloge externe136
4.2.6 Compatibilité électromagnétique137
4.3 Mode Power Down (mode Sommeil)137
4.3.1 Entrée dans le mode Power Down138
4.3.2 Sortir du mode Power Down138
4.4 Entrées multifonctions (réveil et interruption)138
4.4.1 Configuration du port B pour les entrées multifonctions139
4.4.2 Lecture et écriture du registre WKPND_B141
4.5 Reset141
4.5.1 État des registres après un reset142
4.5.2 Reset de mise sous tension144
4.5.3 Réveil du mode Power Down147
4.5.4 Reset dû à une alimentation trop basse (brown-out)147
4.5.5 Reset dû au chien de garde (watchdog timeout)148
4.5.6 Broche/MCLR (Master Clear Reset)148
Chapitre 5 - Ports d'entrées/sorties149
5.1 Introduction149
5.2 Lecture et écriture dans les ports150
5.3 Configuration des ports152
5.3.1 Accès aux registres de contrôle des ports152
5.3.2 Le registre Mode153
5.3.3 Registres de contrôle des ports154
5.3.4 Registre de contrôle des ports et reset157
5.3.5 Synoptique des ports d'entrées/sorties157
Chapitre 6 - Timers, chien de garde et interruptions161
6.1 Introduction161
6.2 Horloge ou compteur temps réel (RTCC)161
6.2.1 Le prédiviseur162
6.2.2 Limite du compteur RTCC163
6.2.3 Utilisation du registre RTCC comme horloge ou comme compteur temps réel163
6.2.4 Utilisation du registre RTCC comme compteur d'événements externes164
6.2.5 Interruption sur débordement du RTCC165
6.3 Le chien de garde165
6.3.1 Durée du chien de garde166
6.3.2 Fonctionnement du chien de garde en mode Sommeil167
6.4 Interruptions167
6.4.1 Un seul niveau d'interruption168
6.4.2 Déroulement d'une interruption168
6.4.3 Interruption par le RTCC169
6.4.4 Interruption par le port B169
6.4.5 Interruptions spécifiques170
6.4.6 Retour d'interruptions170
6.4.7 Exemple d'interruptions170
Chapitre 7 - Le comparateur analogique173
7.1 Introduction173
7.2 Registre de validation et d'états du comparateur173
7.3 Fonctionnement du comparateur175
Chapitre 8 - Compteurs multifonctions177
8.1 Introduction177
8.2 Les modes de fonctionnement des compteurs178
8.2.1 Le mode PWM178
8.2.2 Le mode compteur/logiciel179
8.2.3 Le mode événement externe179
8.2.4 Le mode capture/compare179
8.3 Affection des broches aux compteurs180
8.4 Registre de contrôle de compteur181
8.4.1 Registre de contrôle A du compteur T1 (T1CNTA)181
8.4.2 Registre de contrôle B du compteur T1 (T1CNTB)182
8.4.3 Registre de contrôle A du compteur T2 (T2CNTA)183
8.4.4 Registre de contrôle B du compteur T2 (T2CNTB)184
Chapitre 9 - Les caractéristiques des composants185
9.1 Introduction185
9.2 Les caractéristiques électriques185
9.3 Description des broches190
9.4 Les caractéristiques mécaniques192
Chapitre 10 - Les périphériques virtuels201
10.1 Introduction201
10.2 Liste de la librairie virtuelle disponible201
10.3 Utilisation des périphériques virtuels206
10.3.1 Utilisation en interruption206
10.3.2 Utilisation dans un sous-programme ou en ligne207
Chapitre 11 - Les outils de développement209
11.1 Introduction209
11.2 Assembleur209
11.2.1 Assembleur Scenix209
11.2.2 Assembleur Parallax210
11.3 Compilateur C211
11.4 Simulateur211
11.5 Programmateur212
11.6 Émulateurs temps réel214
11.6.1 Émulateur Advanced Transdata214
11.6.2 Émulateur Parallax214
11.7 Cartes d'évaluation220
Récapitulatif des différentes versions de microcontrôleurs Scenix223
Carnet d'adresses225
Bibliographie227
Description des expressions utilisées avec les outils Parallax229
Index241