INTEL 8251A USART (univerzalni sinhrono/asinhroni risiver/transmiter) - PowerPoint PPT Presentation

About This Presentation
Title:

INTEL 8251A USART (univerzalni sinhrono/asinhroni risiver/transmiter)

Description:

Title: INTEL 8251a USART (universal synchronous/asynchronous receiver/transmiter) Author: archdaemon Last modified by: archdaemon Created Date: 12/27/2005 3:23:29 AM – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 48
Provided by: arch185
Category:

less

Transcript and Presenter's Notes

Title: INTEL 8251A USART (univerzalni sinhrono/asinhroni risiver/transmiter)


1
INTEL 8251A USART(univerzalni
sinhrono/asinhroni risiver/transmiter)
  • Dejan Stojnic, ds13_at_beotel.net
  • Tatjana Petrovic, tanja_at_etf.bg.ac.yu
  • Prof. Dr. Veljko Milutinovic, vm_at_etf.bg.ac.yu

2
Osnovne karakteristike
  • sinhroni i asinhroni mod rada
  • full-duplex, duplo baferovan transmiter i risiver
  • korekcija grešaka
  • svi ulazi i izlazi su TTL kompatibilni

3
Osnovne karakteristike
  • uredaj prihvata od procesora podatke za slanje u
    paralelnom formatu, konvertuje ih u serijski
    format a zatim šalje na port/ka modemu, a
    istovremeno prihvata sa porta/modema serijski niz
    podataka, konvertuje ih u paralelni format, a
    zatim šalje ka procesoru
  • 8251A takode briše ili ubacuje bite ili karaktere
    karakteristicne za izabranu tehniku komunikacije
    (start, stop, parity bite...)
  • suština je da uredaj bude transparentan za
    procesor, tj. da se ponaša kao jednostavan
    ulaz/izlaz za bajtovski orijentisane podatke koje
    prima/šalje procesor

4
Interna struktura
5
Interna struktura
6
Interna struktura
  • 9 registara
  • procesor može pristupiti svim registrima osim
    receiver/transmitter shift registrima
  • 8251A ima samo 2 interne adrese, a kojoj od njih
    se pristupa odreduje se preko pina C/D koji se
    vezuje na adresnu magistralu

7
Interna struktura
  • kombinacije signala C/D, RD i WR 8251A
    interpretira na sledeci nacin

C/D RD WR
0 0 1 podatak se uzima iz Data-in buffer-a
0 1 0 podatak se šalje u Data-out buffer
1 0 1 Status registar se šalje na Data magistralu
1 1 0 sa Data magistrale se šalje podatak u jedan od sledeca 4 registra Mode, Control ili Sync character 1 i 2
8
Interna struktura
  • blok Data Bus Buffer trostaticki, bidirekcioni,
    8-bitni bafer
  • povezuje 8251A sa sistemskom Data magistralom
  • svi podaci, kao i kontrolne reci, komandne reci,
    i statusne reci se šalju i primaju preko ovog
    bloka

9
Interna struktura
  • CS pin se povezuje sa adresnim dekoderom
  • pinovi RESET, RD i WR se povezuju standardno sa
    sistemskim signalima
  • pin CLK se obicno povezuje sa klokom izvedenim is
    sistemskog kloka (PCLK)

10
Interna struktura
  • pin TxD služi za serijski izlaz podataka
  • blok TRANSMIT BUFFER prihvata podatke iz bloka
    DATA BUS BUFFER, konvertuje ih u serijski niz
    podataka, ubacuje odgovarajuce karaktere/bite
    (parity, start i stop bite...) i šalje ovaj niz
    na TxD pin

11
Interna struktura
  • da bi mogao da shiftuje podatke, shift registar
    unutar ovog bloka zahteva signal takta on se
    dovodi preko pina TxC
  • blok TRANSMIT CONTROL kontroliše sve aktivnosti
    tj. signale povezane sa transimisijom podataka

12
Interna struktura
  • pin TxRDY se postavlja na visok nivo, kada je
    bafer prazan, i to znaci da procesor tada može da
    pošalje sledeci karakter
  • kada procesor pošalje karakter TxRDY pin se
    automatski resetuje na opadajucu ivicu signala
    WR.
  • ovaj pin se može povezati na interrupt controler
    sistema, ili ako se koristi mehanizam polling-a
    njegov status se može proveravati preko STATUS
    registra
  • pin TxEMPTY se postavlja na visok nivo kada su
    prazni i prihvatni bafer i shift registar u bloku
    TRANSMIT BUFFER, odnosno kada 8251a nema više
    karaktera u sebi za slanje

13
Interna struktura
  • pin RxD služi sa serijski ulaz
  • blok RECEIVE BUFFER prihvata serijski niz
    podataka preko pina RxD, konvertuje ga u
    paralelni format,proverava/odbacuje
    karaktere/bite specificne za korišcenu tehniku
    prenosa, i zatim šalje podatak na Data magistralu
    preko bloka DATA BUS BUFFER

14
Interna struktura
  • da bi mogao da shiftuje podatke, shift registar
    unutar ovog bloka zahteva signal takta on se
    dovodi preko pina RxC
  • blok RECEIVE CONTROL kontroliše sve aktivnosti
    tj. signale vezane za prijem podataka

15
Interna struktura
  • pin RxRDY se postavlja na visok nivo, kada je
    karakter prebacen iz shift registra u prihvatni
    bafer, tj. kada je spreman da ga procita
    procesor, a resetuje se automatski nakon što
    procesor procita karakter
  • ako procesor ne procita karakter pre nego što se
    sledeci karakter prebaci iz shift registra u
    bafer, prethodni karakter ce biti prebrisan i
    izgubljen

16
Interna struktura
  • na TxC i RxC se vezuje obicno isti signal takta
  • podaci izlaze iz 8251a na opadajucu ivicu takta
    TxC, i analogno tome ulaze na opadajucu ivicu RxC
  • frekvencija takta mora biti ili jednaka ili 16
    ili 64 puta veca od željenog baud rate-a
  • ako je frekvencija takta veca od baud rate-a
    verovatnoca pojave šuma, a samim tim i greške je
    manja

17
Interna struktura
  • 8251a je duplo-baferovan
  • ovo znaci da je moguce istovremeno ucitavati
    karakter u bafer, dok se drugi karakter shift-uje
    kroz odgovarajuci shift registar
  • ovo važi i za transmiter, i za receiver

18
Interna struktura
  • pin SYNDET/BD (sync-detect/break-detect) se
    koristi u zavisnoti od moda rada
  • u asinhronom modu, ovaj pin se postavlja na visok
    nivo, ako ulazni pin RxD ostane na niskom nivou
    svo vreme u toku uzastopne 2 stop-bit sekvence
    (ukljucujuci start bite, data bite i parity bite)
  • u sinhronom modu rada, postavlja se na visok nivo
    kada 8251a pronade specificne karaktere za
    sinhronizaciju u ulaznom nizu podataka

19
Interna struktura
  • pinovi DSR, DTR, CTS i RTS bloka MODEM CONTROL se
    koriste za handshake kada je 8251a povezan sa
    modemom
  • ako je to potrebno ovi signali se mogu koristiti
    i u druge svrhe

20
Inicijalizacija
  • kompletna inicijalizacija 8251a se vrši
    softverskim putem
  • procesor šalje set kontrolnih reci, i
    inicijalizuje 8251a u željeni nacin rada
  • ove kontrolne reci izmedu ostalog odreduju baud
    rate, dužinu karaktera, broj stop bita, sinhroni
    ili asinhroni mod rada, mod za proveru parnosti
    (even,odd,off), itd...

21
Inicijalizacija
  • kontrolne reci se dele u 2 grupe
  • MODE instrukcija
  • COMMAND instrukcija
  • redosled slanja ovih instrukcija od strane
    procesora mora zadovoljiti specificnu sekvencu da
    bi 8251a ispravno funkcionisao

22
Inicijalizacija
  • MODE instrukcija, asinhroni režim rada
  • napomena slika se odnosi na asinhroni režim
    rada, biti D7 i D6, imaju drugacije znacenje nego
    na slici, za sinhroni režim rada

23
Inicijalizacija
  • baud-rate faktor (odreden bitima D1 i D0)
    predtavlja odnos izmedu signala takta na ulazima
    TxC i RxC i željenog baud-rate-a.
  • npr. ako želimo da šaljemo podatke brzinom od
    1200 Bd, a na TxC ulazu je takt od 19200 Hz,
    baud-rate faktor je 16X, odnosno B2 treba
    postaviti na 1, a B1 na 0
  • u sinhronom režimu rada, baud-rate je isti kao i
    takt TxC i RxC

24
Inicijalizacija
  • dužina karaktera specificirana bitovima D3 i D2
    podrazumeva samo bitove podataka, a ne i start
    bit, bit parnosti i stop bit(e).
  • bit D4 odreduje da li je ukljucena provera
    parnosti
  • bit D5 odreduje nacin generisanja bita parnosti,
    a biti D6 i D7 broj stop bita

25
Inicijalizacija
  • ako je parnost ukljucena, bit koji se koristi za
    proveru parnosti, se ne smatra kao deo reci
    (karaktera)
  • bit parnosti koji je primljen preko RxD pina, se
    ne može procitati preko Data Bus-a
  • u slucaju izabrane dužine karaktera koja je manja
    od 8 bita, podatak se upisuje u 8251a preko grupe
    nižih bita Data Bus-a, dok je ostatak bita
    nebitan, a u slucaju citanja podataka iz 8251a
    viši biti ce biti postavljeni na 0

26
Inicijalizacija
  • MODE instrukcija, sinhroni režim rada

27
Inicijalizacija
  • nakon što je poslao MODE instrukciju, procesor
    šalje Sync Character 1 i Sync Character 2, ako je
    MODE instrukcijom zadat sinhroni režim rada,
    odnosno preskace ove 2 reci, i šalje odmah
    COMMAND instrukciju, za slucaj asinhronog režima
    rada (režim rada je odreden bitovima D1 i D0 MODE
    instrukcije)

28
Inicijalizacija
  • COMMAND instrukcija ima sledeci format

29
Inicijalizacija
  • bit D0 enabluje transmitter sekciju uredaja, i
    TxRDY izlaz
  • TxRDY signal može biti spojen na interapt ulaz
    procesora, ili na interapt kontroler
  • bit D1 Data terminal ready ovaj signal se
    koristi da kaže modemu da je terminal/kompjuter
    operacionalan
  • bit D2 enabluje RxRDY izlazni pin
  • RxRDY signal takode može biti spojen na interapt
    ulaz procesora, ili na interapt kontroler

30
Inicijalizacija
  • ako bit D3 postavimo na 1, 8251a ce izbaciti na
    izlaz break karakter karakter koji se sastoji
    od svih 0 ovaj karakter se ponekad koristi da
    signalizira kraj bloka podataka koji se šalju
  • ako bit D4 postavimo na 1, 8251a ce resetovati
    parity, overrun i framing error flegove u
    statusnom registru
  • ako bit D5 postavimo na 1, RTS pin se postavlja
    na 0 ovaj signal se šalje modemu radi upita da
    li je modem/risiver spreman da mu bude poslat
    karakter

31
Inicijalizacija
  • stavljanjem 1 u bit D6 komandne reci, uzrokuje
    interni reset uredaja, nakon što je komandna
    (COMMAND) instrukcija poslata nakon toga uredaju
    mora biti poslata nova MODE instrukcija
  • bit D7 komandne reci se koristi samo u sinhronom
    modu ako je postavljen na 1, 8251a ce tražiti
    specificirane sinhronizacione karaktere u nizu
    bitova koji se prima ako ih pronade postavice
    pin SYNDET/BD na visok nivo

32
Inicijalizacija
  • izgled status registra

33
Inicijalizacija
  • STATUS registar omogucava programeru da u svakom
    momentu normalnog rada uredaja procita status
    uredaja
  • neki od bitova STATUS registra imaju identicno
    znacenje kao i izlazni pinovi 8251a
  • izuzetak je TxRDY pin (pogledati objašnjenje na
    dnu prethodne slike)

34
Inicijalizacija
  • nakon paljenja uredaja, ne možemo tacno znati u
    kojem režimu rada se našao uredaj (da li ocekuje
    MODE, SYNC CHARACTER ili COMMAND instrukciju)
  • zbog toga je potrebno izvršiti worst-case
    inicijalizacionu sekvencu pretpostavicemo da
    uredaj ocekuje MODE instrukciju, pa cemo ga
    inicijalizovati u sinhroni režim rada, sa 2
    sinhronizaciona karaktera ovo postižemo upisom
    na kontrolnu adresu 3 uzastopna bajta kojima su
    vrednosti svih bita 0
  • zatim softverski resetujemo uredaj, tako što
    šaljemo COMMAND instrukciju, u kojoj bit D6 ima
    vrednost 1

35
Inicijalizacija
  • prilikom inicijalizacije uredaja, treba obratiti
    pažnju i na vreme oporavka (write-recovery
    time)koje iznosi 16 taktova signala prikacenog na
    ulazni CLK pin
  • prilikom upisivanja obicnih podataka u 8251a,
    ne treba voditi racuna o ovome, pošto novi
    karakter ne može biti upisan, sve dok se
    prethodni shiftuje kroz shift registar, a ovo
    vreme je mnogo duže od vremena oporavka
  • sledeca slika prikazuje kako treba
    inicijalizovati 8251a

36
Inicijalizacija
37
Slanje i primanje karaktera
  • karaktere možemo slati i primati na 2 nacina
  • mehanizmom interrupt-a
  • mehanizmom polling-a

38
Slanje i primanje karaktera
  • mehanizam interrupt-a slanje
  • TxRDY pin se poveže na interrupt ulaz procesora
    ili na interrupt kontroler
  • u kontrolnoj reci bit D1 se postavi na 1
  • kada je CTS pin na niskom nivou, i bafer spreman
    da prihvati podatak, TxRDY pin ce se postaviti na
    visok nivo
  • ako je mehanizam prekida dozvoljen, procesor ce
    otici u prekidnu rutinu, koja ce poslati karakter
    na adresu za podatke 8251a
  • nakon toga, automatski 8251a ce resetovati TxRDY
    signal, koji ce ostati na niskom nivou sve dok
    bafer ponovo nije spreman da prihvati karakter
  • u prekidnoj rutini možemo koristiti brojac koji
    broji karaktere

39
Slanje i primanje karaktera
  • mehanizam interrupt-a prijem
  • RxRDY pin se poveže na interrupt ulaz procesora
    ili na interrupt kontroler
  • u kontrolnoj reci bit D2 se postavi na 1
  • kada 8251a primi karakter, on ga smešta u ulazni
    bafer, i kada je karakter spreman da ga procesor
    procita, RxRDY pin se postavlja na visok nivo
  • ako je mehanizam prekida dozvoljen, procesor ce
    otici u prekidnu rutinu, koja ce procitati
    karakter
  • nakon toga resetovace se RxRDY signal, i ostace
    na niskom nivou sve dok naredni karakter nije
    spreman za citanje

40
Slanje i primanje karaktera
  • mehanizam pollinga
  • zasniva se na proveri bita statusnog registra
  • citamo i proveravamo u petlji bite - D0 (za
    slanje TxRDY) ili D1 (za prijem - RxRDY) sve
    dok ne dobiju vrednost 1
  • zatim šaljemo/citamo podatak, a analogno
    mehanizmu interrupt-a, nakon slanja/citanja,
    odgovarajuci bit u statusnom registru ce se
    resetovati, sve dok uredaj nije spreman da primi
    novi podatak za slanje, odnosno dok ne primi novi
    podatak sa periferije, kada se odgovarajuci bit u
    statusnom registru ponovo postavlja na visok nivo
  • sledeca slika prikazuje ovaj proces

41
Slanje i primanje karaktera
42
RS-232C standard
  • TTL nivoi signala (koje daje 8251a na svojim
    izlazima) nisu pogodni za prenos na daljinu
  • zato oni moraju biti konvertovani u drugi oblik
    jedan od mogucih je i RS-232C standard
  • RS-232C standard je razvijen 60-ih godina kao
    rezultat potrebe da se povežu DTE i DCE uredaji
  • DCE Data Communication Equipment (modemi, i
    sl...)
  • DTE Data Terminal Equipment (terminali,
    kompjuteri koji šalju i primaju podatke...)

43
RS-232C standard
  • ovaj standard opisuje funkciju 25 signala i
    handshake pinova za serijski prenos podataka
  • takode opisuje i elektricne karakteristike ovih
    signala
  • specificirano je takode da DTE konektor treba da
    bude muški, a DCE ženski konektor
  • najcešce korišceni konektori su DB-25P muški
    konektor, a za sisteme gde nisu potrebni svih 25
    pina, koristi se 9-pinski DIN konektor, na primer
    DE-9P muški konektor, i prikazani su na sledecoj
    slici

44
RS-232C standard
  • pošto se TTL i RS-232C logicki nivoi razlikuju,
    signali iz 8251a moraju biti konvertovani pomocu
    translatora nivoa (npr. MAX232) na RS-232C
    logicke nivoe, pa tek onda povezani sa konektorom

45
RS-232C standard
  • na ovoj slici je prikazan opis svih 25 RS-232C
    signala

46
Literatura
  • 1. Microprocessors and Interfacing Douglas V.
    Hall
  • 2. Microcomputer Systems The 8086/8088 Family
    Yu Cheng Liu, Glenn A. Gibson
  • 3. www.datasheetarchive.com

47
Kraj prezentacije )...hvala na pažnji...
  • prezentacija se može preuzeti sa
    http//galeb.etf.bg.ac.yu/vm/os/osmips.html
Write a Comment
User Comments (0)
About PowerShow.com