contenu du cours

95
Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger C.5-1 CONTENU DU COURS A . M ISE EN CONTEXTE B. C ONCEPTS LO G IC IELS ( PR O G R A M M A TIO N EN ASSEM BLEUR ET EN C) C . C ONCEPTS M ATÉRIELS ( COM POSANTS D UN M ICROCONTRÔLEUR )

Upload: shina

Post on 12-Jan-2016

47 views

Category:

Documents


1 download

DESCRIPTION

CONTENU DU COURS. Partie C − Concepts matériels. C.1 Con figurations matérielles du 68HC12: architecture du système, mémoire, et ports d’e/s C.2 Gestion d’exceptions: réponses aux remises-à-zéro et aux interruptions avec le 68HC12 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-1

CONTENU DU COURS

A. MISE EN CONTEXTE

B. CONCEPTS LOGICIELS

(PROGRAMMATION EN ASSEMBLEUR ET

EN C)

C. CONCEPTS MATÉRIELS

(COMPOSANTS D’UN MICROCONTRÔLEUR)

Page 2: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-2

Partie C − Concepts matériels

C.1 Configurations matérielles du 68HC12: architecture du système, mémoire, et ports d’e/s

C.2 Gestion d’exceptions:réponses aux remises-à-zéro et aux interruptions avec le 68HC12vecteur et priorité d’exceptions, et routines de service d’interruption

C.3 Module de temporisation: module de temporisation standard du 68HC12saisie des entrées et comparaison de sorties

C.4 Convertisseurs analogique-numérique:processus de conversionsystème de conversion du 68HC12

C.5 Interfaces de communications sérielles:Communications sérielles avec un microcontrôleurinterfaces multiples du 68HCS12: SCI et SPI

Page 3: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-3

Sommaire de la section C.5

C.5 Interfaces sériels de communication du 68HC12: 1) Communications sérielles avec

microcontrôleurs

2) Sous-systèmes multiples du 68HCS12

3) Interface sériel asynchrone – SCI: caractéristiques du sous-système SCI registres, programmation et applications

4) Interface sériel synchrone – SPI: caractéristiques du sous-système SPI registres, programmation et applications

Page 4: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-4

C.5(1) Communications sérielles

(a) Communications avec un microcontrôleur

1. applications indépendantes à distance: pour échanger des informations avec un composant distant

ex: communications entre deux robots mobiles

2. applications locales spécialisées dans un système: pour interfacer directement avec un composant externes, et donc étendre les capacités

ex: communications avec l’afficheur LCD du robot mobile

Page 5: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-5

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

parallèle: mécanisme permettant le transfert de plusieurs bits à la fois entre 2 composants

transfert plus rapide de données

requiert 9-10 fils pour gérer un canal de 8 bits

consomme plus de broches d’e/s et de matériel

Page 6: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-6

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

sérielle: mécanisme permettant le transfert d’un bit à la fois entre 2 composants

transfert moins rapide de données

requiert 1-2 fils pour un canal de 1 bit

consomme peu de broches d’e/s et de matériel

Page 7: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-7

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielleTransfert parallèle de données entre 68HC12:

peut connecter le Port A du transmetteur (configuré en sortie) au Port A du récepteur (configuré en entrée) pour transférer 8 bits

peut aussi connecter le Port B pour transférer 16 bits

Page 8: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-8

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Communication à 8 bits entre deux 68HC12:le 68HCS12 transmetteur écrit les données sur le port A, un octet à la fois

le 68HCS12 récepteur lit les données sur le port A, un octet à la fois

Exemple: transmission de 5 octets correspondant aux 5 caractères ASCII ‘hello’

Page 9: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-9

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Synchronisation: permet d’indiquer au récepteur quand les données transmises sont valides

Deux techniques de transfert: parallèle synchrone: exploite un fil supplémentaire pour transporter un signal d’horloge commun entre transmetteur et récepteur

parallèle asynchrone: exploite deux fils supplémentaires pour réaliser du ‘handshaking’ entre transmetteur et récepteur

Page 10: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-10

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Approche 1 – transmission synchrone: utiliser 1 fil supplémentaire pour transporter un signal d’horloge

Page 11: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-11

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Communication à 8 bits entre deux 68HCS12:le 68HC12 récepteur lit les données au port A sur le front montant du signal d’horloge

Exemple: transmission de 5 octets correspondant aux 5 caractères ASCII ‘hello’

Page 12: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-12

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Approche 2 – transmission asynchrone: utiliser 2 fils supplémentaires pour réaliser du ‘handshaking’

Page 13: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-13

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Communication à 8 bits entre deux 68HCS12:le 68HCS12 transmetteur utilise un fil ‘Data Valid’ (DV) pour indiquer que les données sont valides

le 68HCS12 récepteur utilise un fil ‘Data Received’ (DR) pour indiquer qu’il a lu l’octet au port A

Page 14: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-14

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Étapes d’une transmission parallèle asynchrone:1. le transmetteur écrit les données sur son port A, et fixe DV = ‘L’ pour indiquer la disponibilité d’un nouvel octet

2. quand le récepteur détecte la disponibilité d’un nouveau octet, il lit son port A, et fixe DR = ‘L’ pour confirmer

3. quand le transmetteur détecte DR = ‘L’, il fixe DV = ‘H’

4. quand le récepteur détecte DV = ‘H’, il fixe DR = ‘H’

Les deux microcontrôleurs sont maintenant prêts pour la prochaine transmission de données...

Page 15: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-15

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Communication de données entre deux 68HCS12:une communication entre transmetteur et récepteur se fait un bit à la fois, à travers d’un seul fil

Page 16: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-16

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Synchronisation: le transmetteur doit indiquer au récepteur quand les bits sont valides

Deux techniques de transfert: sériel synchrone: exploite un fil supplémentaire pour transporter un signal d’horloge commun entre transmetteur et récepteur

sériel asynchrone: exploite des bits spéciaux pour indiquer le début et la fin d’une communication entre transmetteur et le récepteur

Page 17: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-17

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Approche 1 – transmission sériel synchrone:

Page 18: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-18

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Étapes d’une communication sériel synchrone:1. place un caractère à transmettre dans un registre à décalage

interne

2. décalages successifs de n bits selon l’horloge (clk):

a) le transmetteur décale les bits d’un registre interne vers sa broche de sortie selon clk

b) le récepteur décale les bits sur sa broche d’entrée vers un registre interne selon clk

3. après n cycles d’horloge, n bits sont communiqués du transmetteur au récepteur

Page 19: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-19

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Approche 2 – transmission sériel asynchrone:

Page 20: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-20

C.5(1) Communications sérielles

(b) Transmission parallèle vs sérielle

Étapes d’une communication sériel asynchrone:1. les deux 68HCS12 sont configurés avec les mêmes paramètres de

transmission (fréquence clk, bits/caractère, parité, etc.)

2. les données sont transmises sur un canal TxD → RxD:

a) le transmetteur transmet un bit de départ (détecté par le récepteur) pour indiquer le début du transfert

b) le transmetteur transmet un caractère, LSb en premier, (détecté par le récepteur)

c) le transmetteur transmet un bit de terminaison (détecté par le récepteur) pour indiquer le fin du transfert

Page 21: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-21

C.5(1) Communications sérielles

(c) Concepts fondamentaux et terminologie

Lien sériel de communications: canal simple de communication, avec les données transférées un bit à la fois

Horloge: signal de qui établit le taux de transfert des données.

Taux de transfert (Baud): nombre de bits transmit par second en bps ≡ Baud

ex: 1200, 2400, 4800, 9600 Baud<

Page 22: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-22

C.5(1) Communications sérielles

(c) Concepts fondamentaux et terminologie

cellule binaire ou période de bit: période de temps réservé pour la transmission d’un bit dans une séquence binaire (1 ∕ taux de transfert)

code NRZ (‘Non-Return-to-Zero’): format commun pour le transfert d’une séquence binaire

règle: pour transmettre ‘0’ (‘1’), placer la tension L (H) sur le canal pour toute la cellule binaire.

Page 23: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-23

C.5(1) Communications sérielles

(c) Concepts fondamentaux et terminologiecode ASCII: ‘American Standard Code for Information and Interchange’

