Az RL78 család egy 16 bites CPU mag a Renesas Electronics beágyazott mikrovezérlőihez, amelyet 2010-ben mutattak be.
Architektúra Az RL78 család egy akkumulátor-alapú regiszterbankokat alkalmazó CISC utasításkészlet-architektúra (ISA). Bár nyolc 8 bites regiszterrel vagy négy 16 bites regiszterpárral rendelkezik, alapvetően minden aritmetikai művelet egyetlen akkumulátor – az A regiszter vagy AX regiszterpár – használatával történik. Alapvető ISA-ja a 78K0R-ből származik, amelynek 80 utasításából 75-öt tartalmaz. 20 bites () címtartománnyal rendelkezik.
Általános célú regiszterei: 8 bites regiszterek (A, X, B, C, D, E, H, L), amelyek párosával 16 bites regiszterekké foghatók össze (AX, BC, DE, HL). Az RL78-as processzorok regiszter- és utasításkészlete hasonlít a Z80 és Intel 8080-as processzorokéra, de azokénál fejlettebb.
Különleges célú regiszterei: 20 bites programszámláló PC 16 bites veremmutató SP. Ez mindig 2 bájtos igazítású. 8 bites program-állapotregiszter PSW. Ez tartalmazza az átvitelbit, kiegészítő átvitelbit és nulla (Z) jelzőbiteket, de nem tartalmaz negatív jelzőbitet vagy túlcsordulás bitet. Az előbbi felesleges, mivel lehetséges az elágazás közvetlenül az akkumulátor legmagasabb helyértékű bitje szerint, de a túlcsordulás bit hiánya nehézkessé teszi az előjeles összehasonlításokat. A PSW tartalmaz még egy megszakítás engedélyező bitet (IE bit), ami a megszakítások engedélyezését (IE=1) vagy letiltását (IE=0) vezérli, a nem maszkolható megszakítások (NMI) kivételével. Két 4 bites szegmensregiszter, melyek leírását lásd alább.
Az adatcímzés többnyire 16 bites, mivel az összes RAM és speciális funkcióregiszter a címezhető terület felső -jában található (0xF0000–0xFFFFF), és az adathozzáférés alapértelmezés szerint erre a területre vonatkozik. A címezhető terület más régióihoz történő hozzáférés egy “ES” opkód-prefix segítségével történik, jelezve, hogy az adott utasításban szereplő cím legmagasabb négy bitje az alapértelmezés helyett egy speciális “extra szegmens” regiszterből származik.
Az alapvető két operandusú ALU műveletek a következő formájúak (op = művelet): A, #közvetlen (A ← A op közvetlen érték) A, regiszter (A ← A op regiszter) regiszter, A (regiszter ← regiszter op A) A, addr8 (A ← A op [addr8], speciális funkcióregiszterekre korlátozott tartomány) A, addr16 (A ← A op [addr16], ES: opcionális előtag) A, [HL] (A ← A op [HL], ES: opcionális előtag) A, [HL+byte] (A ← A op [HL+byte], ES: opcionális előtag) A, [HL+B] (A ← A op [HL+B], ES: opcionális előtag) A, [HL+C] (A ← A op [HL+C], ES: opcionális előtag)
A kód címek ezzel szemben alapértelmezés szerint a címtér alsó részére mutatnak, ahol a ROM található. A vezérlésátadó utasítások (ugrás és szubrutinhívás) megengedik egy 20 bites cím megadását, míg a közvetett (indirekt) vezérlésátadás egy 16 bites regisztercím és egy 4 bites kódszegmens-regiszter kombinációját használják. A 8086-os mikroprocesszorral ellentétben, nincsenek külön közeli és távoli visszatérési utasítások; minden szubrutinhívás a teljes 20 bites visszatérési címet helyezi a verembe.
Az architektúra következetesen növekvő bájtsorrendű (little-endian), ahol az összes több bájtos érték legalacsonyabb helyiértékű bájt áll legelöl.
Mikroarchitektúrák Az RL78 család processzorai 3 fokozatú futószalagos utasításvégrehajtással rendelkeznek. A legtöbb modellben négy regiszterbank található, amelyek gyorsan kiválaszthatók. Ez megkönnyíti a kontextusváltást.
RL78-nak három mikroarchitektúra-változata van, az alábbiak:
Mikroarchitektúra ALU regiszterek utasítások futószalag megjegyzés dokumentáció RL78-S3 16 bites bites ×4 bank 81 (75+6) 3 fokozatú mikroarchitektúra változatok RL78-S2 16 bites bites ×4 bank 75 3 fokozatú RL78-S1 8 bites bites (nincs bank) 74 (75-1) 3 fokozatú 78K0R 16 bites bites ×4 bank 80 (75+5) 3 fokozatú közvetlen elődje a kiterjesztett 78K/0 78K0S 8 bites bites (nincs bank) 47 nincs egyszerűsített 78K/0 78K0 8 bites bites ×4 bank 48 nincs alap 78K/0 mag
Alkalmazások Az RL78 széles alkalmazási kört fed le a mechanikus rendszerek vezérlése és a felhasználói felületek terén.
Csoportosítás Az RL78 család több csoportra oszlik, melyeknek egyedi elnevezési szabályaik vannak. G1x: általános célú felhasználásra szolgáló eszközök L1x: többszegmenses LCD vezérléshez I1x: főként ipari felhasználásra F1x: autóipari felhasználásra D1x: kizárólag autóipari ügyfelek számára tervezett eszközök
Alkalmazási példák Az RL78 alkalmas szórakoztatóelektronikai eszközökben való felhasználásra, ilyenek például a nagyobb háztartási gépek (közöttük a mosógépek, ruhaszárítógépek, mosogatógépek, hűtőgépek, és légkondicionálók), kisgépek (mint például az elektromos szerszámok, porszívók és kávégépek), és orvostechnikai eszközök (például elektronikus fogkefék, vércukorszintmérők, Holter-monitorok). Használják még gyári automatizálási infrastruktúrában (többek között érzékelők, mérőműszerek és aktuátorok vezérlésében), és energiatakarékos ill. kis fogyasztású eszközökben, mint az intelligens mérőórák, inverteres kompresszorok és világításvezérlő rendszerek.
Autóipari területen az RL78 autóipari kommunikációs interfészeit legfőképpen az alacsony teljesítményű és méretkorlátozott alkalmazások körében alkalmazzák, mint például CAN, LIN és IEBus sínrendszerekhez, valamint a kefe nélküli egyenáramú motor megoldásokhoz. A különböző termékváltozatokban három maximális környezeti hőmérsékletnek megfelelő változat áll rendelkezésre, a , , és csúcsértékekhez.
Történet Az RL78 volt az első új MCU, amely a NEC Electronics és a Renesas Technology egyesülése után létrejött új Renesas Electronics vállalat neve alatt jelent meg. Ez 130 nm-es MF3 flash folyamattal készült, és magában foglalta a NEC 78K0R ( MF2 flash processz) és a Renesas Technology R8C mikrovezérlők jellemzőit. Az RL78 mag változatai közé tartoznak az S1, S2 és S3 típusú magok, amelyeket mind a NEC 78K0R magból fejlesztettek ki. Az alapvető S1 mag 74 utasítással rendelkezik, az S2 magot regiszterbankokkal és a bankváltást segítő művelettel bővítették, így 75 utasítást támogat, míg az S3 mag egy lapkára integrált szorzó, osztó és szorzó-akkumuláló egységet kapott és 81 utasítást támogat.
Az RL78-at rendkívül alacsony fogyasztású, de magasan integrált mikrovezérlő alkalmazásokhoz fejlesztették ki, ennek érdekében a mag egy újszerű, alacsony energiafogyasztású üzemmódot kínál (“snooze mode”, azaz „szundikáló mód”), amelyben az analóg-digitális átalakító (ADC) vagy soros interfész programozható arra, hogy meghatározott feltételek teljesülése esetén felébressze az eszközt az extrém alacsony fogyasztású, -es STOP módból.
Szoftverek és fejlesztőeszközök Az RL78 családot számos hardveres és szoftveres fejlesztőeszköz támogatja.
Fordítók és IDE-k A processzorokra történő programfejlesztéshez a GNU Compiler Collection, a Renesas CS+ (korábban CubeSuite+), a Renesas e2studio (Eclipsen alapul), és az IAR Systems fordítóprogramja és fejlesztőkörnyezete állnak rendelkezésre. A Renesas CS+ IDE hibakeresési használatra ingyenes, és támogatja a szabványos ELF végrehajtható fájlokat. A Renesas által definiált RL78 bináris alkalmazásillesztő (application binary interface, ABI) kompatibilis az IAR V2 és magasabb verziójú fordítóival.
Valós idejű operációs rendszerek A valós idejű operációs rendszerek közül a CMX Systems, Inc. CMX-RTX rendszere, a Micrium, Inc. μC/OS-II és MicroC/OS-III rendszerei, a Renesas ITRON OS rendszere, a Segger Microcontroller Systems embOS, a FreeRTOS és a ChibiOS/RT támogatottak.
Kódgeneráló eszközök Renesas ingyenes kódgeneráló eszközt biztosít, az APPLIcation LEading Tool (Applilet) nevű szoftvert.
Flash ROM programozó könyvtárak A Renesas ingyenes „önprogramozó” könyvtárakat biztosít, a Code Flash Libraries (CFL) és Data Flash Libraries (DFL) könyvtárakat. Az „önprogramozás”, a Renesas terminológiája szerint „self-programming” úgy értendő, hogy a vezérlő képes a saját flashmemóriájának programozására, azaz a flash tartalmának felülírására, külső eszköz használata nélkül. Az EEPROM Emulation Library (EEL) szintén elérhető az adat-flasheléshez, amely elhasználódás-kiegyenlítést és robusztus tulajdonságokat ad az eszközökhöz, a média élettartamának meghosszabbítására. A DFL és EEL különböző osztályai állnak rendelkezésre az alkalmazások igényeinek megfelelően, beleértve a szabványos T01 típust, a „Tiny” T02 típust, és a „Pico” T04 típust (csak a DFL-ben).
Áramkörön belüli emulátorok Több vállalat kínál lapkára integrált debuggereket és teljes specifikációjú áramkörön belüli emulációt. A Renesas is gyárt lapkára integrált debuggereket, ahogyan harmadik felek is, mint például Lauterbach és az iSystems. A Renesas és az iSystems teljes specifikációjú áramkörön belüli emulátorokat szállít.
Programozóeszközök az integrált egységekhez Az eszköz programozása megvalósítható a lapkára integrált debug port vagy az eszközök speciális soros programozási módjának használatával. A Renesas támogatja a soros programozási módot a hibakereső eszközökkel a Renesas Flash Programmer (RFP)-en keresztül, valamint különálló programozók: PG-FP5 és PG-FP6 alkalmazásával, míg számos harmadik fél is támogatja az RL78-at saját eszközprogramozóival.
Változatok Az RL78 család sok különböző eszközkonfigurációt kínál, a 20 tűs -os flashmemóriával rendelkező eszközöktől a 128 tűs -os flash memóriával ellátott eszközökig.
RL78/G13 Az RL78/G13 egy +/- 1% pontosságú lapkára integrált oszcillátort, watchdog időzítőt, valós idejű órát (RTC), power-on reset (bekapcsoláskor reset szignált kiadó) perifériát, alacsonyfeszültség-érzékelőt, 26 csatornás 10 bites ADC-t, 16x16 szorzót, 32/32 osztót, I2C, CSI/SPI síneket, UART vezérlőt, LIN hálózatot, multifunkciós időzítő tömböt és szintén beépített IEC 60730 hardveres biztonsági támogatást tartalmaz. Az elemek ilyen kombinációja lehetővé teszi a rendszertervező számára nagy teljesítményű, nagyon alacsony energiafogyasztással működő (41DMIPS) rendszerek megvalósítását a mikrovezérlőben, igen alacsony költséggel, a magas szintű integrációnak köszönhetően.
RL78/G12 A G12 a 2012-ben bemutatott G13 egy kisebb verziója.RL78/G12, Renesas, 2026 20, 24 és 30 tűs kiszerelésben, -tól -ig terjedő kis méretű flash memóriával volt bevezetve, emellett biztosítja a G13 funkcionalitását integrált +/- 1% -es oszcillátorral, reszet áramkörrel, egy alacsonyfeszültség-érzékelő áramkörrel, watchdog időzítővel, háttérben működő adatflash-sel, valamint tartalmaz lapkára integrált funkcionális biztonsági rendszert és A/D átalakító tesztfunkciót.
Ez az eszköz a kisegítő mikrovezérlő szerepében való felhasználást célozza, kis háztartási készülékekben és általános fogyasztói elektronika eszközökben.
RL78/G14 2012-ben jelent meg az RL78 család G14 jelű kiegészítése.RL78/G14, Renesas, 2026 Ez az eszköz magasabb szintű integrációt nyújt, mivel az RL78/G13-nál gyorsabban működő további szorzó, osztó és szorzó-összeadó (multiply-accumulate) utasításokat tartalmaz, 2 csatornás 8 bites D/A átalakítót, 2 csatornás összehasonlítót és időzítő tömböt. Beépített multifunkciós időzítővel és háromfázisú komplementer PWM kimenettel támogatja a háromfázisú motorvezérlést. Alkalmas motorvezérlésben, valamint fogyasztói és ipari berendezésekben való használatra. Multifunkciós időzítő-tömb egység (Timer Array Unit, TAU): időzítő-tömb kódoló funkcióval időzítő-tömb egység (16 bites, 8 csatornás) intervallum-időzítő (12 bites, 1 csatornás) watchdog időzítő (17 bites, 1 csatornás) teljes valós idejű naptárfunkció motorvezérlő időzítő (16 bites, 8 csatornás) fázisidőzítő (16 bites, 2 csatornás) I/O időzítő (16 bites, 1 csatornás)
RL78/I1A