Système de développement PSoC

Transcription

Système de développement PSoC
Système de développement PSoC
Conception et fabrication Mr Guérangé Lycée Vaucanson Grenoble
Objectifs du système :
Mise en œuvre des PSoC en conformité avec les nouveaux programmes du baccalauréat STI2D SIN.
Le système décrit ci-dessous permet la mise en œuvre des PSoC5 de Cypress sur la base du kit
CY8CKIT-014 ou bien des PSoC3 sur la base du kit CY8CKIT-003 A.
La platine de prototypage intégré permet de câbler ‘à la main’ les composants additionnels
nécessaires à la mise en œuvre des projets de spécialité SIN. Il est aussi possible de connecter une
carte élève fabriquée spécialement pour l’occasion, ou des cartes de prototypage au standard
MyAVR type serveur WEB, ARDUINO, ou autre.
Les connecteurs I2C ‘Vaucanson’ permettent de reprendre l’ensembles des cartes déjà existantes ou
à venir en interface I2C à savoir interface 8574, convertisseur 8591, capteur de température LM75 ...
La liaison série permet d’interfacer le développement PSoC vers des programmes de traitement sur
PC, ou bien vers matlab.
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 1
Exemples de mise en œuvre
Acquisition d’une température avec un capteur
LM75 I2C
La température est mesurée par l’intermédiaire d’un capteur de type LM75, elle est traitée et
affichée localement sur l’écran LCD puis envoyée vers l’interface homme machine en liaison RS232,
l’interface écrite en Pascal DELPHI6 affiche la température puis retourne la valeur au PSoC pour gérer
la liaison dans les deux sens :
RS232
Platine PSoC
LM75 I2C
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 2
Trame échangée :
Envoi et traitement vers matlab :
Trame reçue
Voilà le code complet :
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 3
Exemple avec un serveur Web MyAVR
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 4
Pour transférer des donnée de ou vers la carte MyEthernet il y a plusieurs solutions, consulter pour
cela sa documentation. Nous allons utiliser l’interface directe via le bus I2C, celui-ci est disponible sur
les broches du connecteur d’extension de la carte PSoCVox compatible avec les extensions MyAVR:
J12J11
P0_7
P0_6
P0_5
P0_4
P0_3
P0_2
P0_1
P0_0
P4_7
P4_6
P4_5
P4_4
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
F
J9
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
SCL
SDA
EXT4
EXT3
EXT2
EXT1
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
SIL20F
Pour que le mode I2C soit activé sur le serveur il faut modifier le fichier de configuration :
Les lignes
twiMode=24c / twiAddr = 0xB0 / SharedRamSize=40
sont actives.
Noter que l’adresse est définie sur 7+1 = 8 bits pour l’adresse seule sur 7
bits ( norme I2C ) ne conserver que les sept bits de poids forts soit 0x58
Le serveur est alors vu par la carte Host comme une mémoire I2C de la série M24Cxx
Cette mémoire possède plusieurs modes de lecture / écriture. Nous
retenons les modes les plus simples, surtout parce qu’ils précisent l’adresse dans
le boitier mémoire à chaque fois. Il n’y a pas d’auto incrément de l’adresse utilisée.
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 5
Trame I2C pour écrire un byte en mode random
Procédure dans un projet PSoC :
Exemple d’appel pour écrire les cases mémoires RAM du serveur Web, cases n°0,1,2 avec les valeurs
20,21,22.
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 6
Les valeurs sont correctement reçues, voilà le résultat avec un petit script php :
Les adresses de la RAM sont disponibles à partir du
numéro 1000 pour un accès en octet.
Texte du script fichier data.htm
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 7
Lecture de la carte MyEthernet
Lecture random à une adresse spécifiée :
 Vérifier que la procédure proposée ci-dessous vérifie bien le protocole requis :
