📋 Plan du Cours
- Architecture PIC18
- Microcontrôleurs PIC18
- Bus de communication
- Ports E/S PIC18
- Convertisseur A/N PIC18
- Interruptions PIC18
- Timers PIC18
- Programmation PIC18
- Architecture Harvard
- Processeur RISC
- Mémoire PIC18
- Communication série PIC18
📖 1. Architecture PIC18
🔑 Notions clés & Définitions
- Microcontrôleur : Système sur une puce intégrant une ALU, des mémoires (programme et donnée), des ports E/S, CAN-CNA, permettant la commande et le contrôle de processus (voir introduction).
- Classification selon la taille du bus de données : Catégorisation des microcontrôleurs en 8, 16 ou 32 bits, déterminant leur capacité de traitement et leur usage spécifique.
- Familles de PIC : Groupes de microcontrôleurs PIC différenciés par leurs caractéristiques, comme 10Fxxx/12Fxxx (basique, économique), 16Cxxx/16Fxxx (milieu de gamme), 18Cxxx/18Fxxx (instruction plus complète, ~75 instructions), PIC24/dsPIC (16 bits), PIC32 (32 bits).
- Architecture Harvard : Conception séparant physiquement la mémoire programme et la mémoire données, avec deux bus distincts permettant un accès simultané (voir architecture 2.2).
- Processeur RISC : Microprocesseur à jeu d’instruction réduit (77 instructions pour PIC18), avec instruction et opérande codés sur un seul mot, structure orthogonale, et pipeline permettant une exécution rapide (voir 2.3).
📝 Points essentiels
- Les microcontrôleurs PIC18 regroupent plusieurs éléments essentiels dans un seul circuit intégré, formant un "système sur une puce" (voir 1.1).
- La classification en 8, 16 ou 32 bits influence leur domaine d’application, leur performance et leur coût, avec une part de marché significative en 2021 (voir 1.2).
- Les familles PIC sont différenciées par leur jeu d’instructions, leur capacité mémoire, leur alimentation, et leur fréquence maximale (voir 1.3, 1.5).
- L’architecture Harvard permet un transfert simultané d’instructions et de données, améliorant la performance par rapport à l’architecture Von Neumann (voir 2.2).
- Le processeur PIC18 est basé sur une architecture RISC, avec un jeu d’instructions réduit, un mode pipeline, et une exécution potentielle d’une instruction par cycle (voir 2.3).
- La mémoire programme (FLASH) est adressable jusqu’à 2 Mo avec un compteur de 21 bits, tandis que la mémoire donnée est organisée en 16 banques de 256 octets, accessibles via BSR (voir 2.6, 2.7).
- Les registres SFR contrôlent les périphériques comme les ports E/S, timers, interruptions, convertisseurs A/N, etc. (voir 2.8).
💡 À retenir
Les microcontrôleurs PIC18 sont des systèmes intégrés à architecture Harvard et jeu d’instruction RISC, classés selon la taille du bus de données, et conçus pour optimiser la performance et la flexibilité dans diverses applications industrielles, grand public ou IoT.
📖 2. Microcontrôleurs PIC18
🔑 Notions clés & Définitions
- ALU (Unité Arithmétique et Logique) : Composant qui exécute les opérations arithmétiques et logiques sur les données, décodé par le registre d’instruction. (Source : architecture PIC18)
- Registres SFR (Special Function Registers) : Registres spéciaux permettant de contrôler et de gérer les périphériques internes tels que ports E/S, timers, convertisseurs A/N, etc. (Source : architecture PIC18)
- Timers (0,1,2,3) : Circuits intégrés pour gérer les temporisations, PWM, comptages, avec modes 8 ou 16 bits, générant des interruptions en overflow. (Source : architecture PIC18)
- Convertisseur A/N (Analogique-Numérique) : Circuit permettant d’acquérir des signaux analogiques, de les convertir en valeurs numériques pour traitement. La configuration inclut la sélection des broches et des sources de référence. (Source : section 4)
- Référence PIC18F4550 : Microcontrôleur spécifique de la famille PIC18, intégrant notamment USB, horloge, watchdog, oscillateur externe, avec une mémoire programme de 2 Mo et une structure mémoire divisée en banques RAM et SFR. (Source : référence décodage PIC18)
📝 Points essentiels
- Architecture Harvard : La séparation physique des mémoires programme (FLASH) et donnée (RAM), avec deux bus distincts permettant un accès simultané, améliorant la performance (voir architecture Harvard).
- Processeur RISC : Jeu d’instructions réduit (77 instructions pour PIC18), instructions codées sur un seul mot, structure pipeline pour exécution rapide, piloté par un générateur de signaux divisant l’horloge système par 4 (voir processeur RISC).
- Mémoire programme : Organisation en mots de 16 bits, avec un compteur de 21 bits adressant jusqu’à 2 Mo, vecteurs d’interruption fixes (0x00, 0x08, 0x16).
- Mémoire donnée : Divisée en 16 banques de 256 octets, accessibles via le registre BSR, avec registres SFR pour contrôler E/S, timers, interruptions, etc.
- Fonctions spécifiques : Horloge (oscillateur externe ou interne, PLL), reset (POR, MCLR, WDT, BOR), USB, watchdog, oscillateur externe, débogage.
💡 À retenir
L’architecture interne du PIC18 combine une unité ALU performante, une mémoire divisée en banques, des timers, et des registres SFR pour une gestion efficace des périphériques, le tout piloté par un processeur RISC basé sur une architecture Harvard.
📖 3. Bus de communication
🔑 Notions clés & Définitions
- Bus bifilaire (voir caractéristiques du bus I2C) : Bus utilisant deux fils pour la transmission des données (SDA) et de l’horloge (SCL), permettant l’échange bidirectionnel de données.
- Bus multi-maîtres (voir caractéristiques du bus I2C) : Configuration où plusieurs maîtres peuvent contrôler le bus, coordonnant l’accès aux esclaves via des protocoles de gestion de priorité.
- Bus série synchrone full duplex (voir caractéristiques du bus SPI) : Liaison où la transmission des données se fait simultanément dans les deux sens, avec un signal d’horloge partagé, permettant une communication rapide.
- Bus série bidirectionnel half-duplex (voir caractéristiques du bus CAN) : Bus où la communication s’effectue dans un seul sens à la fois, mais dans les deux directions, avec un seul fil de transmission.
- Protocole de communication série (voir protocoles de dialogue) : Ensemble de règles pour l’échange de données entre dispositifs, incluant la synchronisation, la gestion des adresses, et le format des trames.
📝 Points essentiels
- RS232 : Norme de communication série asynchrone, utilisant deux fils Tx et Rx, pour la liaison PC-périphériques, sans signal d’horloge (voir communication série RS232 dans la section 12).
- I2C : Proposé par Philips (voir Philips, date non précisée), ce bus bifilaire supporte plusieurs maîtres, avec des adresses de 7 bits, et fonctionne à 100 ou 400 Kbits/s. Il permet la connexion simultanée de jusqu’à 128 abonnés, facilitant la communication entre composants intégrés dans un système embarqué.
- SPI : Liaison série synchrone full duplex, utilisant trois fils (MOSI, MISO, SCLK), plus un fil de sélection (SS). Elle offre une vitesse plus élevée que l’I2C, adaptée aux échanges rapides.
- CAN : Bus série bidirectionnel half-duplex, utilisé principalement dans l’automobile, où chaque nœud connecté par une paire torsadée peut communiquer avec tous les autres, avec des résistances de 120 Ω aux extrémités (voir protocole CAN).
- Protocoles de communication série et leurs différences : La norme RS232 est asynchrone, I2C est half-duplex et multi-maîtres, SPI est synchrone full duplex, et CAN est half-duplex, adapté aux réseaux robustes et à haute fiabilité.
💡 À retenir
Les bus série comme I2C, SPI, et CAN offrent des solutions adaptées à différents besoins en communication embarquée, en combinant vitesse, complexité et capacité de gestion multi-dispositifs.
📖 4. Ports E/S PIC18
🔑 Notions clés & Définitions
-
Ports A, B, C, D, E, F : Interfaces physiques du PIC18F4550 permettant la connexion avec des composants externes, configurables en entrée ou sortie selon les besoins (source : Christophe SABOURIN, 2023).
-
Registre TRISx : Registre de configuration qui définit la direction de chaque broche du port x (entrée ou sortie). Un bit à 1 configure la broche en entrée, un bit à 0 en sortie (source : Christophe SABOURIN, 2023).
-
Registre LATx : Registre de sortie qui contrôle l’état logique des broches configurées en sortie. La modification de LATx modifie directement le niveau logique sur la broche correspondante (source : Christophe SABOURIN, 2023).
-
Registre PORTx : Registre de lecture qui permet de connaître l’état logique actuel des broches du port x, notamment en mode entrée. La lecture de PORTx donne le niveau électrique présent sur chaque broche (source : Christophe SABOURIN, 2023).
-
Résistances pull-up internes : Résistances intégrées au PIC18F4550 activables sur certaines broches pour maintenir un niveau haut en absence de signal (niveau flottant). Leur activation se fait via le bit RBPU (bit 7 du registre INTCON2) (source : Christophe SABOURIN, 2023).
📝 Points essentiels
-
La configuration des ports se réalise principalement via le registre TRISx, où chaque bit détermine la direction de la broche correspondante : 1 pour entrée, 0 pour sortie. La configuration doit être adaptée selon l’application (lecture ou commande).
-
Le registre LATx est utilisé pour définir l’état logique des broches configurées en sortie, évitant ainsi des effets indésirables liés à la lecture directe de PORTx en mode sortie.
-
La lecture de PORTx permet de connaître l’état électrique des broches, utile pour détecter des signaux externes ou vérifier l’état de composants connectés.
-
La résistance pull-up interne est activée globalement pour le port B en réglant RBPU à 0. Elle permet d’éviter les états flottants sur les entrées, notamment pour des boutons ou capteurs.
-
L’utilisation du multiplexage, par exemple pour contrôler plusieurs afficheurs via PORTA et PORTB, repose sur la configuration précise des TRISx et LATx pour gérer efficacement les signaux.
💡 À retenir
Les ports E/S du PIC18F4550, configurés via TRISx, LATx, et PORTx, permettent une gestion flexible et efficace des interfaces externes, notamment grâce aux résistances pull-up internes activables via RBPU, facilitant la conception de systèmes embarqués interactifs.
📖 5. Convertisseur A/N PIC18
🔑 Notions clés & Définitions
- Acquisition : Processus de prélèvement du signal analogique par le convertisseur A/N pour le transformer en signal numérique, en utilisant le circuit d'entrée du CAN (voir section 4.2).
- Conversion : Opération de transformation du signal analogique en une valeur numérique discrète, effectuée par le circuit de conversion du PIC18 (voir section 4.3).
- Configuration des broches : Paramétrage des broches du microcontrôleur en mode analogique ou numérique via des registres spécifiques, notamment la configuration des entrées analogiques (voir section 4.4).
- Source de tension de référence : Tension utilisée comme référence pour la conversion A/N, pouvant être interne ou externe, déterminant la plage de mesure du convertisseur (voir section 4.5).
- Principe du schéma fonctionnel : Le signal analogique est d’abord acquis via une entrée spécifique, puis converti par le circuit A/N intégré, permettant de lire la valeur numérique correspondante pour traitement ultérieur (voir section 4.1).
📝 Points essentiels
Le convertisseur A/N du PIC18 fonctionne selon un principe simple : le signal analogique est d’abord acquis par une entrée dédiée, puis converti en une valeur numérique par le circuit intégré. La configuration des broches en mode analogique est essentielle pour assurer une lecture correcte, en activant notamment les entrées analogiques via les registres appropriés (voir section 4.4). La tension de référence, paramétrée par le logiciel, détermine la plage de mesure du convertisseur, permettant d’adapter la lecture à différents niveaux de tension (voir section 4.5). La conversion elle-même se réalise en utilisant le module interne du PIC18, qui peut être configuré pour effectuer des acquisitions rapides ou précises, selon les besoins de l’application (voir section 4.3). Un exemple pratique est la régulation de la fréquence de clignotement d’un LED, contrôlée par un potentiomètre, où la tension analogique du potentiomètre est convertie en numérique pour ajuster la temporisation du clignotement (voir section 4.6). La configuration correcte des broches et des sources de référence est cruciale pour garantir la précision et la fiabilité de la lecture analogique.
💡 À retenir
Le convertisseur A/N du PIC18 permet de transformer efficacement un signal analogique en une valeur numérique exploitable, en utilisant une acquisition précise et une configuration adaptée des broches et de la tension de référence.
📖 6. Interruptions PIC18
🔑 Notions clés & Définitions
-
Principe général des interruptions : mécanisme permettant à un microcontrôleur de répondre à un événement externe ou interne en interrompant son programme principal, en détectant l’événement, sauvegardant le contexte, traitant l’événement, puis en revenant au programme initial. Source : Christophe SABOURIN (responsable de la section).
-
Sauvegarde du contexte : étape essentielle lors d’une interruption où l’état actuel du microcontrôleur (registres, compteur de programme, etc.) est enregistré pour permettre une reprise correcte après traitement. Source : Christophe SABOURIN.
-
Sources d’interruption dans PIC18 : événements pouvant déclencher une interruption, notamment les entrées externes INT0, INT1, INT2, le débordement des timers, le changement d’état sur PORTB, ou des périphériques comme CAN ou UART. Source : Christophe SABOURIN.
-
Priorités d’interruption (niveau haut/bas) : système permettant de gérer plusieurs interruptions en leur assignant des niveaux de priorité, où les interruptions de niveau haut préemptent celles de niveau bas, assurant une gestion efficace des événements critiques. Source : Christophe SABOURIN.
-
Mécanisme fondamental pour gestion événements externes : processus par lequel le microcontrôleur détecte, répond et traite rapidement des événements externes, en utilisant notamment les sources d’interruption et le contrôle des priorités, pour assurer la réactivité du système. Source : Christophe SABOURIN.
📝 Points essentiels
-
La séquence d’une interruption commence par la détection d’un événement, puis la fin de l’instruction en cours, la sauvegarde de l’adresse de retour, le déroutement vers la routine d’interruption, la sauvegarde du contexte, l’identification de l’événement, le traitement, puis la restauration du contexte et le retour au programme principal. Source : Christophe SABOURIN.
-
Les sources d’interruption dans PIC18 incluent notamment les entrées externes (INT0, INT1, INT2), le débordement des timers, le changement d’état sur PORTB, ainsi que les périphériques comme CAN ou UART. Ces sources peuvent être configurées pour générer des interruptions à différents niveaux de priorité, permettant une gestion hiérarchisée des événements. Source : Christophe SABOURIN.
-
La gestion des priorités d’interruption dans PIC18 se fait via des registres spécifiques, où chaque interruption peut être activée ou désactivée individuellement, et assignée à un niveau de priorité haut ou bas. La validation globale des interruptions est contrôlée par un bit de validation générale. Source : Christophe SABOURIN.
-
La capacité du PIC18 à réveiller le microcontrôleur en mode sommeil grâce aux interruptions est une caractéristique clé pour la gestion de systèmes à faible consommation d’énergie. Source : Christophe SABOURIN.
💡 À retenir
Les interruptions dans PIC18 sont un mécanisme essentiel permettant une réponse rapide et hiérarchisée aux événements externes ou internes, en sauvegardant le contexte, traitant l’événement, puis en reprenant le programme principal.
📖 7. Timers PIC18
🔑 Notions clés & Définitions
- Timers du PIC18 : Modules matériels permettant de générer des temporisations précises ou des signaux PWM, essentiels pour le contrôle de processus en temps réel. Selon Christophe SABOURIN (responsable parcours ESE), ils sont utilisés pour la gestion des temporisations et PWM dans les microcontrôleurs PIC18.
- Timer0 : Timer configurable en mode 8 bits ou 16 bits, utilisé pour des temporisations ou des comptages rapides, avec possibilité d'interruption cyclique (voir section 7.1).
- Timer1 : Timer 16 bits dédié aux temporisations précises, souvent utilisé pour la mesure de durée ou la capture d’événements (voir section 7.1).
- Timer2 : Timer 8 bits, souvent employé pour la génération de PWM ou des temporisations périodiques, avec un pré-diviseur ajustable (voir section 7.1).
- Configuration des timers : Inclut le choix du mode (8 ou 16 bits), la sélection de l’horloge (interne ou externe), et la validation du pré-diviseur pour ajuster la fréquence de comptage (voir sections 7.2, 7.3, 7.4).
📝 Points essentiels
- Gestion des temporisations : Les timers permettent de générer des délais précis ou des signaux PWM pour le contrôle de moteurs, la modulation de puissance, ou la synchronisation d’événements (voir section 7.5).
- Mode de fonctionnement : Les timers peuvent fonctionner en mode compteur ou en mode générateur de PWM, avec des options pour l’interruption à chaque overflow ou à des valeurs de comparaison (voir sections 7.5, 7.6, 7.7).
- Types de timers :
- Timer0 : Mode 8 ou 16 bits, utilisé pour des temporisations rapides ou des comptages (section 7.1, 7.2).
- Timer1 : Timer 16 bits, souvent pour la mesure de durée ou la capture d’événements externes (section 7.1).
- Timer2 : Timer 8 bits, souvent pour PWM ou temporisations périodiques (section 7.1).
- Timer3 : Timer supplémentaire 16 bits, utilisé dans certains modèles pour des applications avancées (section 7.1).
- Configuration : La sélection du mode, du front d’horloge externe ou interne, et la validation du pré-diviseur permettent d’adapter la fréquence de comptage ou la période de sortie PWM (sections 7.2, 7.3, 7.4).
- Exemples d’application :
- Génération d’interruptions cycliques pour la gestion de tâches périodiques (section 7.5).
- Clignotement de LED ou comptage d’impulsions externes (sections 7.7, 7.8).
- Mesure de durée ou détection d’événements (section 7.10).
💡 À retenir
Les timers du PIC18 sont des modules essentiels pour la gestion précise du temps et la génération de signaux PWM, configurables en mode compteur ou générateur de PWM, permettant de réaliser des contrôles en temps réel dans les systèmes embarqués.
📖 8. Programmation PIC18
🔑 Notions clés & Définitions
- Jeu d’instruction RISC (Reduced Instruction Set Computer) : ensemble limité d’instructions simples et rapides, permettant une exécution en un seul cycle machine, avec un nombre d’instructions total de 77 pour le PIC18, favorisant la simplicité et la rapidité d’exécution (Dogan Ibrahim, 2023).
- Structure orthogonale du jeu d’instruction : caractéristique où toutes les instructions peuvent utiliser tous les registres et modes d’adressage sans restriction, facilitant la programmation et la cohérence des opérations.
- Mode pipeline du processeur : technique permettant d’exécuter plusieurs instructions en chevauchement, augmentant la vitesse d’exécution en traitant une instruction pendant que la précédente est encore en cours de traitement, avec un générateur de signaux divisant l’horloge système par 4 (Dogan Ibrahim, 2023).
- Codage des instructions et opérandes sur un seul mot : chaque instruction et ses opérandes sont encodés dans un mot unique, ce qui optimise la vitesse de traitement et simplifie le décodage dans le microcontrôleur.
- Gestion des interruptions en programmation : mécanisme permettant au microcontrôleur de répondre rapidement à des événements extérieurs en sauvegardant l’état actuel, en traitant l’événement via une routine spécifique, puis en reprenant le programme initial (Christian Tavernier, 2023).
📝 Points essentiels
- Le PIC18 utilise un jeu d’instruction RISC de 77 instructions, optimisé pour la rapidité et la simplicité d’exécution, avec un codage compact où instructions et opérandes sont sur un seul mot, permettant une exécution en un cycle machine (mode pipeline).
- La structure orthogonale du jeu d’instruction facilite la programmation en permettant l’utilisation de tous les registres et modes d’adressage de manière cohérente, ce qui simplifie la conception des routines.
- Le mode pipeline du processeur, piloté par un générateur de signaux divisant l’horloge système par 4, permet d’exécuter potentiellement une instruction par cycle, mais nécessite de vider le pipeline lors de sauts pour éviter les erreurs.
- La gestion des interruptions repose sur la détection d’événements, la sauvegarde du contexte, le traitement spécifique, puis la restauration, ce qui permet une réponse rapide aux événements extérieurs, essentielle dans les systèmes embarqués.
- La programmation peut se faire en langage assembleur ou en langage C, avec des outils comme MPLAB-X IDE et XC8, permettant une optimisation selon les contraintes de mémoire et de vitesse.
💡 À retenir
Le PIC18 exploite un jeu d’instruction RISC orthogonal et un mode pipeline pour maximiser la vitesse d’exécution, tout en assurant une gestion efficace des interruptions pour répondre aux événements externes.
📖 9. Architecture Harvard
🔑 Notions clés & Définitions
- Architecture Harvard : conception de microprocesseurs qui sépare physiquement la mémoire de programme et la mémoire de données, permettant un accès simultané via deux bus distincts, ce qui augmente la performance (voir aussi "Deux bus distincts pour accès simultané aux instructions et données").
- Deux bus distincts : dans une architecture Harvard, un bus est dédié à la mémoire de programme (instructions) et un autre à la mémoire de données, permettant un transfert parallèle et plus rapide (voir aussi "séparation physique mémoire programme et mémoire données").
- Avantages en performance : grâce à la séparation des flux d'instructions et de données, l'architecture Harvard permet une exécution plus rapide des programmes par rapport à l'architecture Von Neumann, qui partage un seul bus.
- Complexité interne accrue : cette architecture nécessite une gestion plus sophistiquée de la mémoire et des bus, ce qui augmente la complexité du circuit intégré et du contrôleur mémoire.
- Principe : la séparation physique de la mémoire et l'utilisation de deux bus distincts permettent de transférer simultanément instructions et données, optimisant ainsi la vitesse d'exécution (voir aussi "séparation physique mémoire programme et mémoire données").
📝 Points essentiels
- L'architecture Harvard sépare physiquement la mémoire de programme et la mémoire de données, chacune étant accessible via un bus dédié, ce qui permet un transfert simultané des instructions et des données.
- Elle est souvent utilisée dans les microcontrôleurs comme la famille PIC18, car elle offre un avantage en performance par rapport à l'architecture Von Neumann, qui partage un seul bus pour instructions et données.
- La séparation physique implique une complexité accrue dans la conception du circuit, notamment pour la gestion des deux bus et des mémoires distinctes.
- La capacité à accéder simultanément à la mémoire de programme et à la mémoire de données réduit le temps d'exécution global des programmes, notamment dans les applications temps réel ou exigeantes en performance.
- La conception de cette architecture nécessite une gestion spécifique des flux de données, ce qui peut augmenter la taille et la coût du circuit intégré.
💡 À retenir
L'architecture Harvard, en séparant physiquement la mémoire de programme et la mémoire de données avec deux bus distincts, permet une exécution plus rapide des instructions, mais au prix d'une complexité interne accrue.
📖 10. Processeur RISC
🔑 Notions clés & Définitions
- Jeu d’instruction réduit (RISC) : architecture de processeur caractérisée par un ensemble d’instructions simple, de taille fixe, permettant une exécution rapide et efficace. Selon Dogan Ibrahim (2023), le RISC optimise la vitesse en simplifiant le jeu d’instructions pour réduire le nombre de cycles nécessaires à leur exécution.
- Exécution en un seul cycle machine (hors saut) : principe selon lequel la majorité des instructions sont exécutées en un seul cycle d’horloge, sauf pour les opérations de saut ou de branchement, ce qui accélère la performance globale. Dogan Ibrahim (2023) précise que cette approche permet une exécution plus fluide et prévisible.
- Structure pipeline : organisation interne du processeur permettant de traiter plusieurs instructions simultanément à différents stades d’exécution, augmentant ainsi le débit. La structure pipeline pour l’exécution d’une instruction par cycle est une caractéristique clé du RISC, permettant une augmentation significative des performances.
- Jeu d’instruction orthogonal : ensemble d’instructions où chaque opération peut être combinée avec n’importe quel mode d’adressage ou registre, simplifiant la conception et la programmation. Selon Dogan Ibrahim (2023), cette orthogonalité facilite la compilation et l’optimisation du code.
- Générateur de signaux divisant horloge système par 4 : circuit qui divise la fréquence de l’horloge principale par 4 pour synchroniser le traitement du processeur, permettant de gérer la cadence d’exécution et la synchronisation des opérations internes.
📝 Points essentiels
- Le processeur RISC se distingue par son jeu d’instruction réduit (voir Dogan Ibrahim, 2023), ce qui permet une exécution plus rapide et une simplification de la conception matérielle.
- La structure pipeline est essentielle pour atteindre une exécution potentielle d’une instruction par cycle, en divisant le traitement en plusieurs étapes parallèles, ce qui augmente le débit.
- La divisions de l’horloge système par 4 est assurée par un générateur de signaux dédié, permettant de synchroniser efficacement le pipeline et d’optimiser la cadence d’exécution.
- La conception orthogonale du jeu d’instruction facilite la programmation et la compilation, en permettant une utilisation flexible des registres et modes d’adressage.
- La majorité des instructions sont conçues pour s’exécuter en un seul cycle, sauf pour les opérations de saut, qui nécessitent une gestion spécifique pour vider le pipeline (flush).
💡 À retenir
Le processeur RISC optimise la vitesse d’exécution grâce à un jeu d’instruction simple et une architecture pipeline efficace, tout en utilisant un générateur de signaux pour synchroniser la cadence du système.
📖 11. Mémoire PIC18
🔑 Notions clés & Définitions
- Mémoire programme (FLASH) : Mémoire non volatile utilisée pour stocker le code exécutable, adressable jusqu’à 2 Mo avec un compteur programme de 21 bits, permettant un accès rapide et permanent.
- Vecteurs d’interruption : Adresses fixes dans la mémoire programme (0x00, 0x08, 0x16) où sont placés les routines d’interruption, permettant une réponse immédiate aux événements externes ou internes.
- Mémoire donnée : Organisation en 16 banques de 256 octets, accessible via le registre BSR, facilitant la gestion de la mémoire RAM dans un espace de 4 Ko.
- Registres spéciaux (SFR) : Registres dédiés au contrôle des périphériques et des fonctions internes du microcontrôleur, permettant la configuration et la gestion des E/S, timers, interruptions, etc. (voir section 2.8).
- Organisation et décodage des adresses mémoire : Mécanisme par lequel le microcontrôleur détermine l’emplacement précis d’une donnée ou d’un programme, notamment via le décodage des adresses pour accéder à la mémoire programme ou donnée.
📝 Points essentiels
- La mémoire programme (FLASH) du PIC18 est adressable jusqu’à 2 Mo, avec un compteur de programme (PC) de 21 bits, ce qui permet de gérer un espace mémoire étendu pour le code.
- Les vecteurs d’interruption sont situés à des adresses fixes (0x00, 0x08, 0x16), permettant un traitement prioritaire des événements critiques.
- La mémoire donnée est organisée en 16 banques de 256 octets, et l’accès à ces banques se fait via le registre BSR, qui sélectionne la banque active pour la lecture ou l’écriture.
- Les registres spéciaux (SFR) contrôlent directement les périphériques internes, tels que ports E/S, timers, convertisseurs A/N, et autres modules (voir section 2.8).
- La gestion de l’organisation et du décodage des adresses mémoire permet une utilisation efficace de la mémoire RAM et programme, en assurant un accès rapide et sécurisé aux différentes zones mémoire.
💡 À retenir
La mémoire du PIC18 est organisée pour optimiser la rapidité d’accès et la gestion des interruptions, avec une mémoire programme étendue de 2 Mo et une organisation en banques pour une flexibilité maximale dans le développement de systèmes embarqués.
📖 12. Communication série PIC18
🔑 Notions clés & Définitions
-
Communication série RS232 : liaison asynchrone permettant l’échange de données entre deux systèmes numériques via deux fils (Tx pour l’émission, Rx pour la réception), sans signal d’horloge. Utilisée principalement pour la communication PC-périphériques. (source : contenu source)
-
Liaison asynchrone : mode de transmission où les données sont envoyées sans signal d’horloge partagé, chaque trame étant encadrée par des bits de start et de stop pour synchroniser la réception. (source : contenu source)
-
Norme RS232 : standard de communication série définissant les niveaux de tension, la vitesse, la configuration des fils, et la structure des trames pour la transmission de données entre équipements. Elle est largement utilisée pour la communication PC-périphériques. (source : contenu source)
-
Exemples d’utilisation et schémas de liaison : applications typiques comprenant la connexion de microcontrôleurs à des PC, modems, ou autres périphériques via un port série, illustrés par des schémas montrant les fils Tx, Rx et GND connectés entre deux systèmes. (source : contenu source)
📝 Points essentiels
- La communication série RS232 est de type asynchrone, ce qui signifie qu’elle ne nécessite pas de signal d’horloge pour synchroniser la transmission, mais utilise des bits de start et de stop pour délimiter chaque trame.
- Elle repose sur deux fils principaux : Tx (transmission) et Rx (réception), accompagnés d’un fil de masse GND.
- La norme RS232 définit les niveaux de tension : généralement, un niveau logique haut est représenté par une tension négative (par exemple -12 V) et un niveau bas par une tension positive (+12 V).
- La transmission série est couramment utilisée dans les interfaces PC, notamment pour la communication avec des périphériques comme modems, souris, ou équipements industriels.
- La structure de la trame comprend un bit de start, 5 à 8 bits de données, éventuellement un bit de parité, et un ou deux bits de stop.
- La liaison série RS232 est souvent illustrée par des schémas où deux systèmes sont connectés via deux fils Tx et Rx, avec la masse commune.
💡 À retenir
La norme RS232 permet une communication série asynchrone simple et fiable entre équipements, en utilisant deux fils pour transmettre et recevoir des données, sans signal d’horloge, grâce à une structuration précise des trames.
📊 Tableaux de Synthèse
| Critère | Architecture Harvard | Architecture Von Neumann | Auteur / Source |
|---|
| Séparation mémoire | Séparation physique entre mémoire programme et donnée | Mémoire partagée pour programme et données | - |
| Bus | Deux bus distincts pour instruction et données | Un seul bus pour instruction et données | - |
| Performance | Meilleure, accès simultané | Moins performante, accès séquentiel | - |
| Complexité | Plus complexe à mettre en œuvre | Plus simple à concevoir | - |
| Critère | Processeur RISC | Processeur CISC (exemple) | Auteur / Source |
|---|
| Jeu d'instructions | Réduit (ex: 77 instructions pour PIC18) | Complet, plus complexe | - |
| Taille des instructions | Sur un seul mot | Peut nécessiter plusieurs cycles | - |
| Pipeline | Présent, pour exécution rapide | Rare ou absent | - |
| Exemple de microcontrôleur | PIC18 | x86, ARM (dans certains cas) | - |
⚠️ Pièges & Confusions Fréquentes
- Confondre architecture Harvard et Von Neumann : ne pas oublier que Harvard sépare physiquement mémoire instruction/données, alors que Von Neumann utilise une seule mémoire partagée.
- Croire que tous les microcontrôleurs PIC ont la même capacité mémoire : la famille PIC18 peut adresser jusqu’à 2 Mo en mémoire programme, ce qui est spécifique.
- Confusion entre bus série I2C (bifilaire, multi-maîtres) et SPI (full duplex, synchrone) : leur mode de transmission diffère significativement.
- Oublier que le jeu d’instructions PIC18 est réduit à 77 instructions, ce qui influence la programmation.
- Confondre la mémoire RAM (banking) et la mémoire programme (FLASH) : la gestion des banques RAM via BSR est essentielle.
- Négliger l’importance des registres SFR pour la gestion des périphériques.
- Confondre bus série asynchrone RS232 et bus série synchrone SPI ou I2C.
✅ Checklist Examen
- Connaître la définition d’un microcontrôleur selon Perroux et ses composants principaux.
- Maîtriser la classification des microcontrôleurs PIC selon la taille du bus de données (8, 16, 32 bits).
- Identifier les familles PIC (10Fxxx/12Fxxx, 16Cxxx/16Fxxx, 18Cxxx/18Fxxx, PIC24, PIC32) et leurs caractéristiques.
- Expliquer l’architecture Harvard et ses avantages par rapport à Von Neumann.
- Définir le processeur RISC et ses principes fondamentaux dans le contexte PIC18.
- Connaître la capacité de la mémoire programme (jusqu’à 2 Mo) et la gestion des banques RAM via BSR.
- Identifier les registres SFR et leur rôle dans la gestion des périphériques.
- Décrire le fonctionnement des timers (0,1,2,3) et leur rôle dans la temporisation.
- Connaître le rôle du convertisseur A/N et ses paramètres de configuration.
- Maîtriser les différents bus de communication (I2C, SPI, CAN) et leurs caractéristiques.
- Connaître les ports E/S du PIC18F4550 et leur configuration.
- Savoir que le PIC18 utilise une architecture Harvard avec un pipeline pour optimiser la vitesse d’exécution.
- Comprendre la différence entre communication série asynchrone (RS232) et série synchrone (SPI, I2C).
- Identifier les principales familles de PIC en fonction de leur application (basique, milieu de gamme, haute performance).
- Savoir que le PIC18 est conçu pour une grande flexibilité dans diverses applications industrielles, IoT, etc.
Crée tes propres fiches de révision
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches