Vous êtes sur la page 1sur 9

CHAPITRE II : LES PERIPHERIQUES

II.1. Introduction :

Les périphériques sont des composants qui réalisent des fonctions simples ou complexes que
le µP ne peut pas réaliser lui-même. Les mémoires peuvent être considérées comme les
périphériques les plus simples. Elles permettent de réaliser une fonction simple de mémorisation. On
a toutefois l’habitude de réserver le terme périphérique aux composants réalisant des fonctions
spécifiques autres que la mémorisation. En dehors de la mémorisation, quelles sont les fonctions
réalisées par un périphérique ? Elles peuvent être simples (fonction d’entrée/sortie) ou complexes
(contrôleur graphique, de bus, …etc). Nous pouvons, cependant, réunir l’ensemble de ces fonctions
en groupes élémentaires. La connaissance de ces fonctions élémentaires permettra d’aborder sans
aucun problème un périphérique ou un µC inconnu. Nous pouvons citer quatre fonctions
élémentaires qui peuvent être associées pour former des périphériques complexes : la fonction
d’Entrée/Sortie Tout ou Rien (TOR), la fonction Interruption, la fonction Timer et la fonction
Communication.

Lors de l’étude d’un périphérique, deux parties distinctes doivent être considérées. La
première est constituée par la connexion électrique du composant (« comment vais-je le connecter
au µP ? ») et la seconde par la programmation de clui-ci (« comment vais-je le faire fonctionner ? »).

II.2. Branchement matériel

Le problème de branchement se pose lors de la conception et de la réalisation d’une carte


électronique comprenant un ou plusieurs périphériques. Deux techniques principales sont possibles :
la réalisation d’un prototype utilisé souvent pour de petits montages de fréquence d’horloge de
processeur faible, ou la simulation à travers un outil de CAO. Dans les deux cas, la démarche est la
même : il faut réaliser un plan de câblage.

En fait, la connexion d’un périphérique à un µP est similaire au branchement d’une mémoire


avec ce dernier. En effet, un périphérique peut être vu comme une mémoire qui, en plus de
mémoriser la donnée stockée, réalise une ou des actions spécifiques en fonction de cette valeur.
Comme exemple, nous donnons sur la figure II.1. le synoptique de branchement entre un µP et un
périphérique.
Nous trouvons une sélection de boitier (/CS) provenant d’une logique de décodageainsi
qu’un signal indiquant le sens de l’opération : écriture ou lecture dans le périphérique (R/W). les
registres (cases mémoires internes) du périphériques permettent soit de lancer des actions soit de
recueillir des informations. Ces registres sont adressés par des broches de sélection (RS). Les adresses
de ces registres sont alignées (adresses successives) : il suffit donc de relier ces broches RS aux
broches des adresses basses du µP.

La logique de décodage est réalisée grâce aux adresses hautes et au signal indiquant que les
adresses sont valides (VA).

Pour les conditions particulières, le périphérique peut envoyer une interruption vers le µP.
celle-ci est réalisée par une ou plusieurs broches d’interruption (/IRQ). Sur le schéma présenté, le
branchement entre /IRQ et /INT (entrée d’interruption du µP) est direct. Ce branchement ne serait
pas direct si le µP possédait des entrées de niveau de priorité d’interruption : il faut alors intercaler
une logique d’encodage de priorités.

En outre, le µP connecté au périphérique peut être synchrone ou asynchrone. Il est


synchrone s’il fournit l’horloge de séquencement des opérations du périphérique et est asynchrone si
ce dernier génère un signal (/DTACK : Data ACKnowledgement) indiquant que l’opération en cours
peut se terminer.

II.3. Programmation logicielle :

II.3.1. Fonction Port d’Entrée/Sortie TOR :

Elle constitue sûrement la fonction la plus simple à appréhender lorsqu’elle n’est pas
associée à la fonction d’interruption.

L’utilité de cette fonction est :

 D’imposer des niveaux logiques ‘0’ ou ‘1’ sur les broches associées du périphérique ;
 De récupérer les niveaux logiques imposés par l’extérieur du périphérique sur ses broches
associées ;

Si les broches peuvent réaliser ces deux fonctions, il faudra indiquer si elles sont en Entrée ou
en Sortie. Dans tous les cas cette affectation peut se faire d’une manière dynamique, c’est-à-dire
qu’une broche mise précédemment en sortie peut être reconfigurée en Entrée sans réinitialiser
électriquement le composant.
En se référant à la documentation technique des µC dsPIC33F de Microchip, nous observons
que chaque PORT (A, B, C, …) lui est affecté un registre dit de direction (TRISA, TRISB, TRISC, …)
respectivement permettant de configurer en Entrée ou en Sortie ces ports.

Dans notre cas, l’écriture ou la lecture sur ces ports se fait à travers les registres PORTA,
PORTB, PORTC, … respectivement. Lorsqu’un ‘1’ ou un ‘0’ est écrit dans un bit de ces registres, alors
le niveau logique sur lz broche correspondante est mis à ‘1’ ou ‘0’ respectivement lorsque la broche
correspondante est configurée en sortie.

Par exemple, si le bit ‘3’ du registre du port ‘B’ est mis à ‘1’ et si la broche correspondante est
mise en sortie, alors la broche ‘RB3’ est au niveau logique ‘1’. Pour avoir ceci sur les dsPIC33F on
écrira :

TRISB = 0xFFF7 ;
PORTB = 0x0008 ;

II.3.2. Fonction Timer : (Compteur de temps)

D’une façon générale, la fonction Timer se charge de la gestion du temps. Le Timer peut être
cadencé par une horloge externe ou interne comme certains cas pour les µC.

Le Timer est utilisé pour plusieurs but, tels que : la génération de signaux périodiques
(créneaux de périodes programmés), le chronométrage, la mesure de largeur d’impulsion et la
génération d’interruptions périodiques.

a/ Principe de fonctionnement :

Un Timer est un compteur pré-chargeable qui peut être incrémenté par un signal d’horloge
externe ou interne. Il peut y avoir un pré-diviseur avant le Timer (voir la figure ci-dessus).

Il génère un « drapeau » de débordement (overflow flag) à chaque passage de valeur max à zéro.

Certains Timers peuvent être e écriture, ce qui permet de compter depuis une valeur particulière. Par
contre, on peut lire à tout moment la valeur du Timer.

La période ‘T’ du signal généré par un Timer peut être exprimée comme suit :

T = TOSC * PRED * (TAMP – TINIT)

Où : TOSC : Période du signal d’horloge ;


PRED : Valeur du pré-diviseur ;
TAMP : Valeur maximale de comptage ;
TINIT : Valeur initiale de comptage.

b/ Exemple de configuration d’un Timer :

On souhaite avoir un signal de fréquence de 1kHz à partir d’un microcontrôleur dont la


fréquence de l’oscillateur est de 4MHz. Pour ce faire, on fait appel à un de ses Timers sur
16 bits, dont les pré-diviseurs possibles sont 1,2,8,64.

Nous avons l’équation suivante :

T = Tosc * PRED * (Tamp – Tinit)

Les inconnues sont PRED, Tamp et Tinit.

Si on choisi le PRED = 1 et Tinit = 0, alors Tamp = T/PRED/Tosc = 4000 ;

Comme la valeur 4000 est incluse dans l’étendue du Timer, alors on l’accepte. Donc Tamp = 4000.
CHAPITRE III : TRANSMISSION DE DONNEES
III.1. Eléments constitutifs d’une liaison de données :

Une transmission de données met en œuvre des calculateurs d’extrémité et des éléments
d’interconnexion dont les appellations et fonctions sont codifiées comme le montre la figure ci-dessus. On
distingue :

 Les ETTD, Equipement Terminal de Traitement de Données, appelés aussi DTE (Data Terminal
Equipment) représentant les calculateurs d’extrémités. Ces calculateurs sont dotés de circuits
particuliers pour contrôler les communications. L’ETTD réalise la fonction de contrôle du dialogue.
 Les ETCD, Equipement Terminal de Circuit de Données, ou DCE (Data Circuit Equipment) sont les
équipements qui réalisent l’adaptation entre les calculateurs d’extrémité et le support de
transmission. Cet élément remplit essentiellement des fonctions électroniques, il modifie la nature du
signal mais pas l’information.
 La jonction constitue l’interface entre l’ETTD et l’ETCD, elle permet à l’ETTD de gérer l’ETCD pour
assurer le déroulement des communications (établissement d’un circuit, initialisation de la
transmission, échange de données et libération du circuit).
 Le support ou ligne de transmission est un élément essentiel de la liaison. Les possibilités de
transmission (débit, taux d’erreur, …etc) dépendant essentiellement des caractéristiques physiques et
de l’environnement de celui-ci.

Une liaison de données est caractérisée par son débit (D = V / t) qui représente le nombre de bits
transmis par unité de temps (bits/s) et par l’organisation des échanges. Où ‘V’ est le volume à transmettre
exprimé en bits et ‘t’ la durée de la transmission.

III.2. Définition d’un réseau de communication :

Un réseau n’est qu’un ensemble d’ordinateurs et/ou de périphériques (éléments ou entités) reliant les
uns aux autres dans le but d’échanger des données (informations).

III.3. Définition d’un protocole de communication :

Un protocole est une description formelle de règles et de conventions à suivre dans un échange
d’informations, que ce soit pour acheminer les données jusqu’au destinaire comprennent comment il doit
utiliser les données qu’il a reçues.

Pour s’y retrouver plus facilement dans l’ensemble des protocoles, l’International Standard
Organization (ISO) a défini un modèle de base appelé modèle OSI (Open Systems Interconnection). Ce modèle
définit ‘7’ niveaux différents pour le transfert de données. Ces niveaux sont également appelés couches.
III.4. Communication parallèle et communication série :

III.4.1. Transmission parallèle :

Pour transférer des données entre deux équipements informatiques, peut être intéressant
notamment lorsque ces équipements sont séparés par de courtes distances, le mode parallèle est envisagé.
Cela aura pour effet de réduire le délai de transfert et d’avoir une grande vitesse de transmission. Dans ce type
de transmission, les bits sont envoyés sur des fils distincts pour arriver ensemble à destination (Exemple : pour
un 1 octet il faut 8 fils). Les inconvénients de cette transmission sont le coût élevé, l’encombrement, la
faiblesse aux bruits, pas fiable pour les grandes distances.

III.4.1. Transmission série :

Lorsque la distance séparant les équipements informatiques dépasse quelques mètres, la transmission
en parallèle ne peut être utilisée pour des raisons de coût (nombre de fils élevé), mais également pour des
difficultés de mise en œuvre inhérente au délai de propagation (retard) qui peut varier d’une ligne à une autre.
On utilise alors la transmission en série où les bits sont envoyés les uns derrière les autres sur un unique
support de transmission.

A noter que les données sont traitées en parallèle. Toutefois, lorsque ces données binaires arrivent sur
un canal de transmission, elles sont converties de parallèle en série (dispositif basé sur les registres à décalage).
CHAPITRE IV : LES BUS COMMUNICATION
IV.1. Introduction :

La communication entre deux entités peut se faire soit d’une manière parallèle soit d’une manière
série. En ce moment, le mode série est le plus utilisé dans les transferts d’information alors que le parallèle
commence à disparaitre.

Pour une communication série, le nombre de fils mis en jeu est au minimum de 2 : soit un pour le
signal des données et une référence (la masse par exemple) soit deux fils pour les données en mode
différentiel. Dans la plupart des cas, d’autres fils sont ajoutés pour un contrôle de flux matériel.

La vitesse de la communication peut être constante ou variable. Si elle est constante, le récepteur peut
facilement récupérer les informations connaissant la vitesse de l’émetteur. En revanche, si la communication
est à vitesse variable, une synchronisation entre l’émetteur et le récepteur pouvant être externe (signal
d’horloge) ou interne (horloge dans l’entête des données) doit être envisagée.

IV.2. Caractéristiques d’une liaison série :

IV.2.1. Vitesse d’une liaison série :

Sur une liaison série, les informations numériques sont transmises bit après bit. Si le signal réel sur la
ligne est binaire (un niveau physique par niveau logique), alors on définit le Débit binaire ‘D’ en nombre de bits
par seconde. D’une façon, générale, le temps du maintien d’un bit est égal à la période ou un nombre entier de
périodes d’horloge cadençant l’échange. Si le signal n’est pas binaire mais multipolaire de valence ‘q’ (nombre
de niveaux réels pour des combinaisons de niveaux logiques), alors on remplace le débit binaire par la Rapidité
de modulation ‘R’ en bauds. La rapidité de modulation est définie comme l’inverse de l’intervalle de temps le
plus court entre deux transitions.

