Vous êtes sur la page 1sur 24

Introduction au processeurs

I- Préambule
Le microprocesseur et son compagnon le microcontrôleur sont devenus des
éléments incontournables en instrumentation, mais ils ont progressivement été complétés,
par le biais de diverses approches technologiques, par d'autres composants numériques.
Il faut tout d'abord corriger une idée fausse largement répandue par les médias : ce
n'est pas le marché de l'informatique qui constitue le principal débouché du
microprocesseur. L'informatique, et plus particulièrement le monde PC, est dominé par 3
fabricants de composants électroniques, dont Intel qui se taille actuellement la part du lion.
Mais le marché du microprocesseur, plusieurs centaines de fabricants, est d'un tout autre
ordre de grandeur et en 1998, derniers chiffres connus, 99% des microprocesseurs ont été
destinés au marché des systèmes embarqués, c'est à dire essentiellement de
l'instrumentation et du contrôle.

II- Les processeurs


Le développement de l'électronique numérique a conduit à l'apparition de plusieurs
types de composants très puissants exploités en instrumentation:
• le microprocesseur, c'est un composant généraliste, employé préférentiellement
dans les systèmes informatiques, qui nécessite quelques circuits complémentaires
pour pouvoir dialoguer avec son environnement. Selon les types il peut traiter
directement des données de 8, 16, 32, 64 et même quelquefois 128 bits. Dire que
c'est un composant généraliste cela signifie qu'il peut tout faire, mais n'est optimisé
pour rien. C'est le composant de base de l'informatique, mais en instrumentation on
lui préférera généralement des composants plus spécialisés, donc plus optimisés
pour les tâches qu'on leur confiera, et donc plus performants.
• le microcontrôleur est plus adapté aux applications embarquées car il comporte sur
sa puce un certain nombre d'interfaces qui n'existent pas sur un microprocesseur,
par contre il est généralement moins puissant en terme de rapidité ou de taille de
mémoire adressable et le plus souvent cantonné aux données de 8 ou 16 bits.
• le processeur de signal est beaucoup plus spécialisé. Il est optimisé pour le
traitement du signal, mais n'est pas prévu pour accomplir des tâches généralistes
de bas niveau qu'exécutent les deux précédents.
• le composant ASIC ou FPGA. Ces composants sont souvent exploités
complémentairement : un ASIC est très spécifique d'une application et a été
spécialement développé pour celle-ci, à l'inverse le circuit FPGA est par
construction destiné à faire, a priori, n'importe quoi puisque c'est l'utilisateur qui
devra le configurer pour réaliser une application spécifique. Très souvent le FPGA
sert à la mise au point, et un fondeur de silicium saura ensuite transcrire ses
fonctionnalités en un circuit ASIC figé et a priori de moindre coût. L'un comme
l'autre seront, selon les cas, employés soit en complément, soit en remplacement
d'un processeur.

III- Historique
• 1632 Oughtred en Angleterre invente la règle à calcul
• 1642 Pascal (F) imagine sa machine à calculer
• 1666 Moreland (GB) identifie la multiplication comme une suite d'additions
• 1770 Hahn (D) crée une machine à cylindre
• 1820 Babbage (GB) initie ses premiers travaux
• 1833 Babbage invente le concept de calculateur programmé, c'est à dire
l'enchaînement automatique des opérations
1
La machine analytique de Charles Babbage

• 1847-1854 Boole (GB) imagine l'algèbre qui porte son nom


• 1880 Hollerith (USA) invente la carte perforée à l'occasion du premier recensement
• 1885 création d'une petite compagnie qui deviendra IBM
• 1897 Braun (USA) invente l'oscilloscope
• 1906 Lee de Forest (USA) invente la triode
• 1920 Morrison (USA) imagine l'horloge à quartz
• 1938 Couffignal (F) le père de la numération binaire
• 1944 Création de l'ENIAC, la première machine électronique (un monstre
comportant environ 18000 tubes électroniques!)

L'ENIAC
• 1948 Bardeen, Brattain, Shockley (USA) découvrent l'effet transistor aux Bell Labs
• 1949 première machine IBM à cartes perforées

Pupitre de contrôle d'un ordinateur IBM705


• 1960 IBM 7070
• 1962 Dreyfus (F) invente le mot informatique en lui assignant l'ensemble des
techniques de traitement automatique de l'information

2
• 1968 Dreyfus (F) première exploitation d'un système multiprocesseurs (Centre de
Calcul Scientifique de l'Armement à Arcueil, machine UNIVAC 7108)
• 1972 la compagnie INTEL (USA) invente le microprocesseur environ 2 ans après le
premier circuit intégré
• 1986 la même lance le 80386
• 1990 les premiers circuits périphériques configurables (selon le concept FPGA)
• 2000 la barrière du GHz est franchie pour des circuits à base de silicium (AMD et
Intel).

IV- Informatique industrielle


Il n'y a pas de différence de principe entre un ordinateur et un micro-système utilisé
en informatique industrielle sinon dans le prix, la taille et la vitesse de traitement qui
impliquent encore aujourd'hui des technologies sensiblement différentes.

Par contre l'emploi qu'on en fait est réellement différent : Un CRAY est employé à
du calcul scientifique ou à de la gestion bancaire, tandis qu'un micro-ordinateur s'il peut
certes faire des calculs ou assurer la gestion d'un cabinet médical sera aussi
essentiellement employé à des applications d'informatique industrielle.

Un micro-ordinateur peut servir à contrôler un processus industriel et pour ce faire il


lui sera adjoint des périphériques spécifiques et l'on parlera volontiers de micro-système
ou système à microprocesseur, dont la figure ci-dessous donne une représentation
schématique.

Micro-système

Ci-dessous, figure la composition d’un système minimal.

3
V- Environnement d’un µP
Un microprocesseur est le composant essentiel d'un micro-système. Il présente
divers avantages : - moins de composants
- modification aisée du programme
- consommation réduite. En technologie CMOS avec quelques mW on
peut avoir un système très puissant.

C'est un circuit intégré comportant l'équivalent de 5000 transistors jusqu'à environ 6


millions pour le Pentium de dernière génération, lesquels sont assemblés pour permettre
l'exécution d'opérations arithmétiques ou logiques, de décalages sur des mots binaires, de
comparaisons, prises de décision... Notons que tout seul un µP ne peut rien faire, c'est
comme un moteur de voiture sans roues, sans boite de vitesse et sans carosserie... Il
comporte diverses broches d'entrée/sortie sous forme de bus.

1- Les bus et les signaux de commande


- Le bus d'adresse
- Le bus de données
- Le bus de commandes

2- L'environnement du µP
- Mémoires ROM et RAM : stockage de données et du programme applicatif
- Périphériques : autres dispositifs reliés au µP par le biais d'un coupleur
d'interface.

3- Fonctionnement simplifié du µP
Explication du fonctionnement d'un µP relativement simple (typiquement 8 bits).
a- Constitution
Un µP comporte 3 parties principales : une unité de contrôle, une unité arithmétique
et logique (ALU) et un certain nombre de registres, le tout relié par un réseau complexe de
bus interne muni de nombreux aiguillages.

Structure interne d'un microprocesseur

- L'unité de contrôle UCT décode l’instruction envoyée par la mémoire de


programme et élabore les signaux de commande indispensables au traitement de
cette instruction.
4
- L'ALU (unité arithmétique et logique) se charge de l'exécution des opérations
arithmétiques et logiques.
- Les registres sont de deux types : ceux accessibles par le programme et ceux qui
ne le sont pas. Les premiers comportent :
• les registres de données stockant temporairement des informations
• les registres d'adresses qui sont des pointeurs stockant des adresses
importantes, en particulier le registre d'index qui va permettre l'adressage dit
indexé
• le registre d'état comportant différents bits positionnés à 0 ou 1 et indiquant
si le résultat d'une opération est nul, ou négatif, avec ou sans retenue, etc...
• le pointeur de pile est un registre qui pointe vers une zone particulière de la
mémoire appelée pile, décrémenté lors d'un transfert de mot dans la pile et
incrémenté quand un mot est lu. Son rôle est important lors des interruptions.
• le compteur ordinal, encore appelé compteur de programme, qui suit pas à
pas l'exécution d'un programme. Au départ on le charge avec l'adresse de la
première instruction. Pendant que le µP lit cette instruction dans la mémoire,
la décode et l'exécute, le compteur est incrémenté de façon à contenir
l'adresse de la prochaine instruction.

b- Cycle Fetch
Un µP sous tension va travailler, mais seulement si on lui en donne l'ordre en
"levant un drapeau". Ensuite le µP peut démarrer. Admettons que le compteur de
programme (CP) contienne la valeur 0800H (en hexadécimal sur 16 bits). Ce nombre
représente l'adresse de la première instruction à effectuer. Pour identifier cet ordre le µP
va devoir en premier lieu aller le chercher (to fetch en anglais) ce qui implique toute une
succession d'opérations élémentaires. Notons qu'en interne le bus du µP est sur 8 bits, ce
qui va impliquer 2 phases pour transmettre une adresse qui comporte 16 bits. On va donc
avoir les opérations suivantes :
• transfert de l'octet de poids faible du CP dans le registre d'adresse
• transfert de l'octet de poids fort du CP dans le registre d'adresse
• envoi d'un ordre de lecture à la mémoire centrale (RD)
• attente de WAIT puis
• transfert du contenu du poids faible du CP vers l'ALU
• incrémentation de 1 et retour dans le CP
• transfert du poids fort du CP dans l'ALU et addition de la retenue éventuelle de
l'opération précédente, puis retour dans le CP
• simultanément la donnée est transférée de la mémoire vers le registre de
données via le bus de données

Cet ensemble d'opérations constitue le premier cycle machine ou cycle FETCH.

c- Registre d'instruction
Le mot chargé dans le registre d'instruction va être redistribué vers un décodeur
d'adresse interne à l'UCT permettant d'accéder à la MMP (mémoire de micro-programme).

d- Déroulement du micro-programme
• chargement de la donnée dans le registre d'instructions de l'UCT
• décodage, c'est à dire association de cette donnée (8 bits) avec le contenu d'un
compteur par 16 (4 bits) ce qui donne un mot de12 bits
• ce mot sert d'adresse pour la ROM interne du µP (mémoire de micro-programme),
laquelle est constituée de registres de 32 bits.
• le contenu du registre 32 bits correspondant va être envoyé sur un bus à 32 fils.

5
Les processeurs Motorola
I- Avant-Propos
L’évolution des microprocesseurs a été, depuis leur création quelque peu
anecdotique, fulgurante. Elle a connu l’euphorie de la jeunesse avec le foisonnement des
nouveaux produits. Elle a connu des périodes d’interrogation avec la remise en cause de
l’architecture. Elle connaît une période de maturité relative avec la stabilisation de
quelques grands concepts (mais cette maturité, ou du moins la stabilité qui en découle,
est, selon toute évidence, un état provisoire). Les premiers produits ont ouvert des
horizons nouveaux qui ont justifié la profusion. Intel, Motorola, Rockwell, Zilog, Texas, NS,
Fairchild et bien d’autres encore, se sont lancés à la conquête du marché. Certains sont
devenus (dans le domaine général) marginaux, d’autres ont tout simplement abandonné,
d’autres encore se sont spécialisés ; deux géants se sont affrontés à coups d’avancées
technologiques et d’annonces médiatiques, et ils ont proposé des produits d’un niveau de
sophistication tel que l’on conçoit mal de les surpasser sans remettre en cause le principe.
Nous avons atteint avec les processeurs Intel et Motorola, l’asymptote du concept CISC
(Complex Instruction Set Computer). Coté Motorola, citons :
- Les processeurs : 6800 - 6802, 6809, 68000, 68020, 68030 …
- Les circuits de la périphérie : PIA 6821, ACIA 6850, DUART 68681, USART …
- Les microcontrôleurs : 6805, 68HC11, 68302, 68331, 68332, 68340 ...

II- Introduction
A- Qu’est-ce qu’un microprocesseur CISC?
Dans la foule des types de processeurs actuellement utilisés, les CISC sont
apparus les premiers; ils ont comme principale caractéristique de mettre à disposition du
programmeur un jeu d’instructions très développé et un choix de modes d’adressage
important. C’est le processeur qui s’adapte aux besoins de l’algorithme et non l’inverse
(comme ce sera le cas dans la famille RISC).

B- Architecture de Communication
1- Les signaux

Figure 1

Le microprocesseur communique avec son environnement en échangeant avec lui


