Modul procesor bazat pe un microcontroler de la INFINEON. Modul procesor

Este foarte rar să auzim cuvintele „sistem încorporat” în conversațiile din jurul nostru, iar dacă o facem, atunci cel mai probabil acestea sunt conversații ale specialiștilor (sau ale celor care se consideră astfel). Aparent, acest lucru este oarecum legat de caracteristicile „marelui și puternic”, deoarece, de fapt, aceste „sisteme încorporate” ne însoțesc de destul de mult timp - primul astfel de sistem a fost un computer instalat la bordul navei spațiale APPOLO 11. , faimosul mondial dintr-un motiv complet diferit.

Așa că să ne amintim și să reflectăm. Potrivit unor surse foarte competente, un sistem încorporat este un sistem informatic specializat care este complet încapsulat în dispozitivul pe care îl controlează. Dacă cititorul nu deranjează, vom folosi această definiție în continuare. Sistemele încorporate în sine pot fi împărțite în două tipuri principale ( sacrific în mod deliberat detaliile pentru a sublinia punctul).

Primul tip este sistemele cu microcontrolere. Sunt construite pe bază cip specializat(sau mai multe microcircuite), efectuați unul sau două sau trei complet anumite funcții. Cel mai clar exemplu este televizor modern: procesor pentru procesarea diverselor formate video și a setărilor TV propriu-zise, ​​procesor audio stereo, subsistem de procesare teletext. Se pare ca nu am uitat nimic?.. Toate functioneaza dupa un program preinstalat (firmware) si pot fi reprogramate cu mare dificultate, sau chiar deloc. Pe lângă televizor, puteți aduce o mulțime de dispozitive cu un sistem încorporat de acest tip - pager, Telefon celular, scaner, mașină de spălat. Da intr-una mașină cu injecție(și cu atât mai mult într-o mașină străină) puteți număra câteva zeci de astfel de dispozitive - controler de injecție, controler ABS, controler curs de schimb...

Al doilea tip este sistemele cu microprocesoare. Spre deosebire de sistemele de primul tip, acestea sunt construite pe baza microprocesoarelor utilizate în mod convențional calculatoare personale. Chiar și structura acestor sisteme seamănă adesea cu structura unui computer personal. Există, totuși, o diferență - adesea sistemele încorporate sunt lipsite de unele detalii de care nu au nevoie din cauza specificului problemei care se rezolvă. De acord - nu este nevoie să aveți o cameră digitală placă video puternică cu accelerator 3D. Ei bine, am lăsat-o să scape din timp... Păi, ei bine, ar fi trebuit să o spun oricum. Care este principala diferență între sistemele de acest tip? Pot exista mai multe răspunsuri posibile, dar există câteva dintre cele principale: în primul rând, acestea sunt sisteme reprogramabile. În al doilea rând, acestea sunt sisteme mai mult sau mai puțin ușor reprogramabile, deoarece sunt software compatibile cu calculatoare pentru care s-a scris deja mult softwareși pe care este scris acest software. Este ceva mai dificil de dat exemple de sisteme de acest tip din cauza prevalenței lor mai scăzute în viața de zi cu zi: majoritatea DVD playerelor de uz casnic, camerele digitale deja menționate, calculatoare auto(subliniez - nu cele mai simple computere de călătorie, care aparțin primului tip, ci computere serioase pentru Control Windows Auto, cu GPS, MPEG2 etc.), PDA-uri, handheld-uri și aproape tot ce ține de nișa PDA (Personal Digital Assistant), precum și diverse dispozitive exotice ca un frigider cu acces la internet...

Sistemele embedded de al doilea tip sunt cele mai răspândite în industrie, deoarece utilizarea lor reduce timpul de dezvoltare, simplifică întreținerea etc., etc... Nu voi enumera toate avantajele aici - ele pot fi găsite în aproape orice literatură pe această temă . Este din aceste motive metode moderne automatizarea este de neconceput fără utilizarea unor astfel de sisteme. Desigur, cererea creează oferta. Aceasta este ceea ce avem astăzi: un număr considerabil de standarde pentru „blocurile de bază” pentru crearea sistemelor încorporate și multe altele cantitate mare companiile care produc chiar aceste „cărămizi”. Judecați singuri: numai Consorțiul PC/104 (o organizație care reunește producătorii de plăci de acest standard) are acum peste 200 de participanți. Ce se întâmplă dacă luăm și PC/104Plus, CPCI, VME? Sute de producători, mii de nume de produse. Și toate acestea pentru confortul dezvoltatorilor de pe piața sistemelor încorporate.

Dar nimeni nu a anulat încă legea conservării energiei (deși au existat încercări) și trebuie să plătești pentru aceste beneficii. Și în sensul literal - adesea un sistem cu microprocesor este mai scump decât un sistem cu microcontroler. Și în procesul de dezvoltare a unui nou sistem încorporat, trebuie să rezolvați o anumită ecuație economică. Nu sunt multe variabile incluse în această ecuație - costul dezvoltării unui dispozitiv pe un microcontroler sau achiziționării unei plăci de microprocesor gata făcute, costul dezvoltării software sau costul scrierii firmware-ului, costul întreținerii oricăruia dintre sisteme, durata de viață și posibilitatea de a-l actualiza în acest moment. Ecuația se dovedește a fi destul de complexă, iar soluția sa este departe de a fi ambiguă. De exemplu, casele de marcat sunt de obicei realizate pe un microcontroler, iar aparatele de joc sunt de obicei realizate pe un microprocesor. Dar se întâmplă și invers!

După cum înțelegeți, costul plăcii finite joacă un rol semnificativ atunci când rezolvați o astfel de ecuație. Și dacă în plus pret atractiv Această placă are un mediu de dezvoltare software convenabil, bun suport tehnic din partea producătorului, capacitatea de a face modificări hardware la dispozitivul finit - alegerea va fi evidentă. După cum înțelegeți deja, așa încerc cu blândețe și fără pretenții să schimb conversația în mod specific către sistemele cu microprocesor. Ce putem ascunde acolo - produsele unui dezvoltator!

Referință istorică

CompuLab Ltd. (Israel) a fost fondată în 1992 și și-a început activitățile cu consultanță în domeniul soluțiilor de inginerie în electronică. În următorii cinci ani, compania participă la câteva zeci de dezvoltări personalizate. Experiența acumulată, activitatea de afaceri, cercetarea de piață și cel mai mare potențial ingineresc au permis CompuLab Ltd. suficient timp scurtîncepeți să vă proiectați propriile produse. În 1997 compania produce propria dezvoltare- Familia CORE de module de procesor. Din păcate, în ciuda inovației soluțiilor tehnice și de inginerie încorporate în prima generație de module, arhitectura procesorului utilizat în acestea (i960) nu a fost la înălțimea speranților dezvoltatorilor de implementare pe scară largă.

A doua generație de module a fost lansată în 1999. Aceste module s-au bazat pe procesor AMD ELAN SC400 (arhitectură x86) și s-au numit 486CORE. La acea vreme acestea erau cele mai mici computere din lume. Succesul fantastic al 486CORE pe piață a confirmat corectitudinea strategiei alese. De atunci, familia modulelor CORE a fost extinsă de mai multe ori și, îndrăznim să sperăm, va continua să crească în viitor.

Combinație mare putere de calculși dimensiunile reduse ale modulelor au contribuit la cucerirea rapidă a pieței sistemelor embedded. Astăzi, produsele CompuLab sunt folosite de peste 300 de companii din 50 de țări, iar compania însăși produce aproape 20% din produsele de pe această piață. Printre principalii cumpărători ai acestor module putem aminti astfel de giganți cunoscuți precum Cisco Systems, Marconi, General Electric, OKI și mulți alți producători care nu sunt atât de cunoscuți în Rusia.

Gama de aplicații pentru modulele CORE este foarte largă: industrii militare și aviatice, echipamente medicale, transporturi, echipamente de telecomunicații, inteligente dispozitive de rețea, mini calculatoare, perifericele computerului, echipamente pentru industria divertismentului...

Referința tehnică nr. 1

Module de procesor CompuLab Ltd. - acestea sunt complet funcționale sisteme de calcul Cu RAM, unități flash încorporate, controler Ethernet, suport pentru standard computere desktop periferice și alte lucruri mici frumoase și utile care fac viața unui dezvoltator mult mai ușoară. Tot ce este necesar pentru munca lor linii electrice sunt ieșite la conectori unificați de companie (CAMI - CompuLab's Aggregated Module Interface) și sunt proiectate pentru andocare cu placa purtătoare corespunzătoare (de obicei în format PC/104 Aceste plăci pot conține (sau să nu conțină - mai multe despre asta mai târziu). următoarele dispozitive: convertor de putere, drivere de magistrală pentru port serial, magistrale PC/104 și PC/104 Plus, opțional placa de retea, controler PCMCIA, etc. Odată conectat împreună, placa purtătoare și modulul procesorului formați un computer cu capabilități identice cu un computer obișnuit, dar cu dimensiuni mult mai mici.

Un cititor sofisticat poate să bată joc de aceste rânduri, pentru că nu este nimic nou în această descriere. Și acum - cel mai interesant lucru: plăcile de transport au schema electricași chiar recomandări pentru cablarea propriilor plăci de transport. Așa cum? Impresionant? Tot ce trebuie să faceți este să vă creați propria placă și să instalați un nucleu de calcul gata făcut în ea - și asta este tot! Necesar jocuri mecanice- vă rog, avem nevoie de o unitate de bord (într-un anumit factor de formă, cum ar fi ARINC-429) - vă rog! Nu există limită pentru perfecțiune! Apropo, acest lucru este exact ceea ce fac majoritatea clienților CompuLab.

Gata, nu te voi mai chinui cu fraze vagi. Următoarea parte a articolului conține mai multe descriere detaliata produse. Vă avertizez imediat: dacă dumneavoastră, dragă cititor, sunteți deja familiarizați cu aceste plăci, nu citiți mai departe. Numerele și termenii tehnici pe Limba engleză mă duce în blues...

Referința tehnică nr. 2

În 2005, compania și-a schimbat denumirea produselor, așa că de acum înainte vom folosi doar definiții noi. Tabelul de pe site-ul producătorului este prezentat aici cu abrevieri și comentarii minore:

  1. Pe lângă opțiunile de mai sus, toate modulele includ o magistrală PCI, ceas în timp real și interfețe hard diskși codec audio.
  2. Inaltimea modulelor este indicata fara calorifer.
  3. Performanța a fost măsurată folosind testul SiSoft Sandra.
  4. Tabelul prezintă date numai pentru modulele noi și cele mai populare. De unde pot obține mai multe informatii detaliate, te voi anunta mai tarziu.

Masa. Caracteristicile modulelor de calcul CompuLab Ltd.

După cum probabil ați observat, împreună cu arhitectura x86 mai familiară, lista de produse include și produse bazate pe procesoare de tip RISC. Acest articol a fost inițial planificat ca o revizuire a CM-X255 (modulul CM-X270W a fost anunțat la momentul scrierii), așa că vom începe cu această placă. Vreau să clarific imediat - există două versiuni ale modulului CM-X255 (2.0 și versiunea 3.0, numită și „GX”), vom vorbi doar despre cea din urmă.

Schema structurala modulul este prezentat în fig. 1. Acordați atenție elementelor marcate cu linia „opt”. Acestea sunt tocmai elementele personalizate („opțiuni”) din configurația plăcii procesorului, care pot fi instalate (sau îndepărtate) la cererea clientului.

Orez. 1. Schema bloc a modulului SM-X225

Acum - o prezentare generală a principalelor componente ale acestei plăci. Cred că ar fi logic să începem cu procesorul. Deci - Intel XScale PXA255. În principiu, întregul număr al acestei reviste i-ar putea fi dedicat doar lui, dar pentru că nu vorbim doar despre el, voi încerca să fiu scurt:

  • Cipul procesorului este fabricat folosind tehnologia de 0,18 microni, care asigură un consum redus de energie la frecvența ceasului(400 MHz).
  • Procesorul este compatibil cu Arhitectura ARM v.5TE.
  • Tehnologia Intel Media Processing (inclusiv acumulatorul pe 40 de biți și operația de multiplicare pe 16 biți) accelerează decodificarea fluxurilor audio/video.
  • Pe lângă computerul în sine, procesorul include suport pentru PCMCIA/Compact Flash, 17 linii de intrare/ieșire scop general(GPIO), ceas în timp real (RTC), watchdog, controler de gestionare a energiei, controler de întrerupere, controler acces direct la memorie, controler hard reset(controler de resetare), controler grafic cu suport pentru panouri LCD, inclusiv TFT, trei porturi seriale, Bluetooth, IrDA (SIR și FIR), I2C, I2S, AC97, SPI, USB, JTAG, controler MMC, două generatoare de ceasuri independente (32768) Hz și 3,6864 MHz).
  • Procesorul este disponibil pentru intervale de temperatură obișnuite și extinse.

S-a dovedit a fi destul de scurt... Pentru cei care se așteptau la mai mult, vă sfătuiesc să vă uitați la lista de referințe de la sfârșitul articolului.

Acum să vorbim puțin mai mult despre componentele și caracteristicile rămase ale modulului (Fig. 1).

RAM tip SDRAM cu o magistrală de 32 de biți și o frecvență de 100 MHz.

Există două tipuri de unități flash - NOR și NAND. Primul megabyte de NOR este folosit pentru a stoca programul de monitorizare (ARMMON), restul este folosit pentru a stoca Kernel-urile Linux sau încărcător de pornire Windows CE. ARMMON include suport pentru drivere memorie NAND, care vă permite să scrieți fișiere acolo sistem Linux sau Imagine Windows CE. Ambele unități au protecție la scriere hardware (una dintre liniile de conector CAMI).

Interface Bridge este un cip al așa-numitului cip însoțitor, care extinde capacitățile procesorului. Acest cip include un controler SDRAM, un controler Autobuze PCI(versiunea 2.1, frecvență 33 MHz), extindere controler de întrerupere, extindere controler acces direct la memorie, temporizator cu patru canale, controler magistrală LPC, două canale USB suplimentare (tip gazdă, 1,5–12 Mbit/s) și încă un port serial .

Nu mă voi opri prea mult pe controlerul Ethernet: 10–100 Mbit/s.

Codec audio și controler touch screen(ecran tactil) extinde capacitățile interfeței AC97 încorporate în procesor. La codecul instalat(Crystal CS4299 sau UCB1400) modulul are o intrare de microfon monofonică, stereofonică intrare de linie si iesi. O parte a cipul UCB1400 este un controler cu ecran tactil rezistiv cu patru fire.

Cip Super-I/O. Poate că experții ar putea acum să mă mângâie cu condescendență pe umăr, spunând că astfel de lucruri nu se întâmplă. Pot fi. Dar, să fiu sincer, dacă aș putea scrie poezie, aș scrie o odă CompuLab pentru frumusețea soluțiilor sale de inginerie. Una dintre ele este utilizarea controlerelor de tip Super-I/O. Această soluție este utilizată în toate modulele produse de companie și face viața mult mai ușoară dezvoltatorilor. În acest caz, CM-X255 este echipat cu un cip IT8711F care acceptă următoarele dispozitive: tastatură și mouse PS/2, port paralel (cu posibilitatea de a conecta o unitate de dischetă) discuri magnetice) și un alt port serial.

Un alt controler RTC (MAX6902) este instalat pe modul pentru a urmări timpul când procesor oprit.

Singurul driver de linie RS-232 pentru portul serial (COM-A) este instalat direct pe modul. Acest port servește ca port de consolă atunci când se lucrează cu ARMMON, poate fi folosit și pentru diagnosticare și depanare atunci când se lucrează în Linux și Windows CE.

Informațiile foarte seci despre dimensiunile modulului (tabelului) pot fi ușor însuflețite de fotografia acestuia (Fig. 2). Cei doi conectori mari de 180 de pini de pe el sunt CAMI menționate anterior.

Orez. 2. Modulul SM-X225 - vedere de jos

Acum câteva cuvinte despre placa de transport. Mai exact, despre plăcile suport, deoarece există două tipuri de ele pentru acest modul. Să începem cu cel mai mic.

Referința tehnică nr. 3

Placa SB-X255 (nume vechi ARMBASE). Este un suport pentru CM-X255, realizat în formatul PC/104 (în Fig. 3 este prezentat SB-X255 cu un modul de procesor instalat pe el). Păcat că mijloace moderne mass media până când îți permit să-ți folosești toate simțurile...

Modul procesor- aceasta este o varietate calculatoare cu o singură placă, se referă la încorporat sisteme informatice. Este un modul mic pe care se află procesorul, grafica, rețeaua și alte controlere necesare și care poate fi instalat pe o placă de bază de diferiți factori de formă, cum ar fi ATX sau EPIC.

Compania noastră furnizează următoarele tipuri de module de procesor:

Utilizarea modulelor de procesor în fabricarea instrumentelor a condus la faptul că circuitele plăcilor au devenit simplificate și unificate. A devenit mai ușor pentru dezvoltatori să aleagă baza pentru noi dispozitive și, în consecință, lansarea produselor pe piață s-a accelerat.

Modulele de procesor, datorită diversității și versatilității lor, și-au găsit aplicația în multe industrii:

  • producție
  • sisteme de automatizare
  • medicament
  • complex militar-industrial
  • avionică
  • energie
  • testare și măsurare

Caracteristicile funcționale ale modulelor procesorului

Modulele de procesor sunt împărțite în tipuri ETX, COM-Express, QSeven, SOM, uProcessor și se disting prin performanță, consum redus de energie și disipare a căldurii, deoarece sunt concepute pentru aplicații încorporate în care sarcinile de disipare a căldurii într-o carcasă compactă sunt critice atunci când alegeți tip de modul.

Principalul avantaj al sistemelor pe module de procesor este designul lor modular. Într-un număr de aplicații, nu este posibil să se utilizeze plăci cu factori de formă standard, cum ar fi 3,5” sau EPIC, deoarece dimensiunea plăcii limitează numărul de interfețe I/O acceptate și nu este întotdeauna posibil să se includă toate conectorii necesari pe placă. De asemenea, în timp, plăcile devin depășite și găsirea unei soluții potrivite pentru un caz existent devine foarte dificilă. Dacă utilizați modulul procesor împreună cu placa de baza, apoi aici puteți alege singur ce conectori trebuie să vă conectați la placa de bază, ce dimensiune ar trebui să aibă placa de bază și ce modul de procesor (cu ce procesor și, respectiv, chipset) să utilizați în sistemul dvs. Dacă doriți să îmbunătățiți performanța sistemului dvs. și să utilizați procesoare mai noi, de exemplu, atunci puteți pur și simplu să selectați un nou modul de procesor de tipul adecvat și să-l instalați pe placa de bază pe care o utilizați.

