Vous êtes sur la page 1sur 14

Master II : Systèmes Embarqués et Intelligence Artificielle

Matière : Conception des Systèmes Matériels et Logiciels

REALISATION D’UN PROTOCOLE DES TRAVAUX


PRATIQUES POUR LES APPLICATIONS PSOC

Réalisé par :

BANI Richard

Chargés de l’ECUE :
Dr AHMAT MAHAMAT SALEH,
Enseignant-Chercheur, Maître-Assistant CAMES
Mr ABDERAHMAN ADOUM,
Enseignant-Chercheur
Sommaire
Introduction ............................................................................................................................................ 3
Objectifs de ce protocole des TP ............................................................................................................ 3
Présentation PSoC .................................................................................................................................. 3
Types des kits PSoC ........................................................................................................................... 3
Les logiciels de développement « PSoC » .......................................................................................... 4
PSoC Designer ................................................................................................................................ 4
PSoC Programmer .......................................................................................................................... 5
Tutoriel des travaux pratiques PSoC ..................................................................................................... 5
Introduction ........................................................................................................................................ 5
Objectif du tutoriel .............................................................................................................................. 5
Manipulation ....................................................................................................................................... 5
Conclusion ............................................................................................................................................. 12
Bibliographie ......................................................................................................................................... 13
Annexe .................................................................................................................................................. 14

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 2


Introduction
Ce projet consiste à réaliser un protocole des travaux pratiques pour les applications PSoC. Ce protocole
désigne un outil de travail pour tout apprenant ou encore à celui ou celle qui désirerai de faire des conceptions
matérielles et logicielles PSoC. Il sera dégagé dans ce document toutes les étapes de conception et de
réalisation des applications. L’application produite dans ce document renferme quatre applications dont
quelques-unes sont basiques et certaines professionnelles. En effet, pour mieux orienter les utilisateurs, le
document est structuré en deux grande parties dont la première dégage les moyens nécessaires pour la
conception d’une application PSoC et la seconde décrit les différentes manipulations appliquées aux modules en
guise de configuration et de paramétrage.

Objectifs de ce protocole des TP


Découvrir les microcontrôleurs PSoC,
S'initier à la programmation des PSoC avec le logiciel « PSoC Dsigner » et le kit associé,
Mettre en œuvre les PSoC dans des projets.

Présentation PSoC
Le microcontrôleur PSoC (Programmable System on Chip) est un composant de traitement numérique programmable. Il est
développé par la société américaine CYPRESS depuis l'année 2000. La particularité de cette puce électronique est qu'elle
intègre, autour d'un cœur de processeur, des structures logiques et analogiques programmables, configurables et
interconnectables ayant pour but la réduction du nombre des composants.

Figure1 : le PSoC

Types des kits PSoC


Il existe plusieurs kits permettant de s'initier aux microcontrôleurs PSoC selon la famille souhaitée et les fonctions abordées.
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) et le nombre de broches d’entrée/sortie (de 6 pour les boîtiers 8 broches à 44
pour les boîtiers 48 broches). Certaines caractéristiques sont communes telles que la tension d’alimentation (de 3,3 V à 5 V),
la fréquence de travail (varie de 93,7 kHz à 24 MHz) ou encore la température de fonctionnement.

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 3


Figure2 : Exemples de quelques kits PSoC

Les logiciels de développement « PSoC »


Pour développer les applications avec le microntroleur PSoC, CYPRESS a fourni plusieurs IDE à savoir : PSoC programmer,
PSoC Designer, PSoC Creator, … dans le cadre de ce travail, nous allons nous limiter sur PSoC (Programmer et Designer).
Cette simplification a pour but d’emmener l’étudiant(e) à maitriser un outil parmi tant d’autres.

PSoC Designer
C’est un environnement de développement intégré (IDE) comprenant :
 Un navigateur de projet
 Un éditeur de schéma
 Un éditeur de texte pour la saisie du programme,
 Un compilateur C
 Un gestionnaire d'affectation de broches de ports
 Un module de programmation et de débogage.
Il permet de développer et de déboguer toutes les applications à base de PSoC. L’étape de développement d’un projet à
base de PSoC est définie comme suit :
o Début : lancer l’application PSoC Designer.

Figure3 : le PSoC Designer

