Modul procesor bazat pe microcontroler de la INFINEON

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 proiectate 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-o serie 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 procesorului impreuna 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 integrate de astăzi necesită nu numai performanță ridicată, ci și disponibilitate un numar mare 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.

Pagina 1


Modulele procesorului controlează afișajele, tastaturile, dispozitivele memorie externa, efectuează calcule, arhivează date tehnologice și de sistem. Modulele procesorului de control sunt controlere care, împreună cu modulele USO, implementează funcții de reglare, control secvențial și logic.  

Modulele procesorului sunt combinate cu mai multe module de memorie și I/O. Acest lucru permite supraviețuirea necesară prin introducerea de blocuri redundante și flexibilitate, de ex. capacitatea de a configura sistemul ținând cont de specificul aplicației. Se aplică joint venture un singur sistem Adresare: Un singur câmp de adresă este utilizat pentru toate dispozitivele de memorie și I/O.  

Modulele de procesor pot fi construite pe baza de microprocesoare de 8 și 16 biți.  

Dacă modulul procesorului este implementat sub forma unui LSI, iar circuitele de memorie și alte blocuri sunt implementate pe alte LSI-uri ale setului, atunci un astfel de sistem de microprocesor se numește un microprocesor complet funcțional cu o capacitate fixă ​​de biți. Un astfel de microprocesor este prezentat în Fig. 13.23. De asemenea, este posibil să se implementeze un modul de procesor sub forma mai multor LSI-uri, CPU-ul însuși fiind implementat ca un set de module de o anumită capacitate, iar LSI-ul implementând dispozitivul de control - separat. MPBIS, în care capacitatea de biți a CPU în sine depinde de numărul de LSI-uri aritmetice-logice utilizate.  

Computer cu un autobuz comun.  

Întrucât modulul procesor trebuie să facă schimb de date cu anumite celule de memorie ale dispozitivelor de stocare sau cu anumite porturi, pentru a le putea accesa (adresa), fiecare celulă de memorie și fiecare port de intrare și ieșire are propriul său numere individuale- adrese. La schimbul de date, modulul procesorului se setează cod binar, care corespunde adresei unui port sau a unei celule de memorie pe magistrala de adrese a computerului.  

În timpul funcționării, modulul procesorului trebuie să facă schimb de date cu modulele periferice și celulele de memorie. Pentru a avea această oportunitate, fiecare modul periferic și celulă de memorie au propriile numere individuale - adrese. De-a lungul liniei 3 din Fig. 13.23 un semnal de control este trimis pentru a citi din memorie; pe linia 4 - scrierea în memorie; de-a lungul liniilor / și respectiv 2, citirea și scrierea de pe dispozitivul I/O. În același timp, prin linia internă de control din microprocesor, semnalele de control sunt furnizate memoriei PA. Ca urmare, fie un cod binar apare pe 16 linii ale magistralei de adrese, corespunzătoare adresei celulei de memorie, fie pe 8 linii ale magistralei de ordin inferioară PA, corespunzătoare unuia dintre porturile I/O. Acest cod este trimis prin liniile magistralei de adrese către adresa de memorie și decodoarele de adrese ale dispozitivului de intrare/ieșire.  

Sistemul conține un modul de procesor bazat pe MP KR580IK80A cu circuite pentru formarea unui sistem de sistem la care toate module externe(bloc de întrerupere prioritar pe LSI KR580VN59, modul RAM-ROM, modul de intrare și ieșire paralelă pe LSI K.  


În timpul funcționării, modulul procesorului trebuie să facă schimb de date cu modulele periferice și celulele de memorie. Pentru a avea această oportunitate, fiecare modul periferic și celulă de memorie au propriile numere individuale - adrese. Linia 3 (vezi Fig. 16.2) trimite un semnal de control pentru a citi din memorie; pe linia 4 - înregistrare în memorie; de-a lungul liniilor In 2 - respectiv, citirea și scrierea de pe dispozitivul I/O. În același timp, prin linia internă de control din microprocesor, semnalele de control sunt furnizate memoriei PA. Ca urmare, codul binar corespunzător adresei celulei de memorie apare fie pe 16 linii ale magistralei de adrese, fie pe opt linii ale magistralei de ordin scăzut PA - corespunzătoare unuia dintre porturile I/O. Acest cod este trimis prin liniile magistralei de adrese către adresa de memorie și decodoarele de adrese ale dispozitivului I/O. În același timp, una dintre cele patru linii ale magistralei de control trimite un semnal către dispozitivul de I/O sau de memorie care permite citirea sau scrierea informațiilor la o anumită adresă.  

Ce rol îndeplinește modulul procesorului?  

Schema bloc a unui sistem cu microprocesor.  

ALU sunt determinate de arhitectura modulului procesorului și a sistemului de microprocesor în ansamblu. Operațiunile tipice efectuate de ALU ale majorității sistemelor cu microprocesor sunt: ​​Adunarea, Scăderea și, SAU, XOR, INVERSIUNEA, SHIFT LA DREAPTA, SHIFT LA STANGA, INCREMENT POZITIV, INCREMENT NEGATIV.  

Pe lângă modulul procesorului și memoria în sine, COMGLECT MPBIG include LSI-uri periferice auxiliare. Soluțiile de circuit ale LSI-urilor periferice sunt de așa natură încât fac posibilă reducerea numărului total de cipuri din întregul sistem de microprocesoare și, prin urmare, ajută la reducerea costului acestuia. În special, periferice preia execuția unei părți a algoritmului de operare hardware în paralel cu modulul procesorului și, ca urmare, crește performanța acestuia. LSI-urile periferice implementează de obicei acele funcții care sunt imposibil sau ineficient de realizat de către un modul.  

Adesea, la construirea unui computer, un grup de autobuze este utilizat pentru a conecta modulul procesorului cu periferice. În acest caz, deputatul apelează la dispozitive externe I/O ca la un element de memorie.  

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 țintei software. Conține conectori către care sunt direcționate toate contactele microprocesorului. Modulul procesor asigură pornirea și inițializarea corectă a microprocesorului după hard reset. 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, simplifica tehnologia de dezvoltare și depanare a părților sistemului țintă conectate direct la microprocesor. 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, începând 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 de procesor proiectat.

În GSA combinat, operațiunea de ștergere a registrului C a fost schimbată în raport cu algoritmii originali. se efectuează microoperaţii (Y). Î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 automată M

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 - Codificarea stărilor

Stat

Numărul de intrări

Codificare

Tabelul 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 un circuit UA pentru nivelul 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, s-a 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 este î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 CPU

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 în jos 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, primul) 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, prima) 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 functionarea dispozitivelor de control cu ​​logica programabila.

    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 intermodule.

    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 structurala dispozitive. 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.

Un modul de control, unitate centrală de procesare sau unitate de procesor (CPU) este înțeles ca un modul PLC care realizează funcții de control al procesului, procesarea programului de aplicație, accesul la modulele periferice, controlul/controlul întregului sistem, funcțiile de control logic PLC și funcțiile de comunicare ( schimbul de informații prin intermediul unei interfețe de programare, precum și pentru schimbul de date cu alte dispozitive inteligente ale sistemului de automatizare).

Figura 2.2 - Arhitectură tipică PLC

În timpul funcționării, procesorul „citește” datele de intrare de la dispozitivele de câmp conectate folosind interfețele sale de intrare și apoi execută programul de control care este încărcat în memoria modulului procesorului. Programele sunt de obicei dezvoltate în limbaje speciale de programare PLC și trebuie încărcate în memoria controlerului înainte de a putea funcționa.

În cele din urmă, pe baza programului, PLC-ul „scrie” sau actualizează ieșirile de control prin interfețele de ieșire. Acest proces, numit ciclu de scanare, este efectuat în mod constant în aceeași secvență fără oprire și se modifică fie atunci când apar anumite evenimente predeterminate, fie atunci când se fac modificări în programul de control.

Modulul procesorului include un microprocesor (unitate centrală de procesare - CPU), dispozitive de stocare, un ceas în timp real și un timer watchdog. Termenii „microprocesor” și „procesor” au devenit acum sinonimi, deoarece toate procesoarele nou lansate sunt implementate în formă VLSI, de exemplu. sunt microprocesoare.

Principalele caracteristici ale microprocesorului sunt capacitatea de biți (PLC-urile folosesc microprocesoare de 8, 16 și 32 de biți), frecvența ceasului, arhitectura, prezența operațiunilor în virgulă mobilă, tipurile de porturi de intrare/ieșire acceptate, intervalul de temperatură de funcționare și consumul de energie.

Performanța microprocesoarelor cu aceeași arhitectură este proporțională cu frecvența ceasului. Majoritatea controlerelor folosesc microprocesoare RISC (Reduced Instruction Set Computing), care folosesc un număr mic de instrucțiuni de lungime egală și un număr mare de registre. Un set redus de instrucțiuni vă permite să construiți compilatoare mai eficiente și o conductă de procesoare capabilă să producă rezultatul executării următoarei instrucțiuni pentru fiecare ciclu de ceas.