Page 24: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-24

C.5(1) Communications sérielles

(c) Concepts fondamentaux et terminologie

bit de parité: mécanisme pour détecter une erreur simple de transmission

réalisation: bit additionnel (e.g., MSb) qui indique la parité d’une séquence de bits

parité paire: le bit de parité est fixé tel qu’il y a un nombre pair de bits = ‘1’ dans le code

parité impaire: le bit de parité est fixé tel qu’il y a un nombre impair de bits = ‘1’ dans le code

Page 25: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-25

C.5(1) Communications sérielles

(c) Concepts fondamentaux et terminologie

Types de communications sérielles:1. lien simplexe: transfert sur 1 fil dans une direction (e.g.,

radio, TV)

2. lien mi-duplexe: transfert sur 1 fil dans les deux directions, mais pas simultanément (e.g., CB, BDM)

1. lien duplexe: transfert sur 2 fils dans les deux direction simultanément

Page 26: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-26

Sommaire de la section C.5

C.5 Interfaces sériels de communication du 68HC12: 1) Communications sérielles avec

microcontrôleurs

2) Sous-systèmes multiples du 68HCS12

3) Interface sériel asynchrone – SCI: caractéristiques du sous-système SCI registres, programmation et applications

4) Interface sériel synchrone – SPI: caractéristiques du sous-système SPI registres, programmation et applications

Page 27: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-27

C.5(2) Sous-systèmes du 68HC12Rôle des types de sous-systèmes dans le 68HCS12: a) CPU12: unité de traitement central

gestion d’exceptions: interrompre l’exécution normal d’un programme

b) Bus: module LIM combine DATA, ADDR et CTRL

c) Mémoire: stocker des configurations (bloc), des variables (RAM) et des programmes (ROM)

d) Périphériques d’entrée/sortie: ports d’entrée/sortie: échanger des données avec le monde externetemporisation: capter des entrées, générer des sorties, accumuler des impulsions, PWM conversion de données: convertir un signal analogique en codes binaires non-signés communication sérielle: échanger de données par communications asynchrones (SCI) et synchrones (SPI)

Page 28: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.4-28

C.5(2) Sous-systèmes du 68HC12

MC9S12C32

Page 29: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.4-29

C.5(2) Sous-systèmes du 68HC12

TX/RXPort S

Page 30: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-30

C.5(2) Sous-systèmes du 68HC12

Module d’horloge:

le 68HCS12 utilise XTAL (÷2) = Bus Clock16MHz ÷ 2 = 8MHz

Pour contrôler le SCI et le SPI

Page 31: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-31

C.5(2) Sous-systèmes du 68HC12

Module SCI (‘Serial Communications Interface’):

interface sériel pour communications

types de communications: sérielles asynchrones

synchronisation: utilise un bit de début et un bit d’arrêt pour encadrer chaque caractère transmis

utilisation typique: communiquer des caractères ASCII de façon asynchrone, à travers 1 fil

Page 32: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-32

C.5(2) Sous-systèmes du 68HC12

Page 33: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-33

C.5(2) Sous-systèmes du 68HC12

Module SPI (‘Serial Peripheral Interface’):

interface sériel pour périphériques

types de communications: sérielles synchrones

synchronisation: partage de l’horloge entre les composants qui sont désignés comme maître et esclave, à travers 1 fil supplémentaire

utilisation typique: étendre les capacités du 68HCS12 en interfaçant avec des périphériques synchrones

Page 34: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-34

C.5(2) Sous-systèmes du 68HC12

Page 35: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-35

Sommaire de la section C.5

C.5 Interfaces sériels de communication du 68HCS12: 1) Communications sérielles avec microcontrôleurs

2) Sous-systèmes multiples du 68HCS12

3) Interface sériel asynchrone – SCI: caractéristiques du sous-système SCI registres, programmation et applications

4) Interface sériel synchrone – SPI: caractéristiques du sous-système SPI registres, programmation et applications

Page 36: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-36

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Transfert de données:réalise un lien duplexe – permet d’effectuer une transmission et une réception simultanément

