Microsistem Pentru Interfata Locala de Proces
Tema lucrării se referă la punerea în funcțiune a unui microsistem pentru interfață locală de proces, realizarea unui simulator de proces și proiectarea și testarea unor aplicații simple de interfață de proces și instrumentație.
Cap 1.
GENERALITĂȚI
1.1. Structura sistemelor informatice de conducere de proces
1.1.1. Funcții ale sistemelor informatice de conducere de process
1.1.2. Structuri ale sistemului informațional de conducere de a proceselor
1.1.3. Sisteme cu legătură stea master-slave
1.1.4. Sistem cu legătură multipunct master-slave
1.2. Sisteme de instrumentație
Cap. 2.
MICROCONTROLERUL P89 CE 558
1.2.1. SAD cu un semnal analogic de intrare
1.2.2. SAD cu mai multe semnale analogice de intrare
1.2.3. SAD cu multiplexarea semnalelor analogice de intrare
1.2.4. SAD cu multiplexarea ieșirilor CEM
1.2.5. SAD cu multiplexarea ieșirilor CAN
1.3. Sisteme cu microcontrolere
1.4. Tema lucrării
2.1. Prezentare
2.2. Schema bloc.
2.3. Diagrama funcțională
2.4. Diagrama pinilor pentru capsula P 89 CE 558
2.5. Semnificația semnalelor de intrare și ieșire ale microcontrolerului P 89 CE 558
2.6. Descrierea funcționării
2.6.1. Generalități
2.6.2. Organizarea memoriei
2.6.3. Facilități de intrare/ieșire
2.6.4. Ieșirile puls cu modulare
2.6.5. Convertorul analog – numeric (ADC)
2.6.5.1. Regiștrii SFR. Prezentare.
2.6.5.2. Rezoluții și caracteristici
2.6.6. Intrările și ieșirile seriale
2.6.6.1. SIO.0 (UART)
2.6.7. Sistemul de întreruperi
2.6.8. Modurilede funcționare la putere redusă
2.6.9. Circuitele de oscilație
2.6.9.1. Circuilul oscilator XTAL 1,2 (standard 80 C 51 )
2.6.9.2. Circuitul XTAL 3,4
2.6.10. Circuitul de RESET
2.7. Setul de instrucții
2.7.1. Moduri de adresare
2.8. Flash EEPROM
2.8.1. Caracteristicile FEEPROM
CAP.3
STRUCTURA SISTEMULUI DE INTERFATA DE PROCES CU MICROCONTROLERUL P 89 CE 558
3.1. Circuitele 1488 și 1489
3.2. MMC 4093
3.3. CIRCUITUL 723
3.4. Componente discrete utilizate
3.5. Structura sistemului
Cap 4.
PUNEREA ÎN FUNCȚIUNE
55 pagini
=== PROIECT ===
Cap 1.
GENERALITĂȚI
1.1. Structura sistemelor informatice de conducere de proces
Sistemele de conducere cu calculatorul a proceselor tehnologice folosesc un sistem de calcul pentru conducerea unor părți sau în totalitate a unui proces tehnologic cu scopul realizării și menținerii unor anumite pereformanțe tehnice și tehnologice și reprezentând anumite cerințe specifice obligatorii (răspuns rapid, siguranța funcționării).
1.1.1. Funcții ale sistemelor informatice de conducere de proces
Căile și mijloacele care asigură flexibilitatea necesare tehnicii de automatizare, atât în sensul satisfacerii cerințelor utilizatorului cât și în sensul cuplării la instalațiile tehnologice modularizate, reconfigurările și multifuncționalitatea constau în :
– Discretizarea prin tratarea numerică a achiziței și prelucrării informațiilor ;
– Structurarea ierarhizată a sistemelor cu o tot mai mare descentralizare a funcțiilor ;
– Distribuția spațială a inteligenței ;
– Fiabilitatea sporită a componentelor și a întregului ansamblu prin diagnoză în regim on-line ;
– Utilizarea intensivă a sistemelor multiprocesor prin interconectarea sistemelor ;
– Flexibilitatea funcțională sporită prin programare liberă utilizând memorii și unități centrale de calcul ;
– Comunicația om-mașină prin terminal cu display grafic ;
– Utilizarea conceptelor de inteligență artificială.
Conceptul automatizare flexibilă a condus la noi structuri de conducere, în totalitate numerice, ce se integrează într-un sistem informațional ierarhizat în care echipamentele sunt realizarte la nivelul utilajelor în configurații multiprocesor, fiind capabile de prelucrare paralelă în T.R. a unui volum mare de date , iar la nivelul unității productive un calculator coordonator este capabil să reconfigureze software baza de date, inclusiv programele de aplicație.
În afară de implementarea prin logică programată a funcțiilor de comandă a proceselor apare și o conectare într-un sistem informațional de interconectare a tuturor sistemelor componente la nivel organizatoric al fabricației.
În cadrul sistemului informatic se manifestă două tipuri de comunicații :
– comunicație externă cu calculatorul situat pe nivelul ierarhic superior ;
– comunicație internă care poate fi de condiționare operațională între echipamentele locale atașate utilajelor sau între calculatorul coordonator și personalul de deservire prin console și terminale de achiziție a datelor.
În concordanță cu aceste două tipuri de comunicație într-un sistem informațional are loc un proces de vehiculareba informațiilor în dublu sens și anume :
– emisie de comenzi de la nivelul ierarhic superior către echipamente locale.
– achiziția de date din proces de la echipamente locale și prelucrarea lor centralizată.
1.1.2. Structuri ale sistemului informațional de conducere de a proceselor
Extstă 2 soluții de implementare a funcțiilor de comandă și de calcul aferente unui proces :
a. – conducere centralizată
b. – conducere descentralizată
a) Soluția centralizată poate fi aplicată în sistemele cu comandă directă în care funcțiile de prelucrare , prelucrare, administrare în T.R., distribuire a datelor, sunt atribuite calculatorului pentru conducerea fabricației.
b) Soluția descentralizată constă în distribuirea funcțiilor de calcul și comandă unor unități ierarhizate pe 3 nivele.
Varianta de implementare descentralizată oferă o siguran\ă în func\ionare ăi o flexibilitate superioară celei centralizate.
1.1.3. Sisteme cu legătură stea master-slave
Problema achiziționării unui număr foarte mare de semnale de intrare ridică probleme serioase legate de tratarea lor în timp real, de modularitatea programelor și de siguranța în funcționare . Sistemele locale incluse în această structură sunt independente. Sistemul master rulează un software multitasking de supraveghere șI conducere de proces.
Structura dacă nu se complică foarte mult este indicată în conducerea în timp real, sistemul master rezolvând imediat problemele care-i sunt comunicate asincron de la sistemele locale. Cu alte cuvinte răspunsul este rapid.
Schema unei astfel de structuri este :
1.1.4. Sistem cu legătură multipunct master-slave
Structura unui astfel de sistem este :
Această structură rezolvă dezavantajele structurii anterioare dar introduce alte dezavantaje :
– are avantajul legăturii simple
– comunicația masterului cu modulele slave se fa ce prin interogare ciclică. În timpul comunicării masterului cu un slave linia este ocupată. Acest procedeu poate fi considerat un avantaj în unele situații, cum ar fi răspunsul sistemelor locale la momente bine precizate , dar poate fi considerat un dezavantaj dacă se dorește un răspuns în timp real. Viteza de comunicare este totuși destul de mare și dacă servirea modulelor slave locale se rezumă la probleme simple , dezavantajul poate fi eliminat.
La realizarea unei astfel de structuri se face o inițializare prin trimiterea unor coduri de recunoaștere pentru sistemele locale care sunt parțial independente.
1.2. Sisteme de instrumentație
Un astfel de sistem oferă în afară de simpla măsurare a unor mărimi fizice, funcții de prelucrare care să furnizeze informații cât mai apropiate de nivelul strategie al luării deciziilor.
Un sistem de instrumentație este alcătuit din :
a. un suport hardvare adecvat compus din mai multe micrusisteme din care unul cu rol de achiziție de date.
b. un sistem de programare care să realizeze :
– comanda măsurării
– prelucrări primare
– prelucrări complexe (diferențiere, integrare, analiză spectrală)
– facilități de arhivare – regăsire
– funcții speciale de analiză și evaluare
– posibilități de înglobare în sisteme ierarhice
Deci un sistem de instrumentație este un ansamblu hard – soft a căror destinație este preluarea unor mărimi fizice primare și prelucrarea acestora de o manieră complexă în scopul furnizării unor rezultate cât mai utile unor operații de evaluare sau de decizie.
Structura unui sistem de instrumentație este :
Pentru controlul unui proces fizic este necesară extragerea informațiilor despre desfășurarea procesului, prin utilizarea traductoarelor. Semnalele de la ieșirile traductoarelor sunt transformate în tensiuni electrice (semnale analogice) cu circuite de condiționare a semnalelor. Pentru controlul numeric al procesului fizic se impune realizarea conversiei semnalelor analogice în semnale numerice acceptate de sistemul de prelucrare numerică (calculator, microcalculator, sistem cu microprocesor sau microcontroler). Semnalele numerice se obțin prin prelevarea la momente de timp date, a valorilor semnalelor analogice și conversia acestor valori sub formă numerică cu sisteme de achiziție de date, SAD. Semnalele numerice rezultate din prelucrare se utilizează pentru comanda elementelor de execuție de control (dispozitive de afișare numerică și alfanumerică, relee, electrovalve etc. ). Pentru comanda cu semnale analogice a unor a unor elemente de execuție de control (motoare, înregistratoare etc.) este necesară conversia semnalelor numerice prelucrate în semnale analogice cu sisteme de distribuție de date, SDD.
1.2.1. SAD cu un semnal analogic de intrare
Structura unui sistem de achiziție de date cuprinde circuite analogice cu funcții de prelucrare necesare pentru conversia datelor, circuite pentru conversia analog numerică și circuite de interfață pentru transferul semnalului numeric rezultat din achiziție la sistemul de prelucrare numerică, SPN. De asemenea, prin circuitele de interfață se poate realiza controlul funcționării SAD de către SPN.
Structura unui sistem de achiziție de date cu un semnal analogic de intrare :
1.2.2. SAD cu mai multe semnale analogice de intrare
Pentru achiziția cu un sistem a mai multor semnale analogice de intrare se impune utilizarea unui circuit multiplexor. Acest multiplexor poate fi conectat în structura sistemului de achiziție de date în mod diferit, obținându-se variantele de SAD care se prezintă în cele ce urmează, în ordinea creșterii complexității structurii ca număr de componente utilizate și cu consecința creșterii frecvenței de achiziție.
1.2.3. SAD cu multiplexarea semnalelor analogice de intrare
Structura sistemului de achiziție de date cu multiplexarea semnalelor analogice de intrare, cuprinde un ansamblu CEM-CAN la intrările căruia se conectează succesiv semnalele analogice de intrare, prin multiplexare în timp.
Sistemul de achiziție de date cu multiplexarea semnalelor de intrare este cea mai simplă variantă constructivă, în sensul că utilizează pentru achiziția mai multor semnale analogice de intrare un singur CEM și un singur CAN.
1.2.4. SAD cu multiplexarea ieșirilor CEM
Structura sistemului de achiziție de date cu multiplexarea ieșirilor circuitelor de eșantionare și memorare,cuprinde câte un CEM pentru fiecare din cele K semnale analogice de intrare și un singur CAN.
1.2.5. SAD cu multiplexarea ieșirilor CAN
Structura sistemului de achiziție de date cu multiplexare ieșirilor convertoarelor analog numerice cuprinde câte un ansamblu CEM-CAN pentru fiecare din cele K semnale analogice de intrare. Rezultă că procesele de prelucrare și conversie analog numericăse pot desfășura independent și simultan pentru toate semnalele de intrare.
Structura de principiu a unui SAD cu multiplexarea ieșirilor :
1.3. Sisteme cu microcontrolere
Procesul de proiectare a sistemelor reprezinta o trecere gradata de la definirea cerintelor generale la definirea unor detalii concrete . În sistemele concetrate pe microprocesare , majoritatea detaliilor de functionare sunt definite prin programe. Totusi, inainte de a incepe programarea propriuzisa, este necesara stabilirea unei configurații de hard-ware care sa fie capabilă să satisfacă specificațiile sistemului.
De asemenea trebuie proiectate și circuite de interfață, pentru a converti semnalele (digitale) ale microcalculatorului în semnale compatibile cu dispozitive electromecanice de intrare și ieșire. Este posibil ca în cazul sistemelor simple aceasta sa fie unica problema în materie de proiectare hardware.
Microcalculatoarele realizate pe un singur cip includ un microprocesor, memorie, temporizator și linii de intrare – iesire prevazute cu latch-uri. Dacă parametrii microcalculatorului sunt adecvați problemei, proiectarea de hard-ware se reduce la conceperea unui cablaj imprimat pentru a ne cupla la circuitul de interfață și la punerea sa într-o cutie împreună cu o sursă de alimentare .
Adesea, se impune prezența unei logici externe simple, pentru a manipula sarcini care altfel ar mari în mod serios timpul de execuție al procesorului. De exemplu, datele prezentate la o intrare asincronă pot fi prelucrate direct de catre program, daca programul eșantionează intrarea cel puțin la un interval de timp egal cu 1/8 din durata unui bit. Daca se foloseste o logică externă, de sincronizare, aceasta se poate reduce la o intrerupere pe durata unui bit, iar dacă utilizăm un registru extern de depasare, programul trebuie intrerupt doar o data la fiecare byte.
Daca aplicația impune si alte prelucrari cu o pondere importantă în timp este necesar să operăm la nivel de byte. Există cipuri receptoare serie specializate pentru aceasta problema.Cipurile pentru cuplarea cu dispozitive periferice sau cele suplimentare de RAM si ROM se pot adauga la orice microcalculator sau sistem cu microprocesor prin simpla conectare în paralel la un plus comun.
În general, circuitele de interfață periferice conțin atîât registre de date cât și registre de control/stare pe care procesul le scrie sau le citește ca și cum ar fi locați de memorie (sau porturi de intrare/iesire). Registrele de control permit ca un singur circuit să fie folosit într-o varietate largă de aplicații. Adaptarea funcțiilor circuitului prin biții de control constituie un exemplu pentru modul în care aceste circuite pot fi făcute să satisfacă o gamă largă de sarcini prin simpla programare.
În mod sigur circiitul de interfață de intrare/ieșire cel mai utilizat este interfața programabilă pentru periferice (PPI) denumită și adaptor de interfață cu perifericele (PIA). Aceste circuite cu 24 de pini de intrare/iesire de uz general, care se cuplează la busul de date astfel încât semnalele de intrare și ieșire pot fi tratate de catre program ca biți din memorie (sau din porturile de I/O).
Registrele de central de pe cip se pot inițializa prin programul de restart pentru a specifica care linii vor fi intrari și care anume ieșiri. Unele microcomputere conțin un adaptor de interfață cu perifericele simplificat; ele folosesc un circuit cvasibidirecțional care elimină necesitatea unui registru de control pentru a specifica daca pinii sunt intrari sau ieșiri.
Toate liniile pot fi intrari sau ieșiri.
Daca viteza nu ar ridica probleme, toata interfața de intrare/ieșire ar putea fi realizată prin controlul cu ajutorul programului al liniilor de intrare/ieșire de uz general.
Apar însă adesea procese prea rapide și în această situație este necesară introducerea de logică externă pentru a realiza o prelucrare primara a intrarilor și o reducere suficientă a cerințelor la ieșire pentru ca microcalculatorul să poată lucra corespunzator.
Controlerele de comunicație serie includ circuite de tip UART (receptor/transmițător asincron universal), USART (receptor/transmițător atât sincron cât și asincron universal), ACIA (adaptor de interfață pentru comunicații asincron), PCI (interfața programabilă de comunicații), etc.
Conținutul registrului de control definește lungimea cuvantului, tipul de paritate, numarul biților de stop, cuvintele de sincronizare. Poate exista și un registru de control al vitezei de transmisie.
Alte funcții sunt cele impuse de protocoalele de comunicatie în "blocuri" SDCL (controlul liniei de comunicație sincrone) si NDCL (contrulul de nivel înalt al liniei de comunicație), detecție de indicator (flag), verificarea erorilor, introducerea/extragerea de zero ș.a.
Controlerele de întrerupere pot fi legate în cascadă rezolvând mai multe intrări de întrerupere, pe bază de prioritați. Pot îndeplini si funcția de temporizare/numarătoare de evenimente, numarând tactele sistemului pentru a genera întreruperi temporizate sau numară diverse evenimente.
Circuitele periferice precedente sunt pur și simplu conectate în paralel la busul principal al memoriei.
De fiecare dată când dispun sau au nevoiede un cuvânt de date, ele trebuie "servite" de catre program. Acest proces ia timp, deorece programul trebuie să raspundă unei întreruperi, să introducă sau sa extragă un cuvânt, să incrementeze un contor și să verifice dacă mai există "spațiu" pentru stocarea altor caractere.
Dispunând de un controler de DMA, programul este eliberat de aceasta sarcină ce consuma timp. Programului îi ramâne să definească o zonă tampon pentru fiecare dispozitiv, iar restul activităților sunt realizate de catre controlerul de DMA.
Creșterea performanțelor unui sistem ca urmare a introducerii unui controler de DMA este semnificativă dacă sunt necesare multe operații I/O cu dispozitive rapide.
1.4. Tema lucrării
Tema lucrării se referă la punerea în funcțiune a unui microsistem pentru interfață locală de proces, realizarea unui simulator de proces și proiectarea și testarea unor aplicații simple de interfață de proces și instrumentație. Proiectul ține cont de următoarele specificații :
1. Microsistemul de interfață de proces este realizat cu microcontrolerul P89CE 558 ; microsistemul a fost realizat (nefinalizat) de fostul student [anonimizat] în anul 1996, urmănd a fi finalizat și pus în funcțiune în cadrul actualului proiect.
2. Punerea în funcțiune a microsistemului de la punctul 1 va fi realizată pănă la nivelul realizării unei legături seriale cu un “host – computer” de tip PC și adaptării și încărcării unui monitor serial pentru microsistem.
3. Se va realiza un simulator de proces avănd următoarele caracteristici :
3.1. Simularea se referă la :
– 4 intrări numerice
– 4 ieșiri numerice
– 2 mărimi analogice
– 1 intrare pentru întreruperi
3.2. Intrările și ieșirile numerice și intrarea pentru întreruperi vor fi semnalizate cu LED-uri care să afișeze stările acestora;
3.3. Intrările numerice vor fi simulate prin comutatoare bipoziționale;
3.4. Intrarea pentru întreruperi va fi simulată printr-un buton cu revenire;
3.5. Intrările analogice vor fi simulate prin potențiometre;
3.6. Legătura cu microsistemul de la punctul 1 va fi realizată prin cabluri panglică și cuple conform schemelor de conexiuni ale microsistemului;
3.7. Simulatorul va fi realizat pe o placă izolatoare din textolit sau plastic, avănd piceoare din plastic de aceeași înălțime cu ale microsistemului de la punctul 1 sau fiind înglobată într-o cutie de nălțimea respectivă .
4. Va fi realizat un program în limbaj de asamblare care să accepte și să îndeplinească următoarele comenzi :
4.1. – programarea parametrilor de achiziție : perioada de eșantionare, număr de eșantioane, canale active, regim de lucru (single, șir de valori);
4.2. – comandă start achiziție analogică ;
4.3. – comandă citire intrări numerice ;
4.4. – comandă output numeric;
4.5. – cerere raport complet;
4.6. – comandă STOP;
4.7. – comandă start raport complet periodic.
5. Va fi realizat un program în limbajul VISUAL BASIC care prin rularea pe un calculator gazdă de tip PC , va permite :
5.1. – selectarea tipului de interfață (simulare….conf.pct.4/interfață normală, conf.pct 4);
5.2. – selectarea parametrilor de lucru (perioadă de eșantionare, nr. eșantioane, canale);
5.3. – start / stop achiziție;
5.4. – afișarea valorilor analogice și a stărilor numerice.
6. Se va realiza testarea programelor de la punctul 4 și 5, în conjuncție cu programul de la punctul 6 și folosind simulatorul de proces de la punctul 3.
7. Partea scrisă a proiectului va conține :
7.1. Generalități;
7.2. Studiul microcontrolerului P 89 CE 558 ;
7.3. Descrierea punerii în funcțiune, inclusiv schema electrică;
7.4. Prezentarea simulatorului de proces;
7.5. Descrierea programelor de la punctele 4,5 și 6;
7.6. Descrierea expermentărilor și concluzii.
Cap. 2.
MICROCONTROLERUL P89 CE 558
2.1. Prezentare
Microcontrolerul P 89 CE 558 (Philips) este un derivat al familiei 8051 , avînd același set de instrucții dar facilități hard în plus . Față de 8051 are în plus un AN pe 10 biți cu 8 intrări. Oferă următoarele facilități hard:
– memorie internă 32 kbytes FEEPROM ( ROM cu ștergere și programare electrică )
– 1024 octeți de RAM
– 5 porturi paralele de intrare/ieșire pe 8 biți
– un port de intrare pe 8 biți
– 2 contoare/evenimente pe 16 biți
– un contor pe 16 biți utilizat pentru captura și compararea latchurilor
– structură de întrerupere cu 15 surse pe 12 nivele de prioritate
-ieșire serială standart UART
– ieșire serială I2C
– 2 canale de comandă PWM
– un circuit cu watchdoc
Microcontrolerul P 89 CE 558 poate funcționa în regim “putere de consum redusă“ (power -down) selectabil softwer. Unitatea de procesare centrală (CPU) pe care o include este 80 C 51 . Setul de instrucții conține peste 100 de instruții : 49 pe un byte, 45 pe 2 byte, 17 pe 3 byte.
2.2. Schema bloc.
Structura internă a microcontrolerului P 89 CE 558 :
2.3. Diagrama funcțională
2.4. Diagrama pinilor pentru capsula P 89 CE 558
2.5. Semnificația semnalelor de intrare și ieșire ale microcontrolerului P 89 CE 558
P3.0.-P3.7.(pinii 41 – 48) reprezintă port de intrare/ieșire quasibidirecțional de 8 biți pinii portului au următoarele semnificații:
– P3.0.= RxD intrare serială
– P3.1.= TxD ieșire serială
– P3.2. =INT0 întrerupere externă (cerere de )
– P3.3. = INT1 întrerupere externă (cerere de )
– P3.4. = timer 0 intrare
– P3.5. = timer 1 intrare
– P3.6. = WR strober pentru citirea din memoria exterioară
– P3.7. = RD strober pentru citirea din memoria exterioară
N.C. (pinii 49-50)- pin neconectați
XTAL 2 (pin 51) – ieșirea unui amplificator inversor ce poate lucra cu un oscilator cu cristal
XTAL 1 (pinii 52 ) – intrarea unui amplificator inversor cu oscilator cu cristal. Trebuie conectat la “1” logic dacă este selectat oscilatorul PLL (SELXTAL=“0”)
P2.0. – P2.7. (pinii 55-62) – reprezintă pinii portului de intrare / ieșire pe 8 biți quasibidirecționali. Cei 8 biți reprezintă partea cea mai semnificativă a adresei dacă se accesează memoria externă (instrucții pe 2 octeți).
(PIN 63 ) -ieșire de validare a încărcării programului. Este strob de citire pentru memoria de program extrernă via port 0 și 2. Este activat de două ori în timpul fiecărui ciclu mașină în timpul latchurilor spre memoria de program externă. Când se execută ieșirea la memoria de program externă două active ale semnalului PSEN produce salt pe durata fiecărui acces la memoria externă de date. PSEN e inactiv (rămâne “1” logic )
ALESWE (pin 64 ) – este ie]ire de validare a latchurilor de adrese, latchuri pentru bytul mai puțin semnificativ din adresarea pe durata accesuliui la memoria externă în operații normale. Este activat la toate cele 6 perioade oscilatorul cu excepția duratei de accesare a memoriei externe date. Funcția alternativă este intrare puls program .
(pin 65 ) – intrare pentru acces extern. Dacă pe durata RESET, EA este pus pe nivel TTL, “1” logic, CPU execută ie]ire de la memoria program internă, cu condiția ca numărătorul program să fie mai mic decât 32768. Dacă pe durata RESET , EA este pus pe nivel TTL “0” logic atunci CPU execută ieșire la memoria de program externă via port 0 și 2. EA nu trebuie lăsat nelegat. Este citit pe durata RESET și nu contează după.
P0.7.-P0.0. (pinii 68 – 75) – Post de intrare/ieșire bidirecțional pe 8 biți. Biții reprezintă atât bit de adresă mai puțin semnificativ cât și linii de date pe durata accesului la memoria externă.
XTAL 3 (pin 78 ) – ieșire spre un amplificator inversor cu un oscilator de 32 kHz.
XTAL 4 (pin 79 ) – intrare de la un oscilator de 32 kHz.
XTAL 3 și XTAL 4 sunt puse pe 0 dacă oscilatorul PLL nu este selectat (SELXTAL = “1”) sau este activ RESET.
SELXTAL 1 (pin 80 ) – pus pe “1” logic selectează oscilatorul HF (frecvență mare) conectat la pinii XTAL 1 , XTAL 2.
AVref+ (pin1) – referință inferioară pentru conversia analog numerică.
Avref- (pin2) – referință superioară pentru conversia analog numerică.
AVSS1 (pin 3) – masă analogică pentru convertorul analog numeric.
AVDD1 (pin4 ) – putere suplimentară pentru convertorul analog numeric.
AVSS2 (pin77) – masă analogică pentru oscilatorul PLL.
AVDD2 (pin 76) -putere suplimentară (+5 V) pentru oscilatorul PLL
P5.7.- P5.0. (pinii5-12) – port de intrare. Sunt 8 canale de intrare în convertorul analog numeric.
VDD1,VDD2, VDD3, VDD4 (PINII 14, 28,53, 65 ) – reprezintă rezerva de putere în timpul operațiilor normale și a modului de putere redusă. Toți pinii trebuie conectați.
VSS1, VSS2, VSS3, VSS4 (pinii 13, 29, 54, 67) – reprezintă potențial nul pentru circuit. Toți pinii trebuie conectați.
ADEXS (PIN 15) – produce startul conversiei analog numerice . Startul conversiei poate fi realizat soft. Acest pin nu se lasă liber.
0, 1 (pinii16,17) – sunt ieșiri cu lățimea pulsului variabilă.
(pin18) – este semnal de validare a timerului watchdog T3. Pinul nu se lasă liber.
P4.0. – P4.7. (pinii 19-22, 24-27) – este port de intrare/ieșire quasibidirecțional pe 8 bi]i. P4.0.-P4.5. au semnificația CMSR0 – CMSR5 care compară și setează resetează ieșirile în combinație cu timerul T2. P4.5. și P4.7. au semnificația CMT0 și CMT1 și sunt ieșiri de comparare în combinație cu timerul T2.
RSTIN (pin30) – este intrare de reset a circuitului P89 CE 558.
RSTOUT (pin23) – este ieșire pentru schemele periferice în timpul inițializării și basculării timerului watchdog .
P1.0.-P1.7. (pinii 31-38 ) – reprezintă port de intrare/ieșire quasibidirecțional pe 8 biți. P1.0.- P1.3. au semnifica\ia CT0/INT2 – CT3/INT5 și reprezintă intrări de captură pentru timerul T2 sau cereri de întrerupere externă. P1.4. are semnifica\ia T2 și reprezintă intrare de recepție eveniment. P1.5. are semnificație RT2 și este intrare de reset pentru timerul T2.
SCL (pin 39 ) – este semnal de ceas pentru legătura serială 12C.
SDA (pin40) – este legătura serială 12C pentru vehiculare date. Dacă SCL și SDA nu se utilizează atunci se conectează la VSS.
2.6. Descrierea funcționării
2.6.1. Generalități
P 89 CE 558 este un circuit de sine stătător cu performanțe înalte, recomandat pentru folosirea în aplicați de timp real, instrumentație de măsură, control industrial, medii cu aplicații mari consumatoare de calcule și operații de intrare/ieșire și chiar în aplicații de control cu motivații specifice.
Oferă în plus față de funcțiile standard ale lui 80C51 scheme necesare la numărul de funcții dedicate hardware în aplicațiile menționate.
Cuprinde un CPU și memorie program și de date în aceelași cip. Se poate face extensie a memoriei program până la 64 kbytes extern și de asemenea o accesare a memoriei externe de date mai mult de 64 kbytes.
Pentru sisteme cu cerințe de extracapabilitate, circuitul P 89 CE 558 poate fi extins utilizând memorie și periferice standard.
Microcontrolerul P89 CE 558 are două moduri (selectabile software) de reducere a activită\ii în scopul reducerii puterii de consum “inactiv” și “putere-jos”.
Modul inactiv eliberează CPU în timpul funcționării continue cu RAM, timere, porturi seriale și întreruperea sistemului.
Modul “putere redusă“ salvează conținutul RAM și eliberează oscilatorul, iar toate celelalte blocuri funcționează.
Modul “putere redusă“ poate fi încheiat cu RESET extern, întreruperea de secunde și de oricare din cele două întreruperi externe.
2.6.2. Organizarea memoriei
CPU manipulează operanzi în trei spații de memorie. Acestea sunt 64 kbytes memorie internă de date (constând din 254 RAM standard și 768 bytes AUX-RAM) și 32 kbytes intern și/sau 64 kbytes extern de memorie program.
Tabel 1 : Accesarea memoriei prin instrucțiunea MOVC pentru protejarea ROM.
Tabel 2 : Maparea memoriei de date interne
Tabel 3 : Locațiile de memorie pentru toate accesările posibile cu MOVX
NOTA : *ARD este bit dintr-un registru de funcții speciale (SFR) numit PCON.
**XRAMP 1 și XRAMP 0 sunt biți din registru de paginare AUX-RAM denumit XRAMP (la adresa FAH )
În spațiul de memorie este stocat un număr de regiștrii de funcții speciale notat SFR care oferă posibilitatea utilizatorului de a modifica o serie de caracteristici funcționale ale circuitului.
Maparea în memorie și valorile la RESET ale regiștrilor sunt prezentate în tabelul 4
NOTA : % = registru adresabil pe bit
* = registru doar citibil
Adresarea sepoate face în cinci metode: prin registru, direct, registru indirect, imediat, registru de bază plus index- registru indirect.
2.6.3. Facilități de intrare/ieșire
Controlerul P89 CE 558 are 8 porturi. Porturile 0 până la 3 au semnificația pe care o au la 80C51, cu excepția funcțiilor adiționale ale portului 1. Portul 4 cu funcția paralelă de I/O este egal cu porturile 1, 2, 3.
Portul 5 are funcție doar de intrare paralelă.
Portul 0 furnizează liniile mai puțin semnificativeale adresei multiplexate în busul de date fiind folosite la extensia lui P 89 CE 558 cu memorii și periferice standard.
Portul 1 este utilizat pentru o serie de funcții speciale : 4 intrări de captură (sau intrări de cereri externe de întrerupere dacă nu se utilizează informația de captură), intrare pentru un numărător, intrare reset pentru un numărător.
Portul 2 furnizează ordine superioară a adresei când circuitul este extins cu o memorie externă program și/sau memorie de date.
Portul 3 conține pini ce pot fi configurați individual pentru a furniza: intrări de cerere externe de întrerupere, intrări pentru numărătoare, intrare de recepție de pe linia serială, ieșire de transmitere pe line serială, semnal de scriere și semnal de citire în/din memoria externă de date.
Portul 4 poate fi configurat pentru a furniza semnale ce indică diferența între numărătorul T2 și registrul de comparare.
Portul 5 poate fi utilizat în conjuncție cu interfața de conversie analog-numerică.
2.6.4. Ieșirile puls cu modulare
Aceste linii furnizează pulsuri cu lungime și interval programabile. Frecvența de repetiție este definită de un registru de prescalare pe 8 biți denumit PWMP (vezi tabel ), care reprezintă ceas pentru numărare. Prescalarea și numărarea sunt comune ambelor semnale PWM.
Valoarea înscrisă în numărătorul pe 8 biți este comparată cu conținutul a două registre: PWM0 și PWM1.
Rați acestor pulsuri este definită de conținutul regiștrilor PWM0 și PWM1 și se încadrează în intervalul 0/255-255/255.
Semnalele pot fi utilizate în conducerea motoarelor de curent continuu. Viteza de rotație a motorului este proporțională cu conținutul regiștrilor PWMn.
Frecvența fPWM se calculează cu formula :
Tabel:
PWM0…7 furnizeazăfactorul de prescalare divizare = (PWMP) + 1
Tabel:
PWMn,0…7 furnizează ra\ia a semnalului PWMn =
2.6.5. Convertorul analog – numeric (ADC)
Controlerul P 89 CE 558 conține un convertor A/D pe 10 biți cu aproximări succesive și 8 canale de intrări analogice multiplexate. Tensiunea de intrare se încadrează în plaja oferită de Avref- (tipic 0V) și Avref+ (tipic +5V).
Rezultatul conversiei se încarcă în 8 regiștrii buffer (10 biți) unul pentru fiecare canal de intrare analogică.
Performanțele sunt oferite de interfața software cu ADC utilizând 11 regiștrii cu funcții speciale (SFR):
– SFR de control (ADCON)
– selectare- scanare a portului SFR (ADPSS)
– 8 X rezultat al conversiei pe 8 biți LSB (ADRSL0…7)
– rezultat comun pe 12 biți MSB (ADRSH)
Într-un SFR special (PS)se face citirea intrărilor de date digitale sau alternativ funcția de intrare pentru 8 pinide intrare analogică. Serviciul minim oferit de ADC este coprins în programul microcontrolerului. ADC este capabil să opereze autonom utilizând funcția configurabiă de autoscanare.
Diagrama de funcționare a convertorului se poate vedea în figură.
2.6.5.1. Regiștrii SFR. Prezentare.
Descrierea biților
Registrul de scanare – selectare a portului de inarare A/D: ADPSS
Registrele cu rezultatele A/D: ADRSLn și ADRSH
Registru pentru portal de intrări digitale P5
Observații:
ADCON, ADPSS, ADRSLn, ADRSH și P5 nu sunt adresabile pe bit.
După RESET bițiiADCON și ADPSS sunt inițializați la 0. ADRSLn și ADRSH nu sunt inițializați.
2.6.5.2. Rezoluții și caracteristici
Sistemul ADC are doi pini suplimentari AVDD și AVSS.
Se poate stabili oreferință prin pinii de intrare Avref+ și Avref- . Tensiunea între Avref+ și Avref- definește cuanta scalei de măsurare. Rezoluția de 10 biți a convertorului duce la împărțirea lungimii scalei în 1024 de cuante. Un pas de tensiune este 1LSB. Tipic la o referință Avref+=S,12V și Avref- =0V + AVSS rezultă o cuantă de 5 mV.
Codul rezultatului măsurării tensiuniianalogice de intrare poate fi calculat cu formula:
C =
Pentru protejarea circuitului în cazul apariției unor situații critice ( depășirea pragului maxim admis ) pe intrările analogice se prevăd protecții cu rezistențe și diode.
2.6.6. Intrările și ieșirile seriale
Circuitul P 89 CE 558 este echipat cu două porturi seriale independente S.00 și S 0.1 este un port UART duplex complet. S 0.1 este o interfață serială de intrare/ieșire pe I2C – bus un bzte orientat spre funcții master și slow.
2.6.6.1. SIO.0 (UART)
Portul poate transmite și recepta simultan date. Conține un buffer la recepție care-i permite începerea recepției celui de al doilea byte înainte ca bytul deja receptat să fie citit de registru de recepție.
Dacă totuși primul byte nu este citit la timp, iar următorul byte este complet, unul din cei doi va fi pierdut.
Registrele de recepție și transmitere de S;O o sunt amândouă accesibile via SFR denumit SoBUF.
Scrierea în SoBUF utilizează registrul de transmitere și citirea SoBUF accesează registrul de recepție aflat separat.
S;Oo poate opera în 4 moduri:
Modul 0: Datele se transmit și se receptează pe acceași linie RXD . TXD este tact de ceas. 8 biți de data sunt receptați/transmiși (LSB primul). Rata band este fixată la 1 1/2 din frecvența oscilatorului. Pentru a opera scriere în SOCON trebuie evitat pe perioada transmiteriisă se utilizeze RDX/TXD.
Modul 1: 10 biți sunt transmi]i pe calea TXD sau receptați pe RXD: un bit de start (0), 8 biți de dată (LSB primul ) și un bit de stop (1). La recepție bitul de stop este pus în RB8 (SOCON2). Rata band este variabilă.
Modul 2 : 11biți sunt transmiși pe TXD sau receptați pe RXD :bit de start (0) , 8 biți de dată (LSB primul )un al 9-lea bit de dată programabil și un bit de stop (1). La bitul 9 (din TB 8 în SOCON ) îI poate fi atribuită valoarea 0 sau 1. TB 8 poate fi bit de paritate (P în PSW). Pe durata recepției, al 9-lea bit este încărcat în RB 8 (SOCON.2) iar bitul de stop este ignorat. Rata band este programabilă la 1/32 sau 1/64 din frecvența oscilatorului.
Modul 3 : 11 biți sunt transmi]i pe TXD sau receptați pe RXD : bit de start (0) , 8 biți de dată (LSB primul ) , un al 9-lea bit de dată , un bit de stop(1). Modul 3 este asemănător cu modul 2 cu diferența că rata band este variabilă în mod 3.
În toate cele 4 moduri transmisia este inițializată de orice instrucție înscrisă în registru SoBUF. Recepția este inițializată în mod 0 dacă RI=0 ]I REN=1 . În toate celelalte 3 moduri recepția este inițializată de startul sosit cu condiția ca REN = 1.
Structura poate fi folosită în sisteme multipprocesor fiind activată prin setarea bitului SM2 în SOCON.
Tabel :Registrul SOCON pentru controlul portului serial.
Tabel : Descrierea biților SOCON. 7.6
2.6.7. Sistemul de întreruperi
Evenimentele externe și conducerea în timp real necesită servirea de către CPU cu utilizare asincronă, executarea oricărei secțiuni de cod. Activitățile asincrone ale acestor funcții au în execuția programului normal surse multiple și două nivele de prioritate. Timpul de răspuns la o întrerupere sistem este cuprins în intervalul 2,25 us – 6,75 us dacă se utilizează cristal de16Mhz.
Întîrzierea timpului depinde de secvența de instrucții executată direct după cererea de întrerupere.
Circuitul P 89 CE 558 acceptă cereri de întreruperi de la 15 surse (vezi figura ) :
– INT0 șI INT1 sunt întreruperi externe
– Timer 0 șiTimer 1 întreruperi interne de la timer/numărător.
– Timer 2 este timer/ numărător intern pe byte și/sau pe 16 biți cu depășire. Se poate opta (în cazul de față ) pentu patru cereri de întrerupere externă triggerate : INT 2, INT 3, INT4, INT 5.
– UART port serial I/O generează înterupere pentru recepție/transmisie.
– întrerupere generată de interfața serială I/O I2C-bus.
– întrerupere generată de autoscanarea completă ADConvertor
– întreruperi SEC de la timerul “secunde”
fig…..
Fiecare sursă de întreruperi poate fi activată sau dezactivată individual prin setarea sau ștergerea bitului corespunzător din registre de funcții speciale pentru validarea întreruperii IEN 0IEN 1. Toate sursele de întrerupere pot fi global dezactivate prin ștergerea bitului EA în SFS IEN O.
Tabel : Regiștrii de funcții speciale IEN 0 și IEN 1
Descrierea biților IEN 0
Descrierea biților IEN 1
Fiecărei surse de întrerupere îi poate fi atribuită una din cele 2 nivele de prioritate. Nivelul de prioritate este atribuit de regiștrii speciali pentru prioritatea întreruperilor IP 0 șI IP 1.
Nivelele de prioritate sunt descrise de biți astfel :
“0” – nivel inferior
“1” – nivel superior
Dacă două cereri de priorități diferite secționează simultan, atunci nivelul superior este servit. Dacă cereri cu aceeași prioritate acționează simultan atunci o logică internă, determină care cerere este servită. Structura priorităților se poate evidenția în tabelul de mai jos :
Sursele de întrerupere sunt testate în S5P2 în toate ciclurile mașinii. Testarea are loc pe durata ciclului următor. Dacă unul dintre flaguri este pe condiția de set în S5P2 în ciclu mașină anterior, ciclul actual va găsi aceasta șisistemul de întrerupere va genera în LCALL serviciul de rutină propriu, cu condiția ca generatorul hardvare LCALL să nu fie blocat de una din condițiile următoare :
1. O întrerupere de prioritate egală sau mai mare este citită între timp.
2. Ciclu mașină curent nu este ciclu final în execuția instrucțiunii în curs.
3. Instrucția în curs este RETI sau orcie adresă a regiștrilor de activare de întrerupere sau nivel de prioritate.
Ciclul de testare se repetă în toate ciclurile mașină , iar valorile actuale sunt valorile prezentate în S5P2 în ciclul mașină anterior.
Nu se întămplă aceasta dacă flagul de întrerupere este activ dar nu există răspuns din cauza uneia din condițiile de mai sus cănd flagul este inactiv iar condiția de blocare este părăsită.
Întreruperea blocată nu va fi astfel servită Faptul că flagul de întrerupere a fust odată activ dar nu a fost servit, nu este reținut. Fiecare ciclu de testare este nou.
Confirmarea procesorului la cerere de întreupere se face generănd hardware LCALL la rutina de servire proprie.
În unele cazuri însă, ștergerea se face, în altele însă nu. Se șterge flagul Timer 0, Timer 1și întreruperile externe. Toate celelalte flaguri nu sunt șterse hardware ci doar software.
LCALL pune conținutul numărătorului program (PC) în stivă (dar nu salvează PSW) și reîncarcă PC cu adresa ce corespunde sursei de întreruperi prin vectorizare.
Vectorizarea se poate urmări în tabelul următor :
Poziționarea pe cele două nivele de întrerupere ( 0 low și1 high ) se poate evidenția în tabel :
Descrierea biților registrului IP0 :
Descrierea biților registrului IP1 :
2.6.8. Modurilede funcționare la putere redusă
Pe P 89 CE 558 sunt implementate două moduri, selectabile software, de reducere a puterii de consum. Acestea sunt : modul inactiv și modul putere redusă.
Modul inactiv permite întreruperi șI funcționarea porturilor seriale și a blocurilor T0, T1 șiT3 în timp ce CPU este oprit. Următoarele funcții sunt închise în timpul funcționării în modul inactiv :
– CPU – oprit
– Timer 2 – stopat și resetat
– PWM 2 – resetate, ieșirea = high
– ADC – dacă inversia este în desfășurare e absedat
Funcțiile care rămîn active pe durata acestui mod sunt :
– Timer o,1,3
– UART
– I2C
– Întreruperile externe
– Timer SEC
În modul putere redusă este oprit ceasul sistem. Dacă oscilatorul PLL este selectat (SELXTAL1=0) și RUN 32 este setat, oscilatorul de 32 Khz începe să funcționeze, altfel este oprit.
Dacă oscilatorul HF este selectat (SELXTAL 1=1 )se oprește după setarea bitului PD în registru PCON.
În tabelul următor se pot observa stările pinilor în cele două moduri (inactiv și putere redusă ) :
Registrul de control putere PCON activează software modul inactiv sau modul putere-redusă. Registrul nu este adresabil pe bit iar valoarea de reset este (00000000). Modul de reprezentare se poate observa în tabelele următoare :
Pentru ieșirea din modul inactiv există trei căi :
– activarea oricărei întreruperi permise X0,T0,XI, SEC, TI, S0 sau S1 va cauza ștergerea, hardvare, a bitului PCON.0 și ieșirea din modul inactiv dar numai dacă se întrerupe serviciul cu aceeași prioritate sau una mai mare. Întreruperea este servită urmează return ce se face cu RETI iar următoarea instrucție ce se va face va fi una care urmează celei care a scris 1 în PCON.0.
– reset hardware extern.
– reset intern watchdog.
2.6.9. Circuitele de oscilație
Intrarea de selecție XTAL1 conectată la “1” logic conduce la selectarea circuitului oscilator XTAL1,2 în timp ce circuitul oscilator XTAL 3,4 este oprit prin deconectare.
2.6.9.1. Circuilul oscilator XTAL 1,2 (standard 80 C 51 )
Pentru completarea circuitului pote fi utilizat un cristal sau rezonator ceramic. Amăndouă operează în rezonanță paralelă. XTAL 1 este intrarea din amplificator iar XTAL 2 este ieșirea spre acesta (vezi figura).
Circuitul P 89 CE 558 mai poate fi dirijat cu ajutorul unei surse externe care furnizează semnal de ceas ( CLK ), primul XTAL 2 nemaiavănd nici o funcționalitate ( vezi figura ).
Frecvența obținută este mare ( pănă la 16 Mhz ).
FIG….1,2
2.6.9.2. Circuitul XTAL 3,4
Semnalul de intrare SELXTAL 1 fiind conectat la “0” logic selectează oscilatorul de 32 kHz împreună cu PLL.
În acest timp oscilatorul XTAL 1,2 este oprit. Circuitul poate fi vizualizat în figură. Frecvența sistemului poate fi modificată software prin schimbarea registrului de control PLL ( PLLCON ), ce poate fi vizualizat în tabelul ce urmează :
Alte combinații decăt cele menționate sunt rezervate și nu pot fi selectate. Cele prezentate generează rate baund standard 19200, 9600, 4800, 2400 și1200 baod, cănd se utilizează UART și Timer1.
Schimbarea frecvenței ceasului se face în doi pași:
– de la frecvență înaltă la joasă se schimbă mai întăi FSEL (4:2), apoi FSEL (1:0)
– de la frecvență joasă la înaltă se schimbă mai întăi FSEL (1:0) și după stabilizarea fazei (10 ms), se modifică FSEL (4:2). La inițializarea PLLCON =0 DH; frecvența ceasului sistem fiind 11.01 Mhz.
Schema următoare va prezenta hardul pentru generarea semnalului de clok.
2.6.10. Circuitul de RESET
Intrarea RSTIN este conectată la trigger Schmitt pentru reducerea zgomotului. Când este selectat oscilatorul HF, resetul este îndeplinit de ținerea în High a pinului RSTIN pentru ultimele două cicluri mașină (24 perioade de ceas sistem ).
Dacă este selectat oscilatorul PLL, pulsul RSTIN trebuie să aibă lățimea de cel puțin 1 us, independent de faptul că oscilatorul de 32 kHZ rulează sau nu. Pinul RSTOUT indică faptul că CPU a fost resetat și poate fi utilizat pentru diverse circuite periferice. Resetul conduce la valorile înscrise în regiștrii speciali prezentați în tabel.
RAM-ul intern nu este ofertat de RESET. La punerea sub tensiune RAM are un conținut nedeterminat.
Prin vizualizarea schemelor se remarcă cele descrise:
fig…3,4
2.7. Setul de instrucții
Circuitul P 89 CE 558 utilizează set puternic de instrucții ca la PCB 80 C 51. Acest set conține : 49 instrucții pe 1 byte, 45 pe doi byte și17 pe trei byte. P 89 CE 558 are în plus regiștrii cu funcții speciale (SFR)pentru controlul cipurilor periferice.
2.7.1. Moduri de adresare
Sunt cinci moduri de adresare de bază :
1. – adresarea regiștrilor : -R0 – R7 (4 bănci)
-A, B, C (bit), AB (2 byte), DPTR (dublu byte)
2. – adresarea directă : – 128 byte în RAM-ul intern de tip “Main” (include R0-R7 )
– Regiștrii SFR
– 128 biți într-un subset al RAM-Main
– 128 biți într-un subset al SFR
3. – adresarea indirectă cu ajutorul regiștrilor :
– Main RAM intern (R0, R!, SP, PUSH/POP)
– RAM auxiliar intern (R0, R!, DPTR )
– Memoria de date externă (R0, R!, DPTR)
4. – adresare imediată : memoria program (cod – intrare pe 8 bit sau 16 bit constant )
5. – Registru – bază plus Registru – index ( adresare indirectă ):
– memoria program ( DPTR + A, PC + A )
2.8. Flash EEPROM
P 89 CE 558 con\ine 32 kbyte de memorie program cu ștergere electrică cu opțiunile bloc și pagină ștergere ( Flash – Memory ).
Circuitul mai conține ROM cu conținut blocat. În combinație cu memoria FEEPROM se poate folosi încă 32 kbyte memorie program externă ( EA = 1 ). Dacă memoria program internă este comutată pe “off ” se poate utiliza o memorie program externă de 64 kbyte.
2.8.1. Caracteristicile FEEPROM
Caracteristicile sale îl fac folosibil ca interfa\ă “prietenoasă”:
1. Citește byte vizat ;
2. Scrie byte vizat mai puțin de 2,5 ms (prealabil șters printr-o ștergere pagină, bloc sau totală ).
3. Ștergerea se face : – pe pagină (32 byte ) timp de 5 ms
– pe bloc (256 byte ) în 5 ms
– totală (32 kbyte ) în 5 ms
Byte ce s-au șters conțin FFH ;
4. Durabilitate de 100 cicluri de ștergere și citire pentru fiecare byte la T amb = 22 C.
5. Garantat 5 ani.
6. Programabil paralel cu interfața de programare, compatibilă hardware, 87 C 51.
7. Programabil serial prin interfață serială RS 232 sub controlul programului ROM. Soluția ratei baund este automată. Formatul este INTEL NEX OBJECT. Programul user poate apela rutine din ROM pentru ștergere, scriere și verificare a FEEPROM – ului.
Nu se folosește nici un oscilator și Timer pentru a genera durata timpului de scriere și ștergere. Se poate programa un cod de securitate pentru prevenirea pirateriei software.
Bytul de securitate se află la cea mai mare adresă (7 FFFH ) din FEEPROM.
Tensiunile suplimentare previn pierderile informației în FEEPROM pe durata power-on șI power-of.
Registrul cu funcții speciale FMCON este un registru de control ce conține biți pentru verificarea, scrierea, ștergerea și comutarea boot-ROM.
Configurațiile hard la executarea ștergerii, programării, verificării paralele se pot urmării în figura a respectiv b și c.
fig…5,6,7
Configurația pentru programarea serială ( sau rutină fină înscrisă în ROM – boot la care se face apel ) poate fi urmărită în figură.
fig…8
Rutina BOOT transmite mesaje de tip “caracter ASCII “ spre interfața serială RS 232.
CAP.3
STRUCTURA SISTEMULUI DE INTERFATA DE PROCES CU MICROCONTROLERUL P 89 CE 558
Ținând cont de caractericile și facilitățile oferite de microcontrolerul de generatie nouă și de o serie de parametrii tehnici ai procesului, s-a gândit realizarea unei arhitecturi care să satisfacă o serie de cerințe.
Arhitectura luată în considerare nu este una foarte complicată în parte datorită faptuluică microcontrolerul, înglobează o mulțime de funcții iar pe de altă parte oferă posibilitați de extensie cum ar fi :
– extensie de memorie
– legatura cu alte circuite periferice care pot fi specializate pe anumite funcți și care utilizează microcontrolerul fie pentru transmiterea unor date mai departe spre PC de pe nivelul superior, fie pentru realizarea chiar a unor operații asupra datelor și returnarea unor rezultate.
Aceste operații sunt funcție de un program memorat în spațiul de memorie program de care dispune microcontrolerul.
Prin modificarea continutului unor regiștrii de control sau de stare se pot obtine particularizări ale funcțiilor circuitului.
Memoria înglobată este suficient de mare pentru a stoca informații și în plus ea poate fi extinsă. Accesul la memorie se face ușor dupa protocoale și instrucții program standard.
Este oferită (dupa cum s-a vazut) si obținerea unui cod de securitate pentru un program înmagazinat.
In cadrul acestei lucrari s-a luat în considerare realizarea anumitor deziderate cum ar fi :
-sistemul poate fi cuplat la o placă cu memorie externă printr-o cuplă de 25 de pini la care sau legat: 8 linii multiplexate de date și adrese (partea LSB a adresei), 8 linii de adresă reprezentând partea MSB a adresei și două linii de comanda WR și RD necesare pentru transferul de date.
– prin intermediul sistemului se pot prelucra date analogice din proces, pe o cuplă de 25 pini în vederea convertirii în semnale digitale. Rezultatele pot fi stocate doar sau chiar preluate.
La aceeași cuplă au fost scoase doua linii PWM0,1 care pot conduce de exemplu un proces acționat de motoare. Aceste semnale pot furniza si un semnal pentru o conversie digital-analogică. Deci pentru aceasta cuplă se face legătura cu un procesce ce se pretează la a fi condus.
– prin intermediul,unei cuple cu 9 pini se face legătura cu un calculator de conducere PC. Aceasta legatură este seriala ceea ce poate determina o realizare practica ușoară a unei legături chiar la distanță mare de aceasta. Legătura serială se face după un protocol standard (sunt oferite 4 moduri de formare a informației).
– prin intermediul unei cuple de 9 pini sunt captate 6 linii de cerere de intrerupere externă. Se scoate în evidență faptul că microcontrolerul gestionează aceste cereri (și nu doar acestea ) dupa un mecanism propriu dar care nu este fix ci selectabil prin program cu ajutorul unor regiștrii speciali.
Putem trage concluzia că sistemul a fost creat pentru satisfacerea unor cerințe limitate, dar el poate fi dezvoltat ulterior.
Am considerat în cazul de față ca tensiunile de la intrările analogice nu pot depași tensiunea maxima de 10 V ceea ce a dus la realizarea unor protecții a microcontrolerului. Acest lucru se va evidenția în capitolul următor la proiectare.
Tot aici se va justifica folosirea unor circuite cum sunt:
– 723 care are rolul de a furniza o referință pentru conversie. Referința poate fi reglată cu un potențiometru pentru a putea îmbunatății rezolutia pentru diverse plaje ale transmisiilor de intrare.
-circuitele 1488 si 1489 relizează interfața serială cu calculatorul
-circuitele MMC 4093 sunt niste trrigere Schmitt care se utilizează pentru asigurarea obținerii la intrare a formei utile de tranzitie de semnal
– circuitul de alimentare nu a fost prevăzut pe placă.El se cuplează cu placa prin intermediul unei cuple cu 5 pini. Tensiunile necesare circuitelor de pe placă sunt +5 V, +12 V, -12 V și în plus trebuie să se specifice ca acestea trebuie stabilizate.
– microcontrolerul funcționează cu ajutorul unui tact sistem care permite sincronizarea cu semnalele care sosesc asincron de la proces. Este lasată la latitudinea utilizatorului alegerea frecvenței prin alegerea circuitelor de oscilație ce sunt conectate în exteriorul circuitului. Acest lucru se datorează faptului că adaptarea se poate face cu diverse sisteme, unele mai lente, altele mai rapide.
Tot referitor la frecvența ceasului sistem se poate spune că sistemul a fost prevăzut (prin intermediul microcontrolerului P89 CE 558 ) cu posibilitatea modificării frecvenței pe cale soft.
Tinând cont de scopul utilizării sistemului ca sistem local de interfață de proces, pe liniile portului de intrare/iesire P0 pot fi preluate și chiar furnizate date spre proces.
Schema bloc simplificată a microcontrolerului furnizează date utile strict în cazul proiectării sistemului de față.
Simbolurile regasite au următoarele semnificații :
– AV – semnale analogice
– DV – semnale numerice
– INT – semnale de cerere de întrerupere
– TXD – transmisie de date pe linie serială
– RXD – recepție de date pe linie serială
Ținând cont de specificațiile de catalog referitor la microcontrolerul P89 CE 558 și de tema de proiectare a unui sistem sa determinat o soluție optimă pentru o structură de sistem de interfață de proces care mai cuprinde unele componente discrete și de asemenea câteva circuite integrate pentru adaptarea semnalelor receptate din interiorul plăcii. Circuitele folosite și destinațiile lor vor fi prezentate în cele ce urmează :
3.1. Circuitele 1488 și 1489
Aceste două circuite vor fi folosite pentru interfațarea serială cu calculatorul.
Schemele lor prezintă facilitațile și posibilitațile de executare :
1488
1489
Pentru aplicația considerată se folosesc o parte a posibilităților oferite de circuitele integrate:
– 1488 calea 1 ( pinii 6, 5, 6 )
– 1489 calea 1 ( pinii 1, 2, 3 )
Interfața realizată este standard RS 232.
3.2. MMC 4093
Circuitul are posibilitatea obținerii a patru semnale triggerate.
Acestea se obțin dupa relațiile :
Semnificațiile și dispunerea pinilor se prezintă astfel:
Întrucît microcontrolerul are 6 semnale de intrare pentru cerere de întrerupere ce trebuiesc trigerate, în schema sistemului vor fi necesare 2 integrate MMC 4093.
3.3. CIRCUITUL 723
Este un integrat ce oferă posibilitatea obținerii unor tensiuni de referintâță. În diverse scheme se pot obține diverse valori ale tensiunilor de referință. În cazul de față tensiunea de referință oferită pe unul din pinii săi ( 7 V ) este potrivită pentru a
obține o tensiune de referință, cu ajutorul unui semireglabil de 5 V sau mai mică.
3.4. Componente discrete utilizate
Pentru realizarea unor facilități ce pot fi specificate s-au utilizat diverse componente discrete:
– oscilator de 32 kHz pentru generarea tactului intern al microcontrolerului.
– oscilator de 12 MHz și două condensatoare pentru generarea tactului intern al microcontrolerului. Microcontrolerul poate fi comutat să funcționeze cu unul din aceste două oscilatoare.
– comutator pentru intrare SELXTAL 1 a microcontrolerului, ce face selecții între cele două oscilatoare.
– semireglabil pentru reglarea tensiunii de referință a convertorului CAN inclus în microcontroler
– microîntrerupător și condensator pentru resetarea microcontrolerului
diode zenner și rezisțente pentru protecție la intrarile analogice și numerice.
3.5. Structura sistemului
O structură simplificată a sistemului de interfață de proces luând în considerare componentele pe SBC este prezentată în figura de mai jos :
Prin detaliere s-a ajuns la schema electrică din anexa 1.
Cap 4.
PUNEREA ÎN FUNCȚIUNE
Aspectul practic al proiectului prevede ca într-o primă etapă să se facă punerea în funcțiune a plăcii cu microcontrolerului P 89 CE 558 deja prezentată în capitolul 3.
Pentru aceasta am făcut verificarea traseelor deja existente pe placă astfel încât să fie asigurate condițiile optime necesare pentru funcționarea corectă a microcontrolerului.
Din studiul documentației microcontrolerului P 89 CE 558 am întocmit următoarea listă de pini pentru care am stabilit unde vor fi conectați :
Lista de mai sus corespunde unei configurații minime suficiente pentru a demonstra funcționalitatea microcontrolerului urmând ca ea să fie ulterior dezvoltată . Această configurație constă în asigurarea transmiterii și recepției seriale (conform standardului RS 232 ) precum și a posibilității de a avea microcontrolerul atât în modul boot ROM cât și în modul normal de funcționare.
În acest scop următoarele facilități au fost anulate :
– Convertorul analog numeric prin punerea pinului 15 (ADEX) la masă și prin neutilizarea pinilor 1,2,3,4,76,77 corespunzători tensiunilor analogice necesare pentru conversie.
– Timerul Watchdog prin punerea pinului 18 (EV) la +5 V . Inițial acest pin se afla într-o schemă logică ce permitea utilizarea alternativă a modului Power Down sau validarea timerului Watchdog. Dar a fost scos din această schemă din motive de utilizare eficientă a resurselor existente pe placă.
– Interfața I2C prin punerea pinilor 39,40 (SCL, SDA) la masă, aceștia inițial fiind în gol.
– Posibilitatea de utilizare a oscilatorului PLL de 32 kHz și am conectat acest pin la +5 V . Acest pin se afla de asemenea într-o schemă logică ce permitea punerea lui la masă sau la VCC printr-un switch.
În plus față de aceste modificări am conectat pinul 67 la 0 V deoarece documentația cere explicit acest lucru și am realizat o schemă logică cu două întrerupătoare pentru a putea conecta selectiv pinul 65 ( PSEN ) la masă sau în gol.
Schema este :
Pe baza acestei scheme prin setarea switchului 1 și 3 pe ON pinii EA și PSEN vor fi la masă deci la RESET microcontrolerul va intra în modul boot ROM permițând înscrierea serială a unui program în memoria FEEPROM . Dacă switch-urile 1 șI 3 sunt în poziția OFF atunci avem EA la +5 V iar PSEN în gol ceea ce corespunde modului normal de funcționare cu rularea programului din memoria internă.
După definitivarea schemei pentru a demonstra funcționalitatea microcontrolerului am înscris în memoria FEEPROM următorul program :
tempo equ 0ffh
cseg at 0
mov sp, #70h ; începutul stivei se mută la locația 70h
sus : call wait ; apel subrutină temporizare
mov P1, #01 ; P1.01 și P1.1. 0
call wait
mov P1, #02 ; P1.0 0 și P1.1.1
jmp sus
wait : mov R1, #05h ; valoarea temporizării este :
et: mov R0, tempo ; FFh x FFh x 5h =
bucla : mov A, tempo ; 255 x 255 x 5 = 325125 s =
adr : dec A ; 0,32 sec perioada celordouă
cjne A, 0, adr ; forme de undă este de
djnz R0, bucla ; aprox 0,7 sec (0,64)
djnz R1, et
ret
end
Scrierea ei s-a efectuat în următorii pași :
a) Cu un asamblor pentru microcontrolerele din familia 80 C 5XX s-a generat codul obiect în format Intel HEX .
b) S-au setat switch-urile 1,3 pe ON după care s-a alimentat placa.
c) Cu ajutorul programului TERM 90 din pachetul Norton Commander s-a încărcat programul de mai sus la adresa 0000h din memoria FEEPROM a microcontrolerului. Pentru aceasta s-a utilizat facilitatea denumită UPLOAD prezentă în meniul programului TERM 90 cu opțiunea ASCII, după ce în prealabil au fost setați parametrii liniei seriale astfel : 9600 baund, 8 biți pe caracter, NO parity și un bit de STOP așa cum se cere în documentația ce însoțește microcontrolerul.
Înscrierea corectă a fost semnalizată prin returnarea caracterului V către PC. Odată programul înscris în el va intra în rulare dacă switch-urile 1și 3 puse pe OFF, ori de câte ori are loc punerea sub tensiune a plăcii cu microcontrolerului sau se se apasă butonul RESET.
Programul este simplu și nu face altceva decât că generează la pinii 31 și 32 ( pinii 0 șI 1 ai portului P1) câte o formă de undă dreptunghiulară cu perioada de aproximativ o secundă. Cele două semnale sunt deliberat defazate cu jumătate din perioadă astfel încât prin conectarea a două leduri la acești pini aceștia să se aprindă alternativ și niciodată simultan . Temporizarea necesară pentru generarea acestei forme de undă a fost generată soft printr-o buclă de întârziere.
!!! În forma actuală a programului trebuie avut grijă ca placa să nu fie alimentată decât în situația în care circuitele Triger Schmit sunt scoase din soclu deoarece în caz contrar riscăm distrugerea microcontrolerului parțial sau total.
Capitolul 5
A fost modificat, adaptat și pus în funcțiune un microsistem bazat pe microcontrolerul P 89 CE 558 . Acest microsistem permite realizarea unor interfețe locale de proces sau a unor sisteme de instrumentație simple . Astfel se pot crea standuri de laborator de uz didactic utile în desfășurarea laboratoarelor de “ingineria programării aplicațiilor de conducere de proces” și “Sisteme informatice de măsură”.
Microsistemul este în stare de funcțiune și permite rularea unor aplicații din categoria celor enumerate mai sus.
Ca posibile dezvoltări pentru viitor, amintim realizarea unui model care să poată fi utilizat în condiți reale de conducere de proces.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Microsistem Pentru Interfata Locala de Proces (ID: 149316)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
