4 psci interf comm mc 4spp

13
INTERFEŢE DE COMUNICAŢIE SERIALĂ LA MICROCONTROLLERE 2 INTERFEŢE DE COMUNICAŢIE Se foloseşte comunicaţia serială între microcontroller şi alte subsisteme, pentru economie de pini la capsulă Multe MC au incluse atât interfeţe de comunicare sincrone cât şi asincrone – Interfaţa serială asincronă este numită de obicei “serial communication interface” (SCI sau UART) – Interfaţa serială sincronă e numită de obicei “serial peripheral interface” (SPI) De obicei (dar nu obligatoriu) o magistrală serială sincronă include o linie separată de clock se simplifică astfel interfaţa între emiţător şi receptor linia de ceas e susceptibilă la zgomot în cazul distanţelor mari La magistrala serială asincronă ceasurile emiţătorului şi receptorului sunt independente şi se face o re-sincronizare pentru fiecare bit supă bitul de start 3 INTERFEŢE SERIALE Utilizate, în general, pentru a conecta circuite periferice la microcontroller, în cadrul unui EmS Aceste interfeţe permit conectarea de dispozitive diverse, cum ar fi: ceas de timp real (RTC - real-time clock) memorii nevolatile pentru stocarea unor parametrii – interfeţe cu senzori –… şi multe altele Sunt interfeţe de preţ redus şi uşor de implementat 4 SPI - Serial Peripheral Interface SPI a fost dezvoltată de Motorola pentru a furniza o interfaţă simplă şi de cost redus între microcontrollere şi dispozitive periferice SPI e numită uneori interfaţă cu patru fire Poate fi utilizată pentru interfaţarea diverselor dispozitive, cum ar fi: memorie (stocare date) convertoare analog-digitale convertoare digital-analoge – RTC şi calendare RTC LCD drivers – sensori – chip-uri audio alte microcontrollere .... domeniul componentelor cu interfaţă SPI creşte continuu

Upload: alexandru-timofte

Post on 28-Dec-2015

26 views

Category:

Documents


0 download

DESCRIPTION

4

TRANSCRIPT

Page 1: 4 PSCI Interf Comm MC 4spp

INTERFEŢE DE COMUNICAŢIE SERIALĂ LA

MICROCONTROLLERE

2

INTERFEŢE DE COMUNICAŢIE

• Se foloseşte comunicaţia serială între microcontroller şi alte subsisteme, pentru economie de pini la capsulă

• Multe MC au incluse atât interfeţe de comunicare sincrone cât şi asincrone– Interfaţa serială asincronă este numită de obicei “serial communication

interface” (SCI sau UART)– Interfaţa serială sincronă e numită de obicei “serial peripheral interface”

(SPI)• De obicei (dar nu obligatoriu) o magistrală serială sincronă include o

linie separată de clock– se simplifică astfel interfaţa între emiţător şi receptor– linia de ceas e susceptibilă la zgomot în cazul distanţelor mari

• La magistrala serială asincronă ceasurile emiţătorului şi receptorului sunt independente şi se face o re-sincronizare pentru fiecare bit supă bitul de start

3

INTERFEŢE SERIALE

• Utilizate, în general, pentru a conecta circuite periferice la microcontroller, în cadrul unui EmS

• Aceste interfeţe permit conectarea de dispozitive diverse, cum ar fi:– ceas de timp real (RTC - real-time clock)– memorii nevolatile pentru stocarea unor parametrii– interfeţe cu senzori– … şi multe altele

• Sunt interfeţe de preţ redus şi uşor de implementat

4

SPI - Serial Peripheral Interface• SPI a fost dezvoltată de Motorola pentru a furniza o interfaţă simplă

şi de cost redus între microcontrollere şi dispozitive periferice• SPI e numită uneori interfaţă cu patru fire• Poate fi utilizată pentru interfaţarea diverselor dispozitive, cum ar fi:

– memorie (stocare date)– convertoare analog-digitale– convertoare digital-analoge– RTC şi calendare RTC– LCD drivers– sensori– chip-uri audio– alte microcontrollere– .... domeniul componentelor cu interfaţă SPI creşte continuu

Page 2: 4 PSCI Interf Comm MC 4spp

5

Serial Peripheral Interface

• SPI este o interfaţă serială sincronă– toate transmisiile sunt sincronizate cu un semnal de ceas comun

furnizat de master (microcontroller)• Perifericul receptor (“sclav”) utilizează semnalul de ceas

la achiziţia fluxului de biţi seriali• Există posibilitatea de a conecta mai multe dispozitive la

aceeaşi interfaţă SPI a master-ului– Un master selectează un sclav prin activarea intrării sale de chip

select– Un periferic ne-selectat nu va lua parte la transferul SPI

6

Serial Peripheral Interface• SPI utilizează patru semnale:

1. Master Out Slave In (MOSI)2. Master In Slave Out (MISO)3. Serial CLock (SCLK sau SCK)4. Chip Select (/CS) for the peripheral

• Unele procesoare au un semnal de chip select dedicat pentru SPI, numit Slave Select (/SS)

• MOSI este generat de master şi recepţionat de scalv– La unele chip-uri MOSI este numit Serial In (SI) sau Serial Data In

(SDI)• MISO este produs de sclav, dar generarea sa este controlată de

master– MISO este uneori numit Serial Out (SO) sau Serial Data Out (SDO)

• Semnalul de chip select către periferice este de obicei generat cu ajutorul unui pin de I/O digitală a masterului

7

INTERFAŢA SPI

8

TRANSMISIA SPI• Master-ul şi scalvii conţin câte un registru cu deplasare serială a datelor

(serial shift register)• Master-ul începe transferul unui octet prin scrierea acestuia în registrul său

SPI de serializare.• Pe măsură ce se face transmisia serială către sclav (prin linia MOSI),

sclavul transferă conţinutul registrului său de serializare (prin linia MISO) către master

– În acest fel se face schimb al informaţiilor stocate în cele două registre de serializare

• Dacă se doreşte doar o scriere, master-ul va neglija octetul recepţionat– În acest fel se face schimb al informaţiilor stocate în cele două registre de

serializare

Page 3: 4 PSCI Interf Comm MC 4spp

9

SPI

• Unele periferice cu interfaţă SPI permit transfer de mai mulţi octeţi– se transferă un flux continuu de date de la master– multe memorii cu interfaţă serială SPI lucrează în acest fel– la acest tip de transfer semnalul /CS rămâne activ pe toată durata

transferului– de exemplu: o memorie aşteaptă ca o comandă de “write” să fie urmată

de patru octeţi de adresă (adresa de start) şi apoi octeţii de date ce vor fi stocaţi

• Alte periferice sclav aşteaptă doar un singur octet de control, cum ar fi de exemplu un convertor A/D

• Unele dispozitive sclav permit conectarea în lanţ de priorităţi (daisy-chained)

10

DAISY-CHAINED TRANSFER

• În acest exemplu procesorul (master) transmite trei octeţi prin interfaţa SPI– Primul octet e transferat în sclavul A– La transferul celui de-al doilea octet în A, primul e transferat către B– Al treilea octet în A, al doilea în B şi primul în C

• Dacă masterul doreşte să citească un rezultat din A, el va transfera o secvenţă fictivă de 3 octeţi prin MOSI

• Conectarea în lanţ nu funcţionează cu orice dispozitiv SPI (niciodată cu dispozitivele de memorie care cer un transfer multi-octet)

11

SCI• SCI (UART) este o interfaţă de comunicaţie asincronă (Universal

Asynchronous Receiver Transmitter, UART)• UART utilizează două fire transmit (TXD) şi receive (RXD), pentru

comunicaţie full- sau half-duplex.• Standardul RS-422 e proiectat de asemenea pentru comunicaţie

punct la punct dar utilizează două linii diferenţiale pentru transmisie (atât RXD cât şi TXD constau din perechi de fire torsadate)

• RS-422 se foloseşte la distanţe mai mari şi este o alegere bună pentru medii cu zgomot.

• UART :

UART frame format

12

INTERFEŢE SERIALE SINCRONE

• USART (Universal Synchronous Asynchronous Receiver Transmitter) are o a treia linie pentru ceas.

• IIC (I2C) – (The Inter-IC bus) este o magistrală sincronă multi-master ce funcţionează pe principiul master –slave.– Foloseşte două linii, pentru comunicaţie half-duplex :– SCL (Serial Clock Line)– SDL (Serial Data Line), numită uneori SDA (Serial DAta)

SCL

SDL data line

clock line

master 1 master 2

slave 1 slave 2 slave 3

Page 4: 4 PSCI Interf Comm MC 4spp

13

Generalităţi I2C

• I2C (Inter-Integrated Circuit numit şi IIC) este o magistrală ieftină şi eficientă

• I2C este o magistrală sinconă, bidirectională, de viteză mică• Conectarea / deconectarea unor dispozitive la I2C nu afectează alte

dispozitive• I2C este o magistrală multi-master• Viteza datelor în mod standard este de 100 kbps, iar în mod extins

de 400 kbps• Fiecare dispozitiv conectat la I2C are o adresă unică şi poate lucra

ca transmiţător sau receptor• I2C mai este numită TWI (Two-Wire serial Interface)

14

Generalităţi I2C

• Ambele linii (SDA şi SCL) sunt activate de circuite open-drain– Liniile sunt conectate la tensiunea pozitivă prin

rezistoare de pull-up, astfel că în repaus sunt la nivel HIGH

15

Transfer de date pe I2C

• Când linia este liberă atât SDA cât şi SCL sunt la nivel SUS• O tranzacţie pe I2C începe cu SDA tras JOS, urmat de semnal

pe SCL• Dacă SCL este JOS, iar pe SDA se face o tranziţie SUS-JOS

