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

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

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

. Rodzaje transmisji sygnału i RS-232

(przykład uogólniony)

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

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

TECHNIKA MIKROPROCESOROWA

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

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

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

MIKROKONTROLERY - MAGISTRALE SZEREGOWE

TECHNIKA MIKROPROCESOROWA

Interfejs transmisji danych

Interfejsy szeregowe TEO 2009/2010

Automat skończony FSM Finite State Machine

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Sławomir Kulesza. Projektowanie automatów synchronicznych

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

PODSTAWY TEORII UKŁADÓW CYFROWYCH

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Zastosowania mikrokontrolerów w przemyśle

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

Komunikacja w mikrokontrolerach Laboratorium

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

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.

Podział układów cyfrowych. rkijanka

Układy kombinacyjne - przypomnienie

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

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

Współpraca procesora z urządzeniami peryferyjnymi

MIKROPROCESORY architektura i programowanie

Techniki mikroprocesorowe i systemy wbudowane

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Przemysłowe Sieci informatyczne

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS

Układy sekwencyjne - wiadomości podstawowe - wykład 4

Interfejs urządzeń peryferyjnych

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

Współpraca procesora z urządzeniami peryferyjnymi

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

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

Projektowanie automatów z użyciem VHDL

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

Asynchroniczne statyczne układy sekwencyjne

Laboratorium przedmiotu Technika Cyfrowa

Podstawy Informatyki Elementarne podzespoły komputera

Interfejsy systemów pomiarowych

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.

PUNKTOWE STEROWNIKI VERSAMAX MICRO

Transmisja danych cyfrowych

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Mikroprocesory i Mikrosterowniki Laboratorium

Architektura komputerów. Układy wejścia-wyjścia komputera

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

TECHNIKA CYFROWA ELEKTRONIKA ANALOGOWA I CYFROWA. Badanie rejestrów

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

dwójkę liczącą Licznikiem Podział liczników:

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

Architektura mikrokontrolera MCS51

Proste układy sekwencyjne

Architektura mikrokontrolera MCS51

Programowalne układy logiczne

Hardware mikrokontrolera X51

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Komunikacja w mikrokontrolerach Laboratorium

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

SML3 październik

Magistrala LIN

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

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

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

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

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

Wykład Mikroprocesory i kontrolery

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

Ćwiczenie 7 Matryca RGB

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Współpraca procesora z urządzeniami peryferyjnymi

Programowalne układy logiczne

Programowanie Mikrokontrolerów. Komunikacja szeregowa w standardzie EIA232 z wykorzystaniem modułu USART.

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

Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Transkrypt:

Programowalne układy logiczne kod kursu: ETD008270 Układy sekwencyjne W6 10.05.2019 mgr inż. Maciej Rudek

Układy kombinacyjne - przypomnienie Układ kombinacyjny jest to układ dla którego zmiana na wejściu (którymkolwiek) powoduje natychmiastową zmianę na wyjściu. Uściślając wyjście układu kombinacyjnego jest zależne tylko od bieżących stanów na wejściu. Istnieją trzy sposoby opisu układów kombinacyjnych: Przypisania ciągłe Wykorzystanie instrukcji procesu always Za pomocą funkcji i zdań.

Układy sekwencyjne - przypomnienie W układach sekwencyjnych stan na wyjściu układu zależeć będzie od stanu na wejściu oraz od poprzedniego stanu. Najczęściej jest on nazywany stanem wewnętrznym, którego stan został zapamiętany za pomocą zespołu rejestrów pełniących rolę pamięci.

Automaty, maszyna stanów Istnieją dwa formalne modele FSM: wyjście jest tylko funkcją stanu, wyjście opisywane razem ze stanem Moore a Automat Moore a: wyjścia automatu są jedynie funkcją stanu, logika kombinacyjna służy do generowania sygnałów wyjściowych na podstawie stanu automatu, oraz do określenia wejść przerzutników na podstawie stanu automatu i wejść do układu. opóźnienie jednego cyklu zegara między wejściem a wyjściem Y = f(s) 4