Exemple de lecture des trois valeurs enregistrées précédemment :
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 8
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 9
Description technique du système de
développement PSoC
Le kit utilisé :
http://www.cypress.com/?rID=43674
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 10
Microcontrôleur PSoC5
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 11
Fonctionnalités de la platine :
Le brochage du Kit PSoC :
1
VDDIO
BP1
BP2
BP3
BP4
P4_4
P4_5
P4_6
P4_7
P_SCL P12_2
P_SDA P12_3
P2_6
P2_7
6
20
7
21
15
VDDIO
P0_0
P0_1
P0_2
P0_3
P0_4
P0_5
P0_6
P0_7
P4_4
P4_5
P4_6
P4_7
12
26
P12_2
P12_3
13
27
P2_6
P2_7
P6_0
P6_1
P6_2
P6_3
P6_4
P6_5
P6_6
P6_7
PSoC 5
2
16
3
17
4
18
5
19
P0_0
P0_1
P0_2
P0_3
P0_4
P0_5
P0_6
P0_7
8
22
9
23
10
24
11
25
P6_0
P6_1
P6_2
P6_3
P6_4
P6_5
P6_6
P6_7
U3
PSOC5_MOD
Liaison série :
U2
16
1
4
3
2
1
SERIAL_TX
SERIAL_RX
SERIAL_RTS
SERIAL_CTS
SERIAL_TX
SERIAL_RX
SERIAL_CTS
SERIAL_RTS
R2
R1
VCC
C2+
4
C7
C6
100nF
100nF
3
J5
C1+
100
11
12
C1-
C2-
T1IN
R1OUT
T1OUT
R1IN
T2IN
R2OUT
T2OUT
R2IN
14
13
100
10
9
CONN-SIL4
J6
5
7
8
TX
RX
CTS
RTS
RTS
RX
CTS
TX
5
9
4
8
3
7
2
6
1
CONN-D9F
6
JP1
P2_6
JUMPER
P2_7
VS+
GND
C9
JP2
VS-
100nF
15
ST232
2
C8
100nF
JUMPER
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 12
Connections de cartes I2C :
SDA
SCL
PICOT
PICOT
JP3
JUMPER
SDA
SCL
JP5
JUMPER
P.G
R6
10k
10k
J7
JUMPER
R3
150
P_SCL
P_SDA
JP4
R5
R4
150
SCL
SDA
J8
SCL
1
SDA
GND
2
3
VCC
4
I2C_VOX
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
SCL
SDA
SCL
1
SDA
GND
2
3
VCC
4
I2C_VOX
Page 13
Afficheur LCD, soit 16x4 soit 20x4 rétro éclairé :
BP4
BP3
BP2
GND2
BP1
Quatre boutons poussoirs :
PICOT
P.G
BP1
BP2
BP3
BP4
BPKSA
BPKSA
BPKSA
BPKSA
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 14
Un connecteur d’extension au format MyAVR :
J9
EXT1
EXT2
EXT3
EXT4
SDA
SCL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
P4_4
P4_5
P4_6
P4_7
P0_0
P0_1
P0_2
P0_3
P0_4
P0_5
P0_6
P0_7
F
SIL20F
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 15
Une zone de prototypage :
PT1
PT2
PT3
PT4
PICOT
PICOT
PICOT
PICOT
PT5
PT6
PICOT
VCC
54%
POT2
54%
POT1
DO6
PICOT
VCC
10k
10k
DO5
POT1
POT2
DO4
EXT4
EXT3
EXT2
EXT1
4
3
2
1
1
2
3
4
D4MM
4
3
2
1
DO3
J2
J3
J10
CONN-SIL4
CONN-SIL4
CONN-SIL4
BR1
J1
J4
P6_0
1
P6_1
2
P6_2
3
P6_3
4
P6_4
5
P6_5
6
P6_6
7
P6_7
8
P12_2 9
P12_3 10
P2_6 11
P2_7 12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CONN-SIL14
P0_0
P0_1
P0_2
P0_3
P0_4
P0_5
P0_6
P0_7
P4_4
P4_5
P4_6
P4_7
CONN-SIL14
MINI-BREADBOARD
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 16
La platine PS0C 2.0 serveur Web :
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 17
Compatibilité avec les shields Arduino
PTSDA
PTSCL
Il est possible de connecter via une interface des shields Arduino, les liaisons étant soudées ‘à la
demande’ :
J1
SCL
SDA
EXT4
EXT3
EXT2
EXT1
GND
VCC
P0_7
P0_6
P0_5
P0_4
P0_3
P0_2
P0_1
P0_0
P4_7
P4_6
P4_5
P4_4
1
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
F
J3
SCL
SDA
EXT4
EXT3
EXT2
EXT1
GND
5V
P0_7
P0_6
P0_5
P0_4
P0_3
P0_2
P0_1
P0_0
P4_7
P4_6
P4_5
P4_4
PTEXT1
PTEXT2
PTEXT3
PTEXT4
PT0_0
PT0_1
PT0_2
PT0_3
PT0_4
PT0_5
PT0_6
PT0_7
PT4_4
PT4_5
PT4_6
PT4_7
SIL20F
PACKAGE=SIL20F
PTAREF
J4
-IOREF
RESET
3.3V
5V
GND
GND
VIN
J2
A0
A1
A2
A3
A4
A5
8
7
6
5
4
3
2
1
6
5
4
3
2
1
VCC
GND
GND
PTPTIOREF
PTRESET
PT3V3
PTN13
PTN12
PTN11
PTN10
PTN9
PTN8
SCL
SDA 10
9
GND 8
7
6
5
4
3
2
1
SCL
SDA
GND
13
12
11
10
9
8
PTVIN
PTA6
PTA5
PTA4
PTA3
PTA2
PTA1
PTN7
PTN6
PTN5
PTN4
PTN3
PTN2
PTN1
PTN0
8
7
6
5
4
3
2
1
J6
AREF
7
6
5
4
3
2
1 TX
0 RX
J5
version 1.0 Novembre 2012
MyAVR_PSoC_ARDUINO_PG.DSN
P.G
Fichier 08_PSoC_0_Description_Platine_PSoC_version_courte.docx
Page 18