M32C87 Extinderea gamei platformei M16C!

20 IUNIE 2007

Oriunde vă imaginaţi

Acest slogan se potriveşte perfect în lumea microcontrolerelor.
În fiecare zi întâlniţi microcontrolere asigurându-vă confortul, siguranţa, serviciile…
Maşinile moderne de preparat cafea, de spălat vase, frigiderele, telefoanele mobile, autoturismul, sistemul hi-fi, transportul în comun şi multe altele sunt toate controlate de unul sau mai multe microcontrolere.

Figura 1 Nucleul M16C

În multe din aceste aplicaţii se folosesc în mod curent microcontrolere de 16 biţi, unele dintre ele fac parte din populara familie M16C de la Renesas. Pentru noile proiecte piaţa cere performanţe ridicate combinate cu funcţionalitate şi integrare înaltă dar şi cu un consum redus de putere.
Răspunsul Renesas la aceste cerinţe este noua familie M16C/87, o versiune îmbunătăţită a nucleului M16C industrial standard şi perfect compatibilă cu deja existentele aplicaţii ale M16C. Bazat pe nucleul M16C, familiile R8C/M16C/M32 vă pot oferi alternative pornind de la MCU cu 20 pini, de la 4Kbyte Flash până la 144 pini şi 1Mbyte Flash folosind aceleaşi scule de dezvoltare sau depanare.
Pentru optimizarea costului sistemului puteţi alege din gama MCU ale platformei M16C în concordanţă cu nevoile de periferice, memorie si capsulă.
Întregind gama de produse ale platformei M16C, Renesas a dezvoltat familia M32C/87 cu mai mult de 20 de derivate în capsule de 100 sau 144 pini, fără sau cu 1 până la 2 interfeţe CAN, 256KB până la 1MB Flash şi până la 48KB RAM. Bazat pe înalta performanţă a nucleului CPU tip single cycle cu unitate HW-MAC funcţionând până la 32MHz, resursele bogate de memorie on-chip, multe interfeţe, controlerului DMA, convertorului X-Y şi modurilor de consum redus de putere, dispozitivele M32C/87 sunt componente preferate pentru aplicaţii mobile cu interfeţe grafice şi suport în câteva limbi simultan.

Caracteristicile M32C87 în detaliu

Figura 2 Diagrama bloc a circuitului M32C/87 – versiunea cu 100 pini

Aşa cum am menţionat, CPU-Core al familiei M32C/87 poate rula cu până la 32 MHz @ 5V de unde rezultă un timp minim de execuţie de 31,2 ns pentru câteva instrucţiuni de 16 biţi. Performanţele în plus se bazează pe extensia la 32 biţi a setului de instrucţiuni de la M16C, un multiplicator rapid Hardware şi o unitate MAC, un Barrel-Shifter cu funcţionalitate multi-bit shift şi instrucţiuni DSP cum ar fi “Repeated Multiply/ Accumulate” (RMPA-Instruction) cu 16x16bit + 16bit şi rezultat 32bit, executată în doar 2 cicluri de ceas. Pentru aplicaţii de securitate este disponibilă o unitate CRC care suportă algoritm polinomial CRC_CCITT (X16 + X12 + X5 + 1). Acest generator CRC poate fi folosit de exemplu, pentru verificarea frecventă a memoriei flash fără a încărca CPU excesiv. Toate M32C cu 100 pini sunt compatibile pin-out cu M16C cu 100 pini şi oferă acelaşi set de Timere de 16 biţi (TimerA şi TimerB), convertor AD şi interfeţe seriale. Astfel, un upgrade al proiectelor cu M16C la M32C/87 pentru a beneficia de mai multă memorie şi performanţe ridicate este un lucru uşor şi rapid.
Singura problemă este că dacă folosiţi compilatorul Renesas NC30 pentru M16C, pentru M32C va trebui să folosiţi alt compilator (NC308). Dacă folosiţi compilatorul KPIT GNU şi Renesas HEW4 workbench, această problemă e rezolvată, deoarece KPIT asigură suport pentru toate R8C, M16C, M32C cu un singur compilator.
Comparativ cu deja existentele M16C, M32C/87 oferă mai multe canale AD (până la 34), mai multe interfeţe seriale (până la 7 în capsulă QFP144), unele dintre ele cu suport IrDA şi 5 cu suport I²C au aşa numitele module “intelligent IO”, oferind un timer cu 8x compare/capture cu filtre digitale pe intrare şi în plus una sau două interfeţe seriale de tip synchronous sau asynchronous sau suportând protocol HDLC.
Numărul de canale DMA este dublat la 4 şi noul DMAC2 oferă high-speed DMA pentru transferul memory to memory. Pentru procesarea imaginii, convertorul X-Y oferă rotaţia grafică a imaginii cu 90°. Pentru motoare pas cu pas sau alte aplicaţii unde se folosesc semnale synchronous HW, M32C87 oferă un 4 x 4bit port de timp real. Un stabilizator integrat de tensiune oferă o gamă de tensiune de la 2,7V la 5,5V folosind o singură sursă de alimentare. Pentru aplicaţii unde, de exemplu,este nevoie de 3,3 v memorie sau interfaţă ASIC dar porturile I/O trebuie să lucreze la 5V, puteţi folosi Vcc 1 şi Vcc 2 cu valori diferite. Consumul total de curent la 5V şi 32MHz este de numai 32mA. Acesta poate fi redus mai departe sub 1mA folosind on-chip 1MHz oscilator la câţiva uA cu 32kHz sub-clock. În stop mode, unde CPU poate fi activat cu un key-interrupt, chipul consumă doar 0,8uA (tipic). În acest mod TimerA sau B încă poate număra impulsuri externe şi activa CPU la overflow.

Aplicaţii ale M32C87
Ca şi M16C, familia M32C/87 cuprinde MCU de uz general, echipate cu o mulţime de periferice. Cu bogatul set de interfeţe, M32C87 este predestinat aplicţiilor de tip gate-way cu sau fără CAN. Unitatea de 3 phase motor control ca şi cele 2 canale encoder input sunt foarte folositoare pentru orice aplicaţie motor control de AC şi DC .Rapidul convertor A/D de 10 biţi cu până la 34 canale de intrare se potriveşte perfect multor sisteme de măsură de înaltă performanţă. Pentru sistemele mobile alimentate cu baterii, câteva moduri low-power oferă cel mai bun raport performanţă / consum. Cu 1MB embedded flash şi 48kB RAM, dispozitivele pot oferi suport pentru diferite limbi în EPOS sau aplicaţii tip vending la o mărime mică, 14×14 mm (TQFP100). Folosind un real-time embOS de la Segger + librăria grafică emWin şi fişierele sistem emFile puteţi dezvolta un sistem complet, de exemplu memory card reader şi display color LCD QVGA pentru orice tip de interfaţă cu omul. Pentru un start şi o aplicatie rapidă, MSC, Renesas şi 3rd parties precum IAR sau KPIT oferă un set bogat de scule de dezvoltare. KPIT oferă un compilator GNU gratis. Pentru evaluare Renesas asigură HEW4 workbench cu 60 zile full C-compiler, 64k limită de cod, IAR oferă o variantă trial de 30 zile sau versiune kick-start 16k limită. Pentru început puteţi porni cu starter kit-ul profesional modular ModSDKM16C-DBG de la MSC incluzând E8 USB debugger & programmer de la Renesas, flash software FDT de la Renesas şi cele 3 scule menţionate mai devreme. În funcţie de necesităţi, dacă aveţi nevoie de funcţionalitate non-intrusive pentru depanare cum ar fi trace şi HW trigger, Renesas oferă un emulator compact real-time sau pentru high-end debugging cu time-stamp, complex trigger sequencer, analiză performantă şi cod acoperitor puteţi folosi emulatorul PC7501.

Marian Enache – inginer asistenåã tehnicã / MSC-Mibatron s.r.l.
mena@msc-ge.com
tel./fax +40 (21) 2302530

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre