Capsense sur PSOC CYC20234
From Eric
(Created page with "=Objectif= Expérimenter la technologie Capsense de Cypress ; expérimenter les PSOC. =Principes= J'utilise un PSOC CY8C20234 acheté directement chez Cypress pour un prix déri...")
Newer edit →
Revision as of 21:44, 1 December 2012
Contents |
Objectif
Expérimenter la technologie Capsense de Cypress ; expérimenter les PSOC.
Principes
J'utilise un PSOC CY8C20234 acheté directement chez Cypress pour un prix dérisoire, frais de port compris. C'est un composant CMS (SOP16) ; il faut donc acheter un adaptateur.
Réalisation
La réalisation est très simple : une carte comprenant le PSOC et un circuit imprimé "maison" pour le clavier. Le fichier "Eagle" est ici.
Voila la photo de la carte principale :
Voila la photo du clavier.
Programmation du PSOC
Un PSOC est un composant comportant un coeur de microcontroleur (un 8 bit pour la série 1) et plusieurs blocs configurables. Cypress fournit un environnement de développement gratuit très agréable : PSoC Designer.
Cet environnement comporte donc deux parties :
- une partie destinée à la programmation du microcontroleur, en C ;
- une partie destinée à la configuration des blocs analogique.
Dans notre cas (CY8C20234), il existe 4 blocs dont un est le bloc "Capsense".
La configuration des blocs se fait à l'aide de "Wizards" qui facilitent la tâche. En outre, l'environnement donne accès directement à la documentation ("datasheet") du bloc.
Dans le cas du bloc Capsense (plus précisément, le bloc CSA_EMC), la configuration consiste à définir le nombre de touches ou de "sliders" et à les associer aux broches du composant. On ne peut pas faire beaucoup plus simple.
La configuration "fine" du bloc nécessite cependant la lecture attentive de la documentation car les paramètres sont assez nombreux et, s'agissant d'électronique analogique", assez "pointus".
Une fois la bloc configuré, l'environnement génère automatiquement le code nécessaire à l'accès à la fonction Capsense à partir du code C. L'API est décrite dans la "datasheet" du bloc CSA_EMC ; elle comprend aussi des exemples de code.