Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Podobne dokumenty
Programowanie mikrokontrolerów. 15 stycznia 2008

System interfejsu RS 232C opracowali P. Targowski i M. Rębarz

Układ transmisji szeregowej AVR

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA II

MIKROPROCESORY architektura i programowanie

Elektroniczny sejf hotelowy

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

. Rodzaje transmisji sygnału i RS-232

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Systemy wbudowane Wykład 6 - transmisje szeregowe: UART i pochodne. Komunikacja szeregowa Notes. Rodzaje transmisji Notes. Rodzaje transmisji Notes

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

Hardware mikrokontrolera X51

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Programowalne układy logiczne kod kursu: ETD Układy sekwencyjne W

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

Wstęp działanie i budowa nadajnika

Programowanie Mikrokontrolerów

Programowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec

Urządzenia peryferyjne procesora ColdFire

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

TECHNIKA MIKROPROCESOROWA II

Komunikacja w mikrokontrolerach Laboratorium

TECHNIKA MIKROPROCESOROWA

Opis procedur asemblera AVR

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Programowanie mikrokontrolerów. 8 listopada 2007

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Struktura i działanie jednostki centralnej

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

INSTYTUT TECHNOLOGII E L E K T R O N O W E J

Komunikacja w mikrokontrolerach Laboratorium

Sterowanie wyświetlacza LCD typu HD44780

Ćwiczenie 7 Matryca RGB

Transmisja danych cyfrowych

Architektura komputerów

(przykład uogólniony)

Technika Mikroprocesorowa

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

RZECZPOSPOLITA OPIS PATENTOWY POLSKA PATENTU TYMCZASOWEGO

Techniki mikroprocesorowe i systemy wbudowane

Programowany układ czasowy

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Mikroprocesor Operacje wejścia / wyjścia

Czujnik zbliżeniowy indukcyjny

dokument DOK wersja 1.0

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

Struktura QSM (Queued Serial Module)

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Mikroprocesory i Mikrosterowniki Laboratorium

Interfejsy systemów pomiarowych

MSP430 w przykładach (8)

Architektura mikrokontrolera MCS51

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

Architektura mikrokontrolera MCS51

Współpraca procesora z urządzeniami peryferyjnymi

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Zerowanie mikroprocesora

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Spis tre 1. Przedstawienie standardu Opis sprz towy AVR+MAX Wykorzystanie USARTa Przykładowe programy obsługi w j

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

interfejs szeregowy wyświetlaczy do systemów PLC

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

Układy Cyfrowe projekt. Korekcja jasności obrazów w 24-bitowym formacie BMP z użyciem funkcji gamma. Opis głównych modułów sprzętowych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Układy czasowo-licznikowe w systemach mikroprocesorowych

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Urządzenia peryferyjne RS-232. Wykład 2

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

THE HARDWARE IMPLMENTATION OF THE PS/2 PROTOCOL ON SPARTAN 3 FPGA DEVICE IMPLEMENTACJA SPRZĘTOWA PROTOKOŁU PS/2 W UKLADZIE FPGA SPARTAN 3

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Laboratorium Asemblerów, WZEW, AGH WFiIS Tester NMOS ów

Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne

I 2 C BUS (1) 1 L.Łukasiak: Podstawy Techniki Mikroprocesorowej (materiały pomocnicze)

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Interfejs transmisji danych

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

Analizowanie protokołów szeregowych oscyloskopami Rohde&Schwarz (2) SPI, I 2 C

LABORATORIUM Bezprzewodowych Sieci Komputerowych

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

Moduł komunikacyjny Modbus RTU w standardzie RS-485 do ciepłomierza SonoMeter 31 i przelicznika energii Infocal 9

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Instytut Teleinformatyki

Transkrypt:

UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium Projektowania Systemów Cyfrowych AGH WFiIS 1

