Dezvoltarea unui sistem bazat pe un microprocesor bazat pe un microcontroler

6.1.1. Principalele etape ale dezvoltării

MK bazate pe MPS sunt cel mai adesea folosite ca sisteme încorporate pentru rezolvarea sarcinilor de control pentru un obiect. O caracteristică importantă a acestei aplicații este lucrul în timp real, adică asigurarea răspunsului la evenimente externe pe parcursul unui anumit interval de timp. Astfel de dispozitive se numesc controlori.

Tehnologia de proiectare a controlorilor bazată pe MC corespunde pe deplin principiului de proiectare și depanare continuă a hardware-ului și a software-ului, adoptat în tehnologia microprocesorului. Acest lucru înseamnă că dezvoltatorul acestui tip MPS sarcină este punerea în aplicare a unui ciclu complet de proiectare, variind de la dezvoltarea funcționării algoritmului la teste complexe din produs, și, probabil, la fabricarea și întreținerea. Metodologia curentă pentru proiectarea controlorilor poate fi reprezentată așa cum se arată în Fig. 6.1.

În sarcina tehnică cerințele pentru controlor sunt formulate din punctul de vedere al implementării unei funcții de control specifice. Termenii de referință includ un set de cerințe care determină ce vrea utilizatorul de la operator și ce ar trebui să facă dispozitivul în curs de dezvoltare. Sarcina tehnică poate avea forma unei descrieri a textului, nu liberă în cazul general, din contradicții interne.

Pe baza cerințelor utilizatorilor, se face o specificație funcțională care definește funcțiile pe care le efectuează controlerul pentru utilizator după finalizarea proiectului, clarificând astfel cât de bine îndeplinește cerințele dispozitivului. Acesta include descrieri ale formatelor de date, atât la intrare cât și la ieșire, precum și la condițiile externe care controlează acțiunile controlerului.

Specificațiile funcționale și cerințele utilizatorului sunt criteriile de evaluare a funcționării controlerului după finalizarea proiectului. Poate fi nevoie de mai multe iterații, inclusiv discutarea cerințelor și a specificațiilor funcționale cu utilizatorii potențiali ai controlorului și corectarea corespunzătoare a cerințelor și specificațiilor. Cerințele pentru tipul de MC utilizate sunt formulate în acest stadiu cel mai adesea într-o formă implicită.

Etapa de dezvoltare a algoritmului de control este cea mai responsabilă, deoarece erorile din această etapă sunt de obicei detectate numai la testarea produsului finit și conduc la necesitatea unei prelucrări scumpe a întregului dispozitiv. Dezvoltarea algoritmului reduce de obicei la alegerea uneia dintre mai multe variante posibile de algoritmi, care diferă de raportul dintre volumul de software și hardware.

În același timp, trebuie să presupunem că utilizarea maximă a hardware-ului simplifică dezvoltarea și asigură o viteză ridicată a operatorului în ansamblul său, dar este de obicei însoțită de o creștere a costului și a consumului de energie. Acest lucru se datorează faptului că o creștere a procentului de hardware este realizată fie prin alegerea unui MK mai complex, fie prin utilizarea unor circuite specializate de interfață. Ambele conduc la o creștere a costurilor și a consumului de energie. Creșterea proporției de software-ul reduce numărul de componente și costul hardware-ul controlerului, dar aceasta conduce la scăderea vitezei, crește capacitatea necesară a memoriei MC, de a crește în ceea ce privește dezvoltarea și software-ul de depanare. Criteriul de selecție aici este posibilitatea de a maximiza în continuare funcțiile software prestabilite, cu costuri minime de hardware și sub rezerva de performanță parametrii specificate și fiabilitate în întreaga gamă de condiții de funcționare. De multe ori determinate de cerințele sunt capacitatea de a proteja informațiile (cod de program) controler, necesitatea de a asigura timpul de funcționare maximă în mod independent, și altele. Ca urmare a acestei etape, cerințele pentru parametrii MC folosiți sunt definiți în cele din urmă.

Fig. 6.1. Etapele de bază ale dezvoltării operatorului.

La alegerea tipului de MC, sunt luate în considerare următoarele caracteristici principale:

· Cerințele de alimentare și consumul de energie în diferite moduri;

· Cantitatea de programe ROM și RAM de date;

· Posibilitatea de a extinde memoria programelor și a datelor;

· Disponibilitatea și capacitățile dispozitivelor periferice, inclusiv instrumentele de suport în timp real (timere, procesoare de evenimente etc.);

· Posibilitatea reprogramării ca parte a dispozitivului;

· Prezența și fiabilitatea mijloacelor de protecție a informațiilor interne;

· Posibilitatea livrării în diferite variante ale designului;

Costul în versiuni diferite;

· Disponibilitatea documentației complete;

· Disponibilitatea și disponibilitatea instrumentelor de programare eficiente și depanarea MK;

· Numărul și disponibilitatea canalelor de furnizare, capacitatea de a înlocui produsele altor firme.

Această listă nu este exhaustivă, deoarece specificitatea dispozitivului proiectat poate transfera accentul cerințelor la alți parametri ai MC. Factorii de determinare pot fi, de exemplu, cerințele privind acuratețea comparatorului intern de tensiune sau prezența unui număr mare de canale PWM de ieșire.

Gama MK produsă în prezent este estimată în mii de tipuri de produse de la diverse companii. Strategia de design modulară modernă oferă consumatorului o varietate de modele MK cu același nucleu procesor. O astfel de diversitate structurală deschide posibilitatea dezvoltatorului de a selecta MK optim fără redundanță funcțională, ceea ce minimizează costul părților componente.

Cu toate acestea, pentru a realiza în practică posibilitatea de a alege MC optim, este necesar să se studieze aprofundat algoritmul de control, să se estimeze cantitatea programului executabil și numărul de linii de interfață cu obiectul în stadiul de alegere a MC. Calculele greșite admise în acest stadiu pot duce ulterior la necesitatea de a schimba modelul MC și de a redimensiona placa de circuite a structurii controlerului. În astfel de condiții, este oportună efectuarea modelării preliminare a principalelor elemente ale programului de aplicație folosind modelul software-logic al MC selectat.

În absența MC, care oferă caracteristicile necesare ale controlerului proiectat, este necesar să revenim la stadiul de dezvoltare al algoritmului de control și să revizuim raportul selectat între cantitatea de software și hardware. Lipsa unui MC adecvat înseamnă adesea că, pentru a realiza cantitatea necesară de calcule (algoritmi de control) în timpul alocat, este nevoie de suport suplimentar hardware. Un rezultat negativ al căutării unui MK cu caracteristicile necesare poate fi, de asemenea, asociat nevoii de a menține un număr mare de obiecte de control. În acest caz, este posibil să se utilizeze scheme externe de încadrare MC.

În etapa de dezvoltare a structurii controlerului, se determină în final compoziția modulelor hardware existente și care urmează să fie dezvoltate, schimbarea protocoalelor între module, tipuri de conectori. Se efectuează proiectarea preliminară a operatorului. În ceea ce privește software-ul, compoziția și relațiile modulelor de program, limbajul de programare sunt determinate. În aceeași etapă, se realizează alegerea instrumentelor de proiectare și depanare.

funcții de redistribuire între capacitatea de hardware și software în acest stadiu există, dar este limitată de caracteristicile unui MK deja selectat. Trebuie avut în vedere faptul că MK modernă a produs, de regulă, serie (familii) controlere, software-ul compatibil și constructiv, dar diferă în capacitățile lor (de memorie, set periferice, etc.). Acest lucru permite selectarea structurii controlerului, în scopul de a găsi varianta cea mai optimă.

Este imposibil să nu menționăm aici o ideologie nouă pentru dezvoltarea dispozitivelor bazate pe MC, propuse de compania "Scenix". Se bazează pe utilizarea microcontrolerelor RISC de mare viteză din seria SX cu o viteză de ceas de până la 100 MHz. Aceste MC au un set minimal de periferice încorporate, iar modulele periferice din ce în ce mai complexe sunt emulate de software. Astfel de module software se numesc "periferice virtuale", ele oferă o reducere a numărului de elemente ale controlerului, timpul de dezvoltare, creșterea flexibilității execuției. Până în prezent, au fost dezvoltate întregi biblioteci de dispozitive virtuale, care conțin module software bine stabilite pentru dispozitive precum module PWM și PLL, interfețe seriale, generatoare și contoare de frecvență, controlere de întrerupere și multe altele.

6.1.2. Dezvoltarea și depanarea hardware-ului

După dezvoltarea structurii hardware-ului și a software-ului, lucrările ulterioare asupra controlerului pot fi paralelizate. Dezvoltarea hardware-ului include dezvoltarea unei scheme de circuite generale, aspectul topologiei circuitului, instalarea layout-ului și depanarea sa autonomă. Timpul de execuție al acestor etape depinde de setul de module funcțional-topologice aprobate, experiența și calificarea dezvoltatorului. În stadiul introducerii conceptului și dezvoltării topologiei, de regulă sunt utilizate sisteme comune de proiectare de tip "ACCEL EDA" sau "OrCad".

6.1.3. Dezvoltarea și depanarea software-ului

Pentru testarea și depanarea software-ului se utilizează așa-numitele simulatoare de software, care permit utilizatorului să execute programul dezvoltat pe modelul software-logic MC. Simulatoarele software sunt, de regulă, distribuite gratuit și sunt configurate imediat pentru mai multe MC din aceeași familie. Selectarea unui tip specific de MC între modelele familiale este furnizată de opțiunea corespunzătoare din meniul de configurare a simulatorului. Acest lucru simulează funcționarea procesorului, toate porturile I / O, întreruperi și alte periferice. Cartea de memorie a MC simulat este încărcată automat în simulator, depanarea se face în notația simbolică a registrelor.

După încărcarea programului în simulator, utilizatorul are posibilitatea să-l execute în mod pas cu pas sau continuu, să stabilească puncte de întrerupere condiționate sau necondiționate, să controleze și să modifice liber conținutul celulelor de memorie și registrele MC simulat.

6.1.4. Metode și instrumente pentru depanarea în comun a hardware-ului și a software-ului

Stadiul de depanare în comun a hardware-ului și a software-ului în timp real este cel mai consumator de timp și necesită utilizarea instrumentelor de depanare. Instrumentele majore de depanare includ:

· Taxe de dezvoltare (taxe estimate);

Emulator în circuit - software și hardware, capabil să înlocuiască MC-ul emulat într-o schemă reală. Docking emulator în circuit cu sistemul de depanare se face folosind un cablu cu un cap de emulare special, care este introdus în loc de MC în sistemul de depanare. Dacă MK nu poate fi eliminat din sistemul de depanare, atunci utilizarea emulatorului este posibilă numai dacă acest microcontroler are un mod de depanare, în care toate terminalele sale sunt în starea a treia. În acest caz, pentru a conecta emulatorul utilizați un clip adaptor special, care se conectează direct la ieșirile MC emulate.

Emulator în circuite - aceasta este cea mai puternică și universală unealtă de depanare, care face procesul de funcționare a controlerului debuggabil transparent, adică controlat ușor, controlat arbitrar și modificabil.

Pentru mai multă ușurință, plăcile de dezvoltare sunt, de asemenea, echipate cu cel mai simplu instrument de depanare bazat pe monitorul de depanare. Se folosesc două tipuri de monitoare de depanare: una pentru MC cu magistrală externă, iar a doua pentru MC-uri care nu au o magistrală externă.

În primul caz, monitorul de depanare vine sub forma unui cip ROM, care este inserat într-o priză specială de pe placa de dezvoltare. Placa are, de asemenea, RAM pentru programele de utilizator și un canal de comunicație cu un computer sau un terminal extern. În al doilea caz, consiliul de dezvoltare are schemele de programare încorporate pentru ROM-ul intern al MK, care sunt controlate de un calculator extern. În acest caz, programul de monitorizare este pur și simplu înregistrat în MK ROM împreună cu codurile aplicației utilizatorului. Programul de aplicații trebuie să fie pregătit special: în locurile potrivite, trebuie să introduceți apeluri către rutinele de depanare ale monitorului. Apoi se efectuează o încercare. Pentru a efectua corecții în program, utilizatorul trebuie să ștergă ROM-ul și să reînregistreze. Un program de aplicație gata este obținut de la cel debugat eliminând toate apelurile de la funcțiile monitorului și monitorul de depanare în sine. Funcțiile de depanare furnizate de pachetul "dezvoltare plus monitor" nu sunt la fel de versatile ca și capacitățile emulatorului în circuit și unele dintre resursele MC sunt selectate pentru monitor în timpul depanării. Cu toate acestea, disponibilitatea unui set de software și hardware deja pregătite, care vă permit să începeți instalarea și depanarea sistemului proiectat fără a pierde timpul, este, în multe cazuri, un factor decisiv. Mai ales când considerați că costul unui astfel de set este puțin mai mic decât costul unui emulator mai versatil.

Emulator ROM - firmware care vă permite să înlocuiți ROM-ul pe cartela debugată și să înlocuiți în loc de RAM, care poate fi descărcat de pe computer printr-un computer printr-unul din canalele standard de comunicații. Acest dispozitiv permite utilizatorului să evite multiple cicluri de reprogramare ale ROM-ului. Emulatorul ROM este necesar numai pentru MK, care poate accesa memoria externă a programului. Acest dispozitiv este comparabil în complexitate și cost cu plăcile de dezvoltare și are un mare avantaj: universalitatea. Emulator ROM poate lucra cu orice tip de MC.

Recent, au existat modele de emulatori ROM inteligenți, care permit "peek" în interiorul MK pe bordul utilizatorului. Inteligentele inteligente sunt un hibrid de la un emulator de ROM convențional, un monitor de depanare și circuite de magistrală de schimbare rapidă de la unul la altul. Aceasta creează efectul, ca și cum monitorul de depanare a fost instalat pe placa utilizatorului și, în același timp, nu ocupă resurse hardware pentru MC, cu excepția unei mici zone de pași de program, aproximativ 4K.

Etapa de depanare în comun a hardware-ului și a software-ului în timp real este finalizată atunci când hardware-ul și software-ul împreună asigură executarea tuturor etapelor algoritmului sistemului. La sfârșitul etapei, programul de depanare este stocat utilizând programatorul în memoria nevolatilă a MC, iar controlerul este testat fără emulator. Sunt utilizate surse de energie de laborator. Unele surse externe de semnale pot fi modelate.

Stadiul de integrare a controlerului dezvoltat în produs constă în repetarea depanării comune a echipamentului și a programului de control, dar atunci când lucrează în produs, alimentat de o sursă obișnuită și cu informații din surse de semnal standard și senzori.

Compoziția și domeniul de aplicare a testelor dezvoltate și fabricate de către controlorul depinde de condițiile de funcționare și este determinată de documentele de reglementare relevante. Testarea unor astfel de produse complexe din punct de vedere funcțional ca și controlorii moderni poate necesita dezvoltarea unor mijloace specializate de monitorizare a stării produsului în timpul testării.

Articole similare