transmission de données – en décalant hors d’un registre à décalage de transfert (via TxD) et en les recevant dans un registre à décalage à réception (via RxD)

les registres de transfert et de réception sont indépendant, et distribués sur 2 registres à 8 bits: SCIDRL et SCIDRH, respectivement

Page 37: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-37

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Transfert de données:

SCIDRL

SCIDRLSCIDRL

SCIDRL

Page 38: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-38

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCIÉtapes d’un transfert de données TxD → RxD:(En mode IDLE, TxD = ‘H’)1. afin d’initier le transfert, fixer TxD = ‘L’ pour une

période de 1 bit – le récepteur détecte alors qu’une transmission est sur le point de commencer

2. durant la transmission d’un caractère sur TxD le codage du caractère est en format NRZ le nombre pré-déterminé de bits par caractère (8 ou 9

bits) est programmable tous les données sont transférées LSb premier

3. pour mettre fin au transfert, fixer TxD = ‘H’ pour une période de 1 bit – le récepteur détecte alors a fin

Page 39: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-39

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Page 40: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-40

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCITransmetteur SCI:

Page 41: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-41

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCIRécepteur SCI:

Page 42: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-42

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Génération du taux de transfert (Baud):taux de transfert programmable – par configuration des registres SCIBDH et SCIBDL

le transmetteur et le récepteur du SCI fonctionnent indépendamment, mais selon le même taux de transfert

un compteur modulo à 13 bits dérive le taux ou l’horloge de transfert pour les deux cas

Page 43: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-43

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Génération du taux de transfert (Baud):afin d’alimenter le transmetteur, la fréquence d’horloge de transfert est divisé par 16

le récepteur à un taux d’acquisition de 16 cycles d’horloge de transfert (échantillons) par temps de bit transmis

1 à 8191

Page 44: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-44

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCIDétection et vérification de bits:

le récepteur à 16 cycles d’horloge transfert / temps de bit

bit de départ: trois ‘1’ successifs, suivis par des ‘0’ à RT1, 3, 5, 7. Détecte le départ si 2 sur RT3, 5, 7 sont ‘0’, mais drapeau de bruit s’active s’il ne sont pas tous à ‘0’

bit de donnée (terminaison): vérifie à RT8, 9, 10. Détecte la valeur majoritaire, mais le drapeau de bruit (d’encadrement) s’active s’ils ne sont pas tous identiques

Page 45: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-45

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Détection d’erreurs liés à la transmission:

1. bruit: le récepteur vérifie chaque donné transmise 3 fois pour chaque bit – si le vote majoritaire n’est pas unanime, il y a une erreur de bruit

2. parité: le récepteur vérifie que le nombre de ‘1’s dans le code est bien pair ou impair – sinon il y a un erreur de parité

Page 46: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-46

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Détection d’erreurs liés à la transmission: (suite)3. encadrement: si le récepteur détecte le bit de départ, mais

pas le bit de terminaison

généralement à cause des différents taux de transfert – probablement due au fait que les 2 horloges n’opèrent pas exactement à la même fréquences

le communication va fonctionner si fclk(transmetteur) est différent de fclk(récepteur) par moins que 4.5%

Page 47: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-47

C.5(3) Interface sériel asynchrone

Caractéristiques du sous-système SCI

Capacité de générer des interruptions: une interruption par SCI, pour indiquer 4 types d’événements: TDRE, TC, RDRF, IDLE (lien inactif)

Réalise 2 techniques de réveil du récepteur: (pour transmissions à 2+ récepteurs)1. par reconnaissance de lien inactif: le récepteur se réveil

si son fil RxD devient inactif (IDLE)

2. par démarcation d’adresses: le SCI utilise une adresse reçue dans son SCIDR pendant son sommeille.

Page 48: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-48

C.5(3) Interface sériel asynchrone

Registres pertinents du SCI

Chaque sous-système SCI utilise 6 registres:[$00C8-C9] SCIBDH-L: registres de contrôle du taux de transfert H et L

[$00CA-CB] SCICR1-2: registres de contrôle 1 et 2

[$00CC-CD] SCISR1-2: registres d’état 1 et 2

[$00CE-CF] SCIDRH-L: registres de données H et L

Page 49: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-49

C.5(3) Interface sériel asynchrone

Registres pertinents du SCI

[$00C8-C9] SCIBDH-L – registres de contrôle du taux transfert H et L:

Page 50: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-50

C.5(3) Interface sériel asynchrone

Registres pertinents du SCI

Fixe le taux de transfert selon les bits SBR[12:0]:

1016 ( [12 : 0])MCLKf

SCI Baud rateSBR

Page 51: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-51

C.5(3) Interface sériel asynchrone

Registres pertinents du SCI

Page 52: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-52

C.5(3) Interface sériel asynchrone

Registres pertinents du SCI

[$00CA-CB] SCICR1-2 – registres de contrôle 1 et 2:

Page 53: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-53

C.5(3) Interface sériel asynchrone

[$00CA] SCICR1 – registre de contrôle 1: fixe des caractéristiques du système SCI

M: indique le format du caractère0: 1 start, 8 bits, 1 stop1: 1 start, 9 bits, 1 stop

WAKE: indique la méthode de réveil du récepteur SCI0: utilise la méthode de lien inactif (IDLE)1: utilise la méthode de démarcations d’adresses

PE et PT: PE active le système de génération de parité, tandis que PT indique le type de parité

PT = 0: parité pairePT = 1: parité impaire

Page 54: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-54

C.5(3) Interface sériel asynchrone

[$00CA] SCICR1 – registre de contrôle 1: fixe des caractéristiques du système SCI

LOOPS: permet de configurer le SCI pour l’opération en rétroaction:

le récepteur SCI est déconnecté de la broche RxD la sortie du transmetteur est routé vers l’entrée du récepteur de façon interne

RSRC: détermine le chemin interne de rétroaction au récepteur si LOOPS = ‘1’

‘1’: connexion de la broche TxD à l’entrée du récepteur‘0’: l’entrée du récepteur est connecté au transmetteur de façon interne (pas à travers la broche TxD)

Page 55: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-55

C.5(3) Interface sériel asynchrone

[$00CB] SCICR2 – registre de contrôle 2:activation de 4 différentes interruptions masquables

TIE: permet l’interruption de transmission quand le drapeau TDRE est actif

TCIE: permet l’interruption du transmission complété quand le drapeau TC est actif

RIE: permet l’interruption du récepteur quand le drapeau RDRF est actif

ILIE: permet l’interruption pour un lien inactif (IDLE)

TE et RE activent le transmetteur et le récepteur

RWU place le récepteur en mode de sommeil

SBK (send break) transmettre de 10 à 13 ‘0’

Page 56: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-56

C.5(3) Interface sériel asynchrone

Registres pertinents du SCI

[$00CC-CD] SCISR1-2 – registres d’état 1 et 2

Page 57: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-57

C.5(3) Interface sériel asynchrone

[$00CC] SCISR1 – registres d’état 1drapeaux d’erreur:

OR (‘Over-run’): si le registre de résultat n’est pas lu avant la réception de nouvelles données NF, FE et PF: erreur de bruit, d’encadrement, et de parité, respectivement

les drapeaux TDRE, TC, RDRF et IDLE indiquent l’état d’une communication:

TDRE (Transmit Data Register Empty’): SCIDRL videTC (‘Transmit Complete’): fin de transmissionRDRF (‘Receive Data Register Full’): SCIDRL pleinIDLE (‘Idle Line Detect’): si un caractère (10 ou 11 bits) consécutifs de ‘1’ apparait au récepteur

Page 58: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-58

C.5(3) Interface sériel asynchrone

[$00CD] SCISR2 – registres d’état 2RAF (‘Receiver Active Flag’): indique que le caractère est en train d’être reçu par le récepteur

TXDIR (‘Transmitter Pin Data Direction in Single-Wire Mode’) : direction de la broche TxD en mode simplexe

0 = entrée1 = sortie

BK13 (‘Break Transmit Character Length’) : indique le nombre de bits pour une pause

0 = 10 ou 11 bits de long1 = 13 ou 14 bits de long

Page 59: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-59

C.5(3) Interface sériel asynchrone

