RZ/A – într-un exemplu de aplicaţie

by donpedro

Ținta de piață cheie pentru familia de circuite RZ/A este domeniul Human Machine Interface, pentru controlul panourilor TFT medii și până la

cele mari. Familia RZ/A este bazată pe un ARM Cortex A9, soluție cu MPU embedded, care aduce multe avantaje pentru spațiul de aplicație HMI. Articolul va prezenta cerințele unei astfel de aplicații, precum și modul în care RZ/A îndeplinește aceste cerințe și oferă avantaje la nivel de sistem pentru comunitatea de proiectare tehnologică. RZ/A dispune de până la 10MB memorie SRAM inclusă pe cip – dispozitivul cu cel mai mare RAM încorporat de pe piață – iar articolul va explica cum se poate utiliza în cel mai bun mod memoria RAM embedded, pentru a optimiza costul și performanța sistemului HMI.

Autor: Robert Kalman , Product Marketing Manager – Industrial Communications Business Group, Renesas Electronics Europe GmbH

În iunie 2013, Renesas a lansat cea mai nouă platformă din portofoliul său de produse. Familia RZ/A ţinteşte piața interfeţelor om-maşină (Human Machine Interface) pentru comanda panourilor TFT medii şi mari. Această piață se extinde într-un ritm enorm. Numărul de mașini de cafea, frigidere, automate de vânzare și altele, echipate cu un panou TFT, are tendința să crească semnificativ în următorii câțiva ani. Mai mult, am observat cum în tot mai multe magazine, etichetele din plastic (sau de hârtie) plasate pe rafturi în dreptul fiecărui produs şi care conţin informații despre produsele respective, au fost înlocuite cu ecrane TFT de 7 inch în care se prezintă toate informaţiile pentru produsele disponibile în magazin. Nevoia de cât mai multă publicitate pe care o manifestă companiile din Europa și din lume, explică expansiunea panoului TFT.

De ce aveţi nevoie pentru aplicaţia dumneavoastră?

Să începem prin a privi la miezul problemei. De ce aveți nevoie de fapt, pentru a comanda un ecran TFT? Cele mai multe panouri TFT de azi folosesc o interfață RGB digitală, fie că este RGB888 sau RGB565. RGB semnifică un standard prin care culorile roșu, verde și albastru ale fiecărui pixel sunt reprezentate de un număr corespunzător de biți. Deci, pentru 888 fiecare culoare este o dată de 8 biți (oferind 24 de biți per pixel), în timp ce în 565, culorile roșu și albastru sunt reprezentate de 5 biți, iar verde de 6 biți (oferind 16 biți per pixel). Alternativ, în loc de o interfață digitală standard, ecranele pot folosi un conector LVDS, care va deveni soluţia standard pentru display-urile mari. Ca atare, semnalele RGB sunt transferate cu un semnal diferențial, dar formatul de date este în continuare la fel. Deci, pentru a începe, aveți nevoie de un dispozitiv care suportă generarea unui semnal RGB și/sau o interfață LVDS.
În al doilea rând, datele RGB trebuie să vină dintr-un buffer de cadre, care este de obicei stocat în memoria RAM. Acest buffer de cadre este o imagine bitmap stocată în formatul dorit. De exemplu, pentru un ecran WVGA cu dimensiunea de 480 × 800 cuplat printr-o interfaţă RGB888, va fi nevoie de peste 1MB de memorie RAM pentru a stoca imaginea (480 × 800 × 24 biți = 1.125MB).
Pe lângă acest buffer de cadre conținând imaginea curentă afișată pe ecran, o aplicație tipică va avea un buffer în spate (back buffer) care conține următoarea imagine pentru a fi condusă la ecran. În acest fel, procesorul poate opera imaginea următoare fără ca utilizatorul să vadă o imagine pe jumătate operată, ce pâlpâie pe ecran înainte ca CPU să fi terminat operația. Acest sistem cu dublu buffer este foarte comun și oferă o calitate mai ridicată a HMI, dar, de asemenea, înseamnă că ecranul WVGA are nevoie de o memorie RAM suplimentară de 1.125MB, pentru a stoca acest buffer.
Cu toate acestea, povestea memoriei RAM nu este din păcate terminată. Într-o aplicație tipică HMI, nu este întotdeauna necesar să se manipuleze tot ecranul. De exemplu, în cazul în care se apasă o pictogramă sau buton, aceasta s-ar putea anima, străluci, roti sau să reacționeze într-un fel, înainte de avea loc acțiunea. În acest caz, ceea ce ar face un proiectant de HMI, ar fi să definească un strat diferit al imaginii. Ar exista un strat de fond, care ar fi neschimbat și butonul sau pictograma ar fi un strat de prim-plan, care ar fi apoi animat. Dar, acest lucru are nevoie, evident, de memorie RAM suplimentară, nu un ecran complet, dar totuși, “ceva” mai multă. Aceasta depinde de dimensiunea imaginii, dar cu un buton de 200 × 200 pixeli, am avea nevoie suplimentar de 100k de memorie RAM. De asemenea, este necesară aici, abilitatea de a amesteca toate aceste straturi diferite între ele și, poate aplicarea unui nivel de transparență a unora dintre aceste imagini. Acest lucru poate fi făcut în software, dacă procesorul este suficient de rapid, sau în hardware, dacă este disponibil.