Automaty, maszyna stanów Istnieją dwa formalne modele FSM: wyjście jest funkcją wejścia i stanu, wyjście opisywane nad strzałką przejścia Mealy ego Automat Mealy ego: zarówno następny stan jak i wektor wyjść są funkcjami bieżącego stanu automatu oraz wektora wejść; automat Mealy ego synchroniczny wyposażony jest w przerzutniki wyjściowe, automat asynchr. natychmiast reaguje na zmianę sygnałów wejściowych. reaguje natychmiast, możliwość wystąpienia zakłóceń (wyścigi, hazardy) szerokość sygnału na wyjściach zależy od stanów wejściowych Y = f(s, x 0 x n ) 5

Automaty porównanie Istnieją dwa formalne modele FSM: Moore a wyjście jest tylko funkcją stanu, wyjście opisywane razem ze stanem Y = f(s) Mealy ego wyjście jest funkcją wejścia i stanu wyjście opisywane nad strzałką przejścia Y = f(s, x 0 x n ) 6

Automaty, maszyna stanów Automat Mealy a Stan wyjścia zależny od stanu automatu i wejścia Generalnie zawiera tylko parę stanów, mniej niż automat Moore a Wyjścia zmieniają się na zboczach zegara Szybsza reakcja na zmiany na wejściu automatu. Automat Moore'a Stan wyjścia zależny tylko od stanu automatu Zawiera więcej stanów niż automat Mealy a Zmiana stanu wyjścia powodowana jest przez zmianę stanu na wejściu po wykonaniu zadania z logiki automatu Automat Moore a potrzebuje więcej logiki dekodującej co powoduję dłuższą reakcję.

Jak działa automat Dzięki wykorzystaniu zespołu rejestrów np. typu flip-flop możliwe jest przechowywanie bieżącego stanu automatu. Logika kombinacyjna odpowiedzialna jest za wyliczenie kolejnego stanu automatu. A wyjście może być kombinacją sygnałów związanego z konkretnym stanem (automat Moore a) oraz dodatkowo stanem na wejściach (automat Mealy ego).

Automaty, maszyna stanów Układy sekwencyjne nazywane są także automatami skończonymi (Finite State Machnie FSM). Można wyszczególnić takie układy zgodnie z nastepującymi specyfikacjami: 3 procesy każdy z bloków modelowany jest osobno 2 procesy dwa pierwsze bloki są modelowane razem w jednym procesie 1 proces wszystkie bloki można zamodelować jako jeden proces 9

Przykładowy graf przejść Stan bieżący Stan następny Wyjśc ie (Y) X = 0 X = 1 S0 S0 S1 0 S1 S1 S2 1 S2 S2 S3 0 S3 S0 S1 1

Automat w 3-ch procesach

Automat w 3-ch procesach

Automat w 3-ch procesach

Automat w 2-ch procesach

Automat z 1-procesem

Porównanie 3-ch automatów Dwa pierwsze automaty niewiele różnią się w swojej konstrukcji a ich implementacja jest taka sama. W ostatnim przypadku wygnał na wyjściu pojawi się w tym samym momencie do przejście do następnego stanu.

Automat Mealy ego Automat Mealy ego również można zamodelować używając 2. lub 3. procesów. Jednak używając tylko jednego, jest to całkowicie nie możliwe, ze względu na funkcję wyjścia która zależy od stanu i funkcji na wejściu.

Automat Mealy ego Poniżej przedstawiono graf przejść dla automatu Mealy ego. Wskazówka: Podczas implementacji tego rodzaju automatu łatwiej jest wykonać jego opis za pomocą dwóch procesów

Automat Mealy ego Dla tego przykładu została zastosowana definicja parametrów wykorzystując instrukcję localparam. W odróżnieniu do instrukcji parameter, localparam nie może zostać zmieniony z wykorzystaniem instrukcji defparam.

Niejawna specyfikacja automatu W instrukcji always zawarto trzy stany automatu stanu wykonywane w takiej kolejności w jakiej znajdują się w opisie, zgodnie z narastającym zboczem sygnału zegarowego. W pokazanym opisie został zawarty proces w którym następuje nieprzerwany przepływ informacji oraz wykonywanie poszczególnych operacji na nich.

Niejawna specyfikacja automatu Powyższa idea nosi nazwę cycle-accurate specyfication z dokładnością do cyklu zegara lub scheduled behavior zachowania szeregowego. Co ile taktów zegara obliczane jest wyjście dataout? Uwaga: struktura ta jest często nie syntezowalna przez narzędzia XST.

Potok W proponowanym przykładzie przedstawiono trzy stopnie proste automaty sekwencyjne. Co ile taktów zegara obliczane jest wyjście dataout?

23 Interfejsy komunikacyjne - na przykładzie ARM926

24 Interfejsy komunikacyjne - klasyfikacja ogólna

SerDes - Serializer/Deserializer Serializer/Deserializer jest to para połączonych ze sobą bloków w celu uzyskania szybkiej transmisji danych. Najczęściej są odpowiedzialne za konwertowanie danych z transmisji równoległej na szeregową oraz na odwrót. Może być stosowany w wielu różnych aplikacjach w celu minimalizacji ilości połączeń i kosztów oraz mniejszy poziom zakłóceń/szumów elektromagnetycznych.

SerDes - Serializer/Deserializer Na układ SerDes składają się dwa bloki Parallel In Serial Out (PISO) oraz Serial In Parallel Out (SIPO). Można wymienić 4 podstawowe architektury: Z linią zegarową Z wbudowanym zegarem Z kodowaniem 8b/10b Z przeplotem Oraz na 3 typy komunikacji: Simplex Half-Duplex Full-Duplex

Metody transmisji - w interfejsach szeregowych Typ transmisji Full-duplex Half-duplex Synchroniczna SPI, USART I 2 C Asynchroniczna UART, Ethernet CAN, USB, 1-Wire, LIN W transmisji synchronicznej równolegle z ciągiem bitów danych przesyła się sygnał synchronizujący, który określa chwile, w których stan linii danych odpowiada wartościom kolejnych bitów. W transmisji asynchronicznej przesyłane dane nie są związane z żadnym sygnałem synchronizującym, zegarowym. Pomiędzy nadajnikiem a odbiornikiem musi być ustalona częstotliwość przesyłania danych. 27

Sposoby transmisji

Sposoby transmisji - różnicowej http://www.ti.com/lit/ml/snla187/snla187.pdf

Sposoby transmisji - różnicowej Żródło:https://www.maximintegrated.com/en/app-notes/index.mvp/id/4019

Sposoby transmisji - różnicowej http://www.ti.com/lit/ml/snla187/snla187.pdf

SerDes z równoległym zegarem Ten system często stosowany jest w rozwiązaniach magistral typu: PCI, UTOPIA, w ukłądach procesorowych, kontrolnych itp. Przesyłanie danych, wspierane jest przez dodatkowy sygnał zegarowy, podawany równolegle z linią danych. Dzięki temu rozwiązaniu, można przesyłać dane na dużą odległość z dużą prędkością bez obaw o rozsynchronizowanie się transmisji.

Serdes z wewnętrznym zegarem W tym trybie dane są przesyłane tylko po jednej linii, niezbędne jest aby zapewnić odpowiednie warunki w celu odebrania danych: oba zegary nadajnika i odbiornika muszą działać na tych samych częstotliwościach oraz stosując bity synchronizacyjne bit stopu i startu czy dodatkowymi sygnałami kontrolnymi, ramką, synchronizacją, bitami statusu, bitami parzystości (CTR).

Serdes z wewnętrznym zegarem W tym trybie dane są przesyłane tylko po jednej linii, niezbędne jest aby zapewnić odpowiednie warunki w celu odebrania danych: oba zegary nadajnika i odbiornika muszą działać na tych samych częstotliwościach oraz stosując bity synchronizacyjne bit stopu i startu czy dodatkowymi sygnałami kontrolnymi, ramką, synchronizacją, bitami statusu, bitami parzystości (CTR).

Ten sposób przesyłania danych jest wykorzystywany w interfejsach wykorzystujących np.. pakietowanie np.: Ethernet, Fiber Channel, InfiniBand 8b/10b SerDes Przesyłanie 10-bitowej transmisji zostało opracowane przez IBM w latach 80-tych, gwarantując równoległa transmisję danych oraz kodowanie danych w celu zbalansowania ilości 1 do 0. Najdłuższa możliwa sekwencja 0 i 1 nie przekracza 5. Metoda ta jest pomocna podczas ograniczania widma sygnału szeregowego oraz na tłumienie emisji elektromagnetycznej transmitowanego sygnału, pozwalając na monitorowanie łącza komunikacji przez ograniczenie ilości kombinacji w 10-bitowym kodzie.