[$00CE-CF] SCIDRH-L: registres de données H et LL: contient les bits [7:0] transmis/reçusH: contient le 8ème bit pour un transfert à 9 bits (M = ‘1’)

Page 60: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-60

C.5(3) Interface sériel asynchrone

Programmation du SCI

Page 61: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-61

C.5(3) Interface sériel asynchrone

Exemple: sous-routine pour initialiser et transmettre une séquence de caractères via le SCI

configurer SCIBDH = $00, SCIBDL = $34 pour avoir un le taux de traitement est 9600 Baud, en supposant que la fréquence de BUSCLK = 8MHz

configurer SCICR1: M = ‘0’, 1 bit de départ, 1 bit de terminaison, et 8 bits de données (parité incluse)

configurer SCICR2: TE = ‘1’

pas de bit de parité

remise à zéro du drapeau TDRE dans SCISR1:1. lire SCISR12. écrire le code ASCII dans le SCIDRL

Page 62: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-62

C.5(3) Interface sérielle asynchrone

; définir les registres des base et masquesSCIBDH = $00C8 ; déclaration de registres déjà fait dans mc9s12c32.inc SCIBDL = $00C9 SCICR1 = $00CA SCICR2 = $00CB SCISR1 = $00CC SCIDRL = $00CF

BAUD_HI = $00 ; pour taux de transfert de 9600BAUD_LOW = $34 SCI_CONT = $00 ; pour 8 bits, pas de rétroaction et de

paritéSCI_MASK = $08 ; pas d’interr., activer le transmetteur

Page 63: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-63

C.5(3) Interface sérielle asynchrone;********************; Programme principal

ORG $0800DATA FCB ‘GPA770’

FCB $0D, $0A ; carriage return, line feedEOT FCB $00 ; end of data marker (code ASCII)

ORG $4000 LDS #$1000 JSR INIT ; sr initialisation du SCIJSR TRANS ; sr pour transmission de caractères

fin: bra fin

Page 64: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-64

C.5(3) Interface sérielle asynchrone

; INIT: SR qui initialise le système SCI

INIT SEI ; désactiver les interruptionsCLR SCIBDHLDAA #BAUD_LOW ; fixer le taux de transfertSTAA SCIBDLLDAA #SCI_CONT ; fixer mode de transfertSTAA SCICR1LDAA SCISR1 ; remise à zéro du bit TDRELDAA SCIDRL ; (lire SC1SR1, SC1DRL)LDAA #SCI_MASK ; activer le transmetteurSTAA SCICR2LDX #DATA ; pointer l’index IX vers DATARTS ; retour de sous-routine

Page 65: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-65

C.5(3) Interface sérielle asynchrone

;************************************************;* TRANS: sr pour transmettre un caractère avec le SCI

TRANS: BRCLR SCISR1, $80, TRANS ; attendre le drapeau TDRE LDAA 1, X+ ; charger le caractère dans A BEQ FINTRANS ; détecter le dernier caractère STAA SCIDRL ; charger A au registre de données BRA TRANS

FINTRANS: RTS

Page 66: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-66

C.5(3) Interface sériel asynchrone

Application du SCI

Standard RS-232 pour transfert sériel:

Page 67: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-67

C.5(3) Interface sériel asynchrone

standard du ‘Electronic Industry Association’ (EIA) qui a évolué du standard EIA-232-D (autour de 1960)

spécifications pour 4 aspects:1. électriques: niveaux de tension, temps des transitions

2. fonctionnement de chaque signal

3. mécanique: nombre de broches, dimensions de connecteurs, etc.

4. procédurale

+12V

0V

-12V

idle idlestart data stopparity

Page 68: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-68

C.5(3) Interface sériel asynchrone

Détails de la synchronisation:

Si un ‘0’ suit 3 ‘1’ successifs → bit de départ

la majorité des échantillon 3,5,7 détermine s’il y a bit de départ

Page 69: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-69

C.5(3) Interface sériel asynchrone

MAXIMMAX232

Page 70: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-70

Sommaire de la section C.5

C.5 Interfaces sériels de communication du 68HC12: 1) Communications sérielles avec