o Création d’un nouveau projet : après avoir lancé le logiciel, on crée ensuite un nouveau projet tout en choisissant
le type de la carte.
o Réalisation du montage : on sélectionne le composant souhaité, le positionner sur la feuille de travail puis réaliser
les interconnexions.
o Configuration des composants : éditer les composants et régler les configurations souhaitées.
o Saisie du programme en C : initialise les composants et obtenir le cycle souhaité.
o Affectation des entrées/sorties : affecter une broche une broche de port à une entrée/sortie.
o Compilation : convertir le programme C et le schéma en code machine.
o Programmation : transférer le code machine (.hex) dans le PSoC.
o Débogage/validation : exécuter le programme en mode pas à pas ou avec des points d’arrêt.
o Fin.

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 4


PSoC Programmer
La programmation du PSoC nécessite la présence d’un kit (par exemple CY3217) contenant un PSoC MiniProg qui assure le
transfert du programme à la carte par le biais du connecteur ISSP et au PC via un câble USB2.
Pour téléverser le programme (.hex du programme C), il faut passer par ces étapes :
o Lancer : démarrer le logiciel PSoC Programmer.

Figure4 : le PSoC Programmer

o Branchement : connecter le PSoC MiniProg au PC par le câble rétractable USB2 contenu dans le kit et à la carte
PSoC via le connecteur ISSP.
o Activer : tourner l’alimentation ON.
o Téléverser : envoyer le fichier .hex sur le MiniProg.

Figure5 : Interface de programmation PSoC

Tutoriel des travaux pratiques PSoC


Introduction
Nous avions présenté au début de ce document les éléments constructifs pour une application PSoC nécessaire pour
aboutir à ce protocole de TP. Le présent TP sera accentué autour d’une application PSoC qui affichera la température d’une
zone définie à l’écran LCD et allumera les LED. Pour ce faire, nous aurions besoin des kit développements, un écran LCD et
le capteur de température numérique DS1820.
Objectif du tutoriel
Permettre à l’étudiant(e) de développer des applications PSoC, configurer le module OneWire et le module UART, faire
l’acquisition de la température du capteur, envoyer le résultat au PC en utilisant la communication série puis l’afficher à
l’écran LCD.
Manipulation
C’est l’élément principal de ce document car il trace les moyens de faire une conception matérielle et logicielle
d’une application. Pour cette manipulation, l’étudiant(e), doit disposer un PC auxquels les logiciels de
développement PSoC sont installés, le kit PSoC et le capteur de température.
 Lancer PSoC Designer
Sélectionner File>New project> puis donner un nom au projet et indiquer l’emplacement du fichier (cf figure).

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 5


Figure6 : Création du projet PSoC Designer

Le nom de notre fichier est ProtocoleTPSoC et se trouve dans le dossier : C:\User\Bani\Documents\CSML


Cliquer Ok puis choisir le type de carte et la programmation C puis Ok comme la figure ci-après.

Figure7 : Choix du type de Kit et de langage de programmation

Après la création on obtient la fenêtre ci-dessous.

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 6


Figure8 : Interface de projet PSoC Programmer

Ajouter le module UART qui se trouve sous User module\ Digital Comm

Figure9 : Ajout du module UART

Le module UART occupe deux blocs de types numériques (UART RX et UART TX). Reliez l’entrée et la sortie du module
telle que RX reliée au pin 2.3 et TX reliée au pin 1.2

Figure10 : Définition des ports du module

Paramètrage du module UART : clock (SysClk = 24 MHz, VC3 divider = 2, VC3 soure = VC1, et VC3 divider = 156)

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 7


Figure11 : Paramétrage du module

Ajouter le module OneWire qui se trouve sous Users module\ Digital Comm

Figure12 : Ajout du module OneWire

Nous allons brancher RX à 2.6 et TX à 2.7 et ensuite dans le montage, nous allons reliés les pins 2.6 et 2.7 via les jumpers
(fil de connexion).

Figure13 : Définition des ports du module OneWire

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 8


Paramètrage du module OneWire : clock (SysClk = 24 MHz, VC1 = SysClk/N = 2, VC2 = VC1/N =2). On maintient le
même paramétrage que celui du module UART et on ajoute VC2.
Ajouter le module LCD qui se trouve sous User module\ Misc Digital

Figure14 : Ajout du module LCD

Le paramétrage du module sera la désactivation du BarGraph (Disable) et le nom LCD comme dans la figure ci-dessous :

Figure15 : Paramétrage du module

Ajouter le module LED qui se trouve sous User module\ Misc Digital et le paramétré comme suit :

Figure16 : Ajout du module LED et son paramétrage