urmează o transmisie ("START condition“)• Pentru fiecare bit de date transmis (SDA) valoarea logică

trebuie să se păstreze neschimbată pe durata SCL în stare SUS• Valoarea binară de date e eşantionată pe frontul crescător al

SCL.• Tranzacţia se încheie cu SCL SUS şi o tranziţie jos-sus pe

SDA ("STOP condition“)• Doar un master poate genera semnal de ceas pe SCL

16

Transfer de date pe I2C

Page 5: 4 PSCI Interf Comm MC 4spp

17

Aspecte funcţionale• Sclavul poate prelungii perioada JOS a ceasului (nu şi pe cea

SUS) atât cât este necesar. Oricare receptor poate trage, dacă este nevoie, SCL jos (bit/eveniment de WAIT) pentru a întârzia un octet de date care urmează unui octet ce a sosit la aceeaşi adresă.

• Dacă două dispozitive încearcă să controleze aceeaşi linie (SDL sau SCL) circuitele cu colector în gol previn erorile fizice, iar fiecare din cei doi masteri trebuie să asculte magistrala în timpul transmisiei pentru a fi sigur că nu interferează cu alt mesaj

• După fiecare 8 biţi transmişi pe SDL urmează un semnal (eveniment) de ACKNOWLEDGE (confirmare). Pentru a confirma recepţia corectă, prin ACK, receptorul trage SDL jos pe timpul celui de-al nouălea impuls de ceas

18

Semnalizare de acknowledgement(bit ACK)

• Generat întotdeauna de receptor (master sau sclav)

ACK

•după recepţia corectă a adresei•după recepţia corectă a unui octet de date

SclavMaster transmiţător

Master receptor SclavACK

•după recepţia corectă a unui octet de date

19

Nivelul legăturii de date

• Fiecărui dispozitiv I2C i se alocă o adresă. Adresele unice ale dispozitivelor sunt determinate de proiectantul sistemului, de obicei ca parte a programului driver pentru I2C.

• O adresă de dispozitiv are 7 biţi conform standardului I2C (la I2C extins adresele pot fi de 10 biţi)

• Adresa 0000000 este utilizată pentru a semnala un apel general ("general call") sau emisie pentru magistrală ("bus broadcast"), care poate fi folosită pentru a semnala / transmite simultan către toate dispozitivele.

• Adresele 11110XX sunt rezervate pentru schema extinsă cu adresă pe 10 biţi; există de asemenea şi alte adrese rezervate.

20

Nivelul legăturii de date

• O tranzacţie de magistrală constă dintr-o serie de octeţi transmişi: o adresă şi apoi unul sau mai mulţi octeţi de date.

• Format pentru transmisia adresei la I2C:

Adresă dispozitiv R/W

7biţi 1bit

Page 6: 4 PSCI Interf Comm MC 4spp

21

ARBITRARE I2C

• I2C este o magistrală multi-master⇒Mai multe dispozitive master pot porni transmisia în acelaşi timp !!

• Master transmite:– un bit 0 dacă trage SDA jos– un bit 1 dacă lasă linia SDA în stare sus

• Dacă doi masteri încep transmisia simultan, cel ce transmite 1 şi citeşte 0 pe magistrală va renunţa pentru că a detectat o transmisie cu prioritate mai mare

• Protocolul de arbitrare e numit protocol cu bit dominant, sau Binary Countdown

22

Un pachet I2C

23

Adrese speciale• Adresa 0000000 cu bit de direcţie 0, este un apel general (“general call”

sau "bus broadcast”) care porneşte transmisia către toate dispozitivele I2C• Prin acest apel general dispozitivul master determină ce sclavi sunt

disponibili– Al doilea octet al transmisiei indică scopul apelului general– După acest al doilea octet sclavii află dacă comanda le este adresată şi răspund

cu ACK– Sclavii pentru care comanda nu e aplicabilă neglijează apelul general

• Dacă al doilea octet este 0x06 (00000110), se indică că sclavii vor face un reset şi apoi vor răspunde cu adresa lor.

• Dacă al doilea octet este 0x04 (00000100), sclavii vor răspunde cu adresa lor, dar nu vor face şi reset

• Dacă cel mai puţin semnificativ bit la octetului doi este un 1, atunci, prin apelul general, masterul se identifică către alţi masteri din sistem prin transmiterea adresei sale

• Ceilalţi biţi ai celui de-al doilea octet reprezintă adresa masterului

24

Adrese speciale

• Adresa 0x01 (00000001) este o adresă specială cunoscută ca şi octet de START

• Acest octet e utilizat pentru a indica că urmează un transfer lung de date

• Această adresă specială este importantă pentru dispozitivele master ce nu au interfaţă specializată I2C şi care prin software trebuie să testeze continuu magistrala

• Atunci când un asemenea master detectează un octet de START generat de alt master, el poate reduce rata de interogare, alocând mai mult timp pentru alte sarcini software

Page 7: 4 PSCI Interf Comm MC 4spp

25

Adrese speciale

• Adresa 11110XX este adresa specială care indică că se va genera o adresă de dispozitiv pe 10 biţi

• Se foloseşte în modul extins al I2C• Teoretic se pot controla până la 1,024 periferice• În acelaşi sistem pot exista dispozitive cu adrese pe 7 şi 10 biţi• La adrese pe 10 biţi, adresarea se face prin doi octeţi succesivi

(ultimii 2 biţi ai adresei speciale + 8 biţi din al doilea octet)• În acest caz perifericele cu adrese pe 7 biţi vor ignora tranzacţia

26

Transmiţător / receptor asincornuniversal (UART)

• Transferul serial de I/O se face pe un singur fir pentru fiecare direcţie• Toate interfeţele transmiţător seriale convertesc datele paralele într-un flux

binar serial, iar receptoarele fac conversia inversă• O asemenea comunicaţie serială se poate face de exemplu între:

– calculator şi printer– calculator şi un control la distanţă– calculator şi terminal pentru reţea Ethernet– .......................

• La EmS interfaţa serială este metoda cea mai simplă şi ieftină pentru conectarea unui calculatorul gazdă, fie ca parte a aplicaţiei, fie pentru scop de depanare

• Cea mai simplă interfaţă serială asincrponă este UART (the Universal Asynchronous Receiver Transmitter)

• UART este numită de asemenea ACIA (Asynchronous Communication Interface Adapter)

27

UART

• UART este asinconă pentru că nu se transmite semnal de ceas prin linia de date serială

• Receptorul recunoaşte valorile binare individuale fără o linie comună de ceas

• Interfaţa UART constă din două părţi:– un receptor (receiver - Rx) care converteşte un flux serial de biţi în date

paralele (cuvinte) pentru microprocesor– un transmiţător (transmitter - Tx) care converteşte date paralelă de la

microprocesor într-un flux serial de biţi, pentru transmisie• UART furnizezază şi informaţie de stare, cum ar fi “receptorul

este plin (datele au ajuns) sau transmiţătorul este gol (o transmisie în curs s-a terminat)

28

Diagramă funcţională UART

Page 8: 4 PSCI Interf Comm MC 4spp

29

Transmisie serială

• O problemă importantă asociată cu transmisia serială este reconstrucţia datelor la capătul de recepţie

• Apar dificultăţi în determinarea graniţelor dintre biţii individuali– De exemplu, dacă linia serială este jos pentru un anumit timp,

receptorul trebuie să fie capabil să identifice dacă informaţia reprezintă "00" sau "000“

– Trebuie să se ştie unde se opreşte un bit şi unde începe celălalt• Fiecare dispozitiv implicat în comunicaţia serială are propriul

semnal de ceas local• Dispozitivele emiţător şi receptor trebuie să lucreze la aceeaşi

frecvenţă, iar în plus trebuie să existe logică pentru detectarea fazei datelor transmise şi pentru sincronizarea ceasului receptorului la această fază

• Transmisia asincronă este utilizată în special la transmisa caracterelor şi la sisteme unde intervalul dintre transmisa octeţilor se poate modifica în timp

30

Transmisie serială

• Formatul datelor transmise utilizează la începutul transmisiei pentru fiecare caracter un bit de start şi la sfârşit unul sau doi biţi de stop

• Receptorul îşi sincronizează ceasul după recepţionarea bitului de start şi apoi eşantionează biţii de date (7 sau 8 în funcţie de configuraţia sistemului)

• Dacă receptorul nu primeşte secvenţa de stop, presupune că ceasul său este defazat faţă de al emiţătorului şi se declară o eroare de cadru

• Rezolvarea erorii cade în seama aplicaţiei software

31

Asynchronous serial data

32

Detecţia erorilor de paritate• Pentru a detecta erorilor, multe sisteme folosesc bitul de

paritate, pentru verificarea datelor recepţionate• Bitul de paritate e calculat de transmiţător şi e inclus în cadrul

de date• Receptorul calculează paritatea pentru fiecare octet recepţionat

– Dacă bitul de paritate calculat este identic cu cel recepţionat, receptorul presupune că nu sunt erori

• Pentru o transmisie corectă, emiţătorul şi receptorul trebuie să utilizeze acelaşi tip de paritate (even parity sau odd parity)

• Erorile de paritate trebuie tratate de programatorul sistemului– UART nu ia nici o măsură la detectarea erorii de paritate

Page 9: 4 PSCI Interf Comm MC 4spp

33

RS-232C

• RS-232C este un standard de interfaţă de comunicaţie serială apărut încă din anii ’60 ai secolului trecut

• RS-232C este utilizată pentru interfaţarea dispozitivelor seriale printr-un cablu cu lungime maximă de 25 m şi o rată maximă de 38.4 kbps

• Se poate folosi pentru conectare la:– Alte calculatoare– Modem– Imprimante seriale– Plottere seriale– ......

34

RS-232C

• RS-232C foloseşte tensiuni referite faţă de masă (transmisie unipolară) :– Un logic high este un semnal cu tensiunea în domeniul -5 la -15 V (tipic

-12 V)– Un logic low este un semnal cu tensiunea în domeniul +5 la +15 V

(tipic+12 V)• Terminologia utilizată pentru RS-232C datează de asemenea

din anii 60.– Un semnal high /tensiune negativă (1 logic) era numit "space" iar low (0)

era numit "mark“• Unele sisteme RS-232C încă utilizează cadre de date pe 7 biţi,

iar altele 8 biţi

35

RS-232C

• O legătură RS-232C constă dintr-un driver şi un comparator:

36

RS-232C

• RS-232C defineşte de asemenea conectorii şi alocarea pinilor• RS-232C a fost concepută iniţial pentru interconectarea a două

tipuri de echipamente:– Data Terminal Equipment (DTE)– Data Communication Equipment (DCE)

• Înainte de apariţia PC-urilor un DTE era un terminal sau un teletype, iar un DCE era un modem

Page 10: 4 PSCI Interf Comm MC 4spp

37

RS-232Cconectare a unui terminal sau a unui modem la

intzerfaţa serială a calculatorului• Cum conectăm un terminal sau un modem la interfaţa serială a unui

calculator ?– Calculatorul este DTE sau DCE?

• Standardul RS-232C spune că dacă un terminal este la un capăt al legăturii, la celălalt capăt este un DCE

• Dacă se conectează un modem la un calculator, calculatorul va fi DTE

• Dacă se conectează un terminal la o staţie Unix workstation, standardul RS-232C spune că staţia de lucru este un DCE

38

Conectări RS-232C

• Pentru a conecta un PC la un modem e nevoie de un cablu DTE-DCE

• Pentru a conecta un PC la un terminal e nevoie de un cablu DTE-DTE

• Pentru a conecta o staţie Sun la un PC e nevoie de un cablu DCE-DTE null modem (unde Rx şi Tx sunt inversate)

• Pentru a conecta două PC-uri e nevoie de un cablu DTE-DTE null modem

• ………………..• Pentru doar două tipuri de dispozitive (DTE şi DCE) e nevoie

de o sumedenie de cabluri cu permutări ale terminalelor

39

Conexiuni RS-232C• Conexiuni standard pentru conectori cu 25 pini şi 9 pini. Numele

semnalelor sun referite la DTE. De exemplu, Tx se referă la datele transmise de la DTE şi recepţionate la DCE

Signal Function 25-pin 9-pin Direction

Tx Transmitted Data 2 3 From DTE to DCE

Rx Received Data 3 2 To DTE from DCE

RTS Request To Send 4 7 From DTE to DCE

CTS Clear To Send 5 8 To DTE from DCE

DTR Data Terminal Ready 20 4 From DTE to DCE

DSR Data Set Ready 6 6 To DTE from DCE

DCD Data Carrier Detect 8 1 To DTE from DCE

RI Ring Indicator 22 9 To DTE from DCE

FG Frame Ground (chassis) 1 - Common

SG Signal Ground 7 5 Common

40

Shake Hands• Atunci când se face transmisie serială, trebuie să existe o cale de a

împiedica transmiţătorul să transmită noi date înainte ca receptorul să fi avut şansa să termine prelucrarea datelor anterioare

• Protocolul este numit comunicare cu confirmare (handshaking), sau controlul fluxului de date (flow control)

• Conform acestui protocol după transmiterea unui octet (sau pachet de date), transmiţătorul nu va mai trimite nimic până la confirmarea că receptorul este gata pentru o nouă transmisie

• Există trei forme de handshaking:– Hardware– Software– Fără confirmare

Page 11: 4 PSCI Interf Comm MC 4spp

41

NO-HANDSHAKING

• Se utilizează atunci când transmisia este mult mai lentă decât procesul de recepţie– De exemplu, dacă se foloseşte un sistem embedded simplu ce lucrează la 1

MHz şi care transmite date către un calculator de mare viteză ce lucrează la 4 GHz

– Chiar dacă viteza de prelucrare a receptorului este foarte mare, dacă maşina rulează un sistem de operare obişnuit, pot exista situaţii când nu face faţă la fluxul de date de intrare

– În aceste situaţii, o soluţie practică bună este să se includă handshaking• Dacă se foloseşte un port serial pentru a furniza o interfaţă a calculatorului

cu un utilizator uman, este sigur că omul nu poate tipări suficient de repede ca să pună calculatorul în dificultate

• Ca urmare, dacă utilizaţi porturile seriale doar pentru accesul utilizator, sau pentru depanare, nu este nevoie de handshaking

42

Hardware handshaking

• Utilizează două semnale ale interfeţei RS-232C:– RTS (Request To Send)– CTS (Clear To Send)

• Când transmiţătorul doreşte să transmită, activează RTS, anunţând receptorul că sunt date de furnizat

• Receptorul activează CTS atunci când este gata să recepţioneze noi date⇒ fluxul de date este limitat la viteza cu care acestea pot fi prelucrate.

43

Software handshaking• Este cunoscut şi sub numele XON/XOFF• Se utilizează doar la sistemele unde nu se poate implementa

protocolul hardware, aşa cum se întâmplă la transmisia prin linie telefonică

• Software handshaking foloseşte două caractere pentru a indica o cerere de suspendare a transmisiei ("suspend transmission“) , respectiv un caracter de gata pentru reluare ("clear to resume”)

• Acestea sunt caracterele Ctrl-S (0x13) şi Ctrl-Q (0x11)• Dacă se transmite doar text ASCII, totul va fi OK• Dacă se transmit date binare, datele pot fi interpretate ca şi

caractere de control– Soluţia obişnuită constă în pre-procesarea datelor înainte de transmisie,

prin conversie în caractere ASCII– De exemplu octetul 0x2F se transformă în caracterul ASCII "2" (0x32)

plus "F" (0x46)– Programele de la receptor vor face conversia inversă în date binare

44

Implementarea unei interfeţe RS-232C

• Multe MC incorporează cel puţin un UARTpe chip, astfel că este necesară doar logică externă pentru conversia la / de la nivelurile de tensiune RS-232C

• De exemplu se poate utiliza un transceiver MAX3222

Page 12: 4 PSCI Interf Comm MC 4spp

45

RS-422

• RS-422 este o interfaţă ce utilizează tensiune diferenţială (între două linii) pentru a transmite datele binare

• Permite lucrul în mediu cu interferenţă, pentru că diferenţa de tensiune între firele torsadate rămâne aceeaşi

• RS-422 poate face transmisii de date pe cablu cu lungime de până la 1.200 m

46

RS-422

• Legătura RS-422 conţine un driver (D) şi un receptor (R) legate printr-o pereche de fire torsadate

• Rt – rezistenţă terminare, anti-reflexie, de obicei de 100-120 Ω.

47

RS-422

• Diferenţele de tensiune dintre cele două fire se încadrează în intervalul±4 V şi ±12 V

48

Interfaţă RS-422 bidirecţională

Page 13: 4 PSCI Interf Comm MC 4spp

49

RS-485• RS-485 este o variantă a RS-422 utilizată pentru legarea dispozitivelor într-

o reţea de cost scăzut în aplicaţii industriale• Permite mai multor noduri să schimbe informaţii prin două fire• RS-485 este o arhitectură a master-slave

– Toate tranzacţiile sunt iniţiate de master, iar sclavul transmite doar atunci când i se cere acest lucru

• Reţeaua RS-485 foloseşte circuite transceiver, cum este Maxim MAX3483

50

Conectarea unui MAX3483 la un MC

51

PWM• Este controllerul folosit de obicei pentru operaţii de conversie DA• PWM = Pulse Width Modulation

– De exemplu pentru un factor de umplere de 50% şi o amplitudine a formei de undă dreptunghiulare de 5 V, tensiunea medie pe ciclu este 2.5 V

– De exemplu pentru un factor de umplere de 10% şi o amplitudine a formei de undă dreptunghiulare de 5 V, tensiunea medie pe ciclu este 0.5 V

• La ieşirea PWM se foloseşte în acest caz un FTJ• PWM poate fi folosit pentru a controla viteza unui motor electric• PWM poate fi utilizat pentru a comanda intensitatea luminoasă (reglabilă)

printr-un LED• PWM poate fi utilizat pentru generarea de tonuri audio