Deci, pentru a completa povestea cu cerințele de RAM, o aplicație rezonabilă HMI poate utiliza aproximativ 3MB ca date cadru pentru dimensiunea unui ecran WVGA. Dacă se execută pe RAM şi codul, așa cum este cazul la cele mai multe procesoare, atunci este necesară o zonă suplimentară de memorie de cod de 0.5MB. Astfel, ca punct de plecare pentru un ecran WVGA, ar trebui prevăzut un minim de 3.5MB de memorie RAM.
Desigur, viteza de acces la memoria RAM este de asemenea foarte importantă. După cum veți fi realizat probabil, memoria RAM de aici este scrisă și citită simultan, de mai multe surse diferite. De exemplu, buffer-ul din față (datele de imagine originale) va fi citit de către blocul IP pentru a conduce datele la ecran. De asemenea, buffer-ul din spate va fi actualizat de către CPU sau printr-un transfer DMA al unei imagini diferite. În același timp cu aceasta, procesorul poate manipula pictograma menționată mai sus și citește propriul său cod de operare din memoria RAM. Acest lucru pune o mare presiune pe lățimea de bandă a bus-ului de date către RAM. Acest bus poate genera un blocaj în aplicație; este nevoie de o bună arhitectură a bus-ului de sistem, pentru a reduce riscul de supraîncărcare al bus-ului, utilizatorul putând vedea în acest fel unele imagini semifabricate, sau, mai rău, o interfață GUI non-funcțională. De asemenea, trebuie acordată o atenție specială la performanța procesorului. Un sistem livrând la ecran 24 de cadre pe secundă, va avea nevoie de a manipula și de a crea date (în exemplul nostru, cu ecran WVGA) de peste 24MB pe secundă. Acest lucru poate fi realizat în întregime în software, sau în unele părți din hardware, dar orice s-ar întâmpla, procesorul trebuie să fie suficient de rapid pentru a acoperi aceste cerințe.
Așa cum vorbim acum, despre o soluție procesor, care probabil nu va avea nicio memorie flash pe cip, cerința următoare va fi pentru o conexiune la memorie flash externă. Metoda tipică de astăzi este de a utiliza o memorie paralelă externă de tip NOR flash pentru a stoca codul și apoi în modul de boot pentru a transfera acest cod în memoria RAM pentru a facilita a executare rapidă. Cu toate acestea, dispozitivele mai noi se sprijină pe alte tehnologii de memorie, pentru a permite arhitecților de sistem să reducă costul sistemului fără a avea deasupra un NOR flash “scump” pe PCB.

De obicei, cele mai multe dintre aceste aplicații fac mai mult decât a comanda doar un ecran. Ele trebuie să fie conectate la restul sistemului. Aplicațiile din domeniul auto sunt de obicei conectate la un bus CAN sau MOST. Dispozitivele industriale sau de consum de astăzi, în general, necesită conexiuni Ethernet și USB. Aceste conexiuni înseamnă, de asemenea, că cel mai potrivit produs va trebui să includă nu numai hardware IP, dar, de asemenea, să aibă suficientă performanță pentru a gestiona operațiile și suficient spațiu de cod pentru a susține stivele lor.

Deci, cum este RZ/A?

