Vous êtes sur la page 1sur 17

Cours PSoC 2019/2020

Chapitre 1 Architecture d'un PSOC

1.1 Définition

PSoC : Programmable System on Chip, est une famille de circuits intégrés


introduits au début des années 2000 par Cypress

C'est un circuit intégré qui comprend un microcontrôleur et des fonctions


logiques et analogiques configurables et interconnectables entre eux.
L'idée est de remplacer le microcontrôleur et les circuits d'interfaces analogiques
(convertisseurs AN et NA, filtres, amplificateurs opérationnels, etc..) ou
numériques (compteurs, timers, uart, interfaces pour bus divers, etc..) associés
par un circuit unique. On intègre ainsi un système électronique embarqué
complet dans un circuit intégré unique, ou tout au moins, on réduit très
considérablement le nombre de composants

Le PSoC est un circuit reconfigurable en fonctionnement : on peut par exemple


imaginer un système embarqué qui s'arrête de fonctionner 1 à 2 minutes par jour
pour se reconfigurer en modem et envoyer toutes les données qu'il a acquises
dans la journée. Les fonctions utilisées pour la mesure sont reconfigurées en
modem.

Hmaied Sarhene Page 1


Cours PSoC 2019/2020

1.2. Applications

Elles sont très variées ainsi que le montre ce document Cypress.

Hmaied Sarhene Page 2


Cours PSoC 2019/2020

1.3. Architecture d'un PSoC

Un PSoC est formé de :


-Un cœur Microcontrôleur8-bits, avec
• Mémoire Flash
• Oscillateurs internes (pas de quartz externe)
• Multiplieur/accumulateur
• Contrôleur d'interruptions, Sleep Timer, Watchdog Timer
• Contrôleur I2C

-Des blocs logiques et analogiques banalisés configurables


• Blocs logiques configurables en compteurs, timers, UARTs, PWMs, SPI,
générateurs CRC, séquences pseudo aléatoires, etc.
• Blocs analogiques configurables en amplis-op simples, comparateurs,
filtres, CNAs, CANs, modem, etc.

1.3.1. Mémoire Flash

-4K-32K octets

-architecture extensible à64K octets

-espace spécifique (ROM) en mode superviseur

Hmaied Sarhene Page 3


Cours PSoC 2019/2020

Mapping mémoire Flash

Protection mémoire Flash

•Protection par blocs de 64 octets

•4 niveaux de protection pour chaque bloc

–programmation, lecture externe, écriture interne autorisées

–programmation et écriture autorisées, lecture externe interdite

–écriture autorisée, programmation et lecture externe interdites

–programmation, écriture, lecture externe interdites

•Suppression de la protection par effacement complet du composant

1.3.2. Mémoire RAM

-Mémoire paginée, 1 page = 256 octets

-Jusqu'à 8 pages
-1-8 pages selon la famille

Mapping mémoire RAM

Hmaied Sarhene Page 4


Cours PSoC 2019/2020

1.3.3. Registres

-pour l'accès aux fonctions internes, aux blocs logiques/analogiques et aux


E/S

-deux bancs de 256registres

1.3.4. Oscillateurs et Horloges

 Oscillateur interne principal

-Fréquence 48MHz

-Précision +/-2,5% sans composant externe

Hmaied Sarhene Page 5


Cours PSoC 2019/2020

-Peut être calé sur quartz externe 32KHz si haute précision nécessaire

 Oscillateur interne basse fréquence

-Fréquence 32KHz

-Précision +/-20% sans composant externe (50% en mode veille)

-Peut être calé sur quartz externe 32KHz si haute précision nécessaire

Système d’horlogerie

•Fréquence principale = SYSCLK

*24 MHz si mode interne

*1 à 24 MHz si horloge externe

•Horloge CPU = division de SYSCLK

*8 divisions possibles, de 24/12MHz à 96KHz (mode int.)

•VC1 = division de SYSCLK (1 à16)

•VC2 = division de VC1 (1 à16)

•VC3 = division de VC1/VC2/SYSCLK/SYSCLK2 (1 à 256)

•SYSCLK, SYSCLK2, 32KHz, VC1, VC2, VC3 :

Horloges globales utilisables par les PSoC blocs

•Horloge Sleep Timer = division de 32KHz

*4 divisions possibles, de 512Hz à1Hz

Hmaied Sarhene Page 6


Cours PSoC 2019/2020

1.3.5. Entrées/Sorties

•Jusqu'à 5 ports 8 bits + 1 port 4 bits

•La fonction des broches E/S est paramétrable :

