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
Documents pareils
Lycée Déodat de Séverac – Toulouse page 1 PSoC3/5 les pièges à
Le format des données doit correspondre au nombre de bits ADC +1 (puisqu'il dépasse un peu)
=> si vous travaillez avec des entiers 16 bits, votre ADC doit être au maxi réglé en 15bits.
Sinon un lég...