Pentru controlerele care efectuează procesare intensivă a datelor matematice, este important să existe un coprocesor matematic (un procesor auxiliar care efectuează operații în virgulă mobilă) sau procesoare de semnal în care operațiuni precum Y=A*B+X sunt efectuate într-un singur ciclu de ceas. Procesoarele de semnal pot accelera convoluția sau operațiile rapide de transformare Fourier.



Capacitate de memorie determină numărul de variabile (tag-uri) care pot fi procesate în timpul funcționării PLC-ului. La microprocesoare, timpul de acces la memorie este unul dintre factorii importanți care limitează performanța. Prin urmare, memoria este împărțită în mai multe niveluri de ierarhie, în funcție de frecvența de utilizare a datelor stocate în ea și de performanță. Ierarhia memoriei este o caracteristică esențială a arhitecturii procesorului, deoarece reduce impactul negativ al memoriei lente asupra performanței microprocesorului. Principalele tipuri de memorie sunt memoria doar citire (ROM), memoria cu acces aleatoriu (RAM) și setul de registre. Registrele sunt cele mai rapide elemente de memorie deoarece sunt folosite de unitatea logică aritmetică (ALU) pentru a executa instrucțiuni elementare ale procesorului. ROM-ul este folosit pentru a stoca informații rar modificate, cum ar fi sistemul de operare, driverele de dispozitiv, încărcătorul de pornire și modulul executabil al programului utilizator. RAM este folosită pentru a stoca date care se modifică de mai multe ori în timpul funcționării controlerului, de exemplu, valorile etichetelor, rezultatele calculelor intermediare, informații de diagnosticare, matrice afișate pe grafice, date pentru afișare.

Memoria reprogramabilă cu ștergere electrică (EEPROM - „Electrically Erasable Programmable ROM”) este de obicei folosită ca ROM (sau ROM - „Memorie numai pentru citire”) condensator format dintr-o poartă plutitoare și substratul tranzistorului MOS O caracteristică a memoriei flash este nevolatilitatea acesteia, adică datele sunt reținute atunci când alimentarea este oprită în blocuri mari, motiv pentru care a primit numele, care provine din limba engleză „flash“. Dezavantajul tuturor ROM-urilor este performanța scăzută.

Ca RAM, microprocesoarele moderne folosesc memorie statică (SRAM – Static Random Access Memory) și memorie dinamică (DRAM – „Dynamic Random Access Memory”), SDRAM („Synchronous DRAM”). SRAM rulează pe flip-flop, care stochează informații pe termen nelimitat atâta timp cât este disponibilă puterea. În memoria dinamică, informațiile sunt stocate pe condensatoare și, prin urmare, DRAM necesită regenerare periodică (reîncărcare a condensatoarelor). Dezavantajele memoriei declanșatoare includ costul ridicat, asociat cu densitatea scăzută a declanșatorilor de pe cip și raportul scăzut capacitate-preț. Avantajul este performanța ridicată, ajungând la gigaherți, în timp ce memoria bazată pe condensator nu poate funcționa la frecvențe de peste sute de herți. Ambele tipuri de memorie (DRAM și SRAM) nu pot reține informații atunci când este întreruptă alimentarea de la PLC. Prin urmare, unele tipuri de PLC-uri folosesc memoria alimentată de baterii pentru a menține funcționalitatea sistemului de automatizare după o scurtă întrerupere a alimentării.

Controlerele monobloc și modulare, de regulă, folosesc o magistrală paralelă pentru a face schimb de date cu modulele I/O, ceea ce face posibilă creșterea vitezei de interogare a acestora cu un ordin de mărime în comparație cu o magistrală serială. Autobuzele paralele pot fi standard (ISA, PC/104, PCI, ComactPCI, VME, CXM) sau proprietare. Magistrala serială a controlerului (bazată pe interfața RS-485) este utilizată pentru a conecta modulele I/O la distanță (distribuite) la acesta.

Cronometru pentru câine de pază(Watchdog Timer - WDT) este un contor care numără impulsurile de ceas și, în modul normal, este resetat (repornit) periodic de un procesor care rulează. Dacă procesorul îngheață, atunci semnalele de resetare nu sunt trimise la contor, acesta continuă să conteze și, când este atins un anumit prag, generează un semnal de resetare pentru a reporni procesorul înghețat.

Ceas în timp real(RW) este un ceas de cuarț care este alimentat de o baterie și, prin urmare, continuă să funcționeze când PLC-ul este oprit. Ceasurile RV sunt folosite, de exemplu, pentru a controla iluminatul stradal în funcție de ora din zi, în sistemele de securitate a instalațiilor și în alte cazuri în care este necesară legarea datelor sau evenimentelor la ora astronomică.