Académique Documents
Professionnel Documents
Culture Documents
ppl@cypress.com / 2006
9 Dfinir une plateforme hardware unique pour applications multiples 9 Reconfigurer/adapter les fonctionnalits en temps rel
3
La solution PSoCTM
Regroups dans un mme composant :
9 Un coeur Microcontrleur 8-bits, avec
9 9 9 9 9 Mmoire Flash Oscillateurs internes (pas de quartz externe) Multiplieur/accumulateur Contrleur d'interruptions, Sleep Timer, Watchdog Timer Contrleur I2C
Flash Flash Memory Memory 8-bit 8-bit Microcontroller Microcontroller Core (M8C) (M8C) Core Global Connect Matrix
48MHz Osc Osc 48MHz Int 32KHz 32KHz Osc Osc Int Ext 32KHz 32KHz Osc Osc Ext WatchDog Timer Timer WatchDog Sleep Timer Timer Sleep I2C Controller Interrupt Contr SRAM SRAM Configurable I/Os Decimator Decimator Multiplier/ Multiplier/ Accumulator Accumulator
La solution PSoCTM
Regroups dans un mme composant :
9 Un coeur Microcontrleur 8-bits 9 Des blocs logiques et analogiques banaliss configurables
9 Blocs Logiques configurables en Compteurs, Timers, UARTs, PWMs, SPI, Gnrateurs CRC, etc. 9 Blocs Analogiques configurables en amplis-op simples, comparateurs, filtres, CNAs, CANs, modem, etc.
48MHz Osc Osc 48MHz Int 32KHz 32KHz Osc Osc Int Ext 32KHz 32KHz Osc Osc Ext WatchDog Timer Timer WatchDog Sleep Timer Timer Sleep Interrupt Contr Contr Interrupt SRAM SRAM ConfigurableI/Os I/Os Configurable Decimator Decimator Multiplier/ Multiplier/ Accumulator Accumulator
Le plus souvent le choix final rsulte d'un compromis le microcontrleur choisi possde toutes les ressources ncessaires, plus d'autres superflues le microcontrleur recherch n'existe pas, il faut accepter un sacrifice sur la fonctionnalit ou la performance, ou implanter les fonctions manquantes (par ex. analogiques) a l'extrieur La multiplicit des applications entraine la multiplicit des versions et des choix : standardisation difficile, volumes plus faibles, gestion plus complexe, etc.
UART
PWM
Comp
Comp
CNA
CAN
En rsum
Capteur
Filtrage
Ampli
Microcontrleur
Micro traditionnel
PSoC
LED
Driver LED
LED
10
En rsum
Capteur
Microcontrleur
Micro traditionnel
PSoC
11
LED
Modem
Driver LED
LED
La famille PSoC
12
PSoC CY8C27xxx
BandGap Out. Amp
MAC
13
32K Osc
16k Flash
PLL/Osc
Architecture Microcontrleur
Coeur 8 bits M8C (24MHz) Mmoire Flash ISR Oscillateurs internes Multiplieur/Acc. Cbl Contrleur I2C Priphriques configurables E/S paramtrables
Flash Memory
48MHz Osc Int 32KHz Osc Ext 32KHz Osc WatchDog Timer Sleep Timer I2C Controller SRAM Configurable I/Os Decimator Multiplier/ Accumulator
14
Modle de programmation
PC
Accumulator (8 bits)
X
Index (8 bits)
F
XA
X IO
S C Z IE
Flags (8 bits)
15
Jeu d'instructions
1, 2 ou 3 octets, 4 10 cycles/instruction (moyenne 6) Contrle droulement programme : CALL, LCALL, SSC, RET, RETI JMP, LJMP, JACC, JC, JNC, JZ, JNZ HALT, NOP Arithmtique ADD, ADC, SUB, SBB, INC, DEC, ASL, ASR Comparaisons CMP, TST Logique AND, OR, XOR, CPL, RLC, RRC Dplacement de donnes MOV, MOVI, SWAP, INDEX, PUSH, POP, ROMX
16
Modes d'adressage
Immdiat
ADD MOV A, 7 REG[8], 6
A A
'7'
OP
17
Modes d'adressage
Immdiat
ADD MOV AND MOV MOV A, 7 REG[8], 6 A, [7] X, REG[8] [7], [8] '7' RAM
Direct
A A
OP
18
Modes d'adressage
Immdiat
ADD MOV AND MOV MOV A, 7 REG[8], 6 A, [7] X, REG[8] [7], [9]
NOP
Direct
19
Modes d'adressage
Immdiat
ADD MOV AND MOV MOV ADD MOV ADD A, 7 REG[8], 6 A, [7] X, REG[8] [7], [8] A, [X+7] A, REG[X+9] [X+7], A X X '7' A A
OP
RAM
Direct
Index
20
Modes d'adressage
Immdiat
ADD MOV AND MOV MOV ADD MOV ADD ADD MOV A, 7 REG[8], 6 A, [7] X, REG[8] [7], [8] A, [X+7] A, REG[X+9] [X+7], A [X+7], 5 REG[X+8], 6 X X '7' '5' RAM
Direct
Index
OP
Immdiat index
21
Modes d'adressage
Immdiat
ADD MOV AND MOV MOV ADD MOV ADD ADD MOV MVI MVI A, 7 REG[8], 6 A, [7] X, REG[8] [7], [8] A, [X+7] A, REG[X+9] [X+7], A [X+7], 5 REG[X+8], 6 A, [7] [7], A '7' +1 A A
NOP
RAM
Direct
Index
Immdiat index
Indirect post-incrment
22
Modes d'adressage
Immdiat
ADD MOV AND MOV MOV ADD MOV ADD ADD MOV MVI MVI A, 7 REG[8], 6 A, [7] X, REG[8] [7], [8] A, [X+7] A, REG[X+9] [X+7], A [X+7], 5 REG[X+8], 6 A, [8] [8], A
Direct
Index
Immdiat index
Indirect post-incrment
23
Registres
pour l'accs aux fonctions internes, aux blocs logiques/analogiques et aux E/S deux bancs de 256 registres
24
Espaces d'adressage
32K
48K
64K
USER MAP
SUPER MAP
25
Mmoire Flash
4K 32Koct. selon le composant Process Cypress SONOS (Flash) Organisation par blocs 64 octets 50.000 cycles effac./prog par bloc Programmation tension nominale (Re)programmation in situ Emulation EEPROM
Flash Memory
48MHz Osc Int 32KHz Osc Ext 32KHz Osc WatchDog Timer Sleep Timer I2C Controller SRAM Configurable I/Os Decimator Multiplier/ Accumulator
26
Reset Surveill. alimentation Blocs analogique (col.0) Blocs analogique (col.1) Blocs analogique (col.2) Blocs analogique (col.3) VC3 GPIO Blocs logique 0 Blocs logique 1 Blocs logique 2 Blocs logique 3 Blocs logique 4 Blocs logique 5 Blocs logique 6 Blocs logique 7 I2C Sleep Timer
Vecteurs d'interruption
Zone utilisateur
(32K) 7FFF
27
Protection par blocs de 64 octets 4 niveaux de protection pour chaque bloc programmation, lecture externe, criture interne autorises programmation et criture autorises, lecture externe interdite criture autorise, programmation et lecture externe interdites programmation, criture, lecture externe interdites
28
Emulation E2PROM
La mmoire Flash est utilisable pour la lecture/criture de donnes non volatiles Accs par blocs de 64 octets Lecture : transfert bloc Flash en RAM Ecriture : transfert bloc RAM en Flash Routines firmware pour mulation accs-octet (Read-ModifyWrite) Flash RAM
Bloc n
29
Mmoire RAM
Mmoire pagine, 1 page = 256 octets Jusqu' 8 pages 1-8 pages selon la famille
Flash Memory
48MHz Osc Int 32KHz Osc Ext 32KHz Osc WatchDog Timer Sleep Timer I2C Controller SRAM Configurable I/Os Decimator Multiplier/ Accumulator
30
Donnes utilisateur
Pop
SP
Push
Pile
FF
31
Register Bank 1
FFh
FFh
"User" Space
32
"Config" Space
Oscillateurs et Horloges
Oscillateur interne principal frquence 48MHz prcision +/-2,5% sans composant externe peut tre cal sur quartz externe 32KHz si haute prcision ncessaire Oscillateur interne basse frquence frquence 32KHz prcision +/-20% sans composant externe (50% en mode veille) peut tre cal sur quartz externe 32KHz si haute prcision ncessaire
33
Systeme dhorlogerie
Internal (24MHz) External (1-24MHz)
Oscill. Principal SYSCLK2 (48MHz) SYSCLK (24MHz) Diviseur 2n CPU 24V1 : Divis. 1 a 16 VC1 24V2 : Divis. 1 a 16 SYSCLK SYSCLK2 VC2
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
34
SLP
Entres/Sorties
Jusqu' 5 ports 8 bits + 1 port 4 bits La fonction des broches E/S est paramtrable : Entre et/ou Sortie standard (accessible en lecture et/ou en criture dans l'espace registre) Entre et/ou Sortie globale (connexion aux PSoC Blocks numriques) Entre et/ou Sortie analogique Mode de sortie paramtrable Strong (CMOS), Pull-up, Pull-down, High-Z, Open Drain Mode interruption configurable pour chaque broche Front montant, descendant, ou changement d'tat
35
Adaptabilit
Ce qui prcde dcrit un coeur Microcontrleur trs efficace Q'est-ce qui en fait un composant radicalement nouveau ?
36
UART
PWM
Comp
Comp
CNA
CAN
Data Reg1
IN Process
Data Reg0
OUT Process
Data Reg2
Ou
Aux
Config. registers
38
Data Reg1
Data Reg0
IN Process OUT Process
Data Reg2
Output Aux. IO
Config. registers
Slection de l'horloge
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 pas d'horloge Sortie Glogale 4 (ou 0) Sortie PSoC Block numerique 3 Sortie PSoC Block numerique precedent 48M 24V1 24V2 32K Sortie Globale 0 (ou 4) Sortie Globale 1 (ou 5) Sortie Globale 2 (ou 6) Sortie Globale 3 (ou 7) Entree Globale 0 (ou 4) Entree Globale 1 (ou 5) Entree Globale 2 (ou 6) Entree Globale 3 (ou 7)
Slection sortie
0-100 101 110 111 Invalidation de la sortie Sortie Globale 0 (ou 4) Sortie Globale 1 (ou 5) Sortie Globale 2 (ou 6) Sortie Globale 3 (ou 7)
39
1111
User Modules
User Module = fonction constitue de un ou plusieurs PSoC Blocks Regroups en bibliothque, et fournis prts l'emploi (hardware/firmware) Modules logiques disponibles :
Timer 8, 16, 24, 32 bits Counter 8, 16, 24, 32 bits Pseudo random sequence generator 8, 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) I2C software (I2C hardware disponible en ressource standard) IrDA (Receive, Transmit) E2PROM (software) LCD (software)
40
Mesure de temps, capture d'vnements, gnration de baud rate, etc. Registre DR1 : Priode Registre DR0 : Dcompteur Registre DR2 : Capture
R/W
R/W
R/W
AutoReload
LSB
Compare
MSB
Output may be Configured to Drive a Pin or PSoC block Input
41
Colonne 0
Colonne1
Colonne 2
Colonne 3
CT SCA SCB
CT SCB SCA
CT SCA SCB
CT SCB SCA
42
Mode
+ VDD
15
AGND
43
+ RB RA
+
Vout
G= 1+ RA/RB
15
AGND
44
+ VDD RA RB
+
Vout
15
AGND
45
46
1
q=C.V
22
++
q=C.V
R= i= V R
1 Fs.C
47
1
q=C.V
22
++
q=C.V
Avantages des capacits commutes : - simplicit de ralisation sur process CMOS - contrle du courant par la frquence de commutation des switches
48
Vin
+ -
Vout Vin
Vout
RB
RA
1 2
CB
C A 2 1 1
G= 1+ RA/RB
G= CB/CA
49
Type SCA
CF(32)
1 2
+
2
CBUS OBUS
CB(32)
2 1
50
Type SCB
2 1
+
2
CBUS OBUS
CB(32)
2 1 1 2
51
1
CF
CA
4
CLK
1 2
GATE CLK
16 bit DATA
LATCH
52
Vout C = 1 Vin C2 s 2 C C 1 1 C4 s C4 A B + f C +1 f C C 4 2 C 2 2 s s s 2 3
s 1 2f S
C2
C4 CA
V in
2
C1
CB
1
2
C3
V out
53
Vout C = 1 Vin C2
s CB s 1 + 2 f s C3 f S 2 s C AC B 1 1 C 4 s C 4 + +1 f s C 2C 3 4 2 C 2 f C s 2
C4 CB
CA
C3
2
1 V out
AnalogBus
V in
2
1
C1
2 2
1
54
CompBus
55
Fonctions combines
L'association de plusieurs modules permet la ralisation de fonctions complexes. Exemples :
Rectifieur Demodulateur Multiplieur
Modulation FSK
Modulation htrodyne
votre exemple...
56
Modulateur analogique (blocs SCA) La polarit du gain des blocs SC est dtermine par le signal ASign (contrl par firmware) Les blocs SCA possdent en plus un contrle par signal hardware
V in
ASign
Vout Vin
=
1
CA CF
CF
1
1
2
CA
V out
AMod
57
Exemple : Rectifieur
SPI (Comparator to Global Output Converter) PreAmp Comparator Gain Stage (Full Wave Detector) Signal Flow Signal comes into Preamp Goes to Gain Stage and Comparator SPI converts comparator to Global Output Global Output used to control Gain Stage modulator bit Example: 4 cycle 20 kHz burst
58
Exemple : Dmodulateurd'amplitude
SPI (Comparator to Global Output Converter) Comparator PreAmp Low Pass Filter (AM Demodulator) Signal Flow Signal comes into Preamp Goes to Low Pass Filter and Comparator SPI converts comparator to Global Output Global Output used to control Low Pass Filter modulator bit Example: 10 cycle 50 kHz burst
59
AN2020 : Redundant Fan System AN2024 : Polyphonic Piano AN2025 : CTCSS Carrier Generation with a PSoC Microcontroller AN2028 : Ohmmeter AN2034 : Keypad Scan, PSoC Style AN2037 : 8-pin PDIP Produces 100 kHz Pseudo Random White Noise AN2042 : Multifunctional Optical Sensor AN2043 : Real-Time Clock in PSoC AN2044 : Signal Rectification, using Switched Capacitor Modulators AN2045 : Designing a Compact and Flexible LIN Controller AN2047 : Ultrasound Motion Sensor (New!) AN2048 : Range Finder By: Fabio Piana AN2049 : OnTV-21 By: Bernard Debbasch AN2050 : Vector-SoC: A 1-GHz Vectorial Network Analyzer By: Robert Lacoste AN2051 : Precision Digital Controller By: H.N. Naveen and S. G. Sriharsha AN2052 : Intelligent Light Effects Controller for Entertainment Systems By: Victor Kremin AN2053 : LCR Meter By: Laurent Lamesch AN2055 : Low-Power "Contactless" Tag Reader By: Chanh Ho Minh AN2056 : PAudio Analyzer By: Jerry Wasinger AN2058 : Remote Human Health Monitoring System By: Victor Kremin AN2059 : Simple Wireless Bluetooth Mobile Phone Headset By: Wong Kai Juan
AN2060 : Audiometer By: Amit Davjekar AN2062 : Laser Diode Controller By: Seenath Punnakal AN2063 : Blood Pressure Recorder By: Dave Goodrich AN2064 : Variable Color Street Number Sign By: Aubrey Kagan AN2067 : Bar Code Reading Attendance Register System By: Tejinder Singh AN2069 : Lock-In Amplifier By: Seenath Punnakal AN2074 : Poor Man's Oscilloscope By: Elden Crom AN2077 : Localized GPS Tracker By: G.K.Siddhartha, Puneet Nayyar, Ajit Singh AN2083 : PSoC485 By: Ray Walker AN2085 : All Purpose Tester By: Andrew McDowell AN2086 : Digitally Controlled Sine and Square Wave Generation AN2087 : Motor Tachometer Speed Calculation Using Hardware Timer Capture Feature AN2089 : Programmable Bipolar Analog Current Source. PSoC Style AN2091 : RC5 Codec AN2092 : Infrared Learner (Remote Control) AN2093 : Keypad Scan using ADC (SAR6 ) AN2095 : Logarithmic Signal Companding. Not just a good idea, it's m-Law! AN2098 : FSK Generator using the PSoC Device (Preliminary Draft!) AN2099 : Single Pole IIR Filters. To Infinity And Beyond! (Preliminary Draft!)
60
PSoC Applications
Horlogerie
oscillateur interne 24/48MHz, prcision 2.5% oscillateur interne 32KHz pour Watchdog et Sleep haute prcision avec quartz externe 32KHz Diviseurs de frquence pour blocs priphriques sortance 25mA sorties avec options pull-up/down, High-Z, Open Drain jusqu 12 entrees analogiques jusqu 4 sorties analogiques 40mA Interruption
Entres/Sorties
Mmoire Flash
16K octets 4 niveaux de protection Programmable in-situ (ISSP) programmable par blocs 50000 effacement/programmation par bloc
Blocs priphriques
12 blocs analogiques rail-to-rail configurables : ADCs (jusqu 14bits) DACs (jusqu 8 bits) Amplis gain programmables Filtres, comparateurs 8 blocs numeriques configurables Timers, compteurs, PWM, de 8 32 bits CRC, PRS UARTs half/full duplex, SPI maitre/esclave brochage libre Ralisation de fonctions complexes par combinaison
Autres ressources
Contrleur I2C maitre/esclave 400KHz Watchdog, Sleep timer Supervision dalimentation, avec detection de sous-tension Tensions de rfrence Logiciel tlchargeable gratuit Emulateur et programmateur Emulation temps rel Points darrt complexes Mmoire de trace (128Koct)
Systme de dveloppement
61
La famille PSoC
CY8C29xxx Operating Frequency Operating voltage Program Memory (Kbytes) Data Memory (Bytes) Digital Blocs Analog Blocs I/O pins Packages 94KHz-24MHz 3.0-5.25V 32 2K 24 12 24-64 DIP,SSOP,MLF
DIP,SSOP,MLF SOIC,SSOP,MLF
62