PRUS - Projektowanie Programowalnych Układów Scalonych
description
Transcript of PRUS - Projektowanie Programowalnych Układów Scalonych
Krzysztof Jasiński 1
ITPW
ZPTPRUS 2007
PRUS - Projektowanie
Programowalnych Układów Scalonych
Krzysztof Jasiński
Krzysztof Jasiński 2
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 3
ITPW
ZPTPRUS 2007
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)
Krzysztof Jasiński 4
ITPW
ZPTPRUS 2007
Transceiver nRF2401A Schemat blokowy
Krzysztof Jasiński 5
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Stany i tryby pracy
Stan pracy
Sygnały sterujące
Tryby pracy (w stanie aktywnym)
• ShockBurst
• Direct Mode
Stany pracy
Krzysztof Jasiński 6
ITPW
ZPTPRUS 2007
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.)
Krzysztof Jasiński 7
ITPW
ZPTPRUS 2007
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.)
Krzysztof Jasiński 8
ITPW
ZPTPRUS 2007
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:
Krzysztof Jasiński 9
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Budowa słowa konfiguracyjnego
Krzysztof Jasiński 10
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 11
ITPW
ZPTPRUS 2007
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ść.
Krzysztof Jasiński 12
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 13
ITPW
ZPTPRUS 2007
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,
Krzysztof Jasiński 14
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Budowa słowa konfiguracyjnego
Ogólna konfiguracja
XO_F – wybór częstotliwości kwarcu,
Krzysztof Jasiński 15
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Budowa słowa konfiguracyjnego
Ogólna konfiguracja
RF_PWR – wybór mocy nadajnika,
Krzysztof Jasiński 16
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 17
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 18
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 19
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 20
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)
Wprowadzanie w stan konfiguracji
Tpd2cfgm – czas przejścia do stanu konfiguracji (z uśpienia)
≥ 3ms
Krzysztof Jasiński 21
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 22
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)
Sterowanie w trybie konfiguracji
Tcs2data – odstęp pomiędzy sygnałem CS a konfiguracją
Td ≥ 50 ns; Tcs2data ≥ 10 µs; Ts, Th ≥ 500 ns Thmin ≥ 500 ns (CLK1 = 1)
Krzysztof Jasiński 23
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)
Sterowanie w trybie TX (ShockBurst)
Td ≥ 50 ns; 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
Krzysztof Jasiński 24
ITPW
ZPTPRUS 2007
Transceiver nRF2401A:Sterowanie – zależności czasowe (timing)
Sterowanie w trybie RX (ShockBurst)
Td ≥ 50 ns; 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
Krzysztof Jasiński 25
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 26
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 27
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 28
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 29
ITPW
ZPTPRUS 2007
FT245BMKonwerter USB <=> port równoległy
Krzysztof Jasiński 30
ITPW
ZPTPRUS 2007
FT245BMKonwerter USB <=> port równoległy
Krzysztof Jasiński 31
ITPW
ZPTPRUS 2007
FT245BMSchemat blokowy
Krzysztof Jasiński 32
ITPW
ZPTPRUS 2007
FT245BMSchemat wyprowadzeń
Krzysztof Jasiński 33
ITPW
ZPTPRUS 2007
FT245BMOpis wyprowadzeń: magistrala danych
Krzysztof Jasiński 34
ITPW
ZPTPRUS 2007
FT245BMOpis wyprowadzeń: sygnały sterujące
Po odczycie RXF# zmienia wartość 0 =>1 (na krótko)
Krzysztof Jasiński 35
ITPW
ZPTPRUS 2007
FT245BMOpis wyprowadzeń: sygnały interfejsu USB
Krzysztof Jasiński 36
ITPW
ZPTPRUS 2007
FT245BM: opis wyprowadzeń - sygnały pamięci konfiguracyjnej
Krzysztof Jasiński 37
ITPW
ZPTPRUS 2007
FT245BM: opis wyprowadzeń - sygnały sterujące (dodatkowe)
Krzysztof Jasiński 38
ITPW
ZPTPRUS 2007
FT245BM:konfiguracja (full speed) - zasilanie z USB
Rezystor konfiguracyjny
(full speed)
Filtr zasilania
Krzysztof Jasiński 39
ITPW
ZPTPRUS 2007
FT245BM:diagram sterowania – cykl odczytu FIFO (z USB)
Czas na przeładowanie rejestru FIFO
Tabela wymagań czasowych
Krzysztof Jasiński 40
ITPW
ZPTPRUS 2007
FT245BM:diagram sterowania – cykl zapisu FIFO (do USB)
Czas na przeładowanie rejestru FIFO
Tabela wymagań czasowych
Krzysztof Jasiński 41
ITPW
ZPTPRUS 2007
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
Krzysztof Jasiński 42
ITPW
ZPTPRUS 2007
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)