8b/10b schemat kodowania 7 H 6 G 5 F 4 E 3 D 2 C 1 B 0 A 9 j 8 h 7 g 6 f 5 i 4 e 3 d 2 c 1 b 0 a

Kody konwersji dla 5b/6b i 3b/4b

SerDes przesyłanie sygnału http://www.ti.com/lit/ds/symlink/ds15ba101.pdf

Shift Register - SISO Rejestr przesuwny jest istotnym elementem wykorzystywanym do stworzenia układu transmisji danych. Wykorzystuje w swojej konstrukcji przerzutniki typu D połączonych w taki sposób, że dana jest przesuwana co cykl zegarowy. W tym wypadku co pozytywny takt zegarowy. SISO - rejestr z wyjściem i wejściem szeregowym (rejestr przesuwający) Co jest nie tak w tym układzie?

SIPO - wejście szeregowe, wyjście równoległe Dzięki temu układowi sekwencyjnemu, możliwe jest uzyskanie wyjścia równoległego z wejścia szeregowego. W podanym przykładzie, przesyłanie danych odbywa się na zbocze narastające sygnału CLK, a dane są wystawiane na wyjście w oddzielnym procesie. Co jest nie tak w tym układzie?

PISO - wejście równoległe, wyjście szeregowe

Serial Peripherial Interface - SPI 42 SPI szeregowy interfejs komunikacyjny opracowany przez firmę Motorola: komunikacja dwukierunkowa (full-duplex), synchroniczna transmisja danych, master-slave, Interfejs trójprzewodowy, MOSI, MISO, SCLK MOSI - (ang. Master Output Slave Input) - dane dla układu peryferyjnego MISO - (ang. Master Input Slave Output) - dane z układu peryferyjnego SCLK - (ang. Serial CLocK) - sygnał zegarowy (taktujący) stosowany do transmisji danych pomiędzy układami peryferyjnymi np. przetworniki A/C, C/A, pamięci szeregowe, potencjometry cyfrowe, mikrokontrolery inna nazwa SSI - Synchronous Serial Interface

Serial Peripherial Interface SPI - możliwe połączenia z układami 43 Ogólna budowa interfejsu szeregowej transmisji danych SPI. Interfejs SPI składa się z dwóch rejestrów przesuwnych połączonych w licznik pierścieniowy i generatora sygnału taktującego. MISO wejście danych dla urządzenia master, a wyjściem dla slave, MOSI jest wyjściem dla urządzenia master, a wejściem dla slave. SCLK jest wejściem taktującym dla układu slave oraz wyjściem dla master. Sygnał taktujący jest zawsze generowany przez układ nadrzędny (master) bez względu na to czy dane są przez niego nadawane czy też odbierane. Sygnał taktujący jest nadawany jedynie podczas transmisji.

Serial Peripherial Interface SPI - możliwe połączenia z układami Układy SPI połączone w magistrale liniową Układ nadrzędny (master) wybiera poszczególne układy podrzędne (slave) przez jedną z równoległych linii portu dołączonych do wyprowadzeń CS układów podrzędnych. Urządzenie slave zostanie wybrane, gdy na jego wejście SS zostanie podany określony stan. W czasie transmisji, w celu uniknięcia kolizji, tylko jeden układ podrzędny może być aktywny na liniach interfejsu. 44 Układy SPI połączone w łąńcuchową (daisy chain)

Peryferia port szeregowy RS232 Pin Sygnał Nazwa Kierunek 1 DCD Data Carrier Detect In 2 RXD Receive Data In 3 TXD Transmit Data Out 4 DTR Data Terminal Ready Out 5 GND Ground - 6 DSR Data Set Ready In 7 RTS Request to Send Out 8 CTS Clear to Send In 9 RI Ring Indicator In 45 LPC2368: UART0/2/3 UART1 możliwość budowy modemu

RS232 ramka danych UART Universal Asynchronous Receiver Transmitter, 3,3 V 0 1 2 3 4 5 6 7 P +8 V stan IDLE 8 bitów danych -8 V 46 bit startu 0 bit parzystości Inne typowe szybkości transmisji danych: 110, 150, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, bity stopu: 230400, 460800, 921600. 1, 2 lub 1.5

Dziękuję za uwagę :)