-Entrée et/ou Sortie standard (accessible en lecture et/ou en écriture dans

l'espace registre)

-Entrée et/ou Sortie globale (connexion aux PSoC Blocks numériques)

-Entrée et/ou Sortie analogique

•Mode de sortie paramétrable

-Strong (CMOS), Pull-up, Pull-down, High-Z, Open Drain

•Mode interruption configurable pour chaque broche

-Front montant, descendant, ou changement d'état

1.3.6. PSoC Blocks (exemple CY8C27xxx)

Les PSoC Blocks sont des blocs banalisés (8 blocs logiques et 12 blocs
analogiques) configurables par l'utilisateur

Hmaied Sarhene Page 7


Cours PSoC 2019/2020

Une fois configuré un PSoC Block devient capable de remplir une fonction
particulière, choisie dans une bibliothèque de Modules

Les Modules sont paramétrables par l'utilisateur, à l'initialisation aussi bien


qu'en fonctionnement

Les Modules sont fournis prêts à l'emploi, avec routines logicielles de


paramétrage et de contrôle (API)

La sélection, le paramétrage et l'interconnexion des Modules s'effectuent


graphiquement via le logiciel de développement

a- PSoC Blocks logiques

 8 PSoC Blocks logiques, chacun constituant une 'tranche' de 8 bits


 Chaque bloc est constitué de 3 registres Data et 4 registres de
configuration
 2 types de blocs logiques
 standard : pour toute fonction de type comptage, PWM, etc.
 comm : idem + fonctions de transmission de type UART, SPI, etc.
 Cascadables et interconnectables

Hmaied Sarhene Page 8


Cours PSoC 2019/2020

*Configuration des blocs logiques

*User Modules

•User Module = fonction constituée de un ou plusieurs PSoC Blocks

•Regroupés en bibliothèque, et fournis prêts à l'emploi (hardware/firmware)

•Modules logiques disponibles :

 Timer 8, 16, 24, 32 bits


 Counter 8, 16, 24, 32 bits
 Pseudo random sequence generator8, 16, 24, 32 bits
 PWM 8, 16 bit
 PWMDB 8, 16 bit (PWM with dead band)
 CRC16
 UART (Receive, Transmit, Full Duplex)
 SPI (Master, Slave)

Hmaied Sarhene Page 9


Cours PSoC 2019/2020

 I2C software (I2C hardware disponible en ressource standard)


 IrDA (Receive, Transmit)
 E2PROM (software)
 LCD (software)

Exemple : Module 'Timer'

•Mesure de temps, capture d'événements, génération de baud rate, etc.


•Registre DR1 : Période
•Registre DR0 : Décompteur
•Registre DR2 : Capture
•Routines associées: Timer_write_period, Timer_enable_int, Timer_start,
Timer_write_captureval, Timer_read_period, Timer_stop, etc.

b-PSoC Blocks analogiques

•12 PSoC Blocks analogiques (4 colonnes)

•2 types :

- CT : Continuous Time

Fonctions simples : ampli op, PGA, comparateur

- SC : Switched Capacitors

Fonctions complexes : filtrage, conversion, etc.

Hmaied Sarhene Page 10


Cours PSoC 2019/2020

•Cascadables et interconnectables

b-1-PSoC Blocks 'Continuous Time'

•Ampli-op configurables et paramétrables

•Réseau de résistances échelonnées (précision 2%)

•Référence paramétrable

Exemple : Comparateur

Hmaied Sarhene Page 11


Cours PSoC 2019/2020

b-2- Blocs 'Switched Cap'

Les résistances sont remplacées par des capacités et des switches

i = q/t = fs.q = fs.C.V

Or i=V/R donc R=1/fs.C

Hmaied Sarhene Page 12


Cours PSoC 2019/2020

Avantages des capacités commutées :

-Simplicité de réalisation sur process CMOS

-Contrôle du courant par la fréquence de commutation des switches

Exemple : Ampli non inverseur

Remarques: Il existe deux types de bloc 'Switched Cap'

•2 types: SCA et SCB

•Ampli-op programmables

•CAN incrémental et Δ−Σ

•CNA

•Filtres simples et biquad


– SCA : entrée biquad
– SCB : sortie biquad

Hmaied Sarhene Page 13


Cours PSoC 2019/2020

1.3.7. Convertisseur A/N

•Convertisseur Delta Sigma 8 bits

•1bloc analogique type SC


•1bloclogique (timer)

•Décimateur Hardware (diminue la charge du firmware)

•8 bit = 32 Kech/s

•11 bit = 7.8 Kech/s

Hmaied Sarhene Page 14


Cours PSoC 2019/2020

Exemple : Filtre passe-bas

•2 blocs SC (ordre 2)

•Paramètres programmables

–fréquence centrale (fc)

–Q

–gain

•300 Hz à 250 kHz

Hmaied Sarhene Page 15


Cours PSoC 2019/2020

1.3.8. User Modules analogiques (et mixtes)

•Modules analogiques et mixtes :

•Ampli simple, ampli différentiel, ampli inverseur, ampli à gain programmable

•Comparateur

•Convert. A/N : SAR, delta-sigma, incrémental, double/triple incrémental

•Convert. N/A : 6/9 bits, DAC multiplieur

•Filtres : passe-bas, passe-bande

•Multiplexeur analogique

•Générateur DTMF

•CapSense (détection capacitive)

Hmaied Sarhene Page 16


Cours PSoC 2019/2020

1.3.9. Fonctions combinées

1.4. Modèle de programmation

1.5. Jeu d'instructions

•1, 2 ou 3 octets, 4 à10 cycles/instruction (moyenne 6)

• Contrôle déroulement programme :

–CALL, LCALL, SSC, RET, RETI

–JMP, LJMP, JACC, JC, JNC, JZ, JNZ

–HALT, NOP
Hmaied Sarhene Page 17

Vous aimerez peut-être aussi