D 8 bitów danych Brak danych tzn. D=1 Bit startu (zawsze 0 ) 0 1 0 1 0 1 0 1 0 1 7 bitów kodu ASCII Pierwszy jest LSB Bit Bit stopu parzystości W czasie nadawania UART pobiera 8 bitów danych z magistrali równoległej i przetwarza je na szeregowy strumień danych. W czasie odbierania UART wykrywa bit startu odbiera 8 bitów danych i przetwarza na formę równoległą kiedy wykryje bit stopu. Aby nie przesyłać zegara UART musi przychodzący strumień danych zsynchronizować z lokalnym zegarem. Przykład pokazuje transmisję litery U. 2

LCD HD44780 Sterownik wyświetlacza LCD Intefejs UART-LCD Całość systemu DB[0:7] ascii bus TxD RW RS E cs rs rw UART RxD clk rst Div Clk Waznym elementem jest projekt układu sprzęgającego UART z wyświetlaczem. Ścieżka danych sterownika wyświetlacza LCD wymaga przeprojektowania. 3

readscsr loadsccr RxD cs rs rw bus 1 P RcvSR Odbiornik RSR Sterowanie odbiornika FE Schemat blokowy 8 RDR OE PE 0 RD RF RxC writerdr 8 TIE RIE SEL2 SEL1 SEL0 8 BClkx8 SCSR Sterowanie SCCR 3 Generator zegara FE OE PE RD RF loadtdr TD RE Magistrala danych BClk 1 P TSR 0 RxC Nadajnik 8 TDR Sterowanie nadajnika TD RE TxD P bit parzystości analizowany przez odbiornik i generowany przez nadajnik. Układy te pominięto na rysunku 4

Rejestry wewnętrzne RSR RDR TDR TSR SCCR SCSR Receive Shift Register Receive Data Register Transmit Data Register Transmit Shift Register Serial Communication Control Register Serial Communication Status Register Każdy z rejestrów jest adresowany przez zewnętrzny procesor RDR, SCSR, SCCR sterują magistralę danych przez bufory trójstanowe TDR, SCCR ładowane z magistrali danych Cztery z rejestrów są dostepne dla zarządzającego procesora: cs rw rs opis 0 x x Układ niekatywny 1 1 0 Odczyt SCSR 1 0 0 Zapis SCCR 1 1 1 Odczyt RDR 1 0 1 Zapis TDR 5

Opis bitów rejestru SCSR: Nazwa Bit RcvSR Opis Opis TDRE 0 - Transmit Data Register Empty Przerzutnik w nadajniku RDRF 1 0 Receive Data Register Full PE 2 1 Parity Error OE 3 2 Overrun Error FE 4 3 Frame Error Opis bitów rejestru SCCR: Rejestry wewnętrzne Nazwa Bit Opis Opis TIE 7 Transmit Interrupt Enable Odblokuj przerwania RIE 6 Receive Interrupt Enable Odblokuj przerwania sel2 2 sel1 1 sel0 0 Data rate selector Naprawdę są to czterobiowy rejestr w odbiorniku i jeden przerzutnik w nadajniku. Rejestr stusowy RcvSR w odbiorniku Wybór prędkości transmisji 6

Moduły projektu Nazwa madułu input output inout Opis uart transmitter receiver brate clk, rst, rw, cs, rs, RxD clk, rst, loadtdr, [7:0]bus,TxC clk, rst, readrdr, RxC, RxD clk, rst, [2:0]sel, TE, TxD [7:0]RDR, [2:0]RcvSR BClk, Bclkx8 [7:0]bus Moduł szczytowy Moduł nadajnika Moduł odbiornika Moduł ustalania prędkości przesyłu 7

Graf automatu odbiornika RxD=1 idle RxD=0 BckCnt>0 BitCnt=M-1 detected BitCnt<M-1 shift BckCnt=0 M rozmiar ramki (=10) N liczba próbek na bit (=8) 8