Modulul procesorului este atașat în siguranță la placa de baza Prin urmare, sistemele bazate pe o structură modulară pot rezista foarte bine la sarcinile de vibrații. Acesta este tocmai motivul utilizării lor în complexul militar-industrial și avionică, unde fiabilitatea și performanța sunt de o importanță capitală.

Soluțiile încorporate astăzi necesită nu numai performanță ridicată, ci și un număr mare de porturi I/O într-un factor de formă compact. Dimensiuni mici, fiabilitate, scalabilitate - toate acestea sunt avantajele modulelor de procesor. De aceea, computerele modulare ale specificațiilor COM Express, ETX și Qseven sunt utilizate în mod activ acest momentîn diverse sisteme industriale și militare. Sortimentul companiei IPC2U reprezentate de modulele procesoare ale companiilor IEI, ICOP, AXIOMTEK, NEXCOM, ADVANTECHși alți producători globali.

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Buna treaba la site">

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

Postat pe http://www.allbest.ru/

Introducere

Modulul procesorului este un dispozitiv complet funcțional, cu o funcție încorporată pentru depanarea software-ului țintă. Conține conectori către care sunt direcționate toate contactele microprocesorului. Modulul procesorului asigură pornirea și inițializarea corectă a microprocesorului după o resetare hardware. Poate funcționa cu sau fără controlul unui computer instrument. Interacțiunea dintre computerul instrumental și modulul procesorului se realizează printr-o interfață de depanare.

Modulul nu conține nimic neobișnuit pentru un sistem cu microprocesor și folosește doar acele proprietăți ale microprocesorului care sunt comune pentru majoritatea acestora. Datorită acestui fapt, se realizează independența structurii modulului față de alegerea microprocesorului. Dezvoltatorul este invitat să construiască un sistem de microprocesor țintă bazat pe un modul de procesor cu funcții de depanare și pornire încorporate.

Metoda de proiectare a unui sistem cu microprocesor folosind un modul de procesor de depanare vă permite să accelerați și să reduceți costul procesului de dezvoltare sistem țintă. Utilizarea metodei vă permite să evitați costurile asociate cu achiziționarea unui emulator în circuit, emulator ROM și model de program microprocesor, pentru a simplifica tehnologia de dezvoltare și depanare a părților sistemului țintă asociate direct cu microprocesorul. Utilizatorul achiziționează imediat o parte a sistemului țintă cu funcții de depanare și diagnosticare încorporate.

În procesul de finalizare a acestui proiect de curs, va fi proiectat un modul de procesor - un dispozitiv independent care poate efectua două acțiuni specificate asupra operanzilor. Rezultatul proiectului va fi o diagramă a dispozitivelor care îndeplinește cerințele pentru sistemele de procesare a informațiilor.

1 . Analiza jobului

Sistem electronic care implementează algoritm complex prelucrarea datelor poate fi împărțită condiționat în două subsisteme legate funcțional - o mașină de control și o mașină de operare. Interacțiunea acestor două subsisteme este prezentată în Fig. 1.1.

Automatul de control determină ordinea de implementare a operațiilor de calcul și afișează o diagramă grafică a operației sistem electronic. Informațiile de intrare pentru automatul de comandă sunt un set de semnale de informații (X) și un set de steaguri de ramificație externă (F), rezultatul operației este un set de semne ale microoperațiilor în curs (Y).

O mașină de operare efectuează operații de calcul pe operanzii săi. Din punct de vedere structural, un automat operațional este format din elemente de memorie (registre) care stochează valorile operanzilor și circuite combinaționale care sunt responsabile de efectuarea micro-operațiilor. Informațiile de intrare pentru mașina de operare sunt liniile de date (D) și setul de micro-operații efectuate într-un ciclu dat (Y), ieșirile sunt liniile de rezultat (R) și atributele de rezultat generate (X) utilizate în mașină de control.

Conform sarcinii primite, este necesar să se implementeze un modul de procesor care execută următorii algoritmi: înmulțirea numerelor întregi binare fără semn, pornind de la cifrele de ordin inferior ale multiplicatorului, conversia Numărul BCD la binar.

Figurile 1.2 și 1.3 arată acțiunile GSA pe care trebuie să le efectueze modulul procesor proiectat.

Figura 1.2 - Înmulțirea numerelor întregi binare fără semn, pornind de la biții de ordin inferior ai multiplicatorului

Figura 1.3 - Înmulțirea numerelor întregi binare fără semn, pornind de la cei mai semnificativi biți ai multiplicatorului

Pentru a îndeplini această sarcină, este necesar să combinați două GSA-uri, deoarece modulul de procesor proiectat trebuie să efectueze două operații. Pentru a selecta una dintre operații, un vârf condiționat a fost adăugat la GSA combinat, care este prezentat în Figura 1.4, verificând starea registrului COP (cod de operare). Datele din COP, ca și operanzii, sunt informații de intrare pentru modulul procesor proiectat.

În GSA combinat, operațiunea de ștergere a registrului C a fost schimbată în raport cu algoritmii inițiali. microoperații (Y) fiind efectuate. În același scop, a fost creat un vârf de rezultat comun ambelor GSA.

Astfel, atunci când proiectați un modul de procesor, este necesar să folosiți un GCA unificat care descrie algoritmi pentru efectuarea acțiunilor intenționate. Modulul procesorului va fi împărțit logic în două subsisteme - OA și UA, care vor fi proiectate ca dispozitive independente.

Figura 1.4 - GAW generală

2 . Proiectarea unei mașini de operare

2.1 Probleme generale functionarea atomilor operanti

Funcțiile OA sunt reduse la intrare-ieșire și stocarea cuvintelor de informații, efectuarea de micro-operații și calcularea condițiilor logice. Pentru a implementa aceste acțiuni, aveți nevoie de un set de elemente suficiente cu care să construiți structuri funcții date. Acest set de elemente se numește baza structurală a OA.

Principalele elemente operaționale utilizate în OA sunt:

Autobuze controlate care asigură transferul de informații;

registre;

Circuite combinaționale utilizate pentru a efectua transformări și a genera condiții logice.

ÎN vedere generala structura OA este prezentată în Figura 2.1, unde F sunt circuitele combinaționale care efectuează conversia, S este memoria, ? - circuite combinaţionale care generează semnale informaţionale.

Figura 2.1 - Structura generală OA

modulul procesorului care procesează informații

2.2 Organizarea structurală a automatelor M

Conform sarcinii, OA pentru modulul de procesor proiectat trebuie să fie de tip M. Un automat M este un astfel de OA care este sintetizat pe baza principiului generalizării circuitelor combinaționale utilizate pentru a efectua toate microoperațiile. Mașina M-automatică are cele mai mici costuri hardware, cu toate acestea, dezavantajul mașinii M-automatic este că nu poate efectua mai mult de o microoperație de conversie pe ciclu. În consecință, performanța mașinii M-automatic este scăzută.

Principiul generalizării circuitelor combinaționale determină structura mașinii prezentată în figura 2.2.

Figura 2.2 - Structura generalizată de tip M OA

Într-o astfel de structură de microoperații asociate cu transformarea y p: S k:

M (S i , S j), este atribuit următorul set de operatori:

M: z:= ? m(A1, A2);

y p = (a i, b i, ? m, d k).

2.3 Proiectarea mașinii M-automatice

Dezvoltarea structurii unei mașini automate M presupune parcurgerea următorilor pași:

1. Pentru aparat, selectați registrele care vor stoca rezultatele micro-operațiilor:

A (7:0), B (7:0), C (15:0), CnT (3:0), COP.

2. Distribuiți registrele pe două magistrale A 1 și A 2:

Arg1 = (C), Arg1(15:0);

Arg2 = (A, B), Arg2 (7: 0).

3. Să definim microoperațiile efectuate de mașina M-automatică:

Tabel 2.1 - Operații pentru mașina M-automat

Microoperare

Rezultat

C (15:0):=C (15:0)+A (7:0)

Z=Arg1 (15:0)+Arg2 (7:0)

B (7:0):=R1 (C(0).B (7:1))

Z=R1 (Arg1 (0).Arg2 (7:1))

C (7:0):=R1 (CF.C (7:1))

Z=R1 (CF. Arg1 (7:1))

R (15:0):=C (7:0).B (7:0)

C (15:0):=L1 (C(14:0).0)

Z=L1 (Arg1 (14:0).0)

B (7:0):=L1 (B(6:0).0)

Z=L1 (Arg2 (6:0).0)

R (15:0):=C (15:0)

4. Să identificăm clase de microoperații echivalente și să găsim microoperatori generalizați pentru ele:

5. Să construim un circuit al unei mașini automate M la nivelul transferurilor de registru:

Figura 2.3 - Schema unei mașini M-automat la nivelul transferurilor de registre

3 . Proiectarea unei mașini de control

3.1 Aspecte generale privind funcționarea dispozitivelor de control cu ​​logică dură

Unitatea de control este înțeleasă ca un set de blocuri și noduri de procesor care asigură funcționarea coordonată a tuturor dispozitivelor informatice și controlul acestora pentru toate modurile acceptate.

UU, implementând programe, organizează totul acțiunile necesare pentru primirea, evaluarea si transformarea informatiilor sursa in vederea obtinerii si producerii rezultatelor necesare. Acea. Controlul poate fi considerat o transformare a informațiilor primare de comandă, reprezentate de comenzi de sistem, în informații de comandă secundare, reprezentate de controlul generat, adrese executive, coduri și semnale de control, al căror impact asupra nodurilor și blocurilor corespunzătoare conduce la executarea operațiuni.

Secvența de execuție a programului:

selectarea unei echipe din OP

operatii de decodare

determinarea adreselor de executare a operanzilor

preluați operanzi în cache

efectuarea de operații

Figura 3.1 - Structura generală a sistemului de management

BUK stochează comanda citită din memorie și generează adresele următoarei comenzi. Citirea următoarei comenzi din memorie și conversia adresei și a părților operaționale ale comenzii este efectuată de unitatea de control.

Pentru a genera semnale de sincronizare și a coordona funcționarea unității de control și a unității de control, este utilizată BMU.

Când se utilizează logica „hard”, UA-urile sunt construite din circuite combinaționale disparate și elemente de memorie. Legea de funcționare a UA este determinată de ordinea în care elementele sunt conectate între ele.

Principalele elemente cu care se poate construi UA sunt:

1 elemente de întârziere (flip-flop D)

2 distribuitoare de semnal (registre de deplasare)

3 Ca o mașină digitală

3.2 Diagrama grafică rafinată a algoritmului

Pentru a proiecta o mașină de control, este necesar să folosiți un GSA rafinat, care ține cont de tipul de mașină de operare.

Convertirea GSA consolidată în cea actualizată include următorii pași:

1. înlocuirea microoperaţiilor cu acestea simboluri y i ;

2. împărțirea vârfurilor operaționale cu n microoperații de transformare în n vârfuri operaționale, întrucât un OA de tip M nu poate efectua mai mult de o microoperație de transformare într-un ciclu de operație;

3. marcarea stărilor automatului de comandă conform regulilor:

Starea de după „start” și înainte de „sfârșit” trebuie să aibă o etichetă

Starea de după fiecare vârf operator trebuie să aibă o etichetă

Figura 3.2 - GSA rafinat (marcat).

3.3 Proiectarea unei mașini de control cu ​​logică dură

Dezvoltarea structurii UA presupune parcurgerea următorilor pași:

Pe baza GSA marcată, se construiește un grafic de tranziție al algoritmului:

Figura 3.3 - Graficul de tranziție al automatului de control

Tabelul 3.1 - Codarea stărilor

Stat

Numărul de intrări

Codificare

Tabel 3.2 - Tabel structural al tranzițiilor mașinii de control

Starea inițială

Cod binar al stării inițiale

Statul rezultat

Cod binar al stării rezultate

Condiție de tranziție

Ieșire în formă

Funcții de excitare

Din acest tabel puteți obține următoarele dependențe:

Pentru decodorul de stare:

Pentru funcțiile de ieșire

Pentru funcția de excitare a declanșatorului

Să construim o schemă de UA a nivelului de transfer al registrului:

Conform structurii generalizate a unui automat de control, următoarele elemente sunt utilizate pentru a construi circuitul:

T-trigger

DC - dispozitiv de decodare care convertește codul binar pozițional;

MX este un multiplexor care selectează una dintre condițiile logice de verificat;

Figura 3.4 - Schema UA a nivelului de transfer al registrului

4 . Proiectarea modulului procesorului

În conformitate cu descompunerea modulului procesorului prezentată în Figura 1.1, proiectarea a constat în două etape: proiectarea dispozitivului de operare și a mașinii de control.

Este evident că modulul procesor rezultat este o conexiune a două dispozitive separate - OA și UA. Operanzii (D 1, D 2), condiția de selecție a operațiunii (COP sau D 3) și semnalele de control (Clk, Start, Stop, Reset) sunt furnizate intrărilor întregului modul de procesor. Interacțiunea internă dintre OA și UA constă în transmiterea reciprocă a semnalelor: OA generează valorile condițiilor logice calculate (X) la fiecare ciclu de ceas, UA generează semnale pentru a efectua microoperațiile necesare la acest ciclu ( Y). De asemenea dispozitiv de operare generează rezultatul execuției valoare dată Registrul de acțiuni COP, care este alimentat la magistrala de ieșire R.

Pe lângă circuitele OA și UA ale nivelului de transfer al registrului, rezultatul proiectului de curs sunt textele modelelor VHDL ale dispozitivului de control, mașinii de operare și modulului procesorului. Modelul VHDL al modulului procesorului include modelele OA și UA ca componente.

5 . Analiza rezultatelor sintezei

În urma sintezei automate, s-au obținut modele ale mașinii de operare, ale dispozitivului de control și ale întregului modul procesor. Performanța componentelor dezvoltate poate fi evaluată folosind diagramele de timp rezultate construite în mediul de proiectare.

5.1 Testarea VHDL-mModele de dispozitive de operare

După elaborarea modelului VHDL al OA, a fost obținută o diagramă temporală a funcționării dispozitivului, prezentată în Figura 5.1.

Figura 5.1 - Diagrama temporală a funcționării modelului VHDL OA

Simularea funcționării OA a fost efectuată prin aplicarea datelor de intrare (d1, d2, d3), a semnalelor curente de microcomandă și sincronizare (clk) și resetare asincronă (rst) la intrările dispozitivului. Ca urmare a modelării și depanării, s-a ajuns la concluzia că funcționarea dispozitivului respectă cerințele pentru OA. (Textul modelului VHDL al mașinii de operare este în Anexa 1).

5.2 Testarea VHDL-mModelul dispozitivului de control

După elaborarea modelului VHDL al dispozitivului, s-a obținut o diagramă temporală a funcționării dispozitivului, prezentată în Figura 5.2.

Figura 5.2 - Diagrama temporală a funcționării modelului VHDL al UA

Pentru a simula funcționarea dispozitivului de control, semnalele de sincronizare (clk) și resetarea asincronă (rst), precum și valorile condițiilor logice calculate de mașina de operare, au fost furnizate intrărilor dispozitivului. (Textul modelului VHDL al automatului de control se află în Anexa 2).

Simularea funcționării dispozitivului a fost efectuată folosind o strategie de ocolire a tuturor arcurilor. Ca rezultat al simulării, s-a făcut o concluzie despre operabilitatea modelului, deoarece în toate stările UA au fost furnizate ca vector de ieșire semnale de microoperare corespunzătoare celor notate în GSA rafinat.

5.3 Testarea VHDL-mmodele de module de procesor

După elaborarea modelului VHDL al UA, s-au obținut diagrame de timp pentru execuția a două acțiuni, prezentate în Figurile 5.3 și 5.4. Pentru modelare, datele pentru acțiunea care se execută au fost furnizate la intrările modelului modulului procesorului (d1, d2 - operanzi; d3 - codul operației efectuate). Rezultatul operației a fost primit pe magistrala de ieșire r.

Figura 5.3 - Înmulțiți numerele întregi binare fără semn, începând cu cei mai puțin semnificativi biți ai multiplicatorului

Verificarea rezultatelor simularii de lucru prezentate in Figura 5.3:

28 * 10 = 280 sau

00011100 * 00001010 =100011000.

Figura 5.4 - Înmulțirea numerelor întregi binare fără semn, începând cu cei mai semnificativi biți ai multiplicatorului

Simularea a obținut rezultatul corect.

concluzii

Rezultatul proiectului de curs este un modul de procesor format dintr-un M-automat operațional și un automat de control cu ​​logică dură de tip Mealy, și care efectuează acțiuni conform sarcinii: înmulțirea numerelor întregi binare fără semn, începând de la cele mai mari cifre ale multiplicator și înmulțirea numerelor întregi binare fără semn, începând de la biții cei mai puțin semnificativi ai multiplicatorului

Datele inițiale pentru proiectare au fost diagrame grafice ale algoritmilor pentru acțiuni date, tipuri de OA și UA și capacitatea operanzilor.

În timpul finalizării proiectului de curs, s-au dobândit cunoștințe privind organizarea și funcționarea complexului sisteme digitale prelucrarea informațiilor, abilități practice dobândite în proiectarea unui modul de procesor folosind limbajul VHDL.

Ca rezultat al analizei sintezei automate a dispozitivelor, putem concluziona că sarcina a fost finalizată corect și complet de către proiectarea cursului, deoarece modulul de procesor dezvoltat realizează corect acțiunile specificate de sarcină.

Lista surselor utilizate

1. Korablev N.M. - Note de curs privind disciplina „Ingineria circuitelor computerizate” - Harkov, 2010.

2. Korablev N.M., Sarancha S.N., Sarancha O.N. - Instrucțiuni La munca de laborator la disciplina „Computer Circuit Engineering”: Partea 2 „Proiectare sisteme complexe" - Harkov: KNURE, 2006

3. Bibilo P.N. Sinteză circuite logice folosind limbajul VHDL. - M.: SLON-R, 2002. - 384 p.

4. http://vhdl- 1 .ru/

5. http://www.vhdl- 1 .ru/compon.html

6. http://www.bsuir.by/vhdl/index.php? sacțiune=principal

Aplicație1

Modelul VHDL al unei mașini de operare

utilizați IEEE.STD_LOGIC_1164.all;

clk, primul: în STD_LOGIC;

d3: în STD_LOGIC;

r: out STD_LOGIC_VECTOR(15 până la 0);

x: out STD_LOGIC_VECTOR (4 până la 0)

arcul arhitecturii OA_M este

Declararea semnalelor interne

semnal A, B, Arg2: STD_LOGIC_VECTOR (7 până la 0);

semnal CF: STD_LOGIC_VECTOR(8 până la 0);

semnal C, Arg1, Z: STD_LOGIC_VECTOR (15 până la 0);

semnal Cnt: INTEGER;

semnal COP: STD_LOGIC;

Semnale A, B, C, COP - intrări ale registrelor corespunzătoare

Semnale Arg1, Arg2 - magistrale de argument

Semnal Cnt - contor

proces (clk, primul) este

Resetare asincronă

A<=(others=>"0");

B<=(others=>"0");

C<=(others=>"0");

elsif rising_edge(clk) atunci

Scriere sincronă în registrul A

dacă y(1)="1" atunci A<=d1;

Scriere sincronă în registrul B

dacă y(2)="1" atunci B<=d2;

elsif (y(7) sau y(12))="1" apoi B<=Z (7 downto 0);

Scriere sincronă în registrul C

dacă y(3)="1" atunci C<=(others=>"0");

elsif (y(6) sau y(8) sau y(11))="1" apoi C<=Z;

Înregistrarea sincronă a rezultatului

dacă y(10)="1" atunci r<=C (7 downto 0)&B (7 downto 0);

elsif y(13)="1" apoi r<=C;

Înregistrare sincronă la contor

dacă y(4)="1" atunci Cnt<=8;

elsif y(9)="1" apoi Cnt<=Cnt-1;

Scriere sincronă în registrul COP

dacă y(5)="1" atunci COP<=d3;

altfel COP<="0";

Bus argument 1

arg1<= C when (y(6) or y(7) or y(8) or y(11))="1"

else(altele => "0");

Argument bus 2

arg2<= A when y(6)="1"

altfel B când (y(7) sau y(12))="1"

else(altele => "0");

Formarea steagului de transport

CF<=("0"&A (7 downto 0))+("0"&B (7 downto 0)) when y(8)="1";

Autobuz rezultat

Z<=Arg1 (15 downto 0)+arg2 (7 downto 0) when y(6)="1"

altfel "00000000"&Arg1 (0)&Arg2 (7 până la 1) când y(7)="1"

else "00000000"&CF(8)&Arg1 (7 până la 1) când y(8)="1"

else Arg1 (14 downto 0)&"0" când y(11)="1"

altfel "00000000"&Arg2 (6 până la 0)&"0" când y(12)="1"

else(altele => "0");

Formarea semnelor de rezultat

x(2)<="1" when B(0)="1" else "0";

x(3)<="1" when Cnt=0 else "0";

x(4)<="1" when B(7)="1" else "0";

Anexa 2

Modelul VHDL al unui automat de control

utilizați IEEE.STD_LOGIC_1164.all;

entitate ua_mili este

clk: în STD_LOGIC; - intrare sincronizare

primul: în STD_LOGIC; - resetare intrare

x: în STD_LOGIC_VECTOR(4 până la 1); - intrări de condiţii logice

y: out STD_LOGIC_VECTOR (13 până la 1) - ieșiri de micro-operare

arhitectura arc de ua_mili este

tipul TState este (a0, a1, a2, a3, a4, a5, a6, a7, a8); - multe stări interne

Stare semnal: TState;

proces (clk, prima) este - funcție de tranziție

dacă rst="0" atunci arătați<=a0;

elsif rising_edge(clk) atunci

când a0 => stare<=a1;

când a1 => stare<=a2;

când a2=>dacă x(1)="1" atunci stare<=a3;

altfel stat<=a6;

când a3 => stare<=a4;

când a4 => stare<=a5;

când a5=>dacă x(3)="1" atunci stare<=a0;

altfel stat<=a3;

când a6 => stare<=a7;

când a7 => stare<=a8;

când a8=>dacă x(3)="1" atunci stare<=a0;

altfel stat<=a6;

procesul (starea) este - funcție de ieșire

y<= «0000000000000»;

când a0 => y(1)<="1"; y(2)<="1"; y(3)<="1"; y(4)<="1";

când a1 => y(5)<="1";

când a2 => dacă x(1)="1" atunci

dacă x(2)="1" atunci y(6)<="1";

altfel y(11)<="1";

când a3 => y(7)<="1";

când a4 => y(8)<="1"; y(9)<="1";

când a5 => dacă x(3)="1" atunci y(10)<="1";

altfel dacă x(2)="1" atunci y(6)<="1";

când a6 => dacă x(4)="1" atunci y(6)<="1";

când a7 => y(9)<="1"; y(12)<="1";

când a8 => dacă x(3)="1" atunci y(13)<="1";

altfel y(11)<="1";

structura arhitecturii ua_mili este

semnal D, Q:std_logic_Vector (3 până la 0); - intrări și ieșiri registru de stare

semnal a0, a1, a2, a3, a4, a5, a6, a7, a8:STD_LOGIC;

proces (clk, primul) este - procesul descrie un registru de 4 biți

dacă rst="0" atunci Q<= «0001»;

elsif rising_edge(clk) atunci

Decodor de stare

a0<=(not Q(3)) and (not Q(2)) and (not Q(1)) and Q(0);

a1<=Q(3) and (not Q(2)) and (not Q(1)) and (not Q(0));

a2<=(not Q(3)) and (not Q(2)) and Q(1) and Q(0);

a3<=(not Q(3)) and (not Q(2)) and (not Q(1)) and (not Q(0));

a4<=(not Q(3)) and Q(2) and Q(1) and (not Q(0));

a5<=(not Q(3)) and Q(2) and (not Q(1)) and Q(0);

a6<=(not Q(3)) and (not Q(2)) and Q(1) and (not Q(0));

a7<=(not Q(3)) and Q(2) and (not Q(1)) and (not Q(0));

a8<=(not Q(3)) and Q(2) and Q(1) and Q(0);

Funcții de declanșare

D(0)<=a1 or a4 or (a5 and x(3)) or a7 or (a8 and x(3));

D(1)<=a1 or (a2 and not x(1)) or a3 or a7 or (a8 and not x(3));

D(2)<=a3 or a4 or (a6 and x(4)) or (a6 and not x(4)) or a7;

Funcții de ieșire

y(1)<=a0; y(2)<=a0; y(3)<=a0; y(4)<=a0; y(5)<=a1;

y(6)<=(a2 and x(1) and x(2)) or (a5 and not x(3) and x(2)) or (a6 and x(4));

y(7)<=a3; y(8)<=a4; y(9)<=a4 or a7; y(10)<=a5 and x(3);

y(11)<=(a2 and not x(1)) or (a8 and not x(3));

y(12)<=a7; y(13)<=a8 and x(3);

Anexa 3

Modelul VHDL al unui dispozitiv procesor

utilizați IEEE.STD_LOGIC_1164.all;

utilizați IEEE.STD_LOGIC_unsigned.all;

clk, primul: în STD_LOGIC;

d1: în STD_LOGIC_VECTOR (7 până la 0);

d2: în STD_LOGIC_VECTOR (7 până la 0);

d3: în STD_LOGIC;

r:out STD_LOGIC_VECTOR (15 până la 0)

arhitectura PM de PM este

Componentă - mașină de operare tip M

componenta OA_M este

clk, primul: în STD_LOGIC;

y: în STD_LOGIC_VECTOR(13 până la 1);

d1: în STD_LOGIC_VECTOR (7 până la 0);

d2: în STD_LOGIC_VECTOR (7 până la 0);

d3: în STD_LOGIC;

r:out STD_LOGIC_VECTOR(15 până la 0);

x: afară STD_LOGIC_VECTOR (4 până la 1)

Componentă - automat de control cu ​​logică dură de tip Mealy

componenta ua_mili este

clk, primul: în STD_LOGIC;

x: în STD_LOGIC_VECTOR(4 până la 1);

y: afară STD_LOGIC_VECTOR (13 până la 1)

Semnale schimbate între OA și UA.

semnal y: STD_LOGIC_VECTOR(13 până la 0);

semnal x: STD_LOGIC_VECTOR(3 până la 0);

OA: Harta portului OA_M (clk, rst, y (13 downto 1), d1, d2, d3, r, x);

UA: hartă port ua_mili (clk, rst, x, y (13 downto 1));

Postat pe Allbest.ru

