Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
ou
PsoC niveau 0
Objectifs : se familiariser avec les circuits PsoC et leur environnement, prendre en main le
logiciel et le kit d'valuation, dvelopper une application simple avec le kit d'valuation.
Ksaco PSoC ?
En quelques lignes...
PsoC : Programmable System on Chip, est une famille de circuits intgrs introduits au dbut des
annes 2000 par Cypress.
C'est un circuit intgr qui comprend un microcontrleur et des fonctions logiques et analogiques
configurables et inter-connectables entre eux.
L'ide est de remplacer le microcontrleur et les circuits d'interfaces analogiques (convertisseurs
AN et NA, filtres, amplificateurs oprationnels, etc..) ou numriques (compteurs, timers, uart,
interfaces pour bus divers, etc..) associs par un circuit unique. On intgre ainsi un systme
lectronique embarqu complet dans un circuit intgr unique, ou tout au moins, on rduit trs
considrablement le nombre de composants !
Le PsoC est un circuit reconfigurable en fonctionnement : on peut par exemple imaginer un systme
embarqu qui s'arrte de fonctionner 1 2 minutes par jour pour se reconfigurer en modem et
envoyer toutes les donnes qu'il a acquises dans la journe. Les fonctions utilises pour la mesure
sont reconfigures en modem.
Quelles applications ?
Elles sont trs varies ainsi que le montre ce document Cypress.
Mmoire Flash
Oscillateurs internes(pas de quartz externe)
Multiplieur/accumulateur
Contrleur d'interruptions, Sleep Timer, Watchdog
Timer
Contrleur I2C
Voici les diffrents types de PsoC 1ainsi que leurs principales caractristiques :
L'environnement PSoC
Quels outils de dveloppement ?
Cypress fournit des outils de dveloppements gratuits tlchargeables gratuitement sur son site (il
faut toutefois s'inscrire).
Le dveloppement des PsoC1 s'effectue l'aide du logiciel PsoC Designer (Version 5.1 ce jour,
fvrier 2011, incluant le compilateur C gratuit, ce qui n'tait pas toujours le cas prcedemment).
Le dveloppement des PsoC 3 et 5 se fait l'aide du logiciel PsoC Creator.
La programmation du circuit peut se faire in-situ l'aide de PsoC programmer, accessible aussi
partir de PSoC Designer et PsoC Creator. Il est ncessaire de disposer d'un petit accessoire de
programmation (priphrique USB) type PsoC MiniProg.
Conception en
4 tapes
1. Slection et
placement des
modules
2. Configuration
3. Connexion des
des modules et des modules
drivers d'entres et
sorties
4. Coder, Compiler,
vrifier, dbugger
Programmation en C ou
en assembleur,
compilation et
programmation.
Carte d'valuation
Pour le PSOC 1 il existe un kit d'valuation : PsoC 1 Evaluation kit : CY3210-PSoCEVAL1.
Ce kit est disponible chez Radiospares ou Farnell pour environ 100 euros.
Le kit comprend :
une carte d'valuation incluant un support pour un PsoC DIL 28 broches, 1 afficheur LCD,
leds, potentiomtre sur Vcc, circuit d'alimentation, interface RS232, connecteur pour
programmation, espace Labdec pour prototypage.
2 circuit PsoC 1 en DIL 24 (CY8C29466-24PXI et CY8C27445-24PXI)
Programmateur MiniProg + cable USB
jeu de fils pour faire des connexions
CD et notice
Sur la carte d'valuation, les ports du PsoC sont accessibles sur des connecteurs.
2. Configuration
3. Connexion des
des modules et des modules
drivers d'entres et
sorties
4. Coder, Compiler,
vrifier, dbugger
Programmation en C ou
en assembleur,
compilation et
programmation.
Remarque : Les 4 tapes dcrites ici ne sont ni formelles, ni irrversibles, rien n'empche par
exemple de rajouter un module aprs avoir crit des lignes de code !
Louis REYNIER Lyce Cabanis Brive PSOC niveau 0 Avril 2012
10
11
Entre et/ou Sortie standard (accessible en lecture et/ou en criture dans l'espace
registre)
Entre et/ou Sortie globale (connexion aux PSoC Blocks numriques)
Entre et/ou Sortie analogique.
La configuration des broches d'entres/sorties se fait soit dans la fentre Pinout, soit dans la fentre
[chip] (dessin du circuit) en cliquant sur chacune des broches.
12
13
Mon avis :
L'utilisation au dbut peut surprendre un peu, mais on s'y fait assez vite ! C'est assez intuitif !
void main(void)
{
// M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts
// Insert your main routine code here.
}
Attention : avant d'utiliser un module plac, il est ncessaire de le mettre en marche par logiciel.
L'instruction utiliser est donne dans la datasheet.
Exemple :
PGA_1_Start(PGA_1_MEDPOWER);
PGA_2_Start(PGA_1_MEDPOWER);
14
LPF2_1_Start(LPF2_1_HIGHPOWER);
BPF4_1_Start(BPF4_1_HIGHPOWER);
COMP_1_Start(COMP_1_MEDPOWER);
Pour bien utiliser les instructions C relatives l'utilisation d'un module, se reporter au paragraphe
Sample code (chantillon de programme) de la datasheet.
Le reste est de la programmation en C standard . Voir quelques astuces dans le paragraphe
suivant.
Pour compiler, vrifier et gnrer les fichiers de configuration du PsoC, il suffit de cliquer sur
l'icone Build :
Enfin, il ne reste plus qu' programmer le PsoC en cliquant sur le menu Program qui ouvre la
fentre de programmation.
On transfre dans un premier temps le programme dans le PsoC, ensuite, il est possible de faire
fonctionner la carte d'valuation en l'alimentant via l'interface USB du PC.
15
Masse analogique
Attention, lorsque l'on ralise un amplificateur par exemple, le logiciel propose deux choix pour la
masse AGND et VSS. VSS correspond au 0V, AGND correspond par dfaut la moiti de la
tension d'alimentation. Attention bien choisir ce paramtre.
Ce champs ne doit pas tre choisi n'importe comment mais est fix fCLK/4. O fCLK est l'horloge du
filtre utilis. Celle ci peut tre VC1, VC2 ou une horloge externe.
16
problme, j'ai trouv une astuce. Je ne sais pas si on peut faire mieux, mais ca fonctionne !
J'utilise un bloc numrique Digital buffer. L'entre du buffer = la sortie du comparateur, Sortie du
buffer = Port du PSoC.
Cette instruction se traduit par PRT3DR reoit PRT3DR OU (0001 0000) en binaire
Exemple si PRT3DR = XXXX XXXX, PRT3DR = PRT3DR OU 0001 0000 = XXX1 XXXX
On ne modifie ainsi que la ligne 4 du port 3 sans modifier les autres.
17
Cette instruction se traduit par PRT3DR reoit PRT3DR et le complment de (0001 0000)en binaire
soit PRT3DR ET (1110 1111) en binaire.
Exemple si PRT3DR = XXXX XXXX, PRT3DR = PRT3DR ET 1110 1111 = XXX0 XXXX
On ne modifie ainsi que la ligne 4 du port 3 sans modifier les autres.
{
PRT0DR &=~ 0x02;
}
Les masques
Voici un aide-mmoire rappelant les masques utiliser pour slectionner un seul bit d'un port.
Bit du
port
Masque en binaire
Masque en
hexa
00000001
01
00000010
02
00000100
04
00001000
08
00010000
10
00100000
20
01000000
40
10000000
80
Utilisation de macro
Trouv sur le forum de psoczone, une macro permettant de simplifier le codage de l'criture d'un
bit. Je cite :
Par contre si vous souhaitez mettre simplement une pin l'tat haut ou l'tat bas je vous
conseillerai d'utiliser cette macro (que j'utilise moi-mme) et qui simplifie votre code:
Code :
#define setBit( MSKN_REG, MASK ) (MSKN_REG |= MASK)
#define clearBit( MSKN_REG, MASK ) (MSKN_REG &= ~MASK)
Louis REYNIER Lyce Cabanis Brive PSOC niveau 0 Avril 2012
18
De sorte que pour mettre la pin 5 du port0 l'tat haut vous n'auriez plus qu'a faire un :
setBit(PRT0DR,0x20);
clearBit(PRT0DR,0x20);
Faire clignoter une led une frquence donne ( environ 1Hz) en utilisant un PWM.
Allumer une led lorsque l'on appuie sur un bouton poussoir l'aide d' un programme en C.
Sortir les 4 bits de poids fort d'un convertisseur A-N sur 4 leds.
Gnrer un signal PWM de frquence donne (proche de 40 kHz) dont le rapport cyclique
est donne par une tension analogique (VIN = 0V,=0%, VIN = 5V, =100%).
Bibliographie
Ce document a t rdig essentiellement partir de documents Cypress, en particulier :
Prsentation des circuits PSoC par Philippe LARCHER, ingnieur d'application chez Cypress :
document disponibles sur le site PsoCzone (inscription pralable ncessaire).
Beaucoup de documents trs intressants : cours, exemples de projets, etc..., mais aussi des posts
sur le forum, sur le site psoczone.com, site francophone !
http://psoczone.com/
Retrouvez d'autres cours et documents sur :
http://www.louisreynier.com
Louis REYNIER Lyce Cabanis Brive PSOC niveau 0 Avril 2012
19