des signaux électriques qui sont les représentations physiques de données binaires. Par
exemple (et c’est un cas fréquent) le chiffre binaire 0 est représenté par le niveau
électrique 0 V (la ligne électrique correspondante est mise à la masse) et le chiffre binaire
1 est représenté par le niveau électrique 5 V (par rapport à la masse). Le processeur
échange des données codées sur n bits, il a donc besoin de faire appel à n lignes
électriques pour les véhiculer, ces lignes constituent un ensemble cohérent appelé le bus
de données. Nous utiliserons désormais le terme bus pour désigner un ensemble
cohérent (pouvant se réduire à 1) de lignes électriques. Le nombre n caractérise ce que
l’on a coutume d’appeler la « taille du microprocesseur ». Les données peuvent être
6
envoyées par le processeur vers un périphérique, ou lues par le processeur, en
provenance du périphérique; le bus de données est donc bidirectionnel. Toute donnée
transite par ce bus unique, le nombre de périphériques qui s’y connecte n’est pas limité. A
un instant donné un échange s’opère entre le processeur et un seul d’entre eux, les autres
ne doivent pas perturber cet échange, ils doivent donc être déconnectés ou considérés
comme tels.

Il est évident que les interrupteurs de la figure 1 ne peuvent être qu’électroniques.


La déconnexion s’effectue en insérant une impédance très élevée, rendant négligeable le
courant circulant dans le brin concerné. Toute borne raccordée au bus doit donc être
capable de se mettre en haute impédance.

Le processeur échange tout périphérique en le considérant comme un


emplacement en mémoire. Pour définir quel est l’emplacement avec lequel il dialogue, le
processeur doit en fournir l’adresse. L’adresse est unique (tout du moins en première
approche), ce qui signifie qu’à une combinaison binaire unique, présente sur le bus
d’adresse, un seul emplacement quitte l’état de haute impédance.

Figure 2

L’ensemble constitué par le bus de données et le bus d’adresse ne suffit pas à


caractériser les échanges de façon complète. En particulier il ne permet pas de définir le
sens de l’échange. Un troisième vus appelé bus de contrôle assure le contrôle
directionnel, temporel et événementiel des échanges. Au fur et à mesure de l’évolution
des microprocesseurs ce bus a pris une importance de plus en plus grande. La fonction
directionnelle étant binaire, une ligne suffit à la définir. La fonction temporelle sert
essentiellement à synchroniser le processeur et le périphérique avec lequel il dialogue;
plusieurs lignes lui sont en général réservées. La fonction événementielle sert à attirer
l’attention du processeur sur un périphérique dont l’état vient de changer. Si le processeur
engage le dialogue avec ce dernier, il mettra en place un protocole nécessitant souvent
plusieurs lignes.

Un périphérique peut n’être relié qu’à quelques unes des lignes de contrôle (par
exemple une mémoire n’est pas susceptible de générer une situation événementielle).
L’architecture de communication est donc définie par les trois bus et paramétrée
par la taille des deux premiers et la nature des signaux du troisième.

Figure 3- Architecture de communication

7
2- Le système à microprocesseur
Un système est une combinaison entre un microprocesseur et divers périphériques.
La description de son fonctionnement est faite dans un programme. On distingue deux
types de programmes :
- Le programme général définissant, entre autres, le fonctionnement des
périphériques, qui est figé. Il peut éventuellement contenir la définition des modes
d’appel ou de chargement des programmes non liés intrinsèquement à la
machine.
- Le programme applicatif qui caractérise l’application en cours de fonctionnement
sur la machine.

Pour essayer d’apporter à ces définitions un aspect concret on peut s’appuyer sur
l’exemple du micro ordinateur qui, lors de sa mise sous tension va exécuter un programme
(intrinsèquement lié au matériel) qui notamment initialise tous les périphériques (et en
particulier le contrôleur de disque), ensuite il va charger, depuis le disque, un système
d’exploitation ou bien attendre une information de la part de l’utilisateur pour choisir le
système d’exploitation à charger. Le premier programme cité est figé, le second est libre.

Un programme réside dans une mémoire. A chaque type de programme


correspond un type de mémoire. Le programme figé est hébergé par une mémoire morte;
celle-ci a été programmée de façon définitive, dès qu’elle est alimentée on peut en lire le
contenu, celui-ci est immuable. Le programme que l’on va charger pour une application
donnée, et ce par tout moyen à disposition du programmeur, est, lui, hébergé dans une
mémoire vive qui, lors de sa mise sous tension, a un contenu aléatoire, et qui conserve les
éléments qu’on y écrit tant que l’on n’écrit rien d’autre à la place et que l’on maintient son
alimentation électrique. On désigne par ROM (Read only memory) la mémoire morte (ou
figée) et par RAM (Random access memory) la mémoire vive.

L’application a besoin de stocker pour une durée au plus égale à son temps
d’exécution, des données relatives aux traitements en cours, c’est bien sur dans la
mémoire vive qu’elle effectuera ces stockages.

Le monde extérieur interagit avec l’application en lui envoyant des stimuli (données)
et en en recevant d’elle. Le micro ordinateur reçoit des données du clavier, des liaisons
série, du contrôleur de disque, et en émet vert les liaisons série, l’écran, le contrôleur de
disque, entre autres. Il faut une adaptation électrique formelle et temporelle qui est
réalisée par les circuits appelés génériquement Interfaces d’entrée/sortie (on utilise
également l’abréviation anglo-saxonne IO qui signifie Input Output).

Trois types de circuits constituent donc l’environnement applicatif du


microprocesseur, ils sont tous reliés, au moins partiellement, au trois bus.

Figure 4- Système à microprocesseur

8
C- Le modèle générique de programmation
La programmation est une succession d’appels d’instructions auxquelles on attribue
des opérandes :

Instruction Opérande1, Opérande2, ..., Opérande n

Une instruction est un micro câblage électronique combinatoire dans le


microprocesseur, qui délivre en sortie des signaux dépendants des signaux placés à
l’entrée. Les entrées sont précisées dans les termes d’opérandes, la destination de la
sortie également. L’ensemble des câblages d’instructions est regroupé dans la partie du
processeur que l’on nomme l’ALU (Arithmétic and Logic Unit). Une instruction est repérée
par un code que l’on peut considérer en première approximation comme la localisation
ligne-colonne du câblage de l’instruction considérée dans L’ALU.

Figure 5- Structure de l'ALU

L’exécution d’une instruction fait appel, soit à des données venant d’un
périphérique, soit à des résultats intermédiaires (issus d’un calcul précédent). Un
processeur CISC possède un unique bus de données, il ne peut donc effectuer l’opération
suivante :

Additionner le contenu de la mémoire d’adresse 100 avec le contenu


de l’interface de clavier et mettre le résultat dans l’interface d’écran

Il lui faudrait, pour pouvoir faire cela, voir simultanément trois emplacements, or il
n’en voit qu’un par l’intermédiaire de son bus de données. Il utilise pour résoudre ce
problème une mémoire interne qu’on appelle Registre de données. L’instruction ci-dessus
est alors décomposée de la manière suivante :

Transférer le contenu de la mémoire d’adresse 100 dans le registre de


données
Additionner le contenu de l’interface clavier au registre de données
Copier le contenu du registre de données dans l’interface écran

Un processeur peut posséder plusieurs registres de données.

Supposons que l’on veuille programmer l’algorithme suivant :

POUR i=2000 A 2100 FAIRE


Copier le contenu de l’adresse i dans l’adresse i+1000
FINFAIRE

La boucle contient deux définitions d’adresses variables, il est donc nécessaire de


pouvoir effectuer le calcul d’une adresse. Dans ce cas l’adresse ne peut pas figurer dans
le programme. Celui-ci doit en revanche fournir au processeur le moyen de calculer
l’adresse. Pour effectuer le calcul on se place dans un Registre d’adresse.

9
Un registre d’adresse présente en outre un avantage certain dans un dialogue avec
un périphérique (sous réserve que l’on dispose d’un nombre suffisant de registres
d’adresse). Le fait d’affecter à un registre l’adresse du périphérique permet de ne plus
avoir besoin d’aller lire l’adresse dans le programme, mais en interne, ce qui constitue un
gain de temps appréciable. On peut comparer le fonctionnement du microprocesseur à
notre propre fonctionnement ; il est plus rapide d’utiliser une donnée qu’on a en tête que
d’aller lire cette donnée dans un livre. Par exemple sur un 68000 on consommera 12
cycles d’horloge pour générer une adresse fournie par le programme, alors qu’une
adresse contenue dans un registre d’adresse sera générée en 8 cycles. Il s’agit de
registres d’adresse d’usage général, mais le processeur contient également des registres
d’adresse spécialisés. Ces registres sont de deux types. Un registre unique est appelé
Pointeur de programme. Il sert à localiser dans la mémoire programme la prochaine
instruction à exécuter. La fonction attribuée à l’autre type de registre spécialisé peut se
comprendre à l’aide de l’analogie suivante :

Un employé du bureau d’études est entrain d’effectuer un calcul lorsque son


téléphone sonne. Bien sur cet employé ne note pas toutes les étapes de son calcul, il fait
appel à sa mémoire. Toutefois s’il répond au téléphone, il ne retiendra pas tout ce qui
concerne le calcul et qu’il avait en tête au moment de l’appel; il est fort probable même
qu’il ne saura plus à quel stade du calcul il s’était arrêté. Il va donc, avant de décrocher,
noter sur son bloc notes tout ce qui lui permettra de reprendre le calcul, et comme le bloc
notes est vaste, il va prendre la précaution de noter dans un emplacement unique qu’il
connaît (dans le creux de sa main par exemple), à quel endroit sur le bloc-notes sont
inscrites ces informations. Il peut maintenant répondre au téléphone en toute sécurité. Au
retour il lira dans le creux de sa main l’emplacement de la sauvegarde et pourra ainsi
reprendre son calcul.

Le microprocesseur possède de la mémoire interne (les registres de données et


d’adresse déjà mentionné). Si un événement le conduit à se dérouter pour traiter un
programme relatif à un périphérique, il va utiliser ces registres, il faut donc les sauvegarder
auparavant. Il faut aussi sauvegarder le contenu du pointeur de programme qui
correspond à la prochaine instruction dans le programme interrompu. Tout cela est
sauvegardé dans la mémoire vive, dans une zone réservée à cet usage, appelée la pile.
L’adresse de sauvegarde dans la pile est elle-même sauvée dans le registre appelé
Pointeur de pile. Sans un tel registre un microprocesseur est incapable de traiter de
interruptions et des sous-programmes.

Enfin un dernier registre est indispensable au fonctionnement. Il permet les prises


de décisions associées aux ruptures de conditionnelles séquence.

L’algorithme suivant représente un cas de prise de décision :

SI condition rempli ALORS


Effectuer traitement 1
SINON
Effectuer traitement 2
FINSI

Les opérateurs d’évaluation des conditions sont du type <, >, =, >0, <0, etc... Le
Status contient des témoins de résultats d’évaluation que l’on va pouvoir tester pour
décider de la poursuite en séquence ou de la rupture. Prenons comme exemple l’un de
ces témoins (en anglais flag) présent dans tous les microprocesseurs, c’est le témoin de
zéro Z. Chaque opération positionne Z.

10
Copier le contenu d’une adresse dans un registre
positionne Z à 1 si le contenu de l’adresse recopiée est 0.

Soustraire une valeur d’un registre


positionne Z à 1 si le résultat de la soustraction est 0. Dès lors il nous est possible
de comparer une valeur calculée (dans un registre) à une autre valeur.

Effectuer un calcul dans un registre


Soustraire la valeur 100 au contenu du registre
SI Z=1 ALORS
Effectuer Traitement 1
SINON
Effectuer traitement 2
FINSI

Bien sur il faudra décomposer la structure SI en instructions supportées par le


processeur concerné. Par exemple les lignes suivantes utilisent un pseudo assembleur :

Brancher à Tr2 SI Z=0


<Traitement 1>
Brancher à FINSI
Tr2: <Traitement 2>
FINSI:

Le jeu d’indicateurs est plus ou moins riche selon le processeur.

Figure 6- Modèle générique d’un processeur CISC

Le modèle générique d’un processeur CISC est présenté sur le schéma de la


Figure 6.

III- Les microprocesseurs CISC et les microcontrôleurs


de Motorola
A- LES CISC
1- Le 6800
C’est le premier né qui a une architecture très simple. Une ALU, deux registres de
données sur 8 bits appellés les accumulateurs A et B, un registre d’adresse sur 16 bits
que l’on appelle l’index X, un pointeur de pile sur 16 bits, un pointeur de programme sur 16
bits et un status sur 8 bits dont 6 utiles. L’architecture de communication repose sur :
11
• Un bus de données sur 8 bits (le processeur est dit « vrai 8 bits) car ses registres
de données et sont bus de données sont tous sur 8 bits).
• Un bus d’adresse sur 16 bits.
• Un bus de contrôle comprenant les signaux suivants :
- Phase d’horloge F 1
- Phase d’horloge F 2
- Reset
- Interruption non masquable NMI
- Arrêt HALT
- Interruption masquable IRQ
- Contrôle trois états TSC
- Bus de données actif DBE
- Bus disponible (micro en repli) BA
- Adresse mémoire valide VMA
- Lecture écriture R/W