Opis pracy odbiornika Działanie odbiornika: Gdy zostanie wykryty bit startu kolejne bity zostają wczytane szeregowo do RSR. Gdy wszystkie bity i bit stopu zostały wczytane, RSR jest ładowany do RDR i ustawiana jest flaga RDRF w SCSR. Gdy procesor wykryje 1 w RDRF wczytuje zawartość RDR i zeruje RDRF. Ponieważ wejściowy strumień bitów jest nie zsynchronizowany lokalnym zegarem wystąpią problemy z rozpoznaniem gdzie bity sie kończa, a gdzie zaczynają. Aby uniknąć tych trudności linia RxD jest próbkowana 8 razy na bit tzn. na każdym narastającym zboczu BclkX8 (RxC). Po wykryciu stanu niskiego na RxD (bit startu) odczekujemy 4 okresy BclkX8 i w ten sposób trafiamy na środek bitu. Środek kolejnego bitu jest po kolejnych 8 okresach BclkX8. Następnie kontynuujemy odczyt co 8 okresów zegara BclkX8, aż napotkamy bit stopu. 9

Opis pracy odbiornika c.d. Potrzebne są dwa liczniki: BckCnt liczy okresy zegara BclkX8 (próbki), modulo N BitCnt liczy bity przyjęte po bicie startu, modulo M. W stanie idle automat oczekuje na bit startu RxD=0 i przechodzi do stanu Detected. W tym stanie automat próbkuje linię RxD na kolejnych narastającch zboczach RxC i za każdym razem dekrementowany jest licznik BckCnt. Licznik ten jest początkowo inicjowany na 4, ale potem pracuje jako modulo 8. Gdy BckCnt wyzeruje się układ przechodzi do stanu shift. Czas przebywania w tym stanie jest wyznaczony przez inkrementację licznika BitCnt modulo 10. Licznik ten jest inkremetowany tylko w chwilach wyzerowania się licznika BckCnt. Na koniec stanu shift: zawartość 7 bitów informacj w RSR jest przepisywana do RDR, znacznik RF jest ustawiany by zasygnalizować do interfejsu zewnętrznego, że dana w RDR jest gotowa do pobrania, znacznik FE jest ustawiany jak zaprzeczenie aktualnego stanu linii RxD, znacznik OE jest ustawiany???, znacznik PE jest ustawiany na wynik obliczenia parzystosci danych. 10

Graf automatu nadajnika TDRE=1 idle TDRE=0 BitCnt<M-1 BitCnt>=M- 1 shift M rozmiar ramki (=10) 11

Opis pracy nadajnika Bit TDRE w rejestrze statusowym odbiornika SCSR jest ustawiany na 1 gdy TDR jest pusty. Wtedy zewnętrzny interfejs ładuje TDR sygnałem loadtdr co powoduje wyzerowanie TDRE. Kiedy zewnętrzny interfejs jest gotowy do transmisji: zewnętrzny interfejs czeka na TDRE=1 i ładuje słowo do TDR i zeruje TDRE UART przesyła dane z TDR do TSR i ustawia TDRE=1 UART wysyła bit startu 0 i następnie przesuwa TSR w prawo aby wysłać siedem bitów, bit parzystości i bit stopu 1. W stanie idle automat oczekuje na wyzerowanie TDRE i utrzymywany jest stan wysoki na TxD. Gdy to się stanie rejestr TSR jest ładowany zawartością TDR wraz bitami startu, stopu i parzystości, a licznik bitów BitCnt jest inicjowany na zero. Równocześnie automat przechodzi do stanu shift. W tym stanie na każdym narastającym zboczu TxC TSR jest przesuwany by wysłać kolejny bit i licznik bitów jest inkrementowany. Gdy BitCnt=9 układ wraca do stanu idle. 12

Baud rate generator Trzy niższe bity rejestru SCCR wybierają jedną z ośmiu szybkości transmisji: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400. Maksymalna potrzebna częstotliwość wynosi: 38400 x 8 = 307 200 Ponieważ zegar jest 50MHz to trzeba go podzielić przez 162,8 czyli albo szybkości będą trochę różne albo zegar trzeba dostroić. BClk BClkx8 Dzielnik przez 8 Sel [3:0] MUX clk 50MHz Dzielnik przez 81 Dzielnik przez 2, 4,... 256 13