Après avoir ajouté et paramétré les modules nécessaires pour le fonctionnement de notre application, nous devons générer
le fichier (Generate Configuration Files for ‘ProtocoleTPSoC’ Project (Ctrl+F6)) comme indiquer dans la figure ci-après :

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 9


Figure17 : Vérification des configurations

La génération donne zéro erreur.

Figure18 : Résultat de la vérification

Le résultat de la configuration étant réussi, nous allons compiler afin d’obtenir le fichier main.c en cliquant sur ‘Build
ProtocoleTPSoC’ Project (F7). Voir figure suivante :

Figure19 : Compilation du projet

La compilation a donné zéro erreur, alors aller dans le menu Workspace Explorer et ouvrir le fichier main.c sous Source
Files, confère figure suivante :

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 10


Figure20 : Répertoire main.c

Voici le code généré :

Figure21 : Ouverture page main.c

Copions le programme en annexe dans la fenêtre du fichier main.c pour permettre le fonctionnement de l’application, puis
compilons comme dans la figure :

Figure22 : Compilation du programme pour l’application

La compilation a généré zéro erreur, alors on pourrait envoyer le fichier .hex sur la carte pour tester le fonctionnement de
notre application. Cependant, avant de faire ce teste, nous allons cliquer sur Program dans le menu du PSoC Designer et
choisir Program Part comme la figure ci-après ou utiliser le logiciel de programmation de PSoC.

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 11


Figure23 : Programmation de la carte via PSoC Designer

 Lancer PSoC Programmer

Figure23 : Programmation de la carte via PSoC Programmer

Brancher le MiniProg au PC via le câble USB rétractable, cliquer sur le bouton d’alimentation et enfin cliquer sur le bouton de
programmation enfin d’envoyer le programme sur la carte. Après cette étape, on peut obtenir le résulatat de notre
application.

Conclusion
La réalisation de ce protocole, nous a permis d’acquérir plus de connaissance théoriques et pratiques sur la conception des
systèmes matériels et logiciels. La connaissance traduite dans ce document permettra à tout(e) étudiant(e) desirant réalisé
des applications PSoC de le faire aisément sans des difficultés majeures. Cependant, il faut retenir que les astuces
proposées sont dans le but d’un apprentissage profond.

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 12


Bibliographie
[1] http://www.louisreynier.com/ , Débuter avec PSoC, Louis REYNIER.
[2] Corail Technologie, «Prise en main de PSoC Designer 5.1», Février 2012.
[3] Corail Technologie, Tutorial : « Première application pour CT PSoC-DEV01 », Février 2012.
[4] http://www.cypress.com , PSoC® Designer™ Quick Start Guide, Cypress SemiconductorCorporation
[5] http://sti2d.patgue.com , Les microcontrôleurs PSoC, Patrick Guérangé
[6] http://www.cypress.com , 7-Segment LED Controller Datasheet, Cypress Semiconductor Corporation
[7] http://nalhossri.free.fr , Afficheur LCD 2x16 alphanumérique, Nabil Al-HOSSRI

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 13


Annexe
#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
#include "stdlib.h"

void main(void)
{
char *tmp;
int stat;
signed int temp=0;
UART_CmdReset();
UART_IntCntl(UART_ENABLE_RX_INT);
UART_Start(UART_PARITY_NONE);
M8C_EnableGInt ;
OneWire_1_Start();
OneWire_1_WriteByte(0xCC);
OneWire_1_WriteByte(0x44);
while(!OneWire_1_bReadBit ());
OneWire_1_fReset();
OneWire_1_WriteByte(0xCC);
OneWire_1_WriteByte(0xBE);
temp = OneWire_1_bReadByte();
temp |= OneWire_1_bReadByte()<<8;
OneWire_1_fReset();
LED_Start();
LED_Switch(1);
LCD_Start();
LCD_Position(0,0);
for (;;){
OneWire_1_WriteByte(0xCC);
OneWire_1_WriteByte(0x44);
while(!OneWire_1_bReadBit ());
OneWire_1_fReset();
OneWire_1_WriteByte(0xCC);
OneWire_1_WriteByte(0xBE);
temp = OneWire_1_bReadByte();
temp |= OneWire_1_bReadByte()<<8;
OneWire_1_fReset();
tmp=ftoa ((temp/2.0)-4,&stat);
UART_PutString(tmp);
UART_PutCRLF();
LCD_Start();
LCD_PrString(tmp);
}
}

BANI Richard TP.Conception Logicielle et Matérielle, 2020-2021 14

Vous aimerez peut-être aussi