Documente similare

    Un sistem electronic care implementează un algoritm complex de procesare a datelor. Structura generală a dispozitivului de control. Proiectarea modulului procesorului. Elemente operaționale de bază. Probleme generale privind funcționarea dispozitivelor de control cu ​​logică programabilă.

    lucrare curs, adaugat 29.06.2011

    Calculul RAM statică și modulul de stocare. Construcția unei scheme de circuit și diagramă de timp a unui modul de memorie cu acces aleatoriu. Proiectarea unei unități aritmetice-logice pentru împărțirea numerelor în virgulă fixă.

    lucrare curs, adaugat 13.06.2015

    Studiul elementelor structurale de bază ale unui computer - un dispozitiv electronic care efectuează operațiuni de introducere a informațiilor, stocare și procesare conform unui program specific. Funcțiile procesorului central, dispozitiv de stocare, medii de stocare.

    rezumat, adăugat 18.01.2012

    Analiza alegerii unui procesor de semnal digital și schema bloc a unui dispozitiv de procesare a informațiilor. Calculul fiabilității dispozitivului și performanța schimbului de date, dezvoltarea unei diagrame cu bandă. Prezentare generală a caracteristicilor interfeței radiale și intermodulare.

    teză, adăugată 20.05.2012

    Operații de bază cu matrici. Proiectarea unui modul orientat pe obiecte pentru lucrul cu matrice în mediul Delphi 7 Dezvoltarea unui program care vă permite să efectuați diverse acțiuni pe matrice. Descrierea interfeței programului, codul sursă al modulului.

    lucrare curs, adăugată 15.01.2013

    Dezvoltarea unei denumiri grafice convenționale pentru un element de circuit. Dezvoltarea unei amprente, un modul de component tipic. Formarea specificațiilor tehnice. Aspectul nodurilor și dispozitivelor individuale. Elaborarea unei scheme de circuit electric.

    manual de instruire, adăugat 26.01.2009

    Selectarea principiilor pentru proiectarea unui dispozitiv pentru înregistrarea, stocarea și transmiterea numerelor. Dezvoltarea unui algoritm pentru efectuarea operațiunilor necesare procesării informațiilor. Schema bloc a dispozitivului. Baza elementară necesară dezvoltării unei scheme de circuit.

    Algoritm pentru efectuarea operațiunilor necesare procesării informațiilor. Calculul și pregătirea unei diagrame de timp a semnalelor de control. Selectarea elementelor de bază necesare dezvoltării unei scheme de circuit. Detectarea erorilor făcute la introducerea informațiilor.

    lucrare curs, adaugat 16.08.2012

    Dezvoltarea unui modul pentru calcularea valorii unei funcții, care este ulterior conectat la un program de introducere a datelor inițiale cu controlul valorii permise în tabel. Proiectarea unui modul pentru lucrul cu șiruri și pentru procesarea matricelor de informații text.

    lucrare de curs, adăugată 24.09.2010

    Tastatura ca dispozitiv principal de introducere a datelor. Dispozitive de tip manipulator, tipurile și caracteristicile acestora. Principii de funcționare a scanerelor. Scopul tabletelor grafice. Dispozitive de ieșire a informațiilor, tipuri de monitoare. Stocare externă a informațiilor.

Nr. 2 / 2014 / articolul 6

Modulele de procesor Connect Card® și ConnectCore™ de la Digi International

Alexander Samarin (Moscova)

Pe baza noului concept de platforme SoM (System-on-Module), pot fi create soluții extrem de eficiente, compacte și mobile pentru o gamă largă de aplicații. Plăcile de procesor din seria Connect Card® și ConnectCore™ ale companiei Digi International introduc implementarea platformelor de sistem pe modul pe piața M2M, oferind noi niveluri de integrare și performanță.

Modulele SoM sunt produse gata făcute și standardizate într-un factor de formă compact, care conțin deja un procesor, magistrală de date, memorie și porturi I/O, o gamă largă de interfețe periferice, precum și interfețe de afișare și multimedia. Utilizarea modulelor SoM va facilita și va accelera semnificativ dezvoltarea sistemelor pentru aplicații încorporate. Ca urmare, specialiștii vor acorda mai multă atenție creării și optimizării propriilor aplicații încorporate, ceea ce le va permite să construiască cea mai eficientă soluție care să îndeplinească toate cerințele de sistem. Această abordare vă permite să aduceți pe piață un sistem finit mult mai rapid decât atunci când îl dezvoltați de la zero.

Ultimii ani s-au caracterizat prin creșterea aplicațiilor care folosesc activ funcții multimedia: grafică de înaltă rezoluție și calitate, intrare de imagini de la camerele video încorporate, procesare în timp real a fluxului video, interfețe cu panouri tactile, conversie și compresie video etc. Un exemplu izbitor de astfel de aplicație sunt, de exemplu, sistemele multimedia și de navigație auto, sistemele de siguranță pasivă și sistemele de asistență la parcare. Astfel de sisteme folosesc în mod activ informațiile introduse de la mai multe camere video instalate în mașină. Și mai multe afișaje sunt folosite pentru a afișa informații video. Suportul acestor caracteristici necesită o platformă de procesor de înaltă performanță, bogată în funcții, cu resurse hardware încorporate pentru a sprijini procesarea și transformarea grafică. Cea mai mare parte a performanței plăcii procesorului se va concentra pe furnizarea de intrare video, procesare a imaginii în timp real și ieșire a imaginilor procesate și a parametrilor grafici pe ecrane de afișare.

Arhitectura modulelor de procesor sistem pe modul

Una dintre domeniile cheie de dezvoltare de către inginerii Digi recent a fost modulele de procesor cu o arhitectură „system-on-module”, destinate segmentului de piață M2M (Machine-to-Machine). În primele dezvoltări ale companiei, modulele de procesor din seria SmartCat au instalat procesoare Rabbit 2000 de performanță medie care funcționează la o frecvență de 22,1 MHz (modul BL21xx) sau procesoare Rabbit 3000 care funcționează la o frecvență de până la 7,4 MHz (modul LP35xx). Sectorul de aplicare al unor astfel de module este terminalele bugetare, controlere industriale ieftine, controlere HMI, controlere în switch-uri Ethernet, controlere pentru gestionarea nodurilor de acces wireless etc.

Digi Int. de asemenea, oferă dezvoltatorilor soluții gata făcute bazate pe astfel de module, de exemplu, prin instalarea unui modul de afișare mezzanin cu un câmp funcțional de buton pe placa procesorului. Compania oferă și carcase gata făcute pentru astfel de asamblare.

Module de procesor bazate pe procesoare multimedia Freescale SoC

Să luăm în considerare evoluțiile promițătoare ale plăcilor de procesor fabricate de Digi pe baza procesoarelor multimedia de înaltă performanță de la Freescale cu o arhitectură system-on-chip (SoC). Principalele avantaje ale procesoarelor utilizate sunt nivelul lor ridicat de integrare, performanță, porturi de comunicație încorporate, funcții de suport grafic integrat, multimedia, consum redus de energie și suport pentru mai multe platforme software. Digi a dezvoltat mai multe serii de plăci de procesoare compacte Connect Card® și ConnectCore™ care oferă performanțe și opțiuni de porturi diferite.

Să luăm în considerare trei versiuni de bază ale plăcilor de procesor, care diferă în primul rând în structura unității multimedia și de afișare. Astfel, modulele Connect Card® i.MX28 au un singur port paralel pentru conectarea unui modul de afișare LCD TFT, modulul ConnectCore™ 53 are două porturi de afișare separate cu diferite tipuri de interfețe de afișare, iar cardul ConnectCore™ 6 oferă conexiune până la la patru afișaje independente.

Tabelul 1 prezintă caracteristicile de bază ale plăcilor de procesor Digi disponibile în prezent.

Tabelul 1. Principalele caracteristici ale plăcilor de procesor Connect Card® și ConnectCore™

Module de procesor Connect Card® i.MX28 ConnectCore™ i.MX53 ConnectCore™ 6 i.MX6
CPU Freescale i.MX28 ARM926EJ-S; frecventa de pana la 454 MHz
(1,2 DMIPS/MHz)
Freescale i.MX53 Cortex-A8; frecventa de pana la 1 GHz
(2,0 DMIPS/MHz)
Freescale i.MX6 până la patru nuclee Cortex-A9; frecvență de până la 1,2 GHz (2,4 DMPIS/MHz)
Dimensiuni modul, mm Factor de formă PCI Express Mini Card 51x35x3 82x50x8 50x50x5; format SMT
Interfețe de rețea 802.11a/b/g/n + Bluetooth 4.0, Ethernet single/dual 10/100 Mbit/s 802.11a/b/g/n, Ethernet single/dual 10/100 Mbit/s 802.11a/b/g/n + Bluetooth 4.0, Gigabit Ethernet
Interfețe UART;, USB; POATE SA; SPI; I2C; I2S; ADC; GPIO USB; UART; SPI; I2C; I2S; ADC; SD/MMC; POATE SA; SATA; GPIO; interfață de tastatură; accelerometru cu trei axe POATE SA; USB; UART; SPI; I2C; I2S; SD/MMC; SATA; PCIe; GPIO
Mediul de operare Android; ferestre; Linux Android; ferestre; Linux Android; ferestre; Linux
Conectori PCI cu 52 de pini Două ace de 180 Fara conectori;
Pachetul SMT LGA-400
Kit de depanare CC-WMX28-LX CC-WMX53-ANDRD Consiliul de dezvoltare SBC
Interfețe multimedia
Interfețe de afișare O interfață paralelă (conector cu 31 de pini) Două interfețe de afișare (până la 24 de biți) UXGA@60Hz; 2 x LVDS; Ieșire TV/VGA 1080p60 Până la patru interfețe independente multi-display; (LVDS/MIPI/paralel/HDMI)
Module hardware
acceleratoare grafice
Scalare; rotirea imaginii; conversia culorilor Accelerator grafic 2D/3D (GPU); MPEG-4; H.263; H.264; MPEG-2; VC-1; DivX; RV10; MJPEG; codec video 720p/1080p Unul sau două acceleratoare grafice 2D/3D (GPU), codec video 1080p
Interfața camerei video Două MIPI/paralel Două MIPI/paralel
Interfață cu ecran tactil 4/5 fire (LRADC) da da
Audio I2S audio digital multicanal
Audio I2S audio digital multicanal audio digital multicanal
Interfața camerei video Două MIPI/paralel Două MIPI/paralel
Interfață cu ecran tactil 4/5 fire (LRADC) da da
Audio I2S audio digital multicanal audio digital multicanal

O caracteristică specială a modulului i.MX6 este că nu există conectori pe placă. Datorită acestui fapt, a fost posibilă reducerea semnificativă a dimensiunilor totale ale modulului. Caracteristicile implementării modulelor multimedia și de afișare în structura plăcilor de procesor din seriile Connect Card® și ConnectCore™ vor fi discutate mai detaliat mai jos.

Structura modulului procesor i.MX28

Aceasta este o opțiune bugetară pentru o placă de procesor cu performanță medie pentru aplicații care necesită în primul rând un consum redus de energie cu funcționalitate ridicată. Figura 1 prezintă structura plăcii procesorului Connect Card® i.MX28.

Figura 2 prezintă aspectul elementelor de bază de pe placa modulului procesor Connect Card® i.MX28.

Interfață LCD

Pe placa Connect Card® i.MX28, pe lângă conectorul de margine imprimat PCI, este instalat un conector de interfață separat pentru conectarea unui afișaj LCD. Interfața oferă conexiune la afișaje LCD cu diferite tipuri de interfețe de afișare și având diferite dimensiuni și rezoluții de ecran, de la simple multiplex și module alfanumerice monocrome până la panouri LCD TFT în format WVGA, cu magistrale de date late de 16/18/24 biți. Interfața oferă transfer de date pentru afișarea video real în modul RGB pe ecranul de afișare. Rezoluția maximă a afișajului TFT LCD este 800x480 (WVGA). Rata de reîmprospătare – până la 60 Hz. Moduri – RGB/DOTCK/SYSTEM. Hardware-ul oferă, de asemenea, conversie de culoare, scalare și rotație a imaginii.

Implementarea unei interfețe cu afișaj LCD

Ecranul LCD se conectează la un conector ZIF cu 31 de pini montat pe partea superioară a modulului. Kitul de depanare folosește un cablu de la NICOMATIC (denumirea 050P331K0076-406406). În mod implicit, placa de dezvoltare utilizează o interfață de afișare LCD pe 18 biți (6 biți pe culoare). Puteți utiliza, de asemenea, modul de codare a culorilor pe 24 de biți, dar în acest caz funcția interfeței JTAG, ale cărei semnale sunt transmise și la același conector, va fi dezactivată. Interfața panoului tactil este acceptată prin utilizarea LRADC2-5. Pentru a interfața cu controlerul panoului tactil, puteți utiliza unul dintre porturile SPI. Placa de dezvoltare folosește portul SSP1. Semnalele PWM PWM0, 1, 3, 4, 5 și 6 pot fi utilizate pentru a controla luminozitatea luminii de fundal (placa de dezvoltare folosește semnalul PWM0) Conectorul de afișare de pe modul este FCI 10106814-051002LF.

Modulele i.MX28 sunt folosite în medicină și sănătate, transport, sunt folosite pentru controlul distribuției de energie și sunt utilizate în automatizările industriale.

Kit de depanare pentru modulul procesor i.MX28

Pentru a accelera depanarea software-ului utilizatorului, puteți utiliza kituri de depanare dezvoltate de Digi. Figura 3 prezintă aspectul unei astfel de plăci de dezvoltare, indicând amplasarea conectorilor de interfață, în special, a conectorilor de afișare și panou tactil.

Arhitectura procesorului ConnectCore™ i.MX53

Modulul procesor ConnectCore™ i.MX53 este o modificare suplimentară a modulului ConnectCore™ i.MX51 din generația anterioară și are performanțe și funcționalități semnificativ mai bune în comparație cu acesta. Acest lucru este asigurat în primul rând de noul procesor i.MX53 utilizat în modul, dezvoltat de Freescale.

Principalele diferențe dintre procesoarele i.MX51 și i.MX53

Procesorul i.MX53 este o clonă mai puternică a lui i.MX51. La migrarea de la i.MX51 la i.MX53, este asigurată compatibilitatea deplină. Performanța procesorului a fost crescută, consumul de energie a fost redus, funcțiile multimedia au fost extinse, frecvența procesorului a fost crescută, viteza magistralei de memorie a fost mărită și cantitatea de memorie adresabilă a fost extinsă. În loc de codecul video HD720p30 utilizat în i.MX51 51, procesorul i.MX53 folosește codecul video HD1080p, care oferă o rezoluție mai mare. Performanța modulului de accelerare grafică 2D/3D a fost, de asemenea, crescută semnificativ. În modulul de interfață de afișare, rezoluția maximă în i.MX53 este crescută la UXGA (1600x1200) 60Hz. În loc de o interfață video analogică HD720/60Hz, i.MX53 folosește o interfață VGA HD1080p60. În procesorul i.MX53, o punte internă de interfață LVDS este introdusă suplimentar în modulul controlerului de afișare. Pentru a implementa interfața LVDS în dispozitivele bazate pe procesorul i.MX51, este necesară instalarea unui bridge extern LVDS. Toate acestea în ansamblu ar trebui să contribuie la creșterea eficienței utilizării modulelor de procesor ConnectCore i.MX53 în loc de i.MX51. Figura 4 arată aspectul modulului de procesor ConnectCore™ i.MX53 din partea în care sunt instalate procesorul și alte componente de bază. Conectorii pentru conectarea nodurilor periferice sunt amplasați pe cealaltă parte a plăcii.

ConnectCore™ i.MX53 folosește procesorul multimedia Freescale i.MX535 de ultimă generație cu un nucleu Cortex-A8 de 1,2 GHz de înaltă performanță. Procesorul are un codec video 1080p/720p încorporat și un set complet de interfețe periferice. Placa are interfețe cu fir și fără fir și două magistrale CAN. ConnectCore™ i.MX53 este ușor de integrat cu funcții cheie, cum ar fi managementul integrat al energiei, suport multimedia, inclusiv decodare video hardware 1080p, accelerator 2D/3D, capacitate de afișare HD duală, captură video a camerei, criptare hardware, wireless 802.11a/b/g /n Interfață Wi-Fi cu viteze de transfer de date de până la 150 Mbit/s, Bluetooth 4.0, două porturi Ethernet (fiecare cu propriul MAC), două magistrale CAN, posibilitatea de a conecta dispozitive prin SATA II și un set complet de periferice. Figura 5 prezintă structura plăcii procesorului ConnectCore™ i.MX53.

Modulele ConnectCore™ i.MX53 sunt disponibile în două versiuni: intervalul de temperatură comercial -20...70°C și intervalul de temperatură industrial -40...85°C.

Interfețe multimedia ConnectCore™ iMX53

Figura 6 prezintă o diagramă de conectare a dispozitivelor multimedia la placa procesorului de afișaje, camere video, panouri cu ecran tactil și sisteme audio.

Interfețe de afișare

Pe placa procesorului sunt implementate fizic cinci interfețe de afișare de diferite tipuri, prin care este posibil să se conecteze până la cinci afișaje. Cu toate acestea, doar două dintre ele pot fi active simultan. Debitul total al tuturor interfețelor este de până la 180 Mbps la 24 de biți per pixel.

Compoziția interfețelor de afișare:

  • două porturi paralele de afișare pe 24 de biți cu lățime de bandă de până la 165 Mbps (UXGA@60 Hz);
  • două porturi seriale LVDS. 1 port de până la 165 Mbps (HDMI) sau 2 porturi (WXGA@60 Hz) fiecare;
  • un port TV-out/VGA cu o lățime de bandă de până la 150 Mbps (1080p la 60 Hz).

Unul dintre ecrane poate folosi un touchpad.

Modulul multimedia al procesorului i.MX53 implementează o interfață cu panou tactil rezistiv cu patru fire cu un stilou haptic. Controlerul touchpad poate fi controlat prin intermediul unuia dintre porturile SPI. Modulul multimedia are și două interfețe paralele pentru conectarea camerelor video.

Interfețele de afișare sunt distribuite pe pinii celor doi conectori cu 180 de pini, după cum urmează:

  • Conector J1
    1. semnale de interfață pentru conectarea a două camere video;
    2. interfață de afișare LVDS;
    3. interfata VGA.
  • Conector J2
    1. interfață RGB paralelă/semnale HDMI;
    2. Semnale de interfață VGA-analogică.

Modulul de procesor Connect Core™ i.MX53 DIGI International poate fi utilizat în dispozitive medicale, sisteme de securitate și supraveghere video, terminale de puncte de vânzare, controlere HMI de automatizare industrială și dispozitive multimedia.

Placă de dezvoltare ConnectCore™ i.MX53

Digi International lansează un kit de dezvoltare pentru modulul său de procesor ConnectCore™ i.MX53 bazat pe sistemul de operare Android. Un kit de dezvoltare complet și ieftin, kiturile JumpStart conțin instrumentele necesare pentru a susține platformele Digi Embedded Linux, Timesys LinuxLink, Android Microsoft, Windows Embedded Compact 7. Figura 7 arată aspectul plăcii de dezvoltare.

Kiturile ieftine, all-in-one, Digi JumpStart cu Linux, Android și Windows Embedded Compact 7 și un set complet de BSP-uri vă permit să dezvoltați rapid și profesional și să vă aduceți produsul pe piață.

Pentru a stăpâni modulul CC-Wi-MX51 încorporat, sunt disponibile kituri de depanare:

  • CC-WMX53-CE – Kit JumpStart pentru Microsoft Windows Compact 7;
  • CC-WMX53-LX – Kit JumpStart pentru Digi Embedded Linux;
  • CC-WMX53-ANDRD – Kit JumpStart pentru ANDROID.

Module de procesor ConnectCore™ seria 6

Noile module de procesor media ConnectCore™ 6 Series dispun de un procesor media puternic, multi-core Freescale, care oferă performanța ultra-înaltă necesară atunci când lucrați cu mai multe fluxuri video. Modulele pot fi echipate cu un procesor ARM Cortex A9 cu 1…4 nuclee cu o frecvență de operare de până la 1,2 GHz fiecare. Modulul este echipat cu un codec video HD multicanal cu capacitatea de decodare 1080p60, codificare 1080p30 și redare video 3D HD. Modulul implementează un mod care acceptă camere stereoscopice.

Modulul va conține opțional radiouri WLAN 802.11a/b/g/n certificate și Bluetooth 4.0, un microcontroler Freescale Cortex M0+ integrat și un PMIC de înaltă eficiență pentru gestionarea energiei. Figura 8 arată structura plăcii procesorului Connect Core™ 6.

Procesorul este fabricat conform standardelor de tehnologie de 40 nm. Alimentarea nucleului procesorului este de 1,1 V.

Modulele din serie sunt disponibile în trei intervale de temperatură de funcționare:

  • domeniul industrial – -40…85°C;
  • comercial extins – -20…105°C;
  • comercial – 0…95°C.

Tabelul 2 prezintă parametrii unității multimedia pentru diferite versiuni de procesor (număr de nuclee).

Tabelul 2. Parametrii blocului multimedia pentru diferite opțiuni de procesor i.MX6

Spectacole i.MX 6SoloLite i.MX 6Solo i.MX 6DualLite i.MX 6Dual i.MX 6Quad
Max. Rezoluția afișajului, 60 Hz WXGA
(1366×768)
2xWXGA
(1366×768)
2xWXGA
(1366×768)
2x4XGA (2048×1536) sau 2x
Interfețe de afișare EPDC; Paralel; Două ieșiri 2xParalel; 2xLVDS; MIPI-DSI; HDMI; EPDC; Două ieșiri 2xparalel; 2xLVDS; MIPI-DSI; HDMI; Patru ieșiri 2x paralel; 2xLVDS; MIPI-DSI; HDMI; Patru ieșiri
Interfața camerei video paralel pe 16 biți 2x20 de biți paralel; MIPI-CSI2 (2 piste); Două intrări 2x20 de biți paralel; MIPI-CSI2 (4 piste); Trei intrari Tipuri: 2×20-bit paralel; MIPI-CSI2 (4 piste); Trei intrari
Accelerator grafic GPU 3D (OpenGL ES) N / A Vivante GC880; 53 Mtri/s; 266 Mpxl/s; OpenGL ES 2.1 Vivante GC2000;176 Mtri/s 1000 Mpxl/s; OpenGL; GL ES 2.1 & Halti, OpenCL 1.1 EP Vivante GC2000 176 Mtri/s 1000 Mpxl/s; OpenGL; GL ES 2.1 & Halti, OpenCL 1.1 EP
Accelerator grafic GPU 2D (grafică vectorială) prin GPU 3D prin GPU 3D Vivante GC355; 300 Mpxl/s; OpenVG 1.1 Vivante GC355; 300 Mpxl/s; OpenVG 1.1
GPU 2D (compoziție) prin GPU 2D Vivante GC320; 600 Mpxl/s, BLIT Vivante GC320; 600 Mpxl/s, BLIT Vivante GC320; 600 Mpxl/s, BLIT
Accelerator audio N / A ASRC ASRC ASRC ASRC
Interfețe audio 3xI2S; SPDIF Tx/Rx 3xI2S; SPDIF Tx/Rx; ESAI 3xI2S; SPDIF Tx/Rx; ESAI 3xI2S; SPDIF Tx/Rx; ESAI 3xI2S; SPDIF Tx/Rx; ESAI

Partea software va include Linux (Yocto Linux), Android și Microsoft Windows Embedded.

Interfețe de afișare

La fel ca în structura i.MX53, sunt implementate cinci interfețe de afișare. Lățimea de bandă totală a tuturor interfețelor a fost mărită la 450 Mbps la 24 bpp. Puteți conecta până la cinci afișaje simultan. În designul ConnectCore™ 6, până la patru afișaje conectate pot fi active simultan.

Interfața de afișare constă din:

  • un port paralel pe 24 de biți cu o lățime de bandă de până la 225 Mbps (de exemplu, WUXGA la 60 Hz) sau două porturi paralele (HD1080 și WXGA / 60 Hz);
  • porturi seriale LVDS - unul cu o lățime de bandă de 165 Mbps sau două cu lățime de bandă de 85 Mbps (de exemplu, WUXGA/60 Hz);
  • Porturi HDMI 1.4
  • MIPI/DSI cu două benzi de 1 Gbps.

Porturile camerei

Următoarele porturi sunt utilizate pentru conectarea camerelor video:

  • port paralel (lățimea magistralei de până la 20 de biți cu lățime de bandă de până la 240 MHz);
  • Port serial pentru cameră MIPI CSI-2 cu o lățime de bandă de până la 1000 Mbps/canal în moduri cu 1/2/3 canale sau cu o lățime de bandă de 800 Mbps/canal în modul cu 4 canale.

Figura 9 prezintă o diagramă de conectare a camerelor video la placa procesorului i.MXSolo.

Principala caracteristică de design a modulului ConnectCore™ 6 este lipsa conectorilor. Modulul are un design pin cu montare pe suprafață folosind tehnologia LGA. Tehnologia de montare pe suprafață LGA utilizează plăcuțe plate de nichel placat cu aur (NiAu) în loc de bile. Astfel de plăcuțe sunt disponibile atât pe modul, cât și pe placa de circuit imprimat. Plăcuțele de contact ale modulului și plăcii sunt situate exact una față de cealaltă, iar pasta de lipit este aplicată într-un strat uniform între aceste două suprafețe. Încălzirea se realizează într-un cuptor cu reflow de lipit. Rezultatul este o îmbinare plată, dar lată. Figura 10 prezintă designul modulului i.MX6.

Placa personalizată conține un set de conectori și componente suplimentare adecvate pentru aplicația dată. Utilizatorul însuși alege tipul de conectori utilizați. Ca exemplu, Figura 11 prezintă o opțiune de implementare pentru o astfel de placă (placă de depanare). În acest exemplu, un port LVDS și o priză de cablu plat cu 30 de pini sunt folosite pentru a conecta afișajul. Un afișaj suplimentar poate fi conectat prin portul LVDS2. Placa de dezvoltare folosește un conector DF14-20 cu 14 pini pe un singur rând pentru această conexiune. Afișajul de înaltă rezoluție poate fi conectat printr-un conector HDMI standard, instalat de asemenea pe placă. Figurile 11...12 arată configurația conectorilor de pe părțile din față și din spate ale plăcii de circuite imprimate a modulului.

Pe reversul plăcii de dezvoltare sunt montați conectori pentru portul paralel al afișajului, conexiunile camerei MIPI și CAM1 paralel.

Aplicații pentru modulul procesor ConnectCore™ i.MX6:

  • transport;
  • dispozitive de automatizare industrială;
  • dispozitive electronice medicale.

ConnectCore™ 6 i.MX6 va fi disponibil pentru comandă începând cu al doilea trimestru al anului 2014.

Concluzie

Portofoliul Digi International include o gamă largă de soluții compacte, modulare, potrivite pentru aplicații eficiente într-o varietate de sectoare de aplicație. Dintre acestea, puteți alege o platformă potrivită care se potrivește bugetului și funcționalității dvs. Utilizarea modulelor din seria Connect Card® sau ConnectCore™ va permite dezvoltatorilor să reducă costurile de dezvoltare și să reducă timpul de lansare pe piață. Aplicațiile posibile pentru modulele de procesor Connect Card® sau ConnectCore™ includ dispozitive mobile cu putere ultra-scăzută, interfețe om-mașină (HMI) și dispozitive medicale portabile. În plus, aceste soluții își vor găsi aplicație în instrumente de măsură portabile, case de marcat la punctele de vânzare, automatizări industriale și tehnologie medicală.

Literatură

  1. Referință hardware ConnectCore™ pentru i.MX53™.Digi International 2013
  2. Expertul dvs. M2M Andreas Maeser DiGi. Seminar Sankt Petersburg
  3. Procesoare i.MX 6Dual/6Quad ​​pentru aplicații auto și infotainment. Freescale Semiconductor
  4. Calculatoare Rabbit SBC seria LP3500 cu o singură placă. Digi International 2013
  5. Privire generală ConnectCore 6.Preliminar. Digi International 2014
  6. Informații preliminare despre produs ConnectCore 6. Digi International 2013
  7. Diferențele arhitecturale între i.MX51 și i.MX53. Freescale Semiconductor. Notă de aplicare AN4271. 2011
  8. Tehnologie de montare la suprafață pentru soluții M2M. Ronaldo Robl. Componente si Tehnologii Nr.3/2009