Familia RZ/A este o soluție bazată pe procesorul ARM Cortex A9 care oferă un număr mare de avantaje în spațiul de aplicație HMI. RZ/A dispune de memorie de până la 10MB SRAM încorporată în cip şi reprezintă dispozitivul cu cea mai mare memorie RAM încorporată din piață. Există 3 variante în familie. RZ/A1H care include memorie RAM completă de 10MB, RZ/A1M care are doar 5MB de memorie RAM și RZ/A1L, care include cea mai mică memorie RAM, de 3 MB.
Deci, din discuția de mai sus, unde am calculat că aplicația HMI ar avea nevoie de aproximativ 3.5MB de memorie RAM, RZ/A1M pare ideal pentru a satisface aceste cerințe. Este, desigur, posibil să se găsească o serie de alte soluții de pe piață care vor folosi RAM extern, care poate fi de tip DDR sau SDRAM, pentru a acoperi această dimensiune a memoriei, dar familia RZ/A este singurul produs pentru care autorul este conștient de faptul că poate să ofere un astfel de nivel ridicat de RAM intern.
RZ/A1H dă proiectantului de sistem posibilitatea de a crește dimensiunea ecra­nului, sau, în funcție de cerințe, de a reduce dimensiunea ecranului, dar și de a crea o versiune optimizată la cost, pentru produsele cu rezoluții mai mici.
Performanța unui CPU la 400MHz este mai mult decât suficientă pentru a rula o aplicație simplă HMI și a menține comunicarea prin orice protocol dictat de sistem, pentru că toate versiunile familiei RZ/A includ: CAN Ethernet (până la 5 canale), USB (până la 2 canale) și chiar suportă reţeaua MOST în versiunile calificate pentru domeniul auto. De fapt, procesorul de 400MHz este mai mult decât suficient din cauza a două caracteristici unice ale RZ/A. Prima caracteristică este VDC. Controlerul de afișare video de la Renesas suportă în hardware multe dintre funcțiile necesare pentru a crea imaginea finală de pe ecran. VDC va suporta până la 4 straturi grafice diferite, dintre care două pot fi intrări de la o cameră video externă. Acesta va suporta, de asemenea, un hardware de amestecare alfa (alpha blending). Amestecarea alfa este un proces prin care la fiecare pixel este alocată o valoare suplimentară alfa pe 8 biți. Această valoare alfa determină transparența pixelului, astfel încât să poată fi suprapus pe partea de sus a unui alt pixel pentru a crea imaginea rezultată. VDC suportă, de asemenea operația “chroma-key”, utilizarea mai cunoscută în videografie pentru aceasta fiind “ecran verde”, unde o anumită culoare este definită ca transparentă, astfel încât un obiect poate fi suprapus din nou pe o altă imagine. În unele sisteme toate acestea se vor realiza în software, dar RZ/A o face în hardware, astfel că la 400MHz, în realitate se confirmă o performanță echivalentă cu mult mai mare. VDC suportă, de asemenea, conexiunea digitală RGB la un ecran TFT, precum și LVDS.

Al doilea factor de performanță al familiei RZ/A care stimulează viteza procesorului este eliminarea problemei de lățime de bandă pentru bus arătată mai sus. Un procesor cu patru nuclee terahertz arată doar cât de repede se pot obține datele. Când datele sunt stocate toate într-un singur bloc de memorie RAM pentru a fi accesate pe o singură magistrală, se poate încetini nucleul. Familia RZ/A, în schimb, are 5 bancuri de memorie RAM separate. Fiecare banc este conectat la propriul său bus de date, larg de 128 de biți, astfel că este posibil să se scrie în buffer-ul din spate, să se citească din buffer-ul frontal, să se manipuleze o pictogramă și să se finalizeze un transfer DMA, toate în timp ce se rulează cod din memoria RAM internă. Acesta este un nivel semnificativ de performanță.
Desigur, am menționat mai devreme că este nevoie de o conexiune la o memorie flash externă, și de aceea RZ/A suportă toate conexiunile normale la memoria non-volatilă, cum ar fi NOR, NAND, SDIO, MMC etc. Cu toate acestea, RZ/A are o conexiune specială SPI Multi-I/O serial flash, care suportă noul protocol quad SPI. Acest QSPI poate realiza transferuri similare sau cu performanțe mai bune decât cele ale unui flash paralel, oferind, în același timp, avantajele economice ale unui flash serial, precum și reducerea numărului de pini la microprocesor și micșorarea dimensiunii PCB.

Pur și simplu: RZ/A este simplu

Recent lansatul dispozitiv RZ/A de la Renesas a fost special conceput pentru piața Human Machine Interface. Există mai multe cerințe în această piață, care, prin combinarea lor, ar fi destul de dificil de îndeplinit cu sistemele tradiționale. Nevoia de memorie RAM este mare, dar nu atât de mare încât să fie nevoie de un microprocesor cu 128MB de memorie RAM DDR3. Cerințele de performanță sunt mici, atât timp cât dispozitivul este sprijinit de un controler de display bine conceput, dar ele nu mai sunt atât de mici ca să poată fi acoperite de un microcontroler care rulează, să zicem, la 100MHz.
RZ/A conține conectivitate suficientă pentru orice aplicație HMI, performanță mai mult decât suficientă, și o cantitate bună de memorie RAM pentru a permite flexibilitate. Aceasta este o soluție dedicată și cost optimizată, de care va profita nu numai o piață în plină expansiune pentru tehnologia de afișare, dar, de asemenea, ajută la dezvoltarea ei pe mai departe.

Renesas
www.renesas.com

S-ar putea să vă placă și