Installation de l’EDI (Cypress ou Arduino)

Pour programmer la carte, on peut utiliser l’EDI de Cypress (Cypress PSoC® Creator), ou celui de l’Arduino. Dans ce dernier cas, la version de l’EDI doit être la 1.6.4 ou une plus récente, et le paquetage d’extension approprié installé par le gestionnaire de cartes. Le programme d’amorçage de l’Arduino devra aussi être résident sur la carte pour un fonctionnement correct du µC CY8C5888AXI‑LP096.
 
L’EDI de Cypress exploite pour le téléchargement les ressources du microcontrôleur de débogage et de programmation, dont les fonctions très puissantes facilitent la conception de micrologiciels. Les fichiers créés peuvent être exportés pour une utilisation avec d’autres systèmes, tels que IAR Embedded Workbench®, ARM® Microcontroller Development Kit, et Eclipse.
 
Les détails de l’installation de la carte dans l’EDI de l’Arduino, et de l’EDI de Cypress sous Windows, sont repris dans l’excellent tutoriel de Sparkfun. La description de ces étapes prendrait trop de place ici.

Les avantages des puces de Cypress

La véritable vedette de cette carte est le µC CY8C5888AXI‑LP096, avec son cœur à 32 bits ARM® Cortex®‑M3, son contrôleur d’accès direct à la mémoire, et son processeur de filtrage numérique pouvant être cadencé à 80 MHz. Le cœur est identique à celui de la puce Atmel SAM utilisée sur l’Arduino Due, mais le microcontrôleur de Cypress offre, en plus du cœur et de la mémoire, toute une série de blocs programmables de périphériques analogiques et numériques. Les outils graphiques de l’EDI permettent de configurer jusqu’à 100 fonctions de périphériques sur un seul microcontrôleur PSoC®, juste avec des glisser-déposer ! Les relations entre fonctions et broches d’E/S sont aussi définies par logiciel. C’est un peu comme si on avait une centaine de platines d’expérimentation avec des périphériques sur notre plan de travail, mais au lieu d’un fatras de fils d'interconnexion, tout est dans la puce PSoC® et le routage est programmé par Creator™. Les noms et fonctions attribuées aux broches permettent l’accès par le programme en C, écrit et débogué avec l’EDI. Tout peut bien entendu être reconfiguré et réutilisé ; pour changer d'application, il est donc inutile de sortir son fer à souder ou de déplacer ne serait‑ce qu’un cavalier.
 
Un second microcontrôleur est présent sur la carte, il sert à la programmation de son grand frère et au débogage. Il s’agit d’un CY8C5868LTI‑LP039 – aussi un PSoC®, dans un boîtier QFN (Quad Flat No‑Lead) à 68 broches, plus petit et avec moins de broches d’E/S.

Premiers pas

C’est en forgeant qu’on devient forgeron. Le meilleur moyen de se familiariser avec PSoC® Creator est donc d’expérimenter avec un programme dont on sait qu’il fonctionne parfaitement. L’EDI ne manque pas de tels exemples. Cliquons sur File dans le menu principal et faisons défiler la liste jusqu’en bas pour arriver à WaveDAC8_Example ; cliquons ensuite sur Create Project, celui-ci sera installé et un document au format PDF le décrira. On referme le document, et une fenêtre avec le fichier .cydwr apparait, montrant le microcontrôleur avec l’affectation des broches. Le modèle de puce affiché sera sans doute CY8C3866AXI, qui est chargé par défaut ; en cliquant sur Project puis sur Device Selector et Series, on pourra sélectionner CY8C58LP et décocher les autres. On sélectionne ensuite CY8C5888AXI-LP096, ce qui nous ramène au fichier .cydwr, qui devrait maintenant afficher le bon modèle. L’exemple choisi n’utilise qu’une seule broche d’E/S, son affectation est montrée dans le panneau de droite.

Il ne reste qu’à programmer la carte. Quand c’est fait, on peut connecter la sortie de la broche P0.[0] à un oscilloscope pour afficher le résultat :