Département IF / Architecture Matérielle
TD+TP : Architecture des Ordinateurs 2019/2020
Partie II: MSP 430 - Prise en main
Dans cette série de TP «msp430», on va étudier le fonctionnement d’un (petit) ordinateur réel, pour mieux com-
prendre l’interface entre le logiciel et le matériel. Vous devrez donc faire les diverses manipulations demandées,
et par moment écrire des bouts de programme.
Nous ne ramasserons pas de compte-rendu ; par contre, vous avez intérêt à prendre des notes tout au long du
déroulement du TP pour pouvoir les relire par la suite : dans les TP d’après, mais aussi avant les QCM, et aussi
avant l’examen ! Pour chaque exercice, mettez donc par écrit (sur papier ou sur ordinateur) les manips que vous
faites, les questions que vous vous posez, et les nouvelles notions que vous comprenez.
Comme tout objet technologique, notre plate-forme de TP s’accompagne d’une documentation technique abon-
dante. Pour ne pas vous noyer sous la doc, nous vous en avons copié les extraits essentiels directement dans
le sujet, sous forme d’encadrés. Pour les plus curieux, nous vous avons aussi mis à disposition les documents
sur Moodle :
motherboard.pdf décrit notre carte d’expérimentation et les différents composants présents sur la carte.
msp430x4xx.pdf est le manuel générique de la famille MSP430. Le processeur est documenté au chapitre 3
de ce document.
datasheet-msp430g4618.pdf donne les détails techniques de notre modèle précis de msp430.
1 Découverte de la carte
Pour chaque binôme, allez prendre le matériel nécessaire au TP : une carte d’expérimentation, une sonde JTAG
(le boîtier gris avec une nappe d’un côté), et un câble USB.
Exercice 1 Que signifie l’acronyme USB, au fait ? Expliquez en une phrase la signification du S. Faites valider
cette phrase par un enseignant, mais n’attendez pas qu’il arrive pour passer à la suite.
Exercice 2 Que signifie l’acronyme JTAG ? L’explication détaillée est donnée dans l’encadré page 7, que nous
lirons en temps utile.
1
Extrait de la documentation : motherboard.pdf page 6
2
4. Functional Overview
The MSP430FG4618/F2013 experimenter’s board supports various applications
through the use of the on-chip peripherals connecting to a number of on-board
components and interfaces as shown in Figure 2.
LCD
FG4618
F2013
Wireless
CC1100/
2420/2500
EMK
Interface
JTAG2 JTAG1
Buzzer
Microphone
Analog
Out
Capacitive
Touch
Pad
Buttons
RS-232
Figure 2: Experimenter’s board block diagram
Wireless communication is possible through the expansion header which is
compatible with all Chipcon Wireless Evaluation Modules from Texas Instruments.
Interface to a 4-mux LCD, UART connection, microphone, audio output jack,
buzzer, and capacitive touch pad enable the development of a variety of
applications. Communication between the two on-board microcontrollers is also
possible. In addition, all pins of the MSP430FG4618 are made available either via
headers or interfaces for easy debugging. Sample code for this board is available
online at www.ti.com/msp430.
Sur cette carte mère, en plus du msp430, il y a tout un tas de périphériques :
1. un écran à cristaux liquides (pour afficher des chiffres et des icônes)
2. un microphone
3. un buzzer (pour jouer du son)
4. une prise casque (pour jouer du son aussi, mais plus joli)
5. un quartz (pour générer le signal d’horloge)
6. deux boutons poussoirs
7. des voyants lumineux (LED)
8. une roue tactile capacitive (touchpad) en forme de chiffre 4
9. un port série (RS-232)
etc. ...
Exercice 3 Pour chacun de ces éléments, indiquez sur le schéma ci-dessus son emplacement approximatif.
Certains éléments (LEDs, quartz) ne sont pas sur le schéma, vous devrez les chercher directement sur la carte.
Le quartz est repéré X2, et les diodes sont repérées LED1,LED2,LED3 et LED4.
Commentaire La carte comporte deux microcontrôleurs. L’un est un MSP430F2013 (c’est le petit), et l’autre un
MSP430FG4618 (c’est le gros). C’est avec ce second msp430 qu’on va travailler dans ces TP. Les diodes LED1,
LED2, et LED4 y sont connectées par des pistes de la carte mère. La diode LED3, par contre, est connectée au
F2013, qu’on ne va pas utiliser du tout. Vous pouvez dès maintenant oublier son existence, ainsi que celle de la
LED3.
Exercice 4 L’encadré page suivante montre le schéma électrique de la carte mère. Retrouvez les différents
composants vus jusqu’ici, et indiquez leur emplacement sur le schéma.
2
Extrait de la documentation : motherboard.pdf page 19
Audio output jack
MSP430FG4618/F2013 Experimenter's Board
RF Daughter Card Connect Isolated RS232 Communication
Breadboard
Sallen-Key 2nd Order OA1 Active LPF
(For opt. F2013 programming)
0-00
SoftBaugh SBLCDA4
(A4/OA1I0)
(A3/OA1O)
(A7/DAC1)
(A0/OA0I0) (A5/OA2O)
(A1/OA0O)
(A2/OA0I1)
(Mic Supply)
MSP430FG4618 Pin Access Power Supply Configuration
(Output
Attn.)
VCC_1: FG4618 Supply Config
Pos 1-2: FET Powered
VCC_2: F2013 Supply Config
Pos 2-3: Battery Powered
Buzzer
Mute
Mic Input Circuitry and
1st Order OA0 Active HPF
MSP-EXP430FG4618 PCB Ver 0-00
Document Number:
Date: 26-Oct-2006 Sheet: 1/1
VER:
+
+
+
+
A1
C9 C10
C8
C13
C6
C2
12
H2
34
56
78
12
H3
34
56
78
12
H4
34
56
78
12
H7
34
56
78
12
H6
34
56
78
12
H8
34
56
78
C12
1
BATT
2
P1.0/TACLK/ACLK/A0+ 2
P1.1/TA0/A0-/A4+ 3
P1.2/TA1/A1+/A4- 4
P1.3/VREF/A1- 5
P1.4/SMCLK/A2+/TCK 6
P1.5/TA0/A2-/SCLK/TMS 7
P1.6/TA1/A3+/SDO/SCL/TDI/TCLK 8
P1.7/A3-/SDI/SDA/TDO/TDI 9
VCC
1
VSS
14
TEST/SBWTCK
11
XIN/P2.6/TA1
13
XOUT/P2.7
12
NMI/RST/SBWTDIO
10
U4
LED3
LED4
1
JP3
2
1
JP2
2
21
SP1
1
JP1
2
1
2
3
VCC_1
C18
12
H5
34
C19
C21
1
JP4
2
C1
12
H9
34
56
12
M1
+-
B1
7F_7G_7E_DP7
P$1 7A_7B_7C_7D
P$2 6F_6G_6E_DP6
P$3 6A_6B_6C_6D
P$4 5F_5G_5E_COL5
P$5 5A_5B_5C_5D
P$6 4F_4G_4E_DP4
P$7 4A_4B_4C_4D
P$8 3F_3G_3E_COL3
P$9 3A_3B_3C_3D
P$10 2F_2G_2E_DP2
P$11 2A_2B_2C_2D
P$12 1F_1G_1E_DP1
P$13 1A_1B_1C_1D
P$14
COM3 P$15
COM2 P$16
COM1 P$17
COM0 P$18
F5_PR_P4_P3 P$19
F1_F2_F3_F4 P$20
PL_P0_P1_P2 P$21
AU_AR_AD_AL P$22
BT_B1_B0_BB P$23
ANT_A2_A1_A0 P$24
ENV_TX_RX_8BC P$25
DOL_ERR_MINUS_MEM P$26
1
3
5
7
9
JTAG2
11
13
2
4
6
12
14
8
10
1
3
5
7
9
JTAG1
11
13
2
4
6
12
14
8
10
1
62
73
84
95
RS232
G1
G2
C3
D2
D1
2
3
7
8
5
6
U2
2
3
7
8
5
6
U1
Q1
12
S1
12
S2
R33 R31
R26R27R34
R29
R32
R30
R19
R18
R20
R13
R14
R15
R16
R23
R8
R3
R10
R1
R2
R5
R9
R4
R11
R12
R17
1
PWR2
2
1
PWR1
2
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
60
59
58
57
56
55
54
53
52
51
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
LED1
R6
LED2
R7
R28
C4
D3
X1
X2
C15
12
BB3
34
56
78
910
1112
1314
1516
1718
C5 C7
12
BB1
34
56
78
910
1112
1314
1516
1718
12
BB2
34
56
78
910
1112
1314
1516
1718
BAND
P$4
TIP
P$1
RING
P$2
12
H1
34
56
78
11 11
12 12
13 13
14 14
11
22
15 15
16 16
4
4
5
5
6
6
7
7
8
8
9
910
10
33
INNER_GND
INNER_GND
C11
C16 C17
R24 R25
1
2
3
VCC_2
R21
R22
C14
C20
1
3
5
2
4
6
7
9
8
10
11
13
15
12
14
16
17
19
RF1
18
20
1
3
5
2
4
6
7
9
8
10
11
13
15
12
14
16
17
19
RF2
18
20
GND
S0
S0
S1
S1
S2
S2
S3
S3
S5
S5
S6
S6
S7
S7
S8
S8
S9
S9
S10
S10
S11
S11
S12
S12
S13
S13
S14
S14
S4
S4
S15
S15
S16
S16
S17
S17
S18
S18
S19
S19
S20
S20
COM3
COM3
COM2
COM2
COM1
COM1
COM0
COM0
UCB0SDA
UCB0SDA
UCB0SDA
UCB0SCL
UCB0SCL
UCB0SCL
DVCC_4618
DVCC_4618
DVCC_4618
DVCC_4618
DVCC_4618
DVCC_4618
DVCC_4618
SIMO1
SIMO1
SIMO1
SOMI1 SOMI1
SOMI1
UCLK1
UCLK1
UCLK1
S21
S21
GDO2
GDO2
GDO2
GDO0
GDO0
GDO0
P3.0
P3.0
P3.0
UTXD1
UTXD1
URXD1
URXD1
P7.5
P7.5
2013_P1.2
2013_P1.3
2013_P1.4
2013_P1.5
SCL
SDA2013_P2.7
2013_P2.6
SBWTCK
SBWTCK
SBWTDIO
SBWTDIO
P6.0
P6.0
P6.0
P6.1
P6.1
P6.1
P6.2
P6.2
P6.2
P6.5
P6.5
P6.5
LCDCAP
LCDCAP
P10.7
P10.7
P5.1
P5.1
VEREF+
VEREF+
RESETCC
RESETCC
RESETCC
VREG_EN
VREG_EN
VREG_EN
FIFO
FIFO
FIFO
FIFOP
FIFOP
FIFOP
PC_GND
2013_P1.1
2013_P1.0
P2.0
P2.0
P2.2
P2.2
P2.6
P2.6
UCB0CLK
UCB0CLK
UCB0CLK
P3.4
P3.4
P3.5
P3.5 P3.5
P3.7
P3.7
P5.6
P5.6
P7.4
P7.4
P7.6
P7.6
P7.7
P7.7
VREF
VREF
P5.0
P5.0
P10.6
P10.6
P6.4
P6.4
P6.4
P6.6
P6.6
P6.3
P6.3
P6.3
P6.7
P6.7
P6.7
VEREF-
VEREF-
SW1
SW1
SW1
SW2
SW2
SW2
P2.1
P2.1
P2.3
P2.3
P2.3
P2.7
P2.7
UCA0TXD
UCA0TXD UCA0TXD
UCA0RXD
UCA0RXD UCA0RXD
P3.6
P3.6
P5.7
P5.7
P5.5
P5.5
P4.2
P4.2
P4.2
P7.0
P7.0
UCA0SIMO
UCA0SIMO
UCA0SOMI
UCA0SOMI
UCA0CLK
UCA0CLK
P4.7
P4.7
P4.6
P4.6
LCL_PWR1
LCL_PWR1
FET_PWR1
FET_PWR1
FET_PWR2
FET_PWR2
LCL_PWR2
LCL_PWR2
AVCC_4618
AVCC_4618
0.1uF 10uF
0.1uF
0.1uF
0.1uF
GND
GND
VCC
0.1uF
GND
GND
0.1uF
GND
VCC
GND
MSP430F2013PW
GND
GND
GND
AL60P
470n
GND
10uF
15p
GND
VCC
0.1uF
GND
GND
10uF
1N4148
1N4148
PS8802
PS8802
MMBT5088
GND
GND
VCC
GNDGND
10k 470k
4701k3k3
1k
0
150k
10
47k
470
5M1
5M1
5M1
5M1
470
10
47k
10
1k
2k2
100
2k2
2k2
100k
100k
470
GND
VCC_2013
GND
470
GND
470
22k
10uF
1N4148
10uF
10uF 10uF
VCC
VCC
1uF
22nF 3.3nF
1.4k 15.4k
0-DNP
0-DNP
DNP
470n
GND
GND
GND
3
1.1 Vous avez dit microcontrôleur ?
Le MSP430FG4618 est un microcontrôleur, c’est à dire un System-on-Chip : une même puce qui contient à la
fois un processeur, de la mémoire, et des contrôleurs de périphériques. Si on zoome sur l’intérieur de la puce,
on a donc affaire à l’architecture illustrée ci-dessous.
Extrait de la documentation : datasheet-msp430g4618.pdf page 5
Les flèches repérées MAB et MDB sont respectivement le Memory Address Bus et le Memory Data Bus
(les mêmes que dans la micro-machine). Ce sont eux qui relient le processeur au reste-du-monde, comme
dans toute machine de von Neumann qui se respecte.
Vous pouvez constater qu’ici, le reste du monde ne se limite pas à la mémoire comme dans notre micro-
machine... Nous allons détailler tout cela.
Exercice 5 Repérez sur ce diagramme le processeur, la RAM, la mémoire flash. Vérifiez que vous connais-
sez le sens des acronymes RISC, CPU, RAM, ADC, DAC. Sinon, ouvrez le glossaire qui est tout au début de
msp430x4xx.pdf (p. 4). Demandez des explications à un enseignant si nécessaire. Ignorez les autres acronymes
pour le moment.
Exercice 6 Branchez maintenant la sonde JTAG sur la carte. Vous devriez pouvoir choisir sans difficulté entre
les deux connecteurs JTAG en regardant la figure de la page 2.
1.2 Zoom sur le processeur
Si on se rapproche encore, on tombe sur l’architecture suivante :
4
Extrait de la documentation : msp430x4xx.pdf page 44
015
MDB MAB
16
Zero, Z
Carry, C
Overflow, V
Negative, N
16bit ALU
dst src
R8 General Purpose
R9 General Purpose
R10 General Purpose
R11 General Purpose
R12 General Purpose
R13 General Purpose
R14 General Purpose
R15 General Purpose
R4 General Purpose
R5 General Purpose
R6 General Purpose
R7 General Purpose
R3/CG2 Constant Generator
R2/SR/CG1 Status
R1/SP Stack Pointer
R0/PC Program Counter 0
0
16
Commentaire Attention, ce schéma ne montre que la vue ISA (instruction-set architecture), c’est à
dire du point de vue de l’utilisateur du processeur. Elle cache les détails de microarchitecture que le
programmeur n’a pas besoin de connaître : l’automate de contrôle, le registre d’instruction, etc.
Les seuls éléments représentés sur le schéma sont donc ceux qui sont accessibles au programmeur :
les 16 registres architecturaux, les drapeaux, ainsi que l’unité arithmétique et logique. Remarquez au
passage que les 4 premiers registres sont spécialisés pour un usage particulier (R0 est le compteur
ordinal, etc). À l’inverse les 12 autres registres sont généraux, on peut y mettre ce qu’on veut.
Nous vous avons reproduit en annexe (page 17 et suivantes) les passages correspondants de la docu-
mentation. Vous n’en avez pas besoin pour l’instant, mais pensez à y revenir lorsque vous voudrez des
détails sur l’usage des registres.
Exercice 7 Sur le schéma de la page 4, indiquez où se trouvent nos 16 registres, ainsi que l’automate de
contrôle.
Exercice 8 Explicitez l’acronyme ALU.
5
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !