50
I T P W ZPT 2009 PRUSn_W2 Krzysztof Jasiński 1 PRUS - Projektowanie Programowalnych Układów Scalonych Krzysztof Jasiński [email protected]

PRUS - Projektowanie Programowalnych Układów Scalonych

Embed Size (px)

DESCRIPTION

PRUS - Projektowanie Programowalnych Układów Scalonych. Krzysztof Jasiński [email protected]. Wprowadzenie do tematyki projektów. Transceiver (nadajnik- odbiornik) RF: - budowa i zasady działania, - parametry i konfiguracja, - sterowanie, wymagania czasowe - PowerPoint PPT Presentation

Citation preview

Page 1: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 1

PRUS - Projektowanie

Programowalnych Układów Scalonych

Krzysztof Jasiński

[email protected]

Page 2: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 2

Wprowadzenie do tematyki projektów

Transceiver (nadajnik- odbiornik) RF:

- budowa i zasady działania,

- parametry i konfiguracja,

- sterowanie, wymagania czasowe

Konwerter USB <=> port równoległy (FPGA)

- budowa i zasady działania,

- sterowanie, obsługa transmisji Wyświetlacz alfanumeryczny LCD

- budowa i zasady działania

- procedury obsługi, wymagania czasowe

Page 3: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 3

Transceiver RF – nRF2401A (NORDIC)

Charakterystyka modułu transceivera

nadajnik-odbiornik sterowany cyfrowo (2.4 GHz)

szybkość transmisji 250kbs/1Mbs

125 kanałów w odstępach co 1 MHZ

transmisja pakietowa w dwóch trybach pracy: ShockBurst i Direct

pamięć konfiguracji nietrwała (rekonfiguracja po włączeniu zasilania)

automatyczna obsługa nadawania/odbioru (tryb ShockBurst)

dodatkowy odbiornik (praca równoległa w kanale N+8)

zasilanie: 1.9 ÷ 3.6 V

czułość: -93 dBm

maksymalna moc wyjściowa: 1 mW (standard ISM)

Page 4: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 4

Transceiver nRF2401A Schemat blokowy

Page 5: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 5

Transceiver nRF2401A:Stany i tryby pracy

Stan pracy

Sygnały sterujące

Tryby pracy (w stanie aktywnym)

• ShockBurst

• Direct Mode

Stany pracy

Page 6: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 6

Transceiver nRF2401A:Zasady działania – tryb ShockBurst

Nadawanie TX

1. nRF2401: TX; jeśli CE = 1, to 2. (inaczej 1.)

2. Wprowadzanie adresu i bloku danych (Payload); (3.)

3. Obliczanie sygnatury CRC; (4.)

4. Jeśli CE = 0, to 5. (inaczej 4.)

5. Tworzenie pakietu – dodanie preambuły; (6.);

6. Wysyłanie pakietu w „eter”; (7)

7. Jeśli wysyłanie pakietu zakończone, to 1. (inaczej 7.)

Page 7: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 7

Transceiver nRF2401A:Zasady działania – tryb ShockBurst

Odbiór RX

1. Jeśli nRF2401 w RX to 2. (inaczej 1.)

2. Jeśli wykryta preambuła, to odbiór pakietu; (3.)

3. Jeśli poprawny adres, to odbiór danych (payload); (4.)

4. Jeśli CRC odebrane jest zgodne z obliczonym, to 5. (inaczej 1.)

5. Ustawienie sygnału DR = 1 (dane gotowe); (6.)

6. Odczytywanie pakietu; jeśli koniec, to (7) (inaczej 6.)

7. Ustawienie sygnału DR = 0 (dane odczytane); (1.)

Page 8: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 8

Transceiver nRF2401A:Konfiguracja układu

Konfiguracja dla trybu ShockBurst

interfejs 3-liniowy;

słowo konfiguracyjne 15 byte’ów;

parametry pakietu:

- rozmiar bloku danych (liczba bitów)

- rozmiar pola adresu

- adres własny

- rozmiar pola CRC

budowa pakietu:

Page 9: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 9

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

Page 10: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 10

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

DATAx_W = 256 – ADDR_W – CRC

ADDR_W – długość pola adresu

CRC – 8 lub 16 bitów

PRE – preambuła 8 bitów, dołączana automatycznie do pakietu

Liczba bitów w bloku danych (odbiór)

kanał 1

kanał 2

Page 11: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 11

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

ADDRx – adres odbiorczy kanału 1/2

ADDR1/ ADDR2: do 40 bitów

Bity adresu powyżej zadeklarowanej długości są nadmiarowe i mogą dowolną wartość.

Page 12: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 12

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

ADDR_W & CRC

ADDR_W: liczba bitów pola adresu (max. = 40);

większe liczby są ignorowane,

CRC_L: 0 - 8-bitów CRC, 1 - 16-bitów CRC,

CRC_EN: 0 - CRC nieaktywne, 1 - CRC aktywne

Page 13: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 13

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

Ogólna konfiguracja

RX2_EN: 0 – jeden kanał (1-szy), 1 – dwa kanały,

CM: 0 - nRF2401A w trybie Direct Mode,

1 - nRF2401A w trybie ShockBurst,

RFDR_SB: 0 - 250kbps; 1 - 1Mbps,

Page 14: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 14

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

Ogólna konfiguracja

XO_F – wybór częstotliwości kwarcu,

Page 15: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 15

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

Ogólna konfiguracja

RF_PWR – wybór mocy nadajnika,

Page 16: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 16

Transceiver nRF2401A:Budowa słowa konfiguracyjnego

Ogólna konfiguracja

RF_CH#x – numer częstotliwości kanału x,

RXEN – wybór kierunku transmisji:

0 – TX (nadawanie)

1 – RX (odbiór)

RF_CH# - 2400 MHz ÷ 2527 MHz

RF_CH#2 = RF_CH1 + 8 MHz

RF_CH#1 – kanał podstawowy, RF_CH#2 – kanał dodatkowy

Page 17: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 17

Transceiver nRF2401A:Budowa pakietu

1. Preambuła

01010101 jeśli 1-szy bit adresu = 0

10101010 jeśli 1-szy bit adresu = 1

jest automatycznie dołączana do pakietu przy nadawaniu,

jest automatycznie usuwana z pakietu przy odbiorze

Page 18: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 18

Transceiver nRF2401A:Budowa pakietu

2. Adres

Pole adresu - 8÷40 bitów

Jest automatycznie usuwany przy odbiorze

3. PAYLOAD

256 – (Adres + CRC)

4. CRC

Sygnatura 8 lub 16 bitów,

Automatycznie usuwana przy odbiorze

Page 19: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 19

Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)

Sygnały i ich funkcje

PWR_UP – stan wyłączenia

– uśpienie, konfiguracja, działanie (RX lub TX)

Stan aktywny

CS – konfiguracja

CE – działanie

Port szeregowy

CLK1/2 – zegar (kanał 1/2)

DATA1/2 – linia transmisji danych konfiguracyjnych lub radiowych

Page 20: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 20

Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)

Wprowadzanie w stan konfiguracji

Tpd2cfgm – czas przejścia do stanu konfiguracji (z uśpienia)

≥ 3ms

Page 21: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 21

Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)

Wprowadzanie w stan aktywny – RX/TX

Tpd2a – czas przejścia do stanu aktywnego RX/TX (z uśpienia)

≥ 3ms

Page 22: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 22

Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)

Sterowanie w trybie konfiguracji

Tcs2data – odstęp pomiędzy sygnałem CS a konfiguracją

Tcs2data ≥ 10 µs; Ts, Th ≥ 500 ns Thmin ≥ 500 ns (CLK1 = 1)

Page 23: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 23

Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)

Sterowanie w trybie TX (ShockBurst)

Tce2data ≥ 10 µs Thmin ≥ 500 nsTsby2txSB ≥ 300 µs Ts, Th ≥ 500 ns

Tsby2txSB – czas przygotowania pakietu przed wysłaniem w „eter” Tce2data – odstęp pomiędzy

sygnałem CE a stanem aktywnym TX

Page 24: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 24

Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)

Sterowanie w trybie RX (ShockBurst)

Tce2data ≥ 10 µs Thmin ≥ 500 nsTsby2rx ≥ 300 µs Ts, Th ≥ 500 ns

Tsby2rxSB – czas przygotowania pakietu po odbiorze z „eteru” Tce2data – odstęp pomiędzy

sygnałem CE a stanem aktywnym RX

Page 25: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 25

Transceiver nRF2401A:Sterowanie w trybie nadawania

PWR_UP=0

PWR_UP=1 /

t=T3ms

(OFF)

t=0 / CS_s=1

S0 S2

S7

S3 S4

S5

S8 S6

t=T 10µs

t=t-1

t>0 t=0

L=120

L=L-1,DATA=RC[L]

L>0

L=0 / CS_r=1,t=T10µs

t=t-1

t>0

t=t-1

t>0

L>0

L=L-1,DATA=TX[L]

PWR_UP=0

S1

t=t-1

t>0

t=0

A=0

A=PLUS v MINUS

A=1 / t=T 10µs,

CE_s=1

t=0 / TX[ ]=(AD[ ],BD[ ])

(L=LAD+LBD)

L=0 / t=T300µs,

CE_r=1S9

t>0

t=t-1

t=0

Page 26: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 26

Transceiver nRF2401A:Sterowanie w trybie odbioru

PWR_UP=0

PWR_UP=1

t=T3ms

(OFF)

t=0 / CS_s=1

S0 S2

S7

S3 S4

S5

S8S9S10

t=T10µs

OE_s=1

t=t-1

t>0 t=0 / L=120,

OE_r=1

L=L-1, DATA=RC[L]

L>0

L=0 / OE_r=1, t=T10µs, CS_r=1

t>0

t=t-1

t>0

t=t-1

DR1=0

L>0

L=L-1, RX[L]=DATA

S1

t=t-1

t>0

t=0 / CE_s=1, t=T10µs

CE_s=1

t=T 10µs

DR1=1 / L=8

DR1=1

DR1=0 / CE_r=1write_s=1

TX[ ]=RX[ ]

write=1 / USB[ ]=TX[ ]

write=0 / t=T10µs

S6

Page 27: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 27

Transceiver nRF2401A:Sterowanie – zasady transmisji

transmisja danych - szeregowa synchroniczna,

zegar CLK1/2 - Fmax ≤ 1 MHz,

wpis/odczyt danych - przy zmianie zegara: 0 -> 1

kolejność przekazu - od MSB do LSB

odstęp pomiędzy

stanami aktywnymi - ≥ 10 µs

Page 28: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 28

Wprowadzenie do tematyki projektów

Transceiver (nadajnik- odbiornik) RF:

- budowa i zasady działania,

- parametry i konfiguracja,

- sterowanie, wymagania czasowe

Konwerter USB <=> port równoległy (FPGA)

- budowa i zasady działania,

- sterowanie, obsługa transmisji Wyświetlacz alfanumeryczny LCD

- budowa i zasady działania

- procedury obsługi, wymagania czasowe

Page 29: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 29

FT245BMKonwerter USB <=> port równoległy

Page 30: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 30

FT245BMSchemat blokowy

Page 31: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 31

FT245BMSchemat wyprowadzeń

Page 32: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 32

FT245BMOpis wyprowadzeń: magistrala danych

Page 33: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 33

FT245BMOpis wyprowadzeń: sygnały sterujące

Po odczycie RXF# zmienia wartość 0 =>1 (na krótko)

Page 34: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 34

FT245BMOpis wyprowadzeń: sygnały interfejsu USB

Page 35: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 35

FT245BM: opis wyprowadzeń - sygnały pamięci konfiguracyjnej

Page 36: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 36

FT245BM: opis wyprowadzeń - sygnały sterujące (dodatkowe)

Page 37: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 37

FT245BM:konfiguracja (full speed) - zasilanie z USB

Rezystor konfiguracyjny

(full speed)

Filtr zasilania

Page 38: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 38

FT245BM:diagram sterowania – cykl odczytu FIFO (z USB)

Czas na przeładowanie rejestru FIFO

Tabela wymagań czasowych

Page 39: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 39

FT245BM:diagram sterowania – cykl zapisu FIFO (do USB)

Czas na przeładowanie rejestru FIFO

Tabela wymagań czasowych

Page 40: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 40

Transceiver (nadajnik- odbiornik) RF:

- budowa i zasady działania,

- parametry i konfiguracja,

- sterowanie, wymagania czasowe

Konwerter USB <=> port równoległy (FPGA)

- budowa i zasady działania,

- sterowanie, obsługa transmisji

Wyświetlacz alfanumeryczny LCD

- budowa i zasady działania

- procedury obsługi, wymagania czasowe

Wprowadzenie do tematyki projektów

Page 41: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 41

Transceiver (nadajnik- odbiornik) RF:

- budowa i zasady działania,

- parametry i konfiguracja,

- sterowanie, wymagania czasowe

Konwerter USB <=> port równoległy (FPGA)

- budowa i zasady działania,

- sterowanie, obsługa transmisji

Wyświetlacz alfanumeryczny LCD

- budowa i zasady działania

- procedury obsługi, wymagania czasowe

Wyświetlacz alfanumeryczny LCD (2x16)

Page 42: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 42

Wyświetlacze LCD

Page 43: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 43

Wyświetlacze tekstowe i graficzne

Page 44: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 44

Konstrukcja wyświetlaczy LCD

Page 45: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 45

Architektura wyświetlacza LCD

Page 46: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 46

Wyświetlacz LCD - sterowanie

Page 47: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 47

Wyświetlacz LCD – generator znaków

Page 48: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 48

Wyświetlacz LCD – generator znaków cd.

Page 49: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 49

Wyświetlacz LCD - sterowanie

Page 50: PRUS -  Projektowanie Programowalnych Układów Scalonych

ITPW

ZPT2009 PRUSn_W2Krzysztof Jasiński 50

Wyświetlacz LCD - sterowanie