Le signal « Bus disponible » indique à la périphérie qu’un autre processeur peut


prendre le contrôle du bus d’adresse. Cela se produit dans deux cas: la ligne HALT a été
forcée à l’état actif (par celui qui veut prendre le contrôle) ou le processeur est en attente
d’interruption (provoquée par la rencontre de l’instruction WAI).

2- Le 6802
Il ne diffère du 6800 que par deux points :
- Il contient 128 octets de RAM interne adressée de $00 à $7F.
- Il possède un état de repli en faible consommation (sur batterie ou pile)
dans lequel la RAM interne est maintenue.

3- Le 6809
Il réalise un progrès considérable par rapport au 6800. Son architecture interne se
compose, vue par le programmeur, de :
• L’ALU
• Un registre de données sur 16 bits pouvant être utilisé comme deux registres
sur 8 bits, assurant la compatibilité avec le 6800. On appelle le registre de 16
bits l’accumulateur D et ses deux moitiés l’accumulateur A (octet fort) et
l’accumulateur B (octet faible).
• 2 registres d’adresse d’usage général sur 16 bits appelés les index X et Y.
• Un registre d’adresse sur 16 bits pouvant être utilisé soit en usage général,
soit comme pointeur de pile.
• Un pointeur de pile dédié sur 16 bits.
• Un pointeur de programme sur 16 bits.
• Un status sur 8 bits tous utilisés.

Son architecture de communication repose sur :


• Un bus de données sur 8 bits. On dit de ce fait que le 6809 est un 8/16 bits
car il communique sur 8 bits mais travaille en interne sur 16 bits.
• Un bus d’adresse sur 16 bits.
• Un bus de contrôle comprenant, outre les signaux déjà cités sur le 6800 :
- Une ligne supplémentaire d’état du bus BS qui combinée avec BA
permet de distinguer quatre états.
- Une demande d’interruption rapide FIRQ
- Une ligne de synchronisation pour les mémoires lentes
- Une ligne de requête d’accès externe mémoire DMA
12
Les processeurs 6800 6802 et 6809 sont synchrones, c’est à dire que les
périphériques doivent se synchroniser sur les signaux délivrés par le microprocesseur. La
seule entorse possible est la possibilité d’allonger le cycle du 6809 pour le synchroniser
sur une mémoire lente.

4- Le 68000
Le concept change radicalement, il n’y a plus de compatibilité avec les processeurs
antérieurs.
Son modèle de programmation comporte
• L’ALU
• Huit registres de données sur 32 bits (utilisables également sur 16 ou 8 bits)
• Sept registres d’adresse sur 32 bits (dont 24 seulement sont utilisables)
• Deux pointeurs de pile sur 32 bits (dont 24 seulement sont utilisables)
• Un pointeur de programme sur 32 bits (dont 24 seulement sont utilisables)
• Un status sur 16 bits

L’architecture de communication repose sur :


• Un bus de données sur 16 bits (le 68000 est donc un processeur 16/32 bits)
• Un bus d’adresse sur 23 bits permettant d’adresser 223 unités de données,
comme les unités vues par le bus de données sont des mots de 16 bits on
adresse en fait 224 octets.
• Un bus de contrôle dont les signaux se décomposent en six familles :
- Etat du processeur FC0 FC1 FC2
- Contrôle des périphériques synchrones E VMA VPA
- Contrôle du système Reset Halt BERR
- Contrôle des requêtes d’interruption IPL0 IPL1 IPL2
- Contrôle de l’arbitrage d’accès au bus BR BG BGACK
- Contrôle des dialogues asynchrones AS R/W UDS LDS DTACK

Le processeur est asynchrone, il peut donc se caler sur la vitesse du périphérique


avec lequel il dialogue. C’est le premier à posséder une architecture utilisateur /
superviseur qui permet de protéger un système d’exploitation des accès intempestifs
d’une application. Cette architecture a permis il y a déjà de nombreuses années, deux
systèmes d’exploitation robustes, l’un pour la bureautique, le MAC OS (système
d’exploitation du premier Mac Intosh) l’autre pour l’industrie, OS9.

5- Le 68010
Il est passé quelque peu inaperçu alors qu’il apporte par rapport au 68000 des
fonctionnalités intéressantes.

Son modèle de programmation comporte trois registres nouveaux par rapport au


68000 :
Un registre de Base Vecteur (VBR) qui définit l’adresse de base de la table des
vecteurs d’exception. Ce registre initialisé en 0 est accessible au programmeur. En
première approximation un vecteur est un emplacement contenant l’adresse du
programme associé à chacune des exceptions (les interruptions par exemple).

Les registres de transfert entre espaces (SFC, DFC) qui sont liés à l’existence des
modes utilisateur et superviseur. La encore nous abordons un domaine un peu délicat à
expliquer actuellement. Il est possible d’utiliser l’état du processeur pour décoder des
adresses de blocs de mémoire, ainsi on peut dire: dans l’état utilisateur l’adresse 1000 est

13
dans un certain pavé de mémoire, dans l’état superviseur elle se trouve dans un autre
pavé, l’utilisateur ne peut donc pas voir la mémoire réservée au système d’exploitation.
Mais si le système d’exploitation qui a lui tous les droits veut lire des données dans
l’espace utilisateur et le recopier dans son propre espace, il doit indiquer dans les registres
appropriés à quel espace appartient l’adresse à laquelle il accède faute de quoi il n’accède
qu’à son propre espace.
L’architecture de communication est identique à celle du 68000.

6- Le 68020
C’est un nouveau bond en avant qui est effectué, mais la compatibilité avec le
68000 reste assurée.
Au modèle de programmation du 68010 on ajoute :
- Un troisième pointeur de pile
- Deux registres pour contrôler et adresse la mémoire cache.

L’architecture de communication comporte les même grandes parties mais chacune


d’elle est considérablement enrichie.
- Le bus de données est sur 32 bits, le 68020 est donc un vrai 32 bits.
- Le bus d’adresse est sur 32 bits.
- Le bus de contrôle possède beaucoup plus de fonctionnalités pour le
contrôle du bus asynchrone.

La nouveauté repose sur la possibilité de gérer de la mémoire cache, la richesse


des modes d’adressage, le registre à barillet qui supprime une contrainte propre au 68000
et les algorithmes internes accélérant les traitements. De plus un nouvel état apparaît. Là
ou le 68000 connaissait un état utilisateur et un état superviseur, le 68020 connaît un état
utilisateur, un état interruption et un état maître. Ces trois états sont hiérarchisés.

7- Le 68030
Il apporte par rapport au 68020 une unité de gestion de mémoire paginée (PMMU)
intégrée, un bus synchrone, et une mémoire cache de données interne de 256 octets.
Ceci concerne la partie visible pour le programmeur. Mais une autre nouveauté
invisible celle là apporte des accélérations importantes dans les traitements. Alors que
presque tous les CISC ont une architecture Von Neumann, le 68030 a quand à lui une
architecture Harvard, c’est à dire en première approximation qu’il accepte un certain
parallélisme interne cachant des temps d’exécution (on peut faire simultanément une
lecture un calcul et une écriture).
Son modèle de programmation comporte les mêmes éléments que le 68020
augmentés du registre de contrôle de mémoire paginée et du registre d’adressage de
cette même mémoire paginée.

8- Evolution du modèle de programmation


Les schémas des figure 7 et 8 présentent les modèles de tous les processeurs
présentés.

14
Figure 7- Registres internes : 6800, 6802, 6809, 68000, 68010

Figure 8- Registres internes : 68020, 68030

B- La notion de Microcontrôleur
L’objectif d’un microcontrôleur est de diminuer les interconnexions de circuits,
sources de plus-values et de pannes. Pour cela on va intégrer sur la même puce de
silicium le microprocesseur et un certain nombre de périphériques.
Comme le microcontrôleur universel n’existe pas il est nécessaire de trouver un
compromis, il est donc rare qu’une application d’un certain niveau se contente des
périphériques internes du microcontrôleur, c’est néanmoins possible dans des applications
comme l’électroménager ou la domotique, et dans les applications de très grande diffusion

15
(par exemple les montres) pour lesquelles on n’hésitera pas à fabriquer le microcontrôleur
sur mesures.
Parmi les périphériques que l’on va intégrer on trouve :
- La mémoire RAM
- La mémoire ROM ou plus souvent OTPROM
- La mémoire EEPROM
- Des ports de liaisons parallèles
- Des ports de liaison série
- Des compteurs temporisateurs
- Des convertisseurs numériques analogiques et analogiques numériques
- Des contrôleurs de DMA, etc...

C- La familles des microcontrôleurs


Plusieurs familles de microcontrôleurs existent chez Motorola. La famille la plus
ancienne est la famille 6805, dont l’élément le plus connu, le 68705.

Toutefois les microcontrôleurs Intel occupaient une place plus importante sur le
marché de cette époque. Sans remettre en cause l’intérêt de ces derniers (leur très faible
coût), la famille 68HC11 a fait progresser dans des proportions importantes le marché de
Motorola. Parallèlement au développement de la famille 68HC11, Motorola a, à la
demande de sa clientèle, développé des microcontrôleurs ayant un cœur 16 et 32 bits
(68000 68020), c’est la famille des 683XX.

Pour les microcontrôleurs nous distinguerons trois approches :

• Le modèle de programmation du cœur, qui correspond au modèle de


programmation du microprocesseur intégré.
• Le modèle de programmation applicatif, qui définit l’organisation des
périphériques internes.
• Le modèle de communication qui peut être de deux natures :
- Communication avec des périphériques externes.
- Communication avec l’application.

1- Le 6805
Son créneau d’application est centré sur le « bas niveau », il n’est donc pas
nécessaire de lui attribuer un cœur très évolué. Il est en effet plus simple que celui du
6800, mais possède quelques instructions le rendant plus apte à traiter des applications
de type « Tout ou Rien » (Instructions de test et forçage de bits).
Le modèle de programmation comporte :
- Un registre de données sur 8 bits l’Accumulateur A
- Un registre d’adresse sur 8 bits l’Index X
- Un pointeur de programme sur 11 bits PC
- Un pointeur de pile sur 5 bits SP (invisible à la programmation)
- Un status sur 5 bits.

Figure 9- Le modèle de programmation 6805


16
Le modèle applicatif fait intervenir les circuits périphériques internes. Les différentes
versions se distinguent par la nature et la quantité de ces périphériques. Un modèle
applicatif type est schématisé sur la figure 10 :

Figure 10- Modèle applicatif du 6805

Il n’y a pas de modèle de communication avec les périphériques. Il n’est pas


possible avec ce microcontrôleur d’ajouter des périphériques. La seule communication se
fait avec l’application elle-même, via les liaisons parallèles des ports A et B, via les entrées
analogiques du port C, ou via l’entrée de comptage et la sortie temporisée du timer.

2- Le 68HC11
Beaucoup plus récente que la précédente cette famille bénéficie des progrès en
matière d’intégration sur le silicium. Les périphériques intégrés dans le modèle applicatif
ne constituent toutefois pas une véritable révolution, en revanche, leurs fonctionnalités
sont étendues, et le cœur est beaucoup plus évolué. Une autre différence majeure : les
68HC11 possèdent des bus d’extension optionnels, et peuvent donc enrichir l’application
(au détriment bien sur d’un surcroît de câblage.

Le modèle de programmation du 68HC11 se schématise sur la figure 11 :

Figure 11- Le modèle de programmation du 68HC11

Le modèle applicatif du 68HC11 est schématise sur la figure 12 et composé :


- De la mémoire ROM
- De la mémoire RAM
- De la mémoire EEPROM
- Un compteur temporisateur sur 16 bits.
- Cinq ports parallèles Tout ou Rien pouvant être transformés en :
. Bus d’extension (adresse et données)
. Port série synchrone
17
. Port série Asynchrone
. Port d’entrées analogiques
. Entrées de comptage
. Sorties événementielles.
Les options nous les retrouvons sur le schéma de la figure 12, sous forme de pointillés.

Figure 12- Modèle applicatif du 68HC11

3- Le 68302
Le 68302 est un microcontrôleur de haut de gamme et possède un cœur 68000. Il
s’agit d’un processeur orienté communication multiprotocoles. Le cœur 68000 correspond
au modèle de programmation décrit plus haut. Le modèle applicatif se décompose en trois
parties :
- Le cœur 68000
- Le bloc du système intégré
- Le processeur de communication

L’originalité du composant réside aussi bien dans le système intégré que dans le
processeur de communication et dans les liens qui les unissent. Tout d’abord ce
processeur de communication gère trois canaux sériels asynchrones, un canal synchrone
et un port auxiliaire. Un processeur RISC avec un programme paramétrable par
l’utilisateur assure le fonctionnement de cette partie. Les différents canaux peuvent
accéder individuellement à plusieurs protocoles, et être associés à plusieurs couches
physiques de réseaux, par simple configuration. La communication entre les ports sériels
et l’application gérée par le cœur 68000 se fait par l’intermédiaire d’une RAM double-
accès interne, voyant d’un côté les bus du processeur RISC, de l’autre ceux du 68000.
Vingt huit lignes de communication avec le monde extérieur peuvent être utilisées,
soit comme les lignes de dialogue et de protocole des ports sériels, soit comme des
entées soties parallèles TOR. Elles sont programmables individuellement.
Le schéma en trois blocs se trouve en figure 13. On notera que les bus du 68000
sont disponibles à l’extérieur, le contrôleur n’étant pas autonome. Il faut au minimum lui
adjoindre de la ROM externe et de la RAM (l’utilisation de la RAM interne devant être
réservée à la communication).

18
Figure 13- Schéma bloc du 68302

a- Le système intégré
Le 68302 est destiné en priorité aux concentrateurs de réseaux puisqu’il peut gérer
simultanément trois voies avec des protocoles différents. Bien que puissant le 68000 est
chargé par cette tâche, il est donc vraisemblable qu’il se comportera en coprocesseur d’un
processeur central, déchargeant ce dernier de toute gestion de réseau. Pour faciliter la
communication rapide un contrôleur de DMA est intégré, lequel est totalement
indépendant des ports sériels et totalement disponible pour le programmeur.

Un contrôleur d’interruptions assure la prise en compte et le contrôle des priorités


des interruptions internes et externes. Il génère un vecteur en direction du 68000 pour
chacune d’elles. En complément ce contrôleur d’interruptions peut prendre en compte les
lignes IPL de demande d’interruption de deux manières différentes: soit comme le codage
binaire d’un niveau d’interruption, soit comme trois lignes indépendantes de demandes
d’interruption, qui peuvent être sensibles aux niveaux ou aux fronts.
Les deux ports parallèles sont associés à une logique de programmation qui
définira le rôle de chaque borne individuellement et, le cas échéant, la direction de
circulation des données sur cette borne.

La RAM double accès est le lien entre le processeur de communication et le cœur.


C’est dans cette RAM de 1152 octets que doivent se situer les buffers des ports sériels.

Trois compteurs temporisateurs sur 16 bits sont à disposition de l’application. L’un


de ces temporisateur peut assurer le rôle de chien de garde, c’est à dire qu’il génère une
interruption s’il n’a pas été réarmé avant son échéance.

Pour faciliter la communication avec les périphériques externes une logique de


décodages de blocs d’adresse est incluse. On peut configurer trois sorties de « chip
select ».

La logique d’adressage des périphériques internes est également située dans ce


bloc. Lors de l’initialisation les éléments ont une adresse prédéfinie, mais l’utilisateur peut
par programmation leur affecter une adresse de son choix.

La logique de contrôle du système appartient elle aussi à ce bloc.

19
b- Le processeur de communication
C’est la partie originale du composant. Elle comporte essentiellement six types de
blocs :
- Le processeur RISC
- Trois canaux de communication série indépendants qui supportent
différents protocoles de couche liaison tels que HDLC SDLC, le protocole
standard UART, le protocole Communication binaire synchrone (BISYNC),
etc...

Les canaux sont appelés SCC (Serial communication contrôler).


- Six canaux DMA, un par voie et par sens.
- Un interface de couche physique paramétrable, accessible à chaque voie
sérielle, contenant un choix entre quatre types, dont NMSI qui comporte
toutes les lignes de protocole modem.
- Un canal sériel synchrone, appelé SCP (Serial communication port).
- Deux blocs auxiliaires permettant de créer les lignes nécessaires à certains
protocoles de couche physique. Ces blocs sont désignés par SCM (Serial
management contrôler).

Le schéma des deux parties décrites ci-dessus se trouve en figure 14 et 15.

Figure 14- Le système intégré du 68302

Figure 15- Processeur de communication du 68302


20
4- Le 68331
Il rassemble des fonctions fréquemment présentes dans une application. Il possède
un cœur 68020, mais ses bus de communication avec les périphériques sont
configurables et ne sont pas nécessairement ceux du 68020. Les données sont
échangées avec l’extérieur sur 16 et non 32 bits, quand aux adresses elles sont sur 24
bits. Le bus de contrôle peut être celui du 68020 mais ses fonctions peuvent en être
simplifiées.

On peut distinguer quatre grands blocs dans le modèle applicatif :


- Le cœur (68020)
- Le module sériel (QSM)
- Le module compteur temporisateur (GPT)
- Le module de gestion des bus (SIM)

Figure 16- Modèle applicatif du 68331

a- Rôle du SIM
Quelle que soit la configuration du SIM le bus de données (16 bits) ainsi que 19 bits
du bus d’adresse (A0 à A18) ainsi que quelques bits du bus de contrôle sont disponibles à
l’extérieur. Les bits d’adresse A19 à A23 ainsi qu’une grande partie des bits de contrôle
peuvent être vus à travers des lignes de port configurables. Par exemple la ligne
d’adresse A19 peut être, par programmation du SIM, vue de l’extérieur, ou masquée, le bit
du port parallèle correspondant étant alors réservé à un « chip select » pré décodé, ou à
une sortie tout ou rien d’usage général. La véritable originalité du composant repose donc
sur le SIM qui permet de multiples configurations, s’adaptant à presque toutes les
situations.

b- Le module sériel QSM


Les fonctions du bloc appelé QSM sont identiques dans leur esprit à celles
rencontrées sur le 68HC11 dans le module sériel. Il s’agit d’un port asynchrone (UART) et
d’un port synchrone haut débit. Un générateur de baud est incorporé à ce bloc.

Les lignes d’interconnexion de ces ports avec le monde extérieur font parties des
lignes configurables par le SIM, elles partagent donc les bornes avec d’autres fonctions
(chip select).

c- Le module compteur temporisateur GPT


La encore il y a une grande similitude avec le bloc du même nom du 68HC11. Il
comporte deux timers fonctionnant en roue libre (c’est à dire qu’ils comptent en
permanence les signaux de leurs bases de temps). Un bloc de contrôle capture et
comparaison associé aux timers a pour mission de générer des événements vers le
monde extérieur à une « date » donnée, ceci sur une sortie dite de comparaison (sous
entendu de temps). Il a également comme faculté celle de dater un événement extérieur
se manifestant par un changement d’état sur une entrée dite de capture.
21
Un accumulateur d’impulsions (PAC) fonctionne comme celui du 68HC11 ou celui
du 6805, c’est à dire qu’il sait compter le nombre de fronts survenant sur une entrée à
l’intérieur d’un créneau matérialisé par l’état 1 d’une autre entrée.

On trouve également dans le bloc GPT un double générateur de modulation de


largeurs d’impulsions. Cette fonction utilise l’un des timers roue libre qui peut également
être utilisé pour le fonctionnement des entrées de capture et sorties de comparaison, il y a
donc une exclusivité entre les fonctions potentielles, il n’est par exemple pas possible de
choisir une base de temps (réglée par le prédiviseur d’horloge) différente pour le
modulateur de largeurs d’impulsions de celle du contrôle des entrées de capture.

Toute application ne recourt en général qu’à une partie des fonctions potentielles du
GPT, c’est pourquoi les connexions de ces fonctions au monde extérieur sont faites par
l’intermédiaire d’un port dont les lignes, individuellement peuvent être programmées
également en entrées sorties tout ou rien d’usage général.

5- Le 68340
C’est également un composant non autonome, car lui non plus ne dispose pas de
mémoire interne. Cela rend indispensable la visibilité externe du bus processeur. Le cœur
est un 68020 dont quelques rares instructions ont été supprimées.
Le modèle applicatif comporte six modules principaux :
- Le cœur (68020)
- Deux modules compteurs temporisateurs
- Un module double liaison série asynchrone comparable à un DUART
- Un module contrôleur de DMA deux canaux
- Un module de gestion de bus comparable au SIM du 68331

Figure 17- Modèle applicatif du 68340

a- Le SIM
Les blocs périphériques (ports série, canaux DMA et timers) possèdent leurs lignes
dédiées de communication avec l’extérieur. Le SIM gère les bus d’extension et les
fonctions auxiliaires qui peuvent partager les lignes des bus d’extension. Ces fonctions
sont les requêtes et accusés de réception d’interruption, les chip select (blocs d’adresses
pré-décodés) et les ports parallèles tout ou rien. Le schéma des lignes gérées par le SIM
est en figure 18.

Sept lignes de requêtes d’interruption sont utilisables, IRQ1 à IRQ7. Chacune d’elle
est associée à un niveau de priorité. Le contrôleur d’interruption interne se charge de créer
les signaux IPL nécessaires au cœur. A chaque interruption est associé un accusé de
réception IACK1 à IACK7. La programmation du SIM permet d’affecter ces lignes
individuellement, soit au fonctions d’interruption, soit aux chip select, soit aux ports
22
parallèles, soit au complément du bus d’adresse A24 à A 31, le contrôleur d’interruption
peut donc être totalement ou partiellement inhibé.

Figure 18- Le SIM du 68340

b- Les compteurs temporisateurs


Les deux blocs sont indépendants. Chacun d’eux possèdent un compteur sur 16
bits et un étage de prédivision sur 8 bits. Il est possible par une connexion externe de
cascader les compteurs, offrant ainsi une capacité effective de comptage sur 48 bits.

Les fonctions programmables associées à chaque bloc sont :


- Entrées de capture et sorties de comparaison
- Génération de signaux carrés
- Génération de signaux à rapport cyclique variable
- Génération d’impulsions de largeur variable

Pour chaque module on peut choisir le niveau de priorité d’interruption et le numéro


de vecteur d’interruption. En revanche, les différentes interruptions que chacun peut
sollicité sont associées au même vecteur, il faut par conséquent scruter un status pour
connaître la cause de l’interruption.

6- Exemples d’applications à base de microcontrôleurs


Le 6805, dans sa version REPROM 68705 a été utilisé dans des applications
simples telles que des terminaux dits de poche pour les réglages sur automates
programmables. Il a également été expérimentalement testé sur un module de réglage
des fonctions d’un ampli HI-FI, mais ses faibles capacités en RAM en limitent les
possibilités et dans ce dernier cas le 68HC11 lui a été préféré. La présence sur ce dernier
de mémoire EEPROM facilite le stockage, sur l’ampli tuner des stations pré-réglées. Sur
ce dernier nous avons également développé des applications de domotique concernant
23
des modules de gestion de distribution électrique et de réglage d’appareils de chauffage et
d’éclairage. Ces modules peuvent être autonomes ou cascadés par la liaison série
synchrone, un module maître assure alors la supervision de l’installation. Des modules
utilisant un 68HC11 gèrent les différents mode de paiement (cartes à pré-paiement, carte
Visa) Un module maître assure la coordination.

L’application la plus intéressante avec un 68302 est un développement de la


société suisse Gespac. Il s’agit d’une carte de communication intelligente pouvant être
utilisée comme concentrateur de réseau. Les trois ports peuvent être associés à différents
protocoles de réseaux, les basses couches étant gérées directement et de façon
transparente pour l’intelligence de la carte, par le processeur de communication. Le cœur
assure, quand à lui, les fonctions des hautes couches et en particulier le routage et
l’adaptation des protocoles entre eux, on peut donc considérer un tel produit comme une
passerelle.

Le 68331 est utilisé dans un autre développement de la société Gespac. Le


composant est au cœur d’une unité centrale d’automate programmable dont les modules
sont reliés par un réseau FIP. Le réseau FIP étant très exigeant ne peut être mis en
oeuvre à partir d’un port série du 68331, en revanche il demande au processus applicatif
d’assurer une mise à jour régulière des variables échangées sur le réseau, pour cela le
GPT est très utile. En outre le puissance du cœur du 68331 a permis, sans nuire à la
gestion du réseau, d’implanter sur les modules un moteur GRAFCET échangeant, via le
réseau, des ordres de synchronisation avec les moteurs GRAFCET présents sur les
autres modules.

En ce qui concerne le 68340, c’est un produit de la société française AIM qui nous a
permis de nous pencher sur sa mise en oeuvre. Il s’agit, comme dans le cas précédent,
d’une unité centrale d’automate programmable. Le 68340 a été retenu ici pour la
puissance du coeur et la simplification de la circuiterie externe par la richesse des chip
select programmables. En outre un automate programmable doit disposer d’une liaison de
connexion à la console de programmation que le 68340 est apte à fournir, tout en laissant
une liaison applicative disponible. Par ailleurs le bloc compteur temporisateur met à
disposition des fonctionnalités qui simplifient l’implantation d’un noyau multitâches sur
l’automate.

24