Professional Documents
Culture Documents
Interfaces, Partie 1 de 2
Ce document contient des exercices accompagnant les notes de cours de GIF-3002 afin de
consolider et approfondir certaines notions vues en classe.
Les exercices sont diviss par cours ou par sujet prsent par lenseignant.
Bon apprentissage,
Q1.2 Le processeur Intel Core i7, produit en 2010, contient environ 1.17 milliards de
transistors. Combien de transistors les processeurs de 2015 devraient-ils contenir si les
dimensions du processeur ne changent pas, si on utilise toujours la technologie la plus
rcente et si la loi de Moore est respecte?
Q1.3 Dans le domaine des microprocesseurs pour PC, nommez les deux compagnies ayant
le plus grand volume de ventes mondialement. Dans le domaine des microcontrleurs,
nommez trois des cinq compagnies ayant le plus grand volume de ventes mondialement.
Dans le domaine des architectures de microcontrleurs, nommez trois des cinq
architectures les plus communes mondialement.
Q1.4 Dans un systme microprocesseur, qui impose les donnes sur le bus de donnes, qui
impose les adresses sur le bus dadresses et qui gre les lignes de contrle?
Q1.6 Vous crivez un programme en C ayant la ligne suivante : <a = b + c;>. Sachant que :
- a, b, et c sont des variables de type short (16 bits) aux adresses 0x1000, 0x1002 et
0x1004
- Le microprocesseur excutant le programme a 4 registres 16 bits gnraux, R0, R1,
R2 et R3.
- Le microprocesseur excutant le programme a une architecture LOAD/STORE
(LOAD Reg, [adresse]) et supporte linstruction ADD destination, source 1, source2.
1. Contrleur de grille-pain
2. Contrleur dautomobile
3. Tlphone cellulaire
4. Ordinateur portable
5. Supercalculateur
Q1.9 Dcrivez deux mthodes utilises pour programmer la FLASH dun microcontrleur,
sachant que ladresse initiale, au dmarrage, du compteur de programme des
microcontrleurs (PC) dsigne souvent la FLASH ou une autre mmoire non-volatile.
Q1.10 Quel signal est gnr sur la broche OUT du circuit suivant?
OUT
Q1.14 Il faut brancher le bus de donnes d'un microcontrleur deux mmoires pour un
interfaage en lecture et criture. Chaque ligne du microcontrleur peut fournir jusqu' 10
mA. Or, chaque entre sur les mmoires ncessite 6 mA. Comment est-il possible de rgler
ce problme?
Q1.15 Dans le circuit suivant, les entres peuvent tre gales soit au VCC, soit la masse.
Identifier le type de chaque MOSFET du circuit. crivez la table de vrit de ce circuit.
Quelle est la fonction logique de ce circuit?
Q1.16 Quelle est la fonction logique du circuit suivant? (On assume que la perte de tension
dans chaque diode est de 0,7V et que les quatre entres peuvent tre seulement seulement
5V ou 0V, c'est--dire un '1' ou un '0' logique)
Q1.17: Dans un systme avec microprocesseur, pourquoi une architecture Harvard est-elle
trs avantageuse lorsque le microprocesseur a un pipeline dinstructions?
Q1.18: Vous avez un systme microprocesseur avec deux mmoires, une mmoire FLASH
de 128K-mots et une mmoire RAM de 64K-mots. Dessinez le bus dadresse de ce systme
avec le dcodeur dadresse. Notez que K = 210 et que vous devez dterminer les lments
non-tablis du problme (exemple: ladresse de base des mmoires) comme il vous plaira.
Q1.19: Les notes de cours dcrivent sommairement le protocole NMEA 0183 pour
reprsenter les fractions. Dites pourquoi ce protocole est peu utilis dans lindustrie pour
reprsenter les autres fractions.
Cours 2 Micro-Matriel
Dfinition Mot
Circuit ayant pour fonction de faire un reset du microprocesseur lorsque
celui-ci cesse de fonctionner normalement
Ensemble de programmes servant valuer les performances dun
microprocesseur
Se dit dun contrleur dinterruptions lorsque les adresses des routines
dinterruptions sont configurables et lues dans une table dadresses.
Circuit permettant de transfrer des donnes de la mmoire aux
priphriques sans intervention du CPU
Circuit gnrant des ondes rectangulaires frquence variable et
largeur variable
Q2.3 Lorsque lon conoit un circuit lectronique avec un microprocesseur, quels sont les
circuits de base accompagnant le microprocesseur qui doivent tre labors? (Exemple de
circuit de base : les alimentations du microprocesseur).
Q2.4 Pour quelle(s) raison(s) les microcontrleurs oprent-ils habituellement entre 10MHz
et 100MHz alors que les microprocesseurs oprent des vitesses beaucoup plus grandes?
Q2.6 Pourquoi est-il dconseill de faire une horloge indiquant le temps l'aide de
l'oscillateur interne d'un microcontrleur? Comment peut-on faire une telle horloge avec le
kit microcontrleur du cours?
Q2.7 Quel est l'intervalle entre les diffrentes tensions pour un ADC 12 bits dont la tension
d'entre varie entre -3,3 V et 3,3 V ?
Q3.1 Vous retrouvez les instructions et donnes suivantes dans la mmoire du LM3S9B92.
Assumez quun reset vient de se produire et que ladresse du vecteur dinterruption traitant
le reset est 0x00000004 et rpondez aux questions suivantes (le registre R15 est le Program
Counter).
Note 1: Le code qui suit peut contenir des erreurs sur le -8 et le -6 des LDR R1, [R15 - 8] et
LDR R1, [R15 - 6] en raison du pipeline dinstruction du LM3S9B92. Afin de rpondre aux
questions, considrez que le PC (R15) ne varie pas pendant lexcution dune instruction.
Adresse Valeur
0x00000000 0x00000000
0x00000004 0x00001004
0x00001000 0x12345678
0x00001004 0x20000000
0x00001008 LDR R1, [R15 8]
0x0000100A LDR R2, [R15 6]
0x0000100C LDR R3, [R2+2]
0x0000100E ADD R1, R2, R3
0x00001010 ADD R1, R1, 0x1234
0x20000000 0xAAAA1111
0x20000004 0x2222BBBB
Q3.2 Quest quune banque de registre ou une banque de mmoire? Pourquoi utilise-t-on
des banques de registres ou de mmoire?
Q3.5 Quel est l'algorithme que le microprocesseur accomplit lors qu'il entre et sort d'une
interruption?
Q3.6 Nommer les diffrents modes d'adressage du ARM Cortex M3?
Cours 4 Mmoires, Matriel
Q4.1 numrez les signaux ncessaires afin de lire une mmoire ROM et indiquez le rle
de chacun des signaux.
Q4.4 Expliquez pourquoi les mmoires DRAM ont, pour une mme quantit de broches,
plus de capacit que les mmoires SRAM qui ne font pas multiplexage adresses/donnes.
D0-D7 D0-D7
A0-A11 A0-A11
CE CE
RAS RAS
CAS CAS
WE WE
OE OE
Q4.6 Parmi ces mmoires non-volatiles (FLASH, EEPROM et FRAM), indiquez celle que
vous utiliseriez dans les applications suivantes (la meilleure mmoire est celle qui cote le
moins cher, vous avez une quantit illimite de mmoire non-volatile!). Indiquez pourquoi.
1. Vous mesurez la temprature toutes les 100ms et vous devez sauvegarder toutes les
tempratures lues dans le dernier 48 heures dans une mmoire non-volatiles. Pour
chaque chantillon, vous avez 8 octets de donnes (la temprature et le temps).
2. Votre systme embarqu affiche une page web avec plusieurs images et des
informations qui varieront peu, mais qui seront lues frquemment.
3. Vous chantillonnez du son 20kHz 2 octets par chantillons et vous voulez
sauvegarder plusieurs bandes sonores de 2 minutes maximum pour les relire
ensuite. Votre systme a assez de mmoire RAM pour stocker 8Mo dinformation.
Q4.8 Comment se fait le DMA dans LM3S9B92? Quelles sont les contraintes daccs la
mmoire de donnes par le cur du microcontrleur lors dun transfert par DMA?
Q4.9 Quelle est la diffrence principale entre les mmoires DRAM et FRAM?
Q4.10 Il faut interfacer une mmoire de 1 mga-octet sur un bus d'adresses 32 bits (on
assume le bus A31-A0 avec A31 MSB). La premire adresse de la mmoire doit tre
0x10E08000. Quelle est la fonction logique permettant d'activer la mmoire en mettant le
bit 'ENABLE' de la mmoire '0' partir des lignes du bus d'adresse?
Q4.11 Combien de temps un bit de mmoire FLASH garde-t-il sa valeur lorsque la mmoire
nest pas alimente?
Q4.12 Le contenu des mmoires non-volatiles est habituellement protg par un CRC ou un
checksum. Pourquoi? Quels vnements peuvent corrompre les donnes ou instructions
contenues dans ces mmoires?
Cours 5 : Priphriques, Gnral + GPIO
Q5.1 Lorsque deux composantes oprent des vitesses diffrentes, il faut un tampon de
donnes et des drapeaux dtat pour grer la communication entre les deux composantes.
Expliquez laide dun exemple.
Q5.2 Quelles adresses faudra-t-il lire et/ou crire afin de mettre un 1 sur la broche 10 du
microcontrleur LM3S9B92?
Q5.6 Illustrez une sortie totem pole avec des transistors (BJT ou CMOS au choix) et
illustrez une sortie open drain (ou open collector, au choix).
Q5.7 Dessinez le circuit pour quune LED ncessitant 10mA soit allume avec un 0
lorsque la sortie du microprocesseur ne peut fournir que 4mA.
Q5.9 Quel problme peut survenir s'il n'y a pas de rsistances de pull-up ou de pull-down
sur les lignes de lecture d'un clavier?
Q5.10 Lors de l'interfaage d'un LCD, dans quel cas utilise-t-on l'instruction de lecture du
busy flag plutt que d'attendre un dlai dfini?
Q5.11 Nommer les trois sortes de registres qu'on retrouve gnralement permettant de
contrler les GPIO et quoi sert chacun?
Q5.12 Pourquoi le registre de direction est toujours configur comme des entres un
reset?
Q5.13 Pour quelle raison un condensateur peut tre mis en parallle avec une entre
(connect entre l'entre et la masse)?
Cours 6: Priphriques, PWM, Timer, ADC et DAC
Q6.1 Le site web suivant dtaille le fonctionnement des timers pour le 8051 dIntel (le cur
de microprocesseur le plus vendu sur le march mondial!) :
http://www.mikroe.com/eng/chapters/view/65/chapter-2-8051-microcontroller-architecture/.
Expliquez le fonctionnement du timer 0 du 8051.
Q6.2 Quels registres du LM3S9B92 doit-on crire pour que le timer 0 dclenche une
interruption toutes les millisecondes? Quelles valeurs doit-on donner ces registres si
lhorloge du coeur fonctionne 32MHz.
Q6.6 Donnez un exemple dapplication o la largeur des pulses dun PWM est module.
Q6.10 Pourquoi devrait-on toujours utiliser un filtre passe-bas entre le signal chantillonn
et lentre dun ADC lorsquon interface avec un ADC?
Q6.12 Un timer 16 bits en mode auto-reload incrmente tous les coups de lhorloge du
timer. Sachant que lhorloge du systme est 16MHz, sachant quil est possible de diviser
lhorloge du systme par 4, 8 et 16 afin de gnrer lhorloge du timer, quelle doit tre la
valeur de chargement automatique (auto-reload) du timer et quelle doit tre lhorloge du
timer pour gnrer une interruption toutes les millisecondes. Sil existe plusieurs
rponses possibles, donnez-les toutes!
Q6.13 Vous voulez utiliser un timer pour gnrer une interruption priodique.
Malheureusement, ce timer na pas de mode auto-reload. Expliquez comment vous pourriez
gnrer une interruption priodique en dpit de labsence de lauto-reload.
Cours 7: Priphriques, Interfaces Sries
Q7.2 Quelle interface srie est utilise dans chaque application suivante :
a) Cartes SD?
b) Programmation JTAG?
c) Circuit de contrle des jets deau et alarmes dincendies dans un immeuble 30
tages?
d) Mmoires sries?
e) ADC/DAC externes?
f) Systme de communication dans un autobus.
g) Systme de surveillance dans une usine
Q7.3 Pour les quatre interfaces sries suivantes, donnez les caractristiques gnrales :
Q7.4 Le RS485 utilise parfois 4 fils pour la communication, mais souvent 2 : il faut moins
de fils! En contrepartie, la communication sur deux fils est HALF-DUPLEX, diffrentielle
et bidirectionnelle. Expliquez pourquoi la plupart des systmes de communication RS485
ont une architecture matre-esclaves en raison de ces caractristiques.
Q7.5 La figure suivante illustre une communication SPI entre un matre et son esclave.
Rpondez aux questions relies la figure :
Bus de
donnes Registre 8 bits, octet transmettre
Bus bit de fin bit de
d'adresse == 1 0
S Q dpart
Adresse du R bascule SR D Q
registre de
transmission Compteur CLK
de N 0 = 0?
reload
Signal clk
d'criture UART_TX
Signal
d'interruption TX
D Q D Q D Q D Q D Q D Q D Q D Q D Q D Q
Horloge du
systme
Registre CLK
de division
d'horloge
Registre dcalage, interne
Bus de
donnes Registre 8 bits, octet reu
Bus
d'adresse == Compteur
Devient de N 0
0?
reload clk
Signal
Adresse du d'interruption RX
registre de
rception
Q S
Signal de
lecture bascule SR R UART_RX
Q D Q D Q D Q D Q D Q D Q D Q D Q D Q D
Horloge du
systme
Registre CLK
de division
d'horloge
Registre dcalage, interne
1
Le module dUART prsent dans ces exercices est fictif. Malgr quelques erreurs possibles (par exemple, le
nombre de bits du registre dcalage dans un UART est souvent plus petit que 10 bits!) et malgr le nombre trs
limit de caractristiques quil illustre, ce dessin permettra au lecteur de comprendre le fonctionnement global
dun UART.
Q7.7 La capture d'oscilloscope suivante reprsente le dbut d'une communication IC (le
signal d'horloge commence au dbut du chronogramme). Le signal D2 est l'horloge (SCL)
et le signal D3 le canal de donnes (SDA). Vu horizontalement, la premire moiti du
signal contient l'octet de contrle, et la seconde moiti le dbut des donnes.
Q7.8 Pour lire un octet sur une mmoire EEPROM en IC, le protocole est le suivant :
Envoi d'un octet de contrle pour slectionner l'esclave
Envoi de l'adresse (2 octets)
Envoi d'un autre octet de contrle slectionnant le mme esclave
Lecture des donnes partir de l'esclave
a) Pourquoi l'octet de contrle est-il envoy deux fois alors que le canal de communication
ne change pas (e.g. c'est le mme esclave qui reste activ)?
b) Pour chacun de ces octets envoys, qui gnrera le bit de ACK? Qui gnrera l'horloge?
Q7.9 La capture dcran suivante reprsente l'criture de deux octets dans une mmoire de
type flash (EEPROM). La mmoire est initialement vide (toutes les pages ont t effaces).
Afin de faciliter la lecture du chronogramme, la largeur d'un bit est identifie par les deux
curseurs, et le dbut de chacun des octets de donnes est identifi par un point bleu. Le
premier octet est l'octet de contrle, les deux suivants reprsentent l'adresse (le premier
octet contenant les MSB), et les deux derniers les donnes envoyes.