A flux d’information identique, la transformation d’un signal binaire en un signal multipolaire se fait
avec une rapidité de modulation dont la valeur est liée au débit binaire par la relation R = D / log2(q).

L’avantage du mode multipolaire est, entre autres ; de pouvoir utiliser de l’électronique moins
rapide…mais plus complexe car elle n’est plus binaire.

IV.2.2. Mode d’échange :

Il existe des échanges e mode asynchrone ou en mode synchrone.

IV.2.2.1. Echange asynchrone :

Il est souvent qualifié d’échange caractère car les informations sur la ligne de communication sont
regroupées en caractères. Entre chaque caractère il peut exister un temps dit « inter-caractère » qui peut être
minimum (connu) ou aléatoire d’où le temps total de l’échange est difficilement prévisible. La vitesse de
l’échange est dans ce cas là, la vitesse de transfert des bits du caractère.

Le caractère est composé d’un bit de START, de la donnée (5 à 8 bits), d’un de Parité (optionnel) et de
bits de STOP.

Pour le récepteur, le temps inter-caractère est inconnu, il faut donc une indication de départ du
caractère (START BIT). Le caractère se termine par un ou plusieurs bits de stop (STOP BITS) assurant une
séparation minimale entre le dernier bit de la donnée, ou de parité du caractère, et le bit de START du
caractère suivant.
Le bit de parité est inséré pour assurer la « sécurité » de l communication.

IV.2.2.2 Echange synchrone :

Il est qualifié d’échange par blocs car plusieurs caractères sont regroupés en bloc ou trame. Tous les
caractères sont collés sans bits de Start, ni bit de Stop et ni bit de Parité. Il n’existe pas de temps inter-
caractère : le temps de transfert d’un bloc est défini précisément. Le récepteur doit se synchroniser soit sur u
signal d’horloge externe soit sur l’entête du bloc.

Il existe deux sortes d’échanges synchrones : orienté caractère et bit.

a) Echange orienté caractère : La trame d’échange est constituée des caractères de synchronisation
(SYN) et de caractères délimiteurs de trame que sont par exemple les ASCII de STX (Start of TeXt) et
ETX (End of TeXt) entourant les données et les codes de contrôle ( le CRC par exemple).

Le récepteur doit recaler son horloge de synchronisation de réception jusqu’à ce qu’il détecte l’un des
caractères de synchronisation préalablement connus. Lorsqu’il y parvient, il est donc synchronisé sur
l’émetteur et peut ainsi récupérer les données et le CRC.

b) Echange orienté bit : La trame ne possède pas STX et ETX mais juste SYN au début et à la fin qui est un
caractère de synchronisation. Par exemple : le protocole HDLC (High level Data Link Control) de la
couche 2 a son SYN = $7E.
En l’absence de trames utiles, de longues suites de 1 logique sont transmises.

IV.2.3. Type d’échange : Si la communication se fait entre deux machines, on appelle échange :

- Simplex : un échange unidirectionnel ;


- Alterné (Half Duplex) : un échange bidirectionnel alterné ;
- Simultané (Full Duplex) : un échange dans lequel l’émission et la réception peuvent être
simultanées.
IV.2.4. Codage de l’information :

Plusieurs types de codes sont utilisés pour coder l’information transférée :

- Code NRZ (Non Return to Zero) : 0 logique pour 0 V, 1 logique pour +a V ;


- Code NRZ bipolaire : 0 logique pour -a V, 1 logique pour +a V ;
- Code Manchester : voir la figure ci-dessous.

IV.2.5. Multiplexage :

Lorsque l’on veut transmettre sur une même liaison physique plusieurs canaux d’informations (voies),
il existe deux possibilités :

- Le multiplexage temporel qui à chaque canal attribue un temps de communication ;


- Le multiplexage fréquentiel qui à chaque canal attribue une porteuse différente.

IV.2.6. Topologie du réseau : On appelle topologie d’un réseau de communication, l’organisation physique de
ce dernier : Etoile, Anneau, Arbre, Maillé et Bus.

IV.2.7. Type de liaison série : En résumé, on peut les regrouper en deux types :

- Type non différentiel : RS232 ;


- Type différentiel : RS422 et RS485.

Vous aimerez peut-être aussi