microcontrôleurs

2) Sous-systèmes multiples du 68HC12

3) Interface sériel asynchrone – SCI: caractéristiques du sous-système SCI registres, programmation et applications

4) Interface sériel synchrone – SPI: caractéristiques du sous-système SPI registres, programmation et applications

Page 71: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-71

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

un 68HCS12 qui communique à travers son sous-système SPI doit être configuré soit en mode maître ou en mode esclave

le transmetteur et récepteur partagent une horloge commune pour synchroniser la communication:

le signal d’horloge (SCK) est généré par le composant configuré en mode maître

SCK est transmis à un ou plusieurs composant(s) configuré(s) en mode esclave

Page 72: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-72

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

le SPI agit comme une registre à décalage de 16 bits qui est distribué géographiquement:

transfert: après 8 décalages (impulsions SCK), l’octet au registre du composant maître est échangé avec celui au registre du composant esclave

MOSI: canal qui connecte le sortie du registre à 8 bits du composant maître à l’entrée du registre à 8 bits du composant esclave

MISO: canal qui connecte l’entrée du registre à 8 bits du composant maître à la sortie du registre à 8 bits du composant esclave

Page 73: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-73

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

Page 74: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-74

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

Page 75: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-75

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

Page 76: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-76

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

Page 77: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-77

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPI

Page 78: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-78

C.5(4) Interface sériel synchrone

Caractéristiques du sous-système SPIle composant maître peut communiquer avec le plusieurs composants esclave selon les lignes de sélection d’esclaves (SS)

Page 79: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-79

C.5(4) Interface sériel synchrone

Registres pertinents du SPI

Configurations importantes:le port M (bits du registre DDRM)opération en mode maître ou esclavesi le données sont transférés MSb ou LSb en premierle nombre de bits par cycle de transfertsi les données sont valides sur le front montant out le front descendant, etc.taux de transfert (Baud ou bps)

Page 80: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-80

C.5(4) Interface sériel synchrone

Registres pertinents du SPI

SPI utilise 5 registres:

Page 81: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-81

C.5(4) Interface sériel synchrone

[$00D8] SPICR1: Registre de contrôle 1

SPE (‘SPI Enable’): pour activer le système SPI

CPHA (‘SPI Clock Phase’): ‘0’: un front pair indique le début d’une transmission‘1’: un front impair indique le début d’une transmission

CPOL (‘SPI Clock Polarity’):‘0’: SCK inactif (IDLE) au niveau bas‘1’: SCK inactif (IDLE) au niveau haut

Page 82: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-82

C.5(4) Interface sériel synchrone

SSOE (‘SPI Slave Select Output Enable’): on doit s’organiser pour sélectionner les esclaves‘0’: permet de contrôler la broche SS manuellement – on peut, e.g., envoyer plusieurs octets successifs avec ‘1’: l’option de sortie est actif si en mode maître’ (permet de contrôler la broche SS automatiquement)

N.B. Contrôle d’esclaves: si un esclave: peut utiliser la ligne SSsi multi-esclaves: utilise des GPIOs

SS

0SS

Page 83: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-83

C.5(4) Interface sériel synchrone

MSTR (‘SPI Master/Slave Select’): ‘0’: mode esclave ‘1’: mode maître

SPIE/SPTIE (‘SPI Interrupt Enable’):‘0’: interruptions inactifs‘1’: permet une séquence d’interruptions si SPIF ou MODF ou SPTEF sont actifs

LSBFE (‘SPI LSb First Enable’): ‘0’: décale le MS bit en premier‘1’: décale le LS bit en premier

Page 84: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-84

C.5(4) Interface sériel synchrone

[$00DA] SPIBR: registre de taux de transfert:sélectionne alors la fréquence de SCK (normalement au taux le plus rapide qui est compatible avec l’esclave)

Page 85: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-85

C.5(4) Interface sériel synchrone

[$00DB] SPISR: registre d’état

SPIF (‘SPI Request Flag’): indique la fin d’une réception de 8 bits, après 8 cycles SCK

quand SPIF = ‘1’ on peut ensuite lire un octet de données à partir de SPIDR une lecture au SPISR permet ensuite d’effectuer une remise à zéro automatique du SPIF

MODF (‘Mode Error Interrupt Status Flag’): indique que MSTR = ‘1’ quand la broche SS est en entrée

SPTEF (‘SPI Transmit Empty Flag’): comme le SPIF mais en transmission..

Page 86: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-86

C.5(4) Interface sériel synchrone

Programmation du SPI

DDRMM

Page 87: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-87

C.5(4) Interface sériel synchrone

Exemple: Initialiser le SPI d’un 68HCS12 comme maître pour transmettre un caractère

l’esclave est un périphérique qu’on interroge d’après la ligne SS (CPHA = ‘0’)

l’horloge SCK roule à 125 kHz avec un Bus Clock à 8 MHz

transmettre 1 caractère à la fois

Page 88: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-88

C.5(4) Interface sérielle synchrone;********************; Programme principal

ORG $0800DATA FCB ‘GPA770’

FCB $0D, $OA ; carriage return, line feedEOT FCB $00 ; end of data marker

ORG $4000 LDS #$1000 JSR INIT ; sr initialisation du SPIJSR TRANS ; sr pour transmission

fin: bra fin

Page 89: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-89

C.5(4) Interface sérielle synchrone

;************************************************;* INIT: sous-routine pour initialiser le SPI

INIT MOVB #$38 , DDRM ; config l’e/s du PORTM: MISO en entrée et

; SS, MOSI et SCK en sortie

BSET PTM, $08 ; SS= 1 désactive l’esclave lors des configMOVB #$05, SPIBR ; taux de transfert 125 kHz

MOVB #$12, SPICR1 ; config SPICR1: MSRT=1, CPOL=0, ; CPHA=0, pas d’interruptions

MOVB #$08, SPICR2 ; config SPICR2: mode normal pour port S

LDX #DATA ; pointer vers le 1er caractèreLDAA SPISR ; 2 étapes pour RAZ de SPIF

LDAA SPIDR ; (lire SPISR et SPIDR)

BSET SPICR1, $40 ; activer SPI (SPE= 1)

RTS

Page 90: CONTENU DU COURS

Université du Québec

École de technologie supérieure GPA770: Microélectronique appliquée C.5-90

C.5(4) Interface sérielle synchrone

;************************************************;* TRANS: sous-routine pour transmettre avec le SPI

TRANS LDAA 1, X+ ; charger le caractère dans A

; incrémente X

BEQ DONE ; test pour dernier caractère

BCLR PTM, $08 ; activer le SS (SS = ‘L’)

STAA SPIDR ; charger un caractère au DR

WAIT BRCLRSPISR, $20, WAIT ; attendre pour le drapeau SPTEF

BSET PTM, $08 ; désactiver le SS (SS = ‘H’)

BRA TRANS ; prochain caractère

DONE RTS

Page 91: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-91

C.5(4) Interface sériel synchrone

Application du SPI

68HCS12 peut communiquer avec plusieurs autres composants avec le SPI pour étendre ses capacités:

composants de mémoire additionnels

ports additionnels

horloge temps réel

PLL (‘Phased-Lock Loop’)

récepteur/transmetteur FM

convertisseur numérique-analogique (N-A)

afficheur LCD

Page 92: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-92

C.5(4) Interface sériel synchrone

Application du SPIhorloge temps réel:

le 68HCS12 initialise le temps, l’horloge conserve alors le temps (année, mois, jour, heure, minute et seconde)

peut être programmé pour générer des alarmes (interruptions) à des temps précis, ou de façon périodique

Page 93: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-93

C.5(4) Interface sériel synchrone

Application du SPIconversion N-A:

le 68HCS12 transmet une valeur numérique au convertisseur, qui le convertit en voltage

Page 94: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-94

C.5(4) Interface sériel synchrone

Application du SPI

Conversion numérique-analogique (N-A) multi-canal R2R:

Page 95: CONTENU DU COURS

Université du Québec

École de technologie supérieureGPA770: Microélectronique appliquée

Éric GrangerC.5-95

C.5(4) Interface sériel synchrone

Application du SPIConvertisseur N-A Motorola MC144111: