SART transmisja szeregowa z wykorzystaniem RS-232 Mariusz Rawski
|
|
- Fabian Chmielewski
- 7 lat temu
- Przeglądów:
Transkrypt
1 CAD SART transmisja szeregowa z wykorzystaniem RS-232 rawski@tele.pw.edu.pl
2 Standard RS 232 (1) Standard RS-232 (Recommended Standard) został wprowadzony w 1962 roku przez Electronic Industries Association (EIA) w celu normalizacji interfejsu pomiędzy urządzeniem danych DTE (Data Terminal Equipment) a urządzeniem DCE (Data Commumication Equipment). Pomimo tego, że główny nacisk położono na zdefiniowanie interfejsu pomiędzy terminalem ( DTE) a modemem (DCE), to standard ten jest również bardzo często stosowany przy szeregowej transmisji danych pomiędzy różnymi typami urządzeń DTE. W sierpniu 1969 roku EIA wprowadziło zrewidowaną normę oznaczoną RS-232C, która prezentuje powszechnie akceptowany sposób transmisji danych na nieduże odległości (do 15 m), z niewielką szybkością (do 20 kbitów/s), przez niesymetryczne łącze.
3 Standard RS 232 (2)
4 Standard RS 232 (3) W standardzie RS-232 transmisja danych odbywa się szeregowo bit po bicie, przy czym istnieje możliwość asynchronicznej transmisji znakowej lub transmisji synchronicznej. Asynchroniczna transmisja znakowa polega na przesyłaniu pojedynczych znaków, które posiadają ściśle określony format. Początek znaku stanowi bit startu, jałowy z punktu widzenia przesyłanej informacji i służący jedynie celom synchronizacyjnym. Po nim następuje pole danych, na które wprowadza się kolejne bity stanowiące treść znaku. Bezpośrednio za polem danych przewidziano bit kontrolny, służący zabezpieczeniu informacji znajdującej się na polu danych. Transmitowany znak kończy jeden lub dwa bity stopu.
5 Standard RS 232 (4)
6 Standard RS 232 (5) Przedstawiony poniżej zespół bitów tworzy jednostkę informacyjną - ramkę Cisza Start Pole danych Bit(y) stopu Cisza d0 d1 d2 d3 d4 d5 d6 d7 lub bit kont rolny 1 bit 7 lub 8 bitów 1 lub 2 bity
7 Standard RS 232 (6) W ramach jednostki informacyjnej bity przesyłane są synchronicznie - zgodnie z taktem nadajnika. Natomiast poszczególne jednostki są przesyłane asynchronicznie - ich wyprowadzanie nie jest synchronizowane żadnym sygnałem, a więc odstęp pomiędzy nimi jest dowolny. Czas trwania bitu w jednostce informacyjnej nazywa się odstępem jednostkowym. Jego odwrotność określa szybkość transmisji w bodach (1 bd = 1 bit/s). Typowe wartości szybkości transmisji przy asynchronicznej transmisji znakowej wynoszą: 1200, 2400, 4800, 9600 bd, co przy założeniu 10-bitowej długości jednostki informacyjnej i przysłaniu znaków bezpośrednio jeden za drugim odpowiada 120, 240, 480, 960 znakom na sekundę.
8 Płytka laboratoryjna DE2-70 Education Board Wykorzystane układy programowalne: - Cyclone II EP2C70F896C6 Złącza: - wbudowany USB-Blaster - 10/100 Ethernet - RS232 - video out (potrójny VGA 10-bit DAC) - 2 wejścia video in (NTSC/PAL/multi-format) - USB 2.0 (typ A I typ B) - PS/2 - line in/out, mic in (24-bit audio CODEC) - 2 złącza rozszerzeń z zabezpieczeniem diodowym - port podczerwieni Pamięć: - 2 SDRAM 32 MBs, - SSRAM 2 MB, - flash 8 MB - slot dla kart pamięci SD Dodatkowe elementy interfejsu użytkownika: - wyświetlacz LCD wyświetlaczy 7-segmentowych - 18 przełączników - 18 diod LEDs (czerwonych) - 9 diod LEDs (zielonych) - 4 przyciski z filtracją drgań Oscylatory kwarcowe: - 50 MHz dla FPGA - 28,63 MHz dla zastosowań video - wejście SMA dla zewnętrznego sygnału zegarowego
9 Płytka laboratoryjna DE2-70 Education Board
10 Moduł SART Simple Asynchronous Receiver Transmitter send sygnał do wysłania danych z portu BusIn[] BusIn[ ] dane do wysłania RxD linia odbiorcza dataready sygnał odebrania danych dane na szynie BusOut[] BusOut[ ] odebrane dane TxD linia nadawcza readytosend sygnał gotowości do wysłania send BusIn[7..0] RxD clock dataready BusOut[7..0] TxD readytosend
11 Testowanie modułu SART
12 Kontroler (1) library ieee; use ieee.std_logic_1164.all; entity kontroler is port( clock : in std_logic; reset : in std_logic; ischar : in std_logic; cleartosend : in std_logic; char : in std_logic_vector(7 downto 0); send : out std_logic; chartosend : out std_logic_vector(7 downto 0) ); end kontroler; architecture RTL of kontroler is signal storechar : std_logic; signal charbuffer : std_logic_vector(7 downto 0); type AUT_STATE_TYPE is ( idle, receiving, sending, sent ); signal aut_reg, aut_next : AUT_STATE_TYPE; signal send_next : std_logic; Bufor do przechowania znaku Automat odbierająco - nadający Synchronizacja wyjścia send -- Buffer process(reset, clock) if reset = '1' then charbuffer <= (others => '0'); elsif rising_edge(clock) then if storechar = '1' then charbuffer <= char; else charbuffer <= charbuffer; chartosend <= charbuffer; -- Output bufer for 'send' process(reset, clock) if reset = '1' then send <= '0'; elsif rising_edge(clock) then send <= send_next;
13 -- Automat process(reset, clock) if reset = '1' then aut_reg <= idle; elsif rising_edge(clock) then aut_reg <= aut_next; process(aut_reg, ischar, cleartosend) storechar <= '0'; send_next <= '0'; case aut_reg is when idle => if ischar = '1' then aut_next <= receiving; else aut_next <= idle; when receiving => storechar <= '1'; aut_next <= sending; Kontroler (2) Poczekaj na gotowość SART do wysyłania Wyślij Czekaj na sygnał, że jest znak Przechowaj znak when sending => send_next <= '1'; if cleartosend = '1' then aut_next <= sent; else aut_next <= sending; when sent => send_next <= '1'; if cleartosend = '1' then aut_next <= sent; else if ischar = '1' then aut_next <= receiving; else aut_next <= idle; when others => aut_next <= idle; end case; end RTL;
14 Moduł SART Schemat blokowy send Automat nadawczy readytosend BusIn[7..0] Rejestr VCC Data[7..0] Multiplekser TxD RxD GND Rejestr przesuwający odbiorczy BusOut[7..0] Automat odbiorczy dataready clock Generacja zegara 14
15 Automat odbiorczy Cisza Start d1 d2 d3 d4 d5 d6 d7 d8 Bit(y) stopu Cisza 1 r_data2 r_data1 0 r_start r_data3 r_data4 r_idle 1 0 Uaktywnij rejestr przesuwający r_stop2 Wystaw sygnał dataready r_stop1 r_data8 r_data7 r_data6 r_data5
16 Automat nadawczy 0 1 t_start t_data1 t_data2 t_data3 t_data4 t_idle 1 0 t_stop2 t_stop1 t_data8 t_data7 t_data6 t_data5 send Automat nadawczy readytosend BusIn[7..0] Rejestr VCC Data[7..0] Multiplekser TxD GND
17 SART realizacja (1) library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use work.mylib.all; entity simpleuart is generic( INCLK : natural := ; BAUDRATE : natural := 9600 ); port( clock : in std_logic; reset : in std_logic; send : in std_logic; rxd : in std_logic; data_in : in std_logic_vector(7 downto 0); data_ready : out std_logic; clear_to_send : out std_logic; txd : out std_logic; data_out : out std_logic_vector(7 downto 0) ); end simpleuart; architecture RTL of simpleuart is constant CNT_WIDTH : natural := log2_ceil (INCLK / BAUDRATE); constant DIVVALUE : natural := INCLK /BAUDRATE; constant PULSVALUE : natural := DIVVALUE / 2; Parametry określające: częstotliwość zegara systemowego (INCLK) pożądaną szybkość transmisji (BAUDRATE) Parametry potrzebne do generacji zegara odpowiedniego dla uzyskania szybkości transmisji podanej jako parametr BAUDRATE
18 SART realizacja (2) signal oclkt : std_logic; signal oclkr : std_logic; signal cntt : unsigned(cnt_width-1 downto 0); signal cntr : unsigned(cnt_width-1 downto 0); -- Receiver FSM states type RCV_STATE_TYPE is ( r_idle, r_start, r_data1, r_data2,r_data3,r_data4,r_data5,r_data6,r_data7,r_data8, r_stop1, r_stop2 ); signal rcv_reg, rcv_next : RCV_STATE_TYPE; signal ReceivedData : std_logic_vector(7 downto 0); signal datainenable : std_logic; -- Transmiter FSM states type TRS_STATE_TYPE is ( t_idle, t_start, t_data1, t_data2,t_data3,t_data4,t_data5,t_data6,t_data7,t_data8, t_stop1, t_stop2 ); signal trs_reg, trs_next : TRS_STATE_TYPE; signal DataToSend : std_logic_vector(7 downto 0); signal dataoutload : std_logic; signal outbitctr : unsigned(3 downto 0); Sygnały zegarowe dla nadajnika (oclkt) i odbiornika (oclkr) Liczniki dzielników częstotliwości Bufor odebranych danych i sygnał enable dla tego bufora Bufor nadawanych danych i sygnał load dla tego bufora Sygnał select multipleksera wysyłającego dane
19 process(reset, clock) if reset = '1' then cntr <= (others => '0'); elsif rising_edge(clock) then if cntr = DIVVALUE then cntr <= (others => '0'); else cntr <= cntr + 1; process(reset, clock) if reset = '1' then oclkr <= '0'; elsif rising_edge(clock) then if cntr < PULSVALUE then oclkr <= '0'; else oclkr <= '1'; SART realizacja (2) Liczniki dzielnika częstotliwości dla INCLK = 10 MHz i BAUDRATE = 1Mbit DIVVALUE = 10 Generator zegara dla PULSVALUE = 5 process(reset, clock) if reset = '1' then cntt <= (others => '0'); oclkt <= '0'; elsif rising_edge(clock) then if cntt = DIVVALUE then cntt <= (others => '0'); else cntt <= cntt + 1; if cntt < PULSVALUE then oclkt <= '0'; else oclkt <= '1';
20 SART realizacja (3) process(reset, oclkr) if reset = '1' then ReceivedData <= (others => '0'); elsif rising_edge(oclkr) then if DataInEnable = '1' then ReceivedData(7) <= rxd; shift_reg: for i in 7 downto 1 loop ReceivedData(i-1) <= ReceivedData(i); end loop; else ReceivedData <= ReceivedData; data_out <= ReceivedData; reset rxd DataInEnable oclkr data_out
21 process(reset, oclkr) if reset = '1' then rcv_reg <= r_idle; elsif rising_edge(oclkr) then rcv_reg <= rcv_next; process(rcv_reg, rxd) datainenable <= '0'; data_ready <= '0'; case rcv_reg is when r_idle => if (rxd = '1') then rcv_next <= r_idle; else rcv_next <= r_start; when r_start => datainenable <= '1'; rcv_next <= r_data1; when r_data1 => datainenable <= '1'; rcv_next <= r_data2; when r_data2 => datainenable <= '1'; rcv_next <= r_data3; SART realizacja (4) Uaktywnij rejestr przesuwający Dane gotowe when r_data3 => datainenable <= '1'; rcv_next <= r_data4; when r_data4 => datainenable <= '1'; rcv_next <= r_data5; when r_data5 => datainenable <= '1'; rcv_next <= r_data6; when r_data6 => datainenable <= '1'; rcv_next <= r_data7; when r_data7 => datainenable <= '1'; rcv_next <= r_data8; when r_data8 => rcv_next <= r_stop1; when r_stop1 => data_ready <= '1'; rcv_next <= r_stop2; when r_stop2 => if (rxd = '1') then rcv_next <= r_idle; else rcv_next <= r_start; when others => rcv_next <= r_idle; end case;
22 SART realizacja (4) process(reset, oclkt) if reset = '1' then DataToSend <= (others => '0'); elsif rising_edge(oclkt) then if dataoutload = '1' then DataToSend <= data_in; else DataToSend <= DataToSend; process(reset, oclkt) if reset = '1' then trs_reg <= t_idle; elsif rising_edge(oclkt) then trs_reg <= trs_next; process(trs_reg, send) dataoutload <= '0'; outbitctr <= to_unsigned(0, 4); clear_to_send <= '0'; Bufor danych do wysłania Czekaj na sygnał rozpoczęcia wysyłania Zatrzaśnij dane do wysyłania Sygnał sterujący multiplekserem wysyłającym case trs_reg is when t_idle => if (send = '0') then clear_to_send <= '1'; trs_next <= t_idle; else clear_to_send <= '0'; dataoutload <= '1'; trs_next <= t_start; when t_start => outbitctr <= to_unsigned(1, 4); trs_next <= t_data1; when t_data1 => outbitctr <= to_unsigned(2, 4); trs_next <= t_data2; when t_data2 => outbitctr <= to_unsigned(3, 4); trs_next <= t_data3; when t_data3 => outbitctr <= to_unsigned(4, 4); trs_next <= t_data4; when t_data4 => outbitctr <= to_unsigned(5, 4); trs_next <= t_data5; when t_data5 => outbitctr <= to_unsigned(6, 4); trs_next <= t_data6;
23 SART realizacja (4) when t_data6 => outbitctr <= to_unsigned(7, 4); trs_next <= t_data7; when t_data7 => outbitctr <= to_unsigned(8, 4); trs_next <= t_data8; when t_data8 => outbitctr <= to_unsigned(9, 4); trs_next <= t_stop1; when t_stop1 => outbitctr <= to_unsigned(10, 4); trs_next <= t_stop2; when t_stop2 => outbitctr <= to_unsigned(10, 4); clear_to_send <= '1'; if (send = '0') then trs_next <= t_idle; else dataoutload <= '1'; trs_next <= t_start; when others => trs_next <= t_idle; end case; Multiplekser wysyłający Układ gotowy do kolejnego wysyłania process(reset, oclkt) if reset = '1' then txd <= '1'; elsif rising_edge(oclkt) then case outbitctr is when to_unsigned(0, 4) => txd <= '1'; when to_unsigned(1, 4) => txd <= '0'; when to_unsigned(2, 4) => txd <= DataToSend(0); when to_unsigned(3, 4) => txd <= DataToSend(1); when to_unsigned(4, 4) => txd <= DataToSend(2); when to_unsigned(5, 4) => txd <= DataToSend(3); when to_unsigned(6, 4) => txd <= DataToSend(4); when to_unsigned(7, 4) => txd <= DataToSend(5); when to_unsigned(8, 4) => txd <= DataToSend(6); when to_unsigned(9, 4) => txd <= DataToSend(7); when to_unsigned(10, 4) => txd <= '1'; when others => txd <= '1'; end case;
24 Układ realizujący echo SART Kontroler Licznik odebranych znaków Licznik nadanych znaków Konwertery bin -> bcd Sterownik wyświetlacznem 7-segmentowym
25 Realizacja SART wyniki Fitter Summary Top-level Entity Name echo_kontroler Family Cyclone II Device EP2C70F896C6 Total logic elements 213 / 68,416 ( < 1 % ) Total pins 42 / 622 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 1,152,000 ( 0 % ) Embedded Multiplier 0 / 300( 0 % ) Total PLLs 0 / 4( 0 % ) Clock skew jest zjawiskiem występującym w układach synchronicznych, gdy zbocze sygnału zegarowego pojawia się na wejściach zegarowych poszczególnych komponentów w różnych chwilach czasowych. Jak to pojawiło się w naszym projekcie?
26 Ripple and/or gated clocks process(reset, clock) if reset = '1' then cntr <= (others => '0'); elsif rising_edge(clock) then if cntr = DIVVALUE then cntr <= (others => '0'); else cntr <= cntr + 1; process(reset, clock) if reset = '1' then oclkr <= '0'; elsif rising_edge(clock) then if cntr < PULSVALUE then oclkr <= '0'; else oclkr <= '1';
27 Clock skew d1 d1 d1 Dzielnik częstotliwości clk1 clk2 clk Generacja zegara Zmiana na sygnale danych dociera do przerzutnika przed zboczem zegara
28 Dystrybucja zegara Sieci dystrybucji sygnału zegarowego są tak projektowane tak, aby zminimalizować efekt clock skew Kompilator automatycznie uznał sygnały oclkt i oclkr za sygnały zegarowe i będzie dystrybuował je z wykorzystaniem globalnych linii dystrybucji zegara. Lepiej jednak unikać takich rozwiązań!
29 Clock enable d1 d1 d1 ena1 ena2 clk Generacja sygnału enable
30 Wykorzystanie clock enable signal clkenat : std_logic; signal clkenar : std_logic; signal cntt : unsigned(cnt_width-1 downto 0); signal cntr : unsigned(cnt_width-1 downto 0); process(reset, clock) if reset = '1' then clkenar <= '0'; elsif rising_edge(clock) then if cntr = PULSVALUE then clkenar <= '1'; else clkenar <= '0'; process(reset, clock) if reset = '1' then rcv_reg <= r_idle; elsif rising_edge(clock) then if clkenar = '1'then rcv_reg <= rcv_next; else rcv_reg <= rcv_reg; Sygnały enable, które będą wykorzystywane do kontrolowania działania elementów synchronicznych Liczniki będą wykorzystane do generowania sygnałów enable Sygnał enable generowany jest raz na DIVVALUE cykli zegara systemowego dokładnie po PULSVALUE cykli od rozpoczęcia liczenia Wszystkie elementy synchroniczne taktowane są zegarem systemowym Reagują jednak tylko w jedynym cyklu zegarowym Układ jest w pełni synchroniczny
31 Realizacja SART wyniki Fitter Summary Top-level Entity Name echo_kontroler Family Cyclone II Device EP2C70F896C6 Total logic elements 211 / 68,416 ( < 1 % ) Total pins 42 / 622 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 1,152,000 ( 0 % ) Embedded Multiplier 0 / 300( 0 % ) Total PLLs 0 / 4( 0 % ) Te efekty są nam znane. Należy synchronizować sygnały wyjściowe.
32 Synchronizacja wyjść signal txd_reg, txd_next : std_logic; signal clear_to_send_reg, clear_to_send_next : std_logic; signal data_ready_reg, data_ready_next : std_logic; when to_unsigned(0, 4) => txd_next <= '1'; if (send = '0') then clear_to_send_next <= '1'; process(reset, clock) if reset = '1' then txd_reg <= '1'; data_ready_reg <= '0'; clear_to_send_reg <= '0'; elsif rising_edge(clock) then if clkenat = '1' then txd_reg <= txd_next; clear_to_send_reg<= clear_to_send_next; data_ready_reg <= data_ready_next; else txd_reg <= txd_reg; clear_to_send_reg <= clear_to_send_reg; data_ready_reg <= data_ready_reg; txd <= txd_reg; clear_to_send <= clear_to_send_reg; data_ready <= data_ready_reg; Deklaracja sygnałów nazwa_reg i nazwa_next wykorzystywanych do synchronizacji sygnału wyjściowego nazwa Ustalanie sygnałów nazwa_next wewnątrz układu o jeden cykl zegara wcześniej Zatrzaskiwanie sygnałów nazwa_next w rejestrach nazwa_reg Wyprowadzenie sygnałów nazwa_reg na wyjścia nazwa
33 Realizacja SART wyniki Fitter Summary Top-level Entity Name echo_kontroler Family Cyclone II Device EP2C70F896C6 Total logic elements 213 / 68,416 ( < 1 % ) Total pins 42 / 622 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 1,152,000 ( 0 % ) Embedded Multiplier 0 / 300( 0 % ) Total PLLs 0 / 4( 0 % ) Wydaje się być w porządku
34 SART - Testowanie Układ gubi synchronizację
35 SART Brak synchronizacji Cisza Start d1 d2 d3 d4 d5 d6 d7 d8 Bit(y) stopu Cisza Generator kwarcowy Płytki DE2-70 = 50 MHz DIVALUE = /9600 = 5208 (,3333) 50 MHz / 5208 = 9600,61 Hz Błąd w dopasowaniu częstotliwości zegarów powoduje zgubienie synchronizacji Cisza Start d1 d2 d3 d4 d5 d6 d7 d8 Bit(y) stopu Cisza Rozwiązaniem jest wykorzystanie bitu startu do zsynchronizowania układu
36 Synchronizacja wewnątrzramkowa process(reset, clock) if reset = '1' then cntr <= (others => '0'); elsif rising_edge(clock) then if rcv_reg = r_idle and rxd = '1' then cntr <= (others => '0'); else if cntr = DIVVALUE then cntr <= (others => '0'); else cntr <= cntr + 1; Licznik sterujący odbiornikiem jest zerowany, gdy odbiornik jest w stanie idle i na wejściu rxd jest stan wysoki Start zegara na początku ramki sprawia, że symbole w ramce są próbkowane prawie dokładnie w połowie ich trwania. Przez czas trwania jednej ramki zegar nie jest w stanie się rozsynchronizować
37 Realizacja SART wyniki Fitter Summary Top-level Entity Name echo_kontroler Family Cyclone II Device EP2C70F896C6 Total logic elements 207 / 68,416 ( < 1 % ) Total pins 42 / 622 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 1,152,000 ( 0 % ) Embedded Multiplier 0 / 300( 0 % ) Total PLLs 0 / 4( 0 % ) Układ odbiorczy jest zatrzymywany ilekroć odbiornik jest w stanie idle i na linii rxd nic nie jest nadawane
38 SART - Testowanie Ciągle cos nie jest dobrze? Pojedyncze znaki przesyłane są bezbłędnie. Układ gubi synchronizację przy wysyłaniu ciągu znaków jeden za drugim
39 SART Brak synchronizacji Jeśli ramki są nadawane jedna za drugą, układ nie wchodzi do stanu idle, a więc się mechanizm synchronizacji nie działa
40 Synchronizacja międzyramkowa Cisza Start d1 d2 d3 d4 d5 d6 d7 d8 Bit(y) stopu Cisza 1 0 r_start r_data1 r_data2 r_data3 r_data4 r_idle 0 1 r_stop2 r_stop1 r_data8 r_data7 r_data6 r_data5 Należy zmienić automat tak, by po każdej ramce automat wchodził w stan idle
41 Synchronizacja międzyramkowa type RCV_STATE_TYPE is ( r_idle, r_start, r_data1, r_data2,r_data3,r_data4,r_data5,r_data6,r_data7,r_data8, r_stop1 ); signal rcv_reg, rcv_next : RCV_STATE_TYPE; when r_data8 => data_ready_next <= '1'; rcv_next <= r_stop1; when r_stop1 => rcv_next <= r_idle; when others => rcv_next <= r_idle; end case; Tylko jeden stan stop; Po pierwszym bicie stopu automat przechodzi do stanu idle
42 Realizacja SART wyniki Fitter Summary Top-level Entity Name echo_kontroler Family Cyclone II Device EP2C70F896C6 Total logic elements 207 / 68,416 ( < 1 % ) Total pins 42 / 622 ( 7 % ) Total virtual pins 0 Total memory bits 0 / 1,152,000 ( 0 % ) Embedded Multiplier 0 / 300( 0 % ) Total PLLs 0 / 4( 0 % )
43 Testowanie z wykorzystaniem testbench a (1) Emulacja nadawania znaków send BusIn[7..0] readytosend UUT dataready BusOut[7..0] Emulacja odbierania znaków Generacja zegara clock RxD TxD Emulacja linii transmisyjnej
44 Testowania z wykorzystaniem testbench a (2) library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use ieee.std_logic_textio.all; use std.textio.all; entity simpleuart_tb is end simpleuart_tb; architecture testbench of simpleuart_tb is constant T : time := 20 ns; component simpleuart is generic( INCLK : natural := ; BAUDRATE : natural := 9600 ); port( clock : in std_logic; reset : in std_logic; send : in std_logic; rxd : in std_logic; data_in : in std_logic_vector(7 downto 0); data_ready : out std_logic; clear_to_send : out std_logic; txd : out std_logic; data_out : out std_logic_vector(7 downto 0) ); end component; Biblioteki komunikacji z plikami istniejącymi w danym systemie operacyjnym. Jednostka testbench a nie posiada portów Okres zegara 20 ns, czyli f = 50 MHz Deklaracja komponentu, który podlegał będzie testowaniu
45 Testowania z wykorzystaniem testbench a (3) signal clock_st : std_logic; signal reset_st : std_logic; signal send_st : std_logic; signal rxd_st : std_logic; signal data_in_st : std_logic_vector(7 downto 0); signal data_ready_rsp : std_logic; signal clear_to_send_rsp: std_logic; signal txd_rsp : std_logic; signal data_out_rsp : std_logic_vector(7 downto 0); signal transmission_line : std_logic; UUT : simpleuart generic map( INCLK => , BAUDRATE => 9600 ) port map( clock => clock_st, reset => reset_st, send => send_st, rxd => rxd_st, data_in => data_in_st, data_ready => data_ready_rsp, clear_to_send => clear_to_send_rsp, txd => txd_rsp, data_out => data_out_rsp ); Deklaracja sygnałów pobudzeń Deklaracja sygnałów odpowiedzi Deklaracja sygnału linii transmisyjnej Konkretyzacja komponentu, który będzie podlegał testowaniu i podłączenie sygnałów pobudzeń i odpowiedzi
46 Testowania z wykorzystaniem testbench a (4) clock : process clock_st <= '0'; clock_st <= '1'; wait for T/2; wait for T/2; Proces generacji zegara o częstotliwości f = 50 MHz init : process assert false report "Simulation Start" severity note; reset_st <= '0'; reset_st <= '1'; wait until falling_edge(clock_st); wait; tarnsmission_line : process(txd_rsp) transmission_line <= transport txd_rsp after 33 us; Proces inicjacyjny (reset systemu, komunikat o rozpoczęciu testu, itp.. Proces emulujący linie transmisyjną opóźniającą sygnał o 33 us rxd_st <= transmission_line;
47 Testowania z wykorzystaniem testbench a (5) generator : process variable c_str : line; send_st <= '0'; data_in_st <= (others => '0'); wait until clear_to_send_rsp = '1'; wait until falling_edge(clock_st); data_in_st <= " "; send_st <= '1'; wait until clear_to_send_rsp = '0'; wait until falling_edge(clock_st); send_st <= '0'; write(c_str, data_in_st); assert false report time'image(now) & ": Wyslano : " & c_str.all severity note; deallocate(c_str); wait until clear_to_send_rsp = '1'; wait until falling_edge(clock_st); data_in_st <= " "; send_st <= '1'; Proces emulujący nadawanie znaków poczekaj na clear_to_send = 1 wystaw dane i sygnał send poczekaj na clear_to_send = 0 ustaw send na 0 Wyświetl komunikat o wysłaniu danych Wyślij kolejny znak wait until clear_to_send_rsp = '0'; wait until falling_edge(clock_st); send_st <= '0'; write(c_str, data_in_st); assert false report time'image(now) & ": Wyslano : " & c_str.all severity note; wait;
48 Testowania z wykorzystaniem testbench a (6) monitor : process variable c_str : line; wait until data_ready_rsp = '1'; wait until falling_edge(clock_st); write(c_str, data_out_rsp); assert false report time'image(now) & ": Odebrano : " & c_str.all severity note; deallocate(c_str); Proces emulujący odbieranie znaków sim_stop : process wait for 3 ms; assert false report "Simulation stopped severity failure; Proces zatrzymujący symulację po zadanym czasie end;
49 Wykorzystanie testbench a w MedelSim
Transmisja danych cyfrowych
ransmisja danych cyfrowych Mariusz Rawski rawski@tele.pw.edu.pl www.zpt.tele.pw.edu.pl/~rawski/ Mariusz Rawski 1 łytka laboratoryjna U1 Education Board Mariusz Rawski 2 Standard RS 232 Standard RS-232
Bardziej szczegółowoProjektowanie hierarchiczne Mariusz Rawski
CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości
Bardziej szczegółowoLaboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.
Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane
Bardziej szczegółowoUkłady reprogramowalne i SoC Język VHDL (część 4)
Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki
Bardziej szczegółowoAby 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.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
Bardziej szczegółowoProjekt prostego procesora
Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego
Bardziej szczegółowoWOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH
WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH SPRAWOZDANIE Temat: Projekt notesu elektronicznego w języku VHDL przy użyciu układów firmy
Bardziej szczegółowoSpecyfika projektowania Mariusz Rawski
CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania
Bardziej szczegółowoSystemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Bardziej szczegółowoProgramowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 Komunikacja z układami cyfrowymi W5 30.03.2016 dr inż. Daniel Kopiec Plan wykładu 1 2 3 4 5 6 Standard komunikacji RS232 Enkoder obrotowy Wyświetlacz
Bardziej szczegółowoUkłady reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.
Testbenches. Symulacja sterowana zdarzeniami. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -
Bardziej szczegółowoModelowanie złożonych układów cyfrowych (1)
Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe
Bardziej szczegółowoProjektowanie hierarchiczne Mariusz Rawski
CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Worek różności jak dobrać się do gotowców w Spartanach? Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 12 kwietnia 2011 Spis treści Wbudowane
Bardziej szczegółowoLABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35
LABORATORIUM TECHNIKA CYFROWA Pamięci Rev.1.35 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z projektowania modułów sterowania oraz kontroli pamięci 2. Kolokwium Kolokwium wstępne sprawdzające
Bardziej szczegółowoProjektowanie automatów z użyciem VHDL
Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu
Bardziej szczegółowoSystemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów
Bardziej szczegółowoTECHNIKA MIKROPROCESOROWA
LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera
Bardziej szczegółowoAltera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński
Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...
Bardziej szczegółowoElementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1
Elementy języka VHDL obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne PUE-w3 1 Obiekty (sygnały, zmienne, stałe, pliki) Obiekty służą do zapisu i pamiętania
Bardziej szczegółowoTECHNIKA MIKROPROCESOROWA
LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART ATmega Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera
Bardziej szczegółowoWydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego
Bardziej szczegółowoKrótkie wprowadzenie do ModelSim i Quartus2
Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera
Bardziej szczegółowo1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File
1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project
Bardziej szczegółowoInterfejs transmisji danych
Interfejs transmisji danych Model komunikacji: RS232 Recommended Standard nr 232 Specyfikacja warstw 1 i 2 Synchroniczna czy asynchroniczna DTE DCE DCE DTE RS232 szczegóły Uproszczony model komunikacyjny
Bardziej szczegółowoProjektowanie w VHDL
Projektowanie w VHDL powtórka wiadomości o języku VHDL słowa zastrzeżone typy danych, deklaracje obiektów instrukcje współbieżne i sekwencyjne pętle for, while typowe bloki układów cyfrowych przykłady
Bardziej szczegółowomgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 Analiza układów sekwencyjnych W3 7.03.2018 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Zmiany w terminach Plan wykładu 1 2 3 4 5 6 Ciekawostki
Bardziej szczegółowoSystemy Czasu Rzeczywistego FPGA
01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2
Bardziej szczegółowoSynteza strukturalna
Synteza strukturalna Analizując algorytm pracy układu opisany siecią działań dobiera się: bloki funkcjonalne służące do przechowywania zmiennych, bloki operacyjne służące do wykonywania operacji występujących
Bardziej szczegółowoZaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:
Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi
Bardziej szczegółowoINTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS
INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH Interfejsy klasy RS Grzegorz Lentka/Marek Niedostatkiewicz Katedra Optoelektroniki i Systemów Elektronicznych ETI PG 2010 RS232 (1) RS232-1962, RS232C - 1969, Electronic
Bardziej szczegółowoTechnika Cyfrowa. Wprowadzenie do laboratorium komputerowego część II
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Technika Cyfrowa Wprowadzenie do laboratorium komputerowego część II Wstęp W ramach zajęć przedstawione zostaną
Bardziej szczegółowoUniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter
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
Bardziej szczegółowoRealizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.
Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 6 (wersja 2015) 1. Wstęp 1.1. Algorytm Realizacja algorytmu
Bardziej szczegółowoJęzyki opisu sprzętu VHDL Mariusz Rawski
CAD Języki opisu sprzętu VHDL rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Języki opisu sprzętu System cyfrowy może być opisany na różnych poziomach abstrakcji i z wykorzystaniem różnych sposobów
Bardziej szczegółowoUkł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
Michał Leśniewski Tomasz Władziński 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 Realizacja funkcji gamma entity
Bardziej szczegółowoLABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD
LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD 1. Wstęp i cel ćwiczenia W ćwiczeniu student tworzy barierę podczerwieni złożoną z diody nadawczej IR (Infra
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 9 (3h) Projekt struktury hierarchicznej układu cyfrowego w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu
Bardziej szczegółowoUkłady reprogramowalne i SoC Specjalizowane moduły FPGA
Specjalizowane moduły FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 6 (2h) Automaty stanów Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza układów cyfrowych studia niestacjonarne,
Bardziej szczegółowoPrzemysłowe Sieci informatyczne
Wykład #3 Transmisja szeregowa Przemysłowe Sieci informatyczne Opracował dr inż. Jarosław Tarnawski Plan wykładu Transmisja szeregowa i równoległa Transmisja synchroniczna i asynchroniczna Simpleks, pół
Bardziej szczegółowoDOKUMENTACJA PROJEKTU
AKADEMIA GÓRNICZO-HUTNICZA w Krakowie KATEDRA ELEKTRONIKI DOKUMENTACJA PROJEKTU Projekt z przedmiotu Sprzętowa Implementacja Algorytmów: Dekoder klawiatury na PS/2 Prowadzący: Dr inż. Paweł Russek Wykonali:
Bardziej szczegółowodokument DOK 02-05-12 wersja 1.0 www.arskam.com
ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania
Bardziej szczegółowoUrządzenia peryferyjne procesora ColdFire
Urządzenia peryferyjne procesora ColdFire 1 Moduł generatora sygnału zegarowego (Clock Module) 2 Generator z pętlą PLL (1) Pętla synchronizacji fazy, pętla sprzężenia fazowego, PLL (ang. Phase Locked Loop)
Bardziej szczegółowoProgramowanie mikrokontrolerów. 15 stycznia 2008
Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 15 stycznia 2008 RS232 Jeden z najstarszych interfejsów szeregowych Pierwotne przeznaczenie to łączenie terminali znakowych z komputerem, często
Bardziej szczegółowo. Rodzaje transmisji sygnału i RS-232
. Rodzaje transmisji sygnału i RS-232 1. Transmisja szeregowa i równoległa Transmisja sygnału może przebiegać w różnoraki sposób. Najbardziej podstawowym z podziałów, jest podział transmisji sygnału na
Bardziej szczegółowoTechnika cyfrowa projekt: Sumator 4 bitowy równoległy
Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym
Bardziej szczegółowoXC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type
Układy Cyfrowe i Systemy Wbudowane 2 XC4000: LUT jako ROM Układy FPGA cz. 2 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.edu.pl W-4/K-9, pok. 227 C-3 FPGA(2) - 1 FPGA(2) - 2 ROM32X1 VHDL inference example
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Układy kombinacyjne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 28 września 2015 Co to jest układ kombinacyjny? Stan wyjść zależy tylko
Bardziej szczegółowoSML3 październik
SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu
Bardziej szczegółowoPUCY Kolos 2: Reloaded
PUCY Kolos 2: Reloaded 1) Narysować schemat układu mikroprogramowalnego z licznikiem rozkazów. 2) Narysować schemat elementu ścieżki cyklicznej dla sygnału kombinacyjnego 3) Narysować schemat elementu
Bardziej szczegółowoSystemy wbudowane Wykład 6 - transmisje szeregowe: UART i pochodne. Komunikacja szeregowa Notes. Rodzaje transmisji Notes. Rodzaje transmisji Notes
Systemy wbudowane Wykład 6 - transmisje szeregowe: UART i pochodne Przemek Błaśkiewicz 22 kwietnia 2018 1 / 57 Komunikacja szeregowa http://websdr.org 2 / 57 Rodzaje transmisji simplex/sympleks Komunikacja
Bardziej szczegółowoĆwiczenie 1 VHDL - Licznik 4-bitowy.
Ćwiczenie 1 VHDL - Licznik 4-bitowy. Zadaniem studenta jest zaprojektowanie w układzie CoolRunner2 układu, który dzieli częstotliwość zegara wejściowego generując sygnał taktowania licznika 4-bitowego,
Bardziej szczegółowoSTANDARDY INTERFEJSU SZEREGOWEGO
INTERFEJSY Każde urządzenie zewnętrzne jest połączone za pomocą interfejsu z modułem we/wy. Interfejs musi byd dostosowany do natury i sposobu działania urządzenia zewnętrznego. STANDARDY INTERFEJSU SZEREGOWEGO
Bardziej szczegółowoZakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska,
Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 8 (wersja 2015) 1. Wstęp Komputer PC jest użyty do syntezy
Bardziej szczegółowoTechnika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa
Bardziej szczegółowoSposoby projektowania systemów w cyfrowych
Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie
Bardziej szczegółowoUkłady Cyfrowe laboratorium
Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 7 Temat: Realizacja układu sterującego systemu cyfrowego z uwzględnieniem kodowania i dekompozycji funkcji pw automatu dla Metody Newtona, tj.
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Sygnały zegarowe Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 8 kwietnia 2013 Problem synchronizacji Projektujemy układy synchroniczne
Bardziej szczegółowoVHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL)
VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) Język VHDL jest jednym z nowszych języków opisu i projektowania układów cyfrowych. W lipcu 1983 roku firmy Intermetrics,
Bardziej szczegółowoKierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2
Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne
Bardziej szczegółowoSystem interfejsu RS 232C opracowali P. Targowski i M. Rębarz
System interfejsu RS 232C opracowali P. Targowski i M. Rębarz Standard RS 232C (Recommended Standard) został ustanowiony w 1969 r. przez Electronic Industries Association. Definiuje on sposób nawiązania
Bardziej szczegółowoTechniki mikroprocesorowe i systemy wbudowane
Intel 8051 układy Techniki mikroprocesorowe i systemy wbudowane Wykład 6 Układy oparte na procesorach rodziny Intel 51 Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa
Bardziej szczegółowoSynteza strukturalna Mariusz Rawski
CAD Synteza strukturalna rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Strukturalna realizacja przepływu danych Koncepcja zmiennych i sekwencyjnego wykonania operacji tak charakterystyczna dla
Bardziej szczegółowoProjektowanie układów kryptograficznych Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/
CAD Projektowanie układów kryptograficznych rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Kryptografia Kryptografia to dziedzina nauki, zajmująca się przekształcaniem informacji zwanej tekstem
Bardziej szczegółowoUkłady reprogramowalne i SoC Język VHDL (część 3)
Układy reprogramowalne i SoC Język VHDL (część 3) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 2 (3h) Przełączniki, wyświetlacze, multipleksery - implementacja i obsługa w VHDL Instrukcja pomocnicza do laboratorium
Bardziej szczegółowoPodstawy techniki cyfrowej zima 2015 Rafał Walkowiak
Podstawy techniki cyfrowej zima 2015 Rafał Walkowiak Wykład: synteza wyższego poziomu 1 Układy cyfrowe synteza strukturalna wyższego poziomu Ogólna struktura logiczna UC: bloki funkcjonalne dla realizacji
Bardziej szczegółowoCyfrowe przetwarzanie sygnałów Mariusz Rawski
CAD Cyfrowe przetwarzanie sygnałów Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Cyfrowe przetwarzanie sygnału A/D konwersja sygnału analogowego na cyfrowy (próbkowanie, kwantyzacja,
Bardziej szczegółowoKURS Hexcalcul (2) Implementacja kalkulatora kodu BCD na Hex w układzie programowalnym
KURS Hexcalcul (2) Implementacja kalkulatora kodu BCD na Hex w układzie programowalnym Dodatkowe materiały na CD Na przykładzie dosyć złożonego funkcjonalnie kalkulatora przeliczania kodu BCD na Hex, prezentujemy
Bardziej szczegółowoInstrukcje sekwencyjne
nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 1 rocesy Konstrukcja
Bardziej szczegółowoArchitektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych
Architektura Systemów Komputerowych Transmisja szeregowa danych Standardy magistral szeregowych 1 Transmisja szeregowa Idea transmisji szeregowej synchronicznej DOUT Rejestr przesuwny DIN CLK DIN Rejestr
Bardziej szczegółowoPodstawy techniki cyfrowej zima 2017 Rafał Walkowiak Synteza strukturalna wyższego poziomu
Podstawy techniki cyfrowej zima 2017 Rafał Walkowiak Wykład: synteza wyższego poziomu 16.12.2017 1 Układy cyfrowe synteza strukturalna wyższego poziomu Ogólna struktura logiczna UC: bloki funkcjonalne
Bardziej szczegółowoProjektowanie Urządzeń Cyfrowych
Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów
Bardziej szczegółowomgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec
Programowanie Układów Logicznych kod kursu: ETD6203 IoT, sieci neuronowe W9 24.04.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu IoT internet rzeczy Sieci neuronowe - wprowadzenie
Bardziej szczegółowoProgramowalne układy logiczne kod kursu: ETD Układy sekwencyjne W
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
Bardziej szczegółowoLABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Pierwszy projekt w środowisku
Bardziej szczegółowoKierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1
Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne
Bardziej szczegółowointerfejs szeregowy wyświetlaczy do systemów PLC
LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych
Bardziej szczegółowo4 Transmisja szeregowa, obsługa wyświetlacza LCD.
1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi
Bardziej szczegółowo4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.
13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,
Bardziej szczegółowoImplementacja algorytmu szyfrującego
Warszawa 25.01.2008 Piotr Bratkowski 4T2 Przemysław Tytro 4T2 Dokumentacja projektu Układy Cyfrowe Implementacja algorytmu szyfrującego serpent w układzie FPGA 1. Cele projektu Celem projektu jest implementacja
Bardziej szczegółowoRealizacja logiki kombinacyjnej Mariusz Rawski
CAD Realizacja logiki kombinacyjnej rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Logika kombinacyjna Logika jest logiką kombinacyjna jeśli wartość wyjść w danej chwili zależy wyłącznie od wartości
Bardziej szczegółowoUkłady reprogramowalne i SoC Implementacja w układach FPGA
Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez
Bardziej szczegółowoInstrukcja do oprogramowania ENAP DEC-1
Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych
Bardziej szczegółowoInterfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego
Interfejsy w systemach pomiarowych Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego Interfejsy w systemach pomiarowych Układ (topologia) systemu pomiarowe może być układem gwiazdy
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Bardziej szczegółowoProgramowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Bardziej szczegółowoMMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu
MMfpga01 MMfpga11 Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu 1 Spis treści 1. Instalacja aplikacji QUARTUS II Web Edition...3 2. Instalacja programu QUARTUS II Web
Bardziej szczegółowoPracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi
Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń Instrukcja do ćwiczenia nr 10 Transmisja szeregowa sieciami energetycznymi I. Cel ćwiczenia poznanie praktycznego wykorzystania standardu RS232C
Bardziej szczegółowoKonwerter DAN485-MDIP
Konwerter DAN485-MDIP KONWERTER DAN485-MDIP służy do zamiany standardu komunikacyjnego z RS232 na RS485 (lub RS422). Dzięki niemu możliwe jest transmitowanie danych na większe odległości (do 1200m) niż
Bardziej szczegółowoSprawdzian test egzaminacyjny 2 GRUPA I
... nazwisko i imię ucznia Sprawdzian test egzaminacyjny 2 GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Przerzutniki Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 20 maja 2013 Przerzutnik synchroniczny Układ synchroniczny wyzwalany ustalonym
Bardziej szczegółowoInterfejsy systemów pomiarowych
Interfejsy systemów pomiarowych Układ (topologia) systemu pomiarowe może być układem gwiazdy układem magistrali (szyny) układem pętli Ze względu na rodzaj transmisji interfejsy możemy podzielić na równoległe
Bardziej szczegółowoVHDL cz.1. Rafał Walkowiak IIn PP Wer
VHDL cz.1 Rafał Walkowiak IIn PP Wer 2.0 11.2013 VHDL VHDL (ang. Very High Speed Integrated Circuits Hardware Description Language ) jest popularnym językiem opisu sprzętu używanym w komputerowym projektowaniu
Bardziej szczegółowoProgramowanie Układów Logicznych kod kursu: ETD6203. VHDL, ISE WebPACK, Plan Ahead, Impact W
Programowanie Układów Logicznych kod kursu: ETD6203 VHDL, ISE WebPACK, Plan Ahead, Impact W2 28.02.2018 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu 1 2 3 4 5 6 VHDL powtórka ważniejszych
Bardziej szczegółowoVHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014
VHDL przykłady rozwiązań Zebrał i opracował R.Walkowiak PTC wykład 2013/2014 for generate Tworzenie wektora obiektów : for in generate -- wyrażenia równoległe end
Bardziej szczegółowo