 TECHNOLOGIE  SEPTEMBRE-OCTOBRE 2006
 TECHNOLOGIE  SEPTEMBRE-OCTOBRE 2006
[] Professeur de génie électrique à luniversi
Paris-XI – IUT de Cachan (94).
Courriel: Denis.Penard@iut-cachan.u-psud.fr
Dans un nombre croissant d’applications industrielles et grand public,
les systèmes électroniques ont subi des évolutions importantes ces dernières
années. Les plus visibles relèvent de l’électronique numérique, dont la puissance
de traitement s’accroît à mesure que les niveaux de consommation se réduisent
(en téléphonie mobile par exemple). Lautre avancée technologique
concerne l’électronique analogique, qui se fait discrète en s’intégrant désormais
au cœur des microcontrôleurs PSoC (
Programmable System on Chip,
système programmable sur puce).
Lauteur nous fait part de l’expérience qu’il a acquise en matière de mise en
œuvre de composants PSoC, au travers d’activités conduites avec ses étudiants
d’IUT. Il donne ici quelques exemples mettant en évidence la diversité
des applications possibles à base de PSoC, ainsi quune démarche de projet
de la réalisation de fonctions simples facilement implémentables
dans ces microcontrôleurs.
L’architecture interne d’un PSoC
Les microcontrôleurs PSoC
DENIS PENARD[]
Les processeurs
à signaux mixtes
Cypress est l’un des leaders du marché
des semi-conducteurs et propose des
solutions pour les réseaux filaires ou
non (USB, WirelessUSB), capteurs
optiques CMOS, mémoires, et pro-
cesseurs à signaux mixtes reconfi-
gurables. Les processeurs à signaux
mixtes (
mixed signal arrays
) sont des
puces qui permettent de gérer des
informations aussi bien numériques
quanalogiques. On sait depuis long-
temps intégrer des convertisseurs
analogiques-numériques au sein de
microcontrôleurs, mais lintégration
de fonctions analogiques sur le sili-
cium (gains programmables, filtres à
capacités commutées, etc.) est rela-
tivement récente. Ces processeurs
appartiennent à une nouvelle généra-
tion de puces déclinée par Cypress en
familles: PSoC, Power PSoC (proces-
seur de puissance), WirelessUSB.
La dernière-née de ces familles,
celle des Power PSoC, offre de nou-
velles perspectives dans lévolu-
tion des systèmes à la frontière de
l’électronique et de l’électronique de
puissance. En effet, les Power PSoC
peuvent fonctionner sous des tensions
variant de 2,5 V à 36 V. Ils sont ainsi
capables de contrôler des transistors
MOS directement.
La famille PSoC est constituée des
références CY8C21x34, CY8C24x23A,
CY8C26xxx, CY8C27x43, CY8C29x66,
qui diffèrent selon le nombre de blocs
numériques et analogiques intégrés,
la taille de la mémoire de programme
(type Flash), celle de la mémoire de
données (type SRAM), le nombre de
broches dentrée/sortie (de 6 pour
les boîtiers 8 broches à 44 pour les
boîtiers 48 broches). Certaines carac-
téristiques, comme la tension dalimen-
tation (de 3,3 V à 5 V), la fréquence
de travail (de 93,7 kHz à 24 MHz) ou
encore la température de fonctionne-
ment, sont communes.
SEPTEMBRE-OCTOBRE 2006 TECHNOLOGIE  
SEPTEMBRE-OCTOBRE 2006 TECHNOLOGIE  
La figure
présente larchitecture
interne d’un PSoC ; la figure
, les
différentes fonctions électroniques
analogiques (amplifier, filter), numé-
riques (counter, timer) et mixtes (ADC,
DAC, PWM) intégrées au PSoC dans
une application donnée.
La reconguration dynamique
La reconfiguration dynamique d’un
PSoC est une caractéristique très inté-
ressante pour des applications utilisant
des ressources partagées. Ainsi, un
distributeur de boissons délivre des
boissons pendant toute une journée
(23h 59min) moins une minute, pen-
dant laquelle il transfère des données
(statistiques comptables, demande de
maintenance, etc.) par reconfiguration
en modem. Les fonctions qui étaient
utilisées pour lapplication principale
(métier) sont déchargées, et le com-
posant se reconfigure avec la fonc-
tion de modem.
Le télémètre à ultrasons est un
autre exemple qui peut être mis en
œuvre en STS. Ce système permet
dintégrer des fonctions numériques
(compteurs) et analogiques (filtre et
comparateur à seuil programmable).
Dans ce télémètre, la reconguration
mots-clés
composant,
logique,
travaux pratiques
Device Editor
Application Editor
Storage
Inspector
Interface
to ICE
Event &
Breakpoint
Manager
Debugger
Placement
and
Paramete-
rization
User
Module
Selection
Source
Code
Generator
Source
Code
Editor
Project
Manager
Build
Manager
Generate
Application
Build
All
Un exemple de fonctions
intégrées dans un PSoC
Les diérentes étapes de
développement d’une application PSoC
dynamique peut être intéressante si
on veut utiliser un seul transducteur à
ultrasons. Ainsi, lors de l’émission du
train dimpulsion, le microcontrôleur
est configuré en émission (sorties
numériques connectées directement
sur le transducteur); une fois le train
dimpulsion émis, il se reconfigure
dynamiquement pour recevoir lécho
sur le même transducteur.
CapSense ou la détection
tactile capacitive
CapSense est une technologique d’in-
terface gagnant rapidement du terrain
sur les boutons-poussoirs pour les
applications nécessitant un panneau
avant. Elle est présente sur les PSoC
CY8C21x34 et CY8C24x94. L’int
est de supprimer tout élément méca-
nique d’interface homme-machine,
ces éléments (boutons-poussoirs,
curseurs…) étant remplacés par des
solutions telles que des pistes de cir-
cuit imprimé ou des éléments conduc-
teurs intégrés dans du verre (plaques
de cuisson par induction).
Pour réaliser la détection tactile
capacitive, on utilise la technique de
loscillateur à relaxation. Ce dernier
comprend un capteur capacitif, une
source de courant de charge, un com-
parateur, un commutateur de décharge,
un modulateur PWM et un temporisa-
teur. La tension sur le condensateur
croît de manière linéaire jusqu’à ce
que le seuil soit atteint, activant la
sortie du comparateur. Celle-ci ferme
le commutateur qui décharge alors le
condensateur, et un nouveau cycle
de charge peut démarrer (pour des
exemples d’application, voir lencadré
«La documentation»).
 

 
 
 
"
!

$ 
,&-('),.+,&--
%"!
#
/00*
Le schéma d’un télémètre à ultrasons utilisant un seul transducteur
La méthode
de développement par projet
Le développement électronique autour
d’un PSoC est un projet qui se traite
de manière classique . Le contour
du projet défini, les acteurs identifiés,
lanalyse des besoins va faire appa-
raître des solutions technologiques
réalisables à l’aide de fonctions élec-
troniques intégrées dans le PSoC. Ces
fonctions peuvent être analogiques ou
numériques.
Cette étape conduit au choix dune
famille de PSoC
nombre dentrées/
sorties, de blocs analogiques et numé-
riques disponibles permettant d’inté-
grer le système dans la puce. Cypress
propose un outil de développement,
PSoC Designer
, qui va aider le déve-
loppeur quant au choix des fonctions
analogiques ou numériques répondant
à ses besoins, et met à disposition les
ressources utilisées par les fonctions
selectionnées.
On se rend vite compte si le PSoC
choisi est adapté ou non. Dans le cas
d’un nouveau projet, aucune configu-
 TECHNOLOGIE  SEPTEMBRE-OCTOBRE 2006
 TECHNOLOGIE  SEPTEMBRE-OCTOBRE 2006
Dans le cadre d’activités en STS
Systèmes électroniques, les PSoC
constituent une solution très intéres-
sante, aussi bien pour la création d’un
nouveau système embarqué (« Éla-
borer une nouvelle maquette ») que
pour l’évolution d’un sysme indus-
triel existant («Adapter le logiciel à
un nouveau cahier des charges »).
En effet, l’intégration des fonctions
analogiques et numériques en fait un
composant adapté à de nombreuses
applications, telles que le pilotage de
bases robotiques mobiles comportant
plusieurs capteurs numériques et ana-
logiques, une interface USB/IrDA, un
contrôleur de machine brushless, une
boussole électronique, un chargeur de
batteries, etc.
Si le développement dapplications
PSoC avec le logiciel PSoC Designer ne
requiert pas de connaître l’architecture
des blocs analogiques et numériques
(au sens hardware), la connaissance
minimale des registres et du cœur du
microcontrôleur est nécessaire pour
lutilisation de fonctions telles que les
ports d’entrée/sortie. En effet, l’écri-
ture ou la lecture d’un port se fait
par lutilisation directe du registre
(PRTxDR, «x » étant le numéro du
port). Ainsi, en faisant des parallèles
entre le logiciel PSoC Designer mas-
quant les registres et la documenta-
tion complète des PSoC, on montre à
l’étudiant que rien n’est magique et
que l’architecture, qui paraît souple
(et qui l’est relativement), est en réa-
lité « gravée» dans le silicium.
La programmation
de fonctions internes
La mise en œuvre des fonctions
internes au PSoC (CAN, I2C, LCD,
timer, etc.) se réalise toujours selon
le même schéma.
Lenvironnement de développement
PSoC Designer offre plusieurs vues du
projet : la première concerne la biblio-
thèque de ressources (fonctions), la
deuxième est relative au placement
des fonctions dans le PSoC, à leur
configuration et interconnexion, et
la dernière permet le développement
de lapplication en langage assem-
bleur ou en C.
L’architecture de loutil
de développement PSoC Designer
La documentation
D
émarrer avec les PSoC requiert l’aide des docu-
ments constructeur. Chaque fonction a son chier
d’aide associé.
Le manuel de référence des PSoC en donne les caracté-
ristiques hardware complètes :
Technical_reference_manual.pdf (ou TRM)
Pour chaque famille de PSoC, Cypress propose une
datasheet moins détaillée que le TRM, donnant les carac-
téristiques électriques, les performances, le brochage, les
types de boîtiers. Le côté applicatif est détaillé dans deux
chiers, qui présentent les jeux d’instructions du micro-
contrôleur, les fonctions assembleur ou C, la manière de
traiter les interruptions en C, etc.:
Assembly Language User Guide.pdf
C Language Compiler User Guide.pdf
Le site PSoCDeveloper et celui de Cypress donnent un
nombre croissant de notes d’application, documents
incontournables également:
www.psocdeveloper.com
www.cypress.com
Enn, ce dernier ore de nombreux exemples d’applica-
tion de la technologie CapSense, à télécharger:
http://www.cypress.com/publishedcontent/publish/
design_resources/more_resources/contents/
psoc_r__example_projects___cy3212_capsense_
training_14.zip
ration ni développement nont encore
été réalisés. Dans le cas d’une évo-
lution d’un projet PSoC existant, le
clonage de ce dernier est possible:
on peut ainsi conserver son « patri-
moine » (fonctions, code assembleur
ou langage C, configuration du PSoC)
et le transférer à un PSoC de nim-
porte quelle autre famille
en gar-
dant à l’esprit que si celui-ci possède
moins de ressources, PSoC Designer
nintégrera qu’une partie des fonctions
du projet original.
Un projet auquel il manquerait des
fonctions peut évoluer simplement
par clonage sur un PSoC ayant plus
de ressources. À ce stade du projet,
les concepteurs du système embarqué
(carte électronique) et ceux de l’ap-
plication (PSoC) voient leurs déve-
loppements intimement liés. Tous
ont des contraintes : les premiers en
termes de routage de la carte, et les
seconds, de ressources matérielles
(broches dentrée/sortie du microcon-
trôleur, routage interne du PSoC…).
Si le système est flexible, toutes les
configurations ne sont pas possibles
ou permises, et il convient de soigner
cette étape, notamment quand la réa-
lisation de la carte et celle de lappli-
cation sont confiées à deux groupes
d’étudiants distincts.
Le déroulement du projet se pour-
suit par le codage de lapplicatif et
les tests. Le modèle de développe-
ment adapté pour les projets PSoC
est celui de la spirale: l’analyse des
besoins conduit aux spécifications,
vient ensuite le développement d’un
prototype (conguration et code), et
enfin la réalisation. Ce processus est
réitéré en revenant à l’analyse des
besoins. C’est loccasion pour l’étudiant
de maîtriser rapidement la démarche
méthodologique. Il est fortement con-
seillé de la suivre pour valider suc-
cessivement chacune des fonctions
intégrées au PSoC (configuration,
développement, tests, validation)…
même si, compte tenu de leur abon-
dance, le nombre ditérations peut
être élevé et la convergence vers les
objectifs du projet (délais, produit fini)
difficile à atteindre
d’ la néces-
sité dun pilotage efficace par l’équipe
pédagogique.
SEPTEMBRE-OCTOBRE 2006 TECHNOLOGIE  
SEPTEMBRE-OCTOBRE 2006 TECHNOLOGIE  
Quelques exemples
L
Pour obtenir une MLI
(Modulation
par Largeur d’Impulsion), par exemple,
on choisit le bloc PWM8 (pour PWM
sur 8 bits)
dans la section PWM de
la bibliothèque. Dans cette première
vue, le logiciel informe du nombre
de ressources utilisées et du nombre
de ressources restantes (blocs numé-
riques et analogiques, RAM, ROM…).
La vue dinterconnexion permet de
configurer les fonctions choisies
après les avoir placées dans le PSoC.
Ici encore, PSoC Designer aide à la
décision, en proposant par défaut un
emplacement idoine. Une fonctionna-
lité du logiciel permet de demander
le prochain emplacement possible.
Ce dernier choisi, on valide le pla-
cement du bloc (de la fonction)
,
et on peut configurer le bloc MLI .
Une MLI nécessite une horloge de
base, un rapport cyclique, et dêtre
connectée sur une pin externe du
PSoC. La configuration effectuée, il
reste à générer l’application, au sens
dAPI (interface de programmation):
des fonctions préétablies pour uti-
liser la MLI sont ainsi disponibles
pour le développeur , par exemple
MLI_start()
pour démarrer la MLI,
MLI_WritePulseWidth (unsigned
char rapport_cyclique)
pour
changer le rapport cyclique, etc. Les
fonctions de l’API étant construites
à partir du nom du bloc configuré, il
est conseillé de nommer la fonction
de la façon le plus parlante possible,
afin de favoriser la maintenance de
lapplication.
Pour un bon usage des blocs-fonc-
tions de PSoC Designer, il vaut mieux
lire le document daide associé à la
fonction, qui présente ses caractéris-
tiques techniques ainsi que la manière
de lutiliser. Des exemples de codes
en assembleur et en C pour l’implé-
mentation dans lapplication future
sont également fournis.
L
Le PSoC permet d’intégrer le fil-
trage,
autre fonction essentielle en
électronique analogique.
Les filtres intégrés sont à capaci-
tés commutées .
Pour obtenir un filtre analogique,
PSoC Designer propose un assistant
qui va se charger de calculer les para-
mètres du bloc à capacités commu-
tées chargé de réaliser le filtrage.
Lassistant est disponible au format
Excel ou sous forme applicative dans
PSoC Designer.
Les paramètres à saisir sont le type
de filtre (Butterworth, Tchebytcheff,
Bessel), la fréquence de coupure et le
gain du filtre. Puis l’assistant donne
les valeurs des capacités C1, C2, C3,
C4, CA et CB, ainsi que la fréquence
d’horloge à appliquer au bloc à capa-
cités commutées.
Les paramètres calculés sont
ensuite à saisir dans la vue d’intercon-
nexion au niveau des caractéristiques
dultre. La génération de l’application
prend en compte ces paramètres; il
ne reste plus qu’à démarrer le filtre
(
passe_bas_start()
par exemple).
Les filtres pouvant être mis en
œuvre permettent un nombre impor-
tant dapplications: filtrage de por-
teuses 40 kHz pour transducteurs à
ultrasons, détecteur de synchronisa-
tion vidéo, modem, etc.
Une application:
le vélo électrique
à alimentation hybride
La gestion de lénergie électrique et
une de ses composantes, son stockage,
sont des enjeux majeurs. Les solu-
tions pour le stockage sont diverses.
Pour les applications de transport,
et plus particulièrement pour celles
gourmandes en énergie transitoire,
une solution commence à émerger:
le supercondensateur.
Le vélo électrique à alimentation
hybride (batterie et superconden-
sateurs) est un exemple dapplica-
tion susceptible de sensibiliser les
Le choix d’une fonction MLI
//----------------------------------------------------------------------------------------------------------
// Exemple en langage C : création dune MLI de fréquence VC1 et rapport cyclique 50%
//----------------------------------------------------------------------------------------------------------
#include <m8c.h> // part specific constants and macros
#include «PSoCAPI.h» // PSoC API definitions for all User Modules
void main()
{
MLI _ WritePulseWidth(50) ; //si le registre de période vaut 100, la MLI aura ici un
rapport cyclique de 50 %.
MLI _ Start() ; //démarrage de la MLI
}
Un exemple de code source de lapplication
L’interconnexion de la MLI
dans le PSoC
Le panneau de conguration
de la fonction MLI
 TECHNOLOGIE  SEPTEMBRE-OCTOBRE 2006
étudiants à ces problématiques et
facile à mettre en œuvre dans un
établissement scolaire.
Sa motorisation est réalisée avec
une machine à courant continu (MCC1)
intégrée dans la roue arrière. Lali-
mentation, ou le réglage du transfert
dénergie issue des éléments de stoc-
kage (accumulateur électrochimique
au plomb dans la version commercia-
lisée), se fait à laide d’un convertis-
seur DC/DC (hacheur série dans la
version originale).
La simulation de la résistance à
l’avancement se fait à l’aide d’un home
trainer constitué dune machine à cou-
rant continu à aimants permanents











 Un exemple de ltre à capacités commues intégré au PSoC
(MCC2) alimentée par un convertis-
seur qui modifie le courant (iMCC2) en
fonction d’une consigne qui peut être
modifiée par l’utilisateur afin de simu-
ler divers profils de route ainsi que
des inerties  .
Dans lalimentation hybride

, les
deux types déléments de stockage
d’énergie sont connectés au bus con-
tinu (bus DC) par l’intermédiaire de
deux hacheurs réversibles en courant
(hacheur 1 et hacheur 2). La gestion
des flux dénergie est spécifique à
chaque montage et est assurée par
un PSoC.
Ces deux convertisseurs ont pour
rôle d’adapter les niveaux de tension
des éléments. Pour la batterie, cela
permet d’utiliser des éléments de
faible tension (12 V) par rapport à
la tension du bus DC (z 50 V); pour
les supercondensateurs, de sadapter
à la variation de tension inévitable,
car la variation d’énergie est liée à
celle-ci. Le principe de la commande
est de pouvoir maintenir constante la
tension du bus DC, en agissant sur les
courants des éléments de stockage.
Ils peuvent être positifs ou négatifs
(charge ou décharge).
Chaque hacheur est géré par un
microcontrôleur PSoC qui mesure la
tension des supercaps, la tension du
bus DC et le courant dans linduc-
tance. Ces hacheurs peuvent rece-
voir des consignes de fonctionnement
(marche, arrêt, consignes de tension
et de courant, gestion des défauts)
via un bus de terrain I2C. Ils peuvent
également fournir toutes ces données
à la demande du système de gestion
maître.
La commande des transistors MOS
(15 V) est isolée du PSoC afin de saf-
franchir des perturbations que pour-
raient occasionner l’ouverture et la
fermeture des transistors. Pour ce
faire, on utilise des optocoupleurs
rapides et des alimentations à décou-
page de type Traco Power.
Les flux dénergie de l’alimenta-
tion hybride sont pilotés par un PSoC
maître dont le rôle est dassurer une
gestion haut niveau. Ainsi, en fonction
dune stratégie de fonctionnement
qui revient à assister le cycliste au
démarrage, en montée, et à le laisser
pédaler sur du plat ou en descente,
le système va piloter les consignes
de tension de chaque alimentation
(hacheur alimenté par les supercon-
densateurs et hacheur alimenté par
les batteries).
La détection dun démarrage (détec-
tion de la rotation du pédalier) et
la mesure du courant dans la MCC
entraîne une consigne de tension plus
importante sur le hacheur à super-
condensateurs. La batterie peut alors
éventuellement être rechargée par
les supercondensateurs ou bien être
découplée. Linverse est possible, et le
cycliste va charger les superconden-
sateurs pendant le pédalage.
Eléments
de stockage
d’énergie
MCC2
i
MCC2
Charge active
programmable
MCC1
Convertisseur
DC/DC
 Le banc expérimental du vélo électrique
1 / 6 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 !