CATEGORII DOCUMENTE |
Aeronautica | Comunicatii | Electronica electricitate | Merceologie | Tehnica mecanica |
Circuitul de comanda si control
1 Rolul in circuit a integratului PIC 18F4520
Circuitul integrat PIC 18F4520 constituie "o punte "intre aplicatia software realizata pe PC si componenta hardware a proiectului. El comunica cu aplicatia "LC.Metre.exe" prin intermediul portului serial facand transferul de comenzi si date.
La alimentare este trimis pe seriala caracterul "A", un caracter de control care verifica initierea corecta a uC. Dupa initializare (porturi, configurarea seriala, activitatea intreruperii), uC sta intr-o bucla infinita de asteptare a evenimentelor, prin eveniment intelegand intreruperea generata de comunicare sistemului, initiata de aplicatie.
Configurarea porturilor, a intreruperea si a comenzilor seriale sunt realizate prin apelul functiilor" int_TMR0_intrerupt"," int_TMR1_intrerupt", "int_system"," int_USURAT". Corpul acestor functii fiind descries pe softul prezentat in anexa.
La momentul initierii unui transfer de comenzi, in bara de date se genereaza o intrerupere de inalta prioritate cere va efectua un salt la vectorul de intrerupere 0x, 08 unde se gaseste adresa de inceput a subrutinei de tratare a intrerupere. Urmarind regurile de tratare a unei intreruperi sunt efectuati urmatorii pasi in STI:
Dezactivarea intreruperilor generale
Verificarea sursei care a generat intreruperea
Efectuarea operatiilor impuse de fiecare periferic
Reactivarea intreruperilor si revenirea in bucla principala de lucru
Cele trei surse de generare a intreruperilorn sunt:
TMR0
TMR1
SERIALA
TMR0 - Timer-ul este setat in functia "int TMR0 int" in care:
se alege ca sursa de ceas frecventa de oscilatie interna la un raport de divizare ¼ (Q=4MHz de unde rezulta Fosc = 1MHz, un ciclu masina = 1 secunda)
Se seteaza prischelarul 1/1, la fiecare perioada de ceas se incrementeaza timer-ul
se aleg dimensiunile lui pe 8 b, la 256 de incrementari se genereaza o intrerupere intrucat se urmareste trecerea unei perioade de o secunda; rezulta ca trebuie urmarit ca TMR0 sa genereze intreruperi de 1952 ori.
initializare, cei doi registri TMROH, TMROL sunt inzestrati cu valoarea 0x, 00.
La depasirea numarului de incrementare (1952) cele doua timere sunt oprite si pe seriala sunt trimise urmatoarele informatii:
TMR1L, TMR! H, TMR prin apelul functiei "send-usort". Aceasta informatie contine defapt numarul de impulsuri generate la intrarea LCO reprezentand frecventa de oscilatie a circuitului rezonant.
Modul de utilizare a informatiilor este descris in anexa softului a aplicatiei.
TMR1:
Va genera intrerupere o data la 65366 de impulsuri memorate.
Corpul STI va urmari incrementarea unui registru suplimentar TMR deoarece frecventele prezentate la intrarea RCO poate fi mai mare de 65366Hz
Seriala:
Aplicatia softului va genera intreruperi ori de cate ori utilizatorul o impune, in functie de obtiunile setate de acesta [tip masuratori (calibrare, masurare), obiectul masurarii (b, c) si scala aplicatia va trimite caracter de comanda:
Ø "x" -inseamna efectuarea unei calibrari; in aceasta situatie releul este declansat.
Ø "y" -efectuarea unei masurari de capacitate, rezulta releul declansat
Ø "z" -efectuarea unei masuratori de intuctanta, rezulta releul este aclansat
Indeferent de caracterul receptionat dupa setarea starii releului cele doua countere sunt resetate, intreruperea generata de acestea sunt initializate, intreruperile generate de periferice sunt activate si timere-le sunt pornite.
2 Rutine software a integratului PIC 18F4520
Organigramele:
Daca intreruperea este generata de TMR0, se incrementeaza counterul, si dupa un interval de o secunda se opreste timer-ul si se transmite informatia pe seriala.
Daca intreruperea nu este generate de TMR0, va fi generata de TMR1, daca da va incrementa regimul de valori, daca nu intreruperea va fi generata de USART, informatia va fi salvata in buffe, daca s-a receptionat "x" sau "y", urmand resetarea countere, apoi initializarea intreruperilor TMR0, TMR1.
Initializeaza porturile si GPIO
Trimite caracter cu o intarziere de 5ms
Bucla infinita de asteptare
3 Comunicarea cu PC-ul
Seriala RS 232
Seriala asincrona RS 232, aproape de standardul CCITT V24, se foloseste pentru cuplarea ocazionala a doua echipamente (un calculator pentru diagnoza sau configurare, cuplat la un echipament de telecomunicatii, doua calculatoare nelegate in retea, osciloscop la calculator etc). Nu se mai foloseste pentru transmisiuni pe distante mari, intre echipamente fixe.
Standardul se refera la:
Simbolurile transmise si semnalele de control intre DTE si DCE, viteze admise si distanta maxima, specificatia mecanica (conectori), cablul.
In figura de mai jos: intre cele doua DCE se transmit datele insotite de simboluri de sincronizare. Intre DTE si DCE se mai transmit (in plus) semnale de control.
Conectorul folosit (DB9) pentru conectare pe interfata serie RS232 (exista si varianta cu 25 pini, DB25).
Simboluri transmise: 0 logic = + 3V .. + 15V ("space")
1 Logic = - 3V.. - 15V ("mark")
Viteze de semnalizare: 50, 110, 300, 600, 1.200, 2.400, 4.800, 9.600, 19.200 baud
Se utilizeaza si alte viteze, in afara standardului (superioare), pana la 115 kbaud.
Cablul (intre DCE, DCE):
48 pF pe metru intre conductoare
85 pF pe metru intre conductor si ecran
75 ohmi pe km (conductoarele)
7,5 ohmi pe km (ecranul)
Distanta maxima: 15m (pentru capacitatea cablului 2500 pF, viteza 9600 baud), 3,5 m pentru 56 sau 64 kbaud (se poate transmite si la distante mai mari, neprevazute de standard, dar reducand viteza de semnalizare).
Importanta legaturii de masa: poate produce diferente de potential intre cele doua extreme, suficient de mari incit sa determine eroare de decizie la receptie. Pentru a evita eroarea, rezistenta firului de masa trebuie sa fie mica (vezi valoarea ceruta de standard, mai sus).
Conector 9 pini |
Semnal |
Conector 25 pini |
DCD | ||
RxD | ||
TxD | ||
DTR | ||
SG | ||
DSR | ||
|
RTS | |
CTS | ||
RI |
Semnalele prezente la conector ( DB9 si DB25)
Semnalele pentru date: RXD (intrarea la receptie), TxD (iesirea la emisie), GND (masa de semnal)
Semnalele de control intre DTE si DCE
Protocolul de comunicatie stabileste cine preia initiativa, pentru controlul fluxului si cine transmite tactul (la seriala sincrona sau la comunicatia paralela). Ansamblul de reguli privitoare la cedarea acordarea dreptului de transmisie: handshaking.
In cazul de fata (transmisie asincrona), nu se pune problema transmiterii tactului, dar se pune problema momentelor in care un DCE este pregatit sa preia date de la DTE si sa le transmita mai departe.
Semnalele folosite sunt:
RTS - Cerere de la terminal la modem, pentru ca modemul sa preia datele de transmis
CTS - confirmare de la modem catre terminal ca este pregatit sa transmita date
DTR - semnal de la terminal ca este activ, modemul sa se conecteze la linia de legatura cu corespondentul
DSR - semnal de la modem ca e conectat la linie (dar nu e sigur ca exista conexiune)
DCD - modemul a receptionat purtatoare de la corespondent (semn ca si corespondentul e pregatit sa transmita date)
RI - receptionat semnal de sonerie
Secventa semnalelor de control (se presupune ca initiativa a apartinut lui A)
Evenimentul |
Descrierea Procesului |
Se realizeaza legatura de masa de protectie si masa de semnal la conectarea cablurilor intre DTE si DCE |
|
DTE si DCE semnalizeaza fiecare ca sunt pregatite, dupa alimentarea dispozitivelor. DTE trece semnalul DTR in starea ON, iar DCE trece semnalul DSR in starea ON. |
|
DTE- A solicita o cerere de emisie. RTS este trecut in starea ON. DCE-A trimite purtatoarea pe linie la DCE-B. DCE-A intoarce la DTE-A semnalul CTS in starea ON. DCE-B detecteaza purtatoarea in linie si semnalizeaza la DTE-B prin semnalul DCD in starea ON. |
|
Are loc transmiterea de date de la DTE-A la DTE-B astfel: DTE-A transfera date catre DCE-A pe pinul 2 TxD. DCE-A moduleaza datele si le transmite pe linie. DCE-B demoduleaza datele si le trimite spre DTE-B pe pinul 3 RxD. (Reglarea debitului intre DTE si DCE se face prin semnalele CTS si RTS.) La terminarea transmisiei DTE ataseaza la sfarsitul sirului de date un caracter special EOT (End Of Transmission), care este modulat de DCE-A si trimis la DTE-B. |
|
Dupa transmiterea caracterului EOT, DTE -A trece in starea OFF semnalul RTS iar DCE-A opreste purtatoarea DCE-B detecteaza lipsa purtatoarei si semnalizeaza la DTE-B prin semanlul DCD in starea OFF. |
Conexiune intre DTE - DTE, fara modemuri (DCE), fara semnalele de control (in cazul in care stim sigur ca nu exista probleme de depasire capacitate buffer, calculator nepregatit pentru receptie etc.).
Secventa de transmitere a unui caracter:
Simbol de start
5-8 simboluri de date (uzual 8). Ordinea este intii LSb, la sfirsit MSb
Simbol pentru controlul paritatii (optional)
1, 1,5 sau 2 simboluri de stop (uzual 1)
Simbolul de start este folosit pentru ca receptorul sa se sincronizeze cu momentele de emisie a simbolurilor de la emitator. Momentele optime de esantionare (sondare) a semnalului receptionat sint mijloacele intervalului de simbol.
Conditie de lucru: exista o conventie anterioara intre DTE asupra vitezei de semnalizare folosite, asupra simbolului de paritate si a celor de stop.
(Varianta nestandardizata: conventia cuprinde mai multe viteze, iar emisia incepe cu un caracter care discrimineaza intre viteze, adica receptorul recunoaste viteza de transmisie.)
Descrierea procesului de sincronizare:
Linia in repaus este in 1. La sesizarea tranzitiei 1 -> 0 (simbol de start), receptorul asteapa jumatate de interval de simbol, esantioneaza semnalul (se convinge ca a fost transmis un 0), apoi asteapta cite un interval de simbol, pentru fiecare esantionare.
Dupa sesizarea primei tranzitii, esantionarea se produce la momentele 0,5, 1,5, 2,5, 3,5, .. intervale de simbol. Receptorul revine in starea initiala (asteptare) dupa ultimul simbol de stop detectat.
Daca se detecteaza o eroare la start, la stop, sau la paritate, este semnalat evenimentul catre nivelul superior al DTE.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1112
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved