1. Introducere
2. Brevier Teoretic
2.1 Comunicația serială vs paralelă
Într-un sistem de comunicație digital, transmisia datelor se poate face in 2 moduri: serial si paralel. Dacă
în primul mod datele se transmit pe un singur fir, bit cu bit, in cel de-al doilea mod, cel paralel, datele se
pot transmite pe mai multe fire conectate în paralel (informația este transmisă simultan pe mai multe
fire).
1
Lucrare de Laborator CD – Nr. 3
2
Lucrare de Laborator CD – Nr. 3
La ora actuală nu s-a impus niciuna dintre abordări în detrimentul celeilalte astfel că în practică pot
aparea probleme la conectarea diferitelor circuite în cazul in care nu se ține cont de oridinea cerută de
către producător.
2.3 Aspecte generale despre comunicații prin RS232
Un sistem de comunicaţii de date are urmatoarele parţi componente:
o Sursa - echipamentul care generează datele;
o Destinaţia - echipamentul care primeşte datele;
o Canalul de comunicaţie (mediul).
Echipamentul sursă poate fi uneori şi receptor, sau invers. Din acest punct de vedere avem
urmatoarele tipuri de transmisii:
1. Transmisia simplex. Pe canal, datele se transmit într un singur sens. Exemplu: transmisia Radio
TV clasică.
2. Transmisia duplex (sau full duplex). Pe canal, datele se transmit concomitent în ambele sensuri.
Echipamentele sunt concomitent sursa şi receptor. Exemplu: telefonie, reţele de calculatoare.
3. Transmisia semiduplex. Pe canal, datele se transmit în ambele sensuri, dar nu concomitent, ci în
intervale de timp distincte. Exemplu: interfoane, staţii radio mobile.
Un model general a unui sistem de comunicaţii de date este aşa numitul sistem de comunicaţii cu 7 parţi
(Fig.3).
Unde:
1 2 3 5 6 7
4
DTE DCE DCE DTE
Fig.3
1,7 - DTE (Data Terminal Equipment) este un terminal de comunicaţii de date
3,5 - DCE (Data Communication Equipment) este un modem
2,6 - sunt interfeţele dintre DTE şi DCE
3
Lucrare de Laborator CD – Nr. 3
Prin interfaţa înţelegem o specificaţie, un standard, prin care sunt definite caracteristicile mecanice,
electrice şi logice prin care doua echipamente se interconectează. În sens mai larg, adesea, prin interfaţa
se înţelege dispozitivul hardware care implementează funcţionalitaţile definite anterior.
4 - este canalul de comunicaţie.
Ne propunem, în continuare, sa prezentăm pe scurt interfaţa serială standardizata sub acronimul RS232.
Standardul a fost elaborat iniţial în SUA de catre organismul EIA (Electronic Industry Association).
Ulterior, el a fost adoptat şi în Europa, sub denumirea V24, de catre CCITT.
Un exemplu de comunicație RS232 este ilustrat (Fig. 4), iar semnificatiile funcționale in Tabel, mai jos:
4
Lucrare de Laborator CD – Nr. 3
5
Lucrare de Laborator CD – Nr. 3
Nivelel de tensiune sunt: - 25V ÷ - 3V pentru “1” logic şi + 3V ÷ + 25V pentru “0” logic.
Fig. 6 a)
6
Lucrare de Laborator CD – Nr. 3
Fig. 6 b)
Interfața permite transferul sincron sau asincron. Formatul datelor in transferul asincron este (fig.7):
Fig. 7
Caracteristici: Sincronizare la nivel de caracter prin bitul START, 5 – 8 biţi de date, Opţional bit de
paritate, 1, 1.5, 2 biţi de STOP.
Informația între procesor (microcontroler) si 8251 se schimba pe baza unor registre tampoan pentru
receptie si emisie. Structura lor este conform fig. 8.
Fig.8
Recepţia: Pentru creşterea vitezei, a fost implementat conceptul de suprapunere (fig. 9).
7
Lucrare de Laborator CD – Nr. 3
Fig. 10
Tamponul pentru transmisie este alcătuit din 2 registre, TA şi TB (vezi fig.5).
Unitatea centrala încarca un caracter în registrul TA, circuitul îl transfera în registrul TB,
de unde caracterul este serializat şi transmis pe linie.
Dupa transferul conţinutului registrului TA în TB, circuitul activeaza semnalul TXRDY
comunicând microprocesorului ca poate prelua un nou caracter.
Simultan este activat şi rangul cu acelaşi nume din registrul de stare.
8
Lucrare de Laborator CD – Nr. 3
Exemple de conexiuni:
9
Lucrare de Laborator CD – Nr. 3
Fig.13
Structura cuvantului de mod pentru transmisie asincrona este: cea din fig. 14, cuvantul de comanda este
în fig.15, iar cuvântul de stare în fig. 16.
Fig.14
10
Lucrare de Laborator CD – Nr. 3
Fig. 15
Fig.16
Utilizarea în cadrul proiectelor de electronică industrială şi comunicatii a numeroase componente
comune precum: Microcontroller (uC), LCD, EEPROM, RAM, Real Time Clock, Convertoare analog-
numerice sau numeric-analogice, diferiti senzori (de temperatura, de presiune etc.) a determinat
necesitatea dezvoltării acestei interfețe, sub forma unor noi circuite.
EXEMPLU DE IMPLEMENTARE
Pentru schema din fig. 5 b) să se realizeze o interfaţa seriala cu circuitul 8251 transferul facându–se prin
program. Datele iniţiale ale transferului sunt: 8 biţi de date, fară paritate, 2 biţi de STOP, factor de
multiplicare 16, Rata de transfer: 9600 bps.
11
Lucrare de Laborator CD – Nr. 3
Sunt relevante:
Rutina de programare a circuitului specializat,
Rutinele de emisie şi recepţie.
Rezolvare:
Adresele de port: 00H pentru date şi 02H pentru comenzi/ stari;
Rutina de programare:
MOV AL,0CEH ; cuvânt de mod
OUT 02H,AL
MOV AL,15H ; cuvânt de comandă
OUT 02H,AL
Rutina de emitere caracter:
Emite: IN AL,02H ; citire şi testare rang TxRDY din cuvântul de stare
RCR AL,1
JNC Emite
MOV AL,CL ; se preia data din registrul CL
OUT 00H,AL
RET
Rutina de recepţie caracter:
Recept: IN AL,02H ; citire şi testare rang RxRDY din cuvântul de stare
RCR AL,2
JNC Recept
IN AL,00H ; se preia data de la 8251
MOV CL,AL ; se depune data în registrul CL
RET
12
Lucrare de Laborator CD – Nr. 3
Fig. 17
13
Lucrare de Laborator CD – Nr. 3
Generatorul de tact are scopul de a genera tactul pentru transmisie și receptie și poate fi configurat în
modurile: asincron normal, asincron double speed, sincron master si sincron slave.
În modurile asincrone și sincron master generatorul fi cel care determina baud rate-ul, setarea
registrului aferent se face confrom cu urmatoarea formulă (în tabelul ce urmează):
14
Lucrare de Laborator CD – Nr. 3
Fig.19
Pentru transferul sincron se poate alege, funcție de aplicație, ca citirea și scrierea să se facă pe front
urcător sau pe front coborâtor al semnalului de clock. Modul de operare sincron este ilustrat in fig. 20.
Fig.20
Dacă este nevoie de utilizarea unui bit de paritate acesta se poate fi par sau impar și se defineste prin
operația de sau pe biții de data
Pentru a avea loc citirea și scrierea de date perifericul de USART trebuie itițializat, un exemplu de
inițializare este urmatorul:
15
Lucrare de Laborator CD – Nr. 3
Pentru a asigura transmisia sau receptia tuturor datelor se poate proceda in două moduri polling sau
întrerupere. Pentru citirea prin polling pașii ce trebuie urmați sunt descrisi in diagrama din fig. 21 a) de
mai jos.
Fig. 21
Diagrama se ”traduce” în cod în felul următor:
Pentru scrierea datelor și verificarea scrierii prin polling, pasii ce trebuie urmati sunt descriși în diagrama
din fig. 21 b). Diagrama se ”traduce” in cod in felul urmator:
Detectia de erori se face prin intermediul registrului UCSRnA, astfel se pot determina erori de paritate,
suprapuneri de date, și de format.
Documentatia completă a microcontroller-ului Atmega 328p se gaseste la urmatorul link:
http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-
328P_datasheet.pdf
16
Lucrare de Laborator CD – Nr. 3
3. Parte practica
4. Tema proiect
BIBLIOGRAFIE
1. Documentație Interfaț a USART 8251 .
2. Documentație circuite 8253, Max 232, 74LS138.
3. Documentatie Atmega328p
4. Proiectarea microsistelelor digitale - Note de curs (M. Popa)
OBSERVAȚII
(i) - La examinarea de final de curs NU este nevoie ca studenţii să memorize poziţia fiecărui bit de
programare. Întrebarea de la test va fi asociată cu un text care va conţine toate datele necesare rezolvării.
(ii)- Nu se poate proiecta o aplicaţie cu datele furnizate de acest material, pentru că modulul este didactic şi
nu conţine detalii privind variaţia în timp a semnalelor, valorile lor logice în care semnalele sunt active, etc.
Pentru proiectare este nevoie de consultarea foilor de catalog.
17