La famille RL78 est un cœur de processeur 16 bits pour microcontrôleurs intégrés de Renesas Electronics introduit en 2010.
Architecture
La famille RL78 est une architecture de jeu d'instructions CISC (ISA) à base de registres et de banques de registres basée sur un accumulateur. [ 2 ] qu'elle dispose de huit registres de 8 bits ou de quatre paires de registres de 16 bits, toutes les opérations arithmétiques sont essentiellement effectuées sur un seul accumulateur (le registre A ou la paire de registres AX). Son ISA de base est succédé par 78K0R, qui possède 75 instructions identiques sur 80. Il dispose d'un 20 bits ( Espace d'adressage de 1 mégaoctet .
Les registres à usage spécifique comprennent :
- Compteur de programme 20 bits pour PC
- Pointeur de pile 16 bits SP. Il est toujours aligné sur 2 octets.
- Mot d'état de programme de 8 bits PSW. Il comprend un indicateur de report (bit d'emprunt lors de la soustraction), un indicateur de report auxiliaire et un indicateur zéro , mais pas un indicateur négatif ou un indicateur de dépassement . Le premier est inutile, car il est possible de se brancher directement sur le bit le plus significatif de l'accumulateur, mais l'absence du second rend les comparaisons signées difficiles. Le PSW comprend également un bit d'activation d'interruption (bit IE) qui contrôle si les interruptions sont activées (IE=1) ou désactivées (IE=0), à l'exception de NMI .
- Deux registres de segments de 4 bits, décrits ci-dessous.
L'adressage des données est principalement de 16 bits, avec tous les registres de RAM et de fonctions spéciales situés dans les 64 Ko supérieurs de l'espace d'adressage (0xF0000–0xFFFFF), et les accès aux données se font par défaut dans cette région. L'accès aux autres régions de l'espace d'adressage utilise un opcode de préfixe « ES », indiquant que les quatre bits d'adresse supérieurs doivent provenir d'un registre spécial « segment supplémentaire ».
Les opérations ALU de base à 2 opérandes se présentent sous les formes suivantes :
- A, #immédiat (A ← A op immédiat)
- A, registre (A ← A registre op)
- registre, A (registre ← registre op A)
- A, addr8 (A ← A op [addr8], plage limitée aux registres de fonctions spéciales)
- A, addr16 (A ← A op [addr16], ES : préfixe facultatif)
- A, [HL] (A ← A op [HL], ES : préfixe facultatif)
- A, [HL+octet] (A ← A op [HL+octet], ES : préfixe facultatif)
- A, [HL+B] (A ← A sur [HL+B], ES : préfixe facultatif)
- A, [HL+C] (A ← A op [HL+C], ES : préfixe facultatif)
Les adresses de code, en revanche, sont par défaut dans la partie basse de l'espace d'adressage où se trouve la ROM. Les instructions de transfert de contrôle (jump et call) permettent de spécifier une adresse de 20 bits, tandis que les transferts de contrôle indirects utilisent la concaténation d'une adresse de registre de 16 bits et d'un registre de « segment de code » de 4 bits. Contrairement au microprocesseur 8086 , il n'y a pas d'instructions de retour proches et lointaines séparées ; tous les appels de sous-programmes poussent l'adresse de retour complète de 20 bits.
L'architecture est systématiquement little-endian , avec toutes les valeurs multi-octets apparaissant comme l'octet le moins significatif.
Microarchitectures
Les processeurs de la famille RL78 disposent d'un pipeline d'instructions en 3 étapes . La plupart des modèles disposent de quatre banques de registres qui peuvent être sélectionnées rapidement.
RL78 possède trois variantes de microarchitecture comme suit.
Applications
La norme RL78 couvre une large gamme de domaines d'application pour les commandes de systèmes mécaniques et pour les interfaces utilisateur .
Regroupement
La famille RL78 est divisée en certains groupes, ceux-ci ont des règles de dénomination uniques.
- G1x : Pour usage général
- L1x : Pour les commandes LCD à segments
- I1x : Principalement destiné à un usage industriel
- F1x : Pour une utilisation automobile
- D1x : Spécialement conçu pour les clients du secteur automobile uniquement
Exemples d'application
Le RL78 est adapté aux appareils électroniques grand public , tels que les gros appareils électroménagers (y compris les machines à laver , les sèche-linge , les lave-vaisselle , les réfrigérateurs et les climatiseurs ), les petits appareils électroménagers (y compris les outils électriques , les aspirateurs et les cafetières ) et les appareils médicaux (y compris les brosses à dents électroniques , les glucomètres , les moniteurs Holter ). Il est également utilisé pour les infrastructures d'automatisation industrielle (y compris les capteurs , les jauges et les actionneurs ) et la conservation de l'énergie (y compris les compteurs intelligents , les compresseurs à onduleur et les systèmes de contrôle de l'éclairage ).
Pour l'industrie automobile , les applications à faible consommation et à taille limitée sont parfaitement adaptées aux interfaces de communication dédiées à l'automobile du RL78, telles que CAN , LIN et IEBus , et des solutions de moteurs électriques à courant continu sans balais . Trois niveaux spéciaux de température ambiante maximale , 105 °C (221 °F), 125 °C (257 °F) et 150 °C (302 °F), sont disponibles pour certains produits.
Histoire
Le RL78 (processus flash MF3 130 nm) a été le premier nouveau microcontrôleur à émerger de la nouvelle société Renesas Electronics issue de la fusion de NEC Electronics et Renesas Technology et a incorporé les fonctionnalités du NEC 78K0R (processus flash MF2 150 nm) et des microcontrôleurs Renesas Technology R8C . Les variantes de cœur RL78 incluent les cœurs de type S1, S2 et S3 qui ont évolué à partir du cœur NEC 78K0R. Le cœur S1 de base prend en charge 74 instructions, le cœur S2 ajoute une banque de registres et prend en charge 75 instructions, tandis que le cœur S3 ajoute un multiplicateur/diviseur/accumulation multiple sur puce et prend en charge 81 instructions.
Le RL78 a été développé pour répondre aux applications de microcontrôleurs à très faible consommation mais hautement intégrées. À cette fin, le cœur offrait un nouveau mode de fonctionnement à faible consommation appelé « mode snooze » où l' ADC ou l'interface série peut être programmé pour répondre à des conditions spécifiques pour réveiller l'appareil du mode STOP à très faible consommation de 0,52 uA.
Logiciels et outils de développement
La famille RL78 est prise en charge par une gamme variée d'outils de développement matériel et logiciel.
Compilateurs et IDE
La collection de compilateurs GNU , Renesas CS+ (anciennement CubeSuite+), Renesas e 2 studio (basé sur Eclipse ), et l'environnement de développement et de compilation d' IAR Systems sont disponibles. L' IDE Renesas CS+ est gratuit pour une utilisation uniquement de débogage et prend en charge les fichiers exécutables ELF standard . L' ABI RL78 défini par Renesas est compatible avec les compilateurs V2 et supérieurs d'IAR.
Systèmes d'exploitation en temps réel
En ce qui concerne les systèmes d'exploitation en temps réel , CMX-RTX de CMX Systems, Inc. , μC/OS-II et MicroC/OS-III de Micrium, Inc. , embOS d' ITRON OS , FreeRTOS et ChibiOS/RT de Segger Microcontroller Systems sont pris en charge.
Outils de génération de code
Renesas fournit un outil gratuit de génération de code appelé APPLIcation LEading Tool (Applilet) .
Bibliothèques de programmation Flash ROM
Renesas fournit des bibliothèques d'autoprogrammation gratuites : les bibliothèques Code Flash (CFL) et les bibliothèques Data Flash (DFL) . Une bibliothèque d'émulation EEPROM (EEL) est également disponible pour la mémoire flash de données afin d'ajouter un nivellement de l'usure et une robustesse. Différentes classes de DFL et EEL sont disponibles pour répondre aux besoins des applications, notamment le type T01 standard, le type T02 « Tiny » et le type T04 « Pico » (DFL uniquement).
Émulateurs en circuit
Plusieurs entreprises fournissent des débogueurs sur puce et des émulateurs en circuit complets . Renesas fabrique des débogueurs sur puce ainsi que des tiers, tels que Lauterbach et iSystems. Renesas et iSystems fournissent des émulateurs en circuit complets.
Outils de programmation de dispositifs sur puce
La programmation des appareils peut être réalisée à l'aide du port de débogage intégré ou du mode de programmation série spécial des appareils. Renesas prend en charge le mode de programmation série avec des outils de débogage via le programmeur Flash Renesas (RFP) et les programmeurs autonomes ; PG-FP5 et PG-FP6 , tandis que plusieurs tiers prennent en charge RL78 avec leurs propres programmeurs d'appareils.
Variantes
La famille RL78 propose une gamme d'appareils allant de 20 broches avec une mémoire flash de 16 Ko à 128 broches avec une mémoire flash de 512 Ko.
RL78/G13
Le RL78/G13 intègre un oscillateur sur puce de précision +/- 1 %, un temporisateur de surveillance , un RTC , une réinitialisation à la mise sous tension , une détection de basse tension, 26 canaux de 10 bits ADC, un multiplicateur 16x16, un diviseur 32/32, I2C , CSI/SPI, UART , LIN, un réseau de temporisateurs multifonctions et également un support de sécurité IEC 60730 intégré au matériel. Cette combinaison d'éléments permet au concepteur du système d'obtenir des systèmes hautes performances (41DMIPS) fonctionnant à des niveaux de puissance très faibles et à faible coût en raison du niveau élevé d'intégration dans le microcontrôleur.
RL78/G12
Le G12 est une version plus petite du G13 introduit en 2012. RL78/G12. Introduit avec des boîtiers à 20, 24 et 30 broches avec une mémoire flash de petite taille de 2 Ko à 16 Ko, tout en offrant la fonctionnalité G13 avec oscillateur 24 MHz +/- 1% intégré, circuit de réinitialisation, circuit de détection de basse tension, temporisateur de surveillance, flash de données avec fonctionnement en arrière-plan et incluant la sécurité fonctionnelle, sur puce avec fonction de test de convertisseur A/N.
Ce petit appareil est conçu pour être utilisé comme sous-microcontrôleur adapté à une utilisation dans les petits appareils électroménagers et les appareils électroniques grand public.
RL78/G14
En 2012, un ajout à la famille RL78 a été introduit, appelé le G14. Ce dispositif offre des niveaux d'intégration plus élevés avec l'inclusion d'instructions supplémentaires de multiplication, de division et de multiplication-accumulation capables d'un traitement plus rapide que le RL78/G13, un convertisseur N/A 8 bits à 2 canaux, un comparateur à 2 canaux et un réseau de minuteries, ce qui le rend adapté aux applications de contrôle de moteur.
- Unité de réseau de minuterie multifonction (TAU) :
- Réseau de minuterie avec fonction d'encodeur
- Unité de matrice de minuterie (16 bits, 8 canaux)
- Minuterie d'intervalle (12 bits, 1 canal)
- Minuterie de surveillance (17 bits, 1 canal)
- Fonction de calendrier complète en temps réel
- Minuterie de contrôle du moteur (16 bits, 8 canaux)
- Minuterie de phase (16 bits, 2 canaux)
- Minuterie d'E/S (16 bits, 1 canal)
RL78/I1A
Une version spécifique à l'application (ASSP) du noyau RL78 a été introduite en 2012 pour le contrôle des systèmes d'éclairage , cet appareil a été nommé RL78/I1A. Des caractéristiques spécifiques de l'appareil telles que des minuteries PWM spéciales permettent une gradation fine, une séquence d'éclairage et un contrôle de la température de couleur avec correction du facteur de puissance de l'alimentation. De plus, des fonctions de communication intégrées pour DALI , DMX512 et plusieurs commandes de capteurs et d'interface utilisateur sont fournies. Les applications du RL78/I1A comprennent : l'automatisation des bâtiments , les pilotes LED , les commandes d'éclairage, les ballasts fluorescents , l'éclairage de secours, les ballasts HID , les alimentations numériques, les commandes d'onduleurs à faible coût.
RL78/L12
Série de microcontrôleurs avec lecteur LCD
La production en série débutera début 2013 et le RL78/L12 comprend une fonction de commande LCD intégrée pour 35 segments x 8 ou 39 segments x 4. Trois méthodes de commande LCD alternatives peuvent être activées : condensateur divisé, pompe de charge capacitive ou résistance divisée externe. Avec la méthode du condensateur divisé, une commande LCD à faible consommation de 0,6 uA à 3 V peut être obtenue. Fonctions sélectionnables (Seg ou I/O) pour chaque broche de segment et commande pour le verre et le panneau.
RL78/F1x
Microcontrôleurs automobiles
Les périphériques RL78 F12, F13, F14 et F15 ont remplacé les périphériques NEC 78K0R/Fx3 d'origine avec de nombreuses mises à jour, notamment une réduction de la taille de la puce, une vitesse de cœur plus rapide (32 MHz), une capacité de débogage sur puce améliorée, de nouveaux périphériques, des fonctions de sécurité et des options de package et de mémoire étendues. La note d'application r01an2639ej peut être utilisée comme guide lors de la migration de 78K0R/Fx3 vers RL78/F1x.