Architecture introduction. Architecture de base Alimentation µC Périphériques Oscillateur.
-
Upload
come-boisseau -
Category
Documents
-
view
105 -
download
0
Transcript of Architecture introduction. Architecture de base Alimentation µC Périphériques Oscillateur.
Architecture
introduction
Architecture de base
Alimentation
µC
Périphériques
Oscillateur
Alimentation
• Se constitue de deux éléments :– Une source de tension régulée
• Fournit une tension stable
– Un superviseur• Surveille les éventuelles chutes de tensions et
reset le µC si besoin est.• Evite le code aléatoire• Intégré dans les pic 18FXXXX (mais à activer)
Alimentation
• Penser à placer un condensateur de 100nF en parallèle des pattes d’alimentation des pic et circuits logiques
Oscillateur
• En général circuit constitué d’un quartz et deux condensateurs.
Port d’E/S
• Les ports d’entrée sortie d’un µC ne peuvent fournir qu’un courant très faibles
• La tension en sortie est 0 ou Vcc (tension d’alimentation)
• On peut lire ou écrire sur le port
• Attention de ne forcer matériellement et en écriture un port à des valeurs différentes (court-circuit et destruction du µC)
Périphériques
• Il en existe de tout types
• Les pics en embarquent un certains nombres
• Prévoir des ressources et les moyens de communication (bus) et le traitement par le µC.
Périphériques embarqués par les PICs
• CAN
• Compare and capture unit =>générateur PWM
• UART (liaison série)
• Et bien d’autres à voir dans la datasheet
Architecture
Spécificité des PIC
ICD2
• Permet la programmation et le déboguage in-situ
• Nécessite une embase RJ-11 reliée aux pattes adéquates du µC
Programmation
bases
Langage utilisé et restriction
• Sous ensemble du langage C
• Utilisation des ressources à gérer proprement :– Par exemple ne pas mettre un long là ou un
char suffirait– Limiter l’utilisation des flottants
Syntaxe
• La syntaxe employée est celle du C standard.
• On n’utilise cependant pas les fonctions de stdio.h (sauf redirections)
• p18FXXXX.h à inclure dans la source.
Les registres
• Configurent ou permettent de lire l’état du microcontrôleur
Les registres
• Pour écrire dans le registre deux méthodes :– Registre=valeur; (par exemple T0CON=0x30;)– En accédant à chaque bit
Registresbits.Lebit=0 ou 1;
(exemple : T0CONbits.PSA=1;)
Exemple de code
• Void main (void)
{
while(1)
{
PORTA=0XFF-PORTA;}
}
Programmation
Périphériques
Scrutation
• Le µC va régulièrement lire les registres associés au périphériques pour traiter le cas échéant les données reçus
• Avantage– Facile à programmer à gérer
• Inconvénients– Occupe beaucoup le processeurs– Difficile à utiliser avec un beaucoup de
périphérique
Interruption
• Les périphériques interrompent l’exécution du programme principal selon leurs besoins
• En cas d’IT le processeur saute au vecteur d’interruption de la priorité associée.
• Nécessite moins de ressources que la scrutation
• Plus difficile à programmer.
Interruption How to 1/2• Configurer le périphérique, donner une priorité à son
IT(IPR1/2) et la démasquer (PIE1/2)• Activer les interruptions (INTCON {0,1})• Ajouter du code à l’image de ce qui suit#pragma code InterruptVectorHigh = 0x08voidInterruptVectorHigh (void){ _asm goto InterruptHandlerHigh //jump to interrupt routine _endasm• }
Interruption How to 2/2
• La fonction void InterruptHandlerHigh()doit alors lire les flags d’IT (registre PIR1/2) pour trouver la source, traiter les données et acquitter l’IT
• On doit répéter ces deux bouts de code pour les IT de priorité basse (en changeant le vecteur)
Montages et périphériques basiques
Pont en H• Contrôle le sens et la vitesse d’un moteur
à courant continue
• Peut etre connecté directement en sortie du µC si constitué de mosfet
Générateur PWM
• Pulse Width Modulation.
• Génère un signal carré de rapport cyclique variable.
• Permet par exemple de faire varier la vitesse d’un moteur.
• Très utilisé en association avec le pont en H
CAN
• Convertisseur analogique numérique
• Retourne tous les Tconv une valeur numérique n sur N bit représentant la tension mesuré de telle sorte que
• V=n*(FULL-SCALE/(2^(N))
• Utile pour mesurer le retour d’un capteur par exemple.