Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Opracowanie na postawie: Noty Texas Instruments: SWRS048, DN503 (SWRA112b), SWRS040C, SWRS041B Nordic Semiconductor: nrf2401 Single Chip 2,4 GHz Radio Transceiver, nrf24l01+ Single Chip 2,4 GHz Radio Transceiver
24.11.2011 Zygmunt Kubiak IIPP 2
Producent f. Chipcon (obecnie przejęta przez Texas Instruments) Zakres częstotliwości: 300 1000MHz Programowalna czułość nadajnika (od -20dBm do 10dBm) Zasięg do 2000 m Prędkość transmisji danych do 76,8 kbaud Modulacja: FSK, Manchester lub brak Wyjście RSSI kontrola poziomu odbieranego sygnału Oprogramowanie konfigurujące: SmartRF Studio 24.11.2011 Zygmunt Kubiak IIPP 2
Uproszczony schemat blokowy 24.11.2011 Zygmunt Kubiak IIPP 2
Syntezator częstotliwości z pętlą fazową 24.11.2011 Zygmunt Kubiak IIPP 2
Interfejs CC1000 PDATA, PCLK, PALE magistrala konfiguracyjna DIO, DCLK magistrala danych 24.11.2011 Zygmunt Kubiak IIPP 2
Konfiguracja rejestrów CC1000 Operacja zapisu TCL > 50 ns; pozostałe czasy > 10 ns PCLK < 10MHz 24.11.2011 Zygmunt Kubiak IIPP 2
Konfiguracja rejestrów CC1000 Operacja odczytu TCL > 50 ns; pozostałe czasy > 10 ns PCLK < 10MHz 24.11.2011 Zygmunt Kubiak IIPP 2
Interfejs danych CC1000 synchr. tryb NRZ 24.11.2011 Zygmunt Kubiak IIPP 2
Interfejs danych CC1000 synchr. tryb Manchester 24.11.2011 Zygmunt Kubiak IIPP 2
Interfejs danych CC1000 asynchr. tryb UART 24.11.2011 Zygmunt Kubiak IIPP 2
Interfejs danych CC1000 kodowanie Manchester 24.11.2011 Zygmunt Kubiak IIPP 2
Algorytm kalibracji CC1000 dla RX i TX 24.11.2011 Zygmunt Kubiak IIPP 2
Algorytm inicjalizacji CC1000 24.11.2011 Zygmunt Kubiak IIPP 2
Algorytm inicjalizacji CC1000 24.11.2011 Zygmunt Kubiak IIPP 2
Pomiar poziomu sygnału odbieranego 24.11.2011 Zygmunt Kubiak IIPP 2
Pomiar poziomu sygnału odbieranego dbm logarytmiczna jednostka miary mocy odniesiona do 1 mw (db odniesiony do mw stąd nazwa dbm). Moc wyrażona w dbm mówi o ile decybeli moc ta jest większa (lub mniejsza) od mocy 1 mw. Przykładowo 100 mw przeliczona na dbm wynosi: 10 * log 10 (100mW/1mW) = 10 * log 10 (100) = 10 * 2 = 20 dbm Przy czym: P [dbm] 30 = [dbw] 24.11.2011 Zygmunt Kubiak IIPP 2
Przykładowe wartości mocy w mw i odpowiadające im moce w dbm Moc w dbm Moc w mw -10 0,1 0 1 10 10 11 13 12 16 13 20 14 25 15 32 16 40 17 50 18 63 19 79 20 100 24.11.2011 Zygmunt Kubiak IIPP 2
Rejestry 24.11.2011 Zygmunt Kubiak IIPP 2
Rejestry 24.11.2011 Zygmunt Kubiak IIPP 2
Rejestry 24.11.2011 Zygmunt Kubiak IIPP 2
Rejestry 24.11.2011 Zygmunt Kubiak IIPP 2
Podłączenie modułów CC1000 z UNI DC F020 (Silabs) z programową obsługą interfejsów (danych i konfiguracji) 24.11.2011 Zygmunt Kubiak IIPP 23
Rozwiązania sprzętowe 24.11.2011 Zygmunt Kubiak IIPP 2
Rozwiązania sprzętowe 24.11.2011 Zygmunt Kubiak IIPP 2
24.11.2011 Zygmunt Kubiak IIPP 2
Producent f. Chipcon (obecnie przejęta przez Texas Instruments) Zakres częstotliwości: 2400 2483,5 MHz Wysoka czułość odbiornika (-104dBm przy 2,4kBaud i 1% stopie błędów) Programowana moc wyjściowa do +1 dbm Prędkość transmisji danych do 500 kbaud Modulacja: OOK, 2-FSK, GFSK i MSK Cyfrowe wyjście RSSI kontrola poziomu odbieranego sygnału Interfejs SPI (do 10 MHz) Oprogramowanie konfigurujące: SmartRF Studio 24.11.2011 Zygmunt Kubiak IIPP 27
Schemat aplikacyjny CC2500 24.11.2011 Zygmunt Kubiak IIPP 28
Schemat blokowy CC2500 24.11.2011 Zygmunt Kubiak IIPP 29
Środowisko konfiguracyjne CC2500 24.11.2011 Zygmunt Kubiak IIPP 30
Środowisko uruchomieniowe CC2500 24.11.2011 Zygmunt Kubiak IIPP 31
Format pakietu CC2500 Opcjonalne pola Pole długości Pole adresów Pole CRC (2 bajty) CRC nadmiarowe zabezpieczenie danych przy wykorzystaniu kodowania liniowego w celu wykrywania błędów transmisji FEC (ang. Forward Error Correction) - metoda korekcji błędów oparta na kodowaniu splotowym 24.11.2011 Zygmunt Kubiak IIPP 32
Format pakietu CC2500 Operacja wybielania danych (ang. data whitening) -jej zadaniem jest uniknięcie długich sekwencji zer lub jedynek co oznaczałoby wprowadzenie składowej stałej 24.11.2011 Zygmunt Kubiak IIPP 33
FEC (ang. Forward Error Correction) Zastosowana do korekcji błędów metoda kodowania splotowego powoduje dwukrotne zwiększenie długości zabezpieczanego bloku danych. W celu zwiększenia odporności na błędy dodatkowo przy włączeniu FEC dodatkowo stosowany jest przeplot. FEC gdy minimum 2 bajty danych. 24.11.2011 Zygmunt Kubiak IIPP 34
4-przewodowy interfejs SPI Faza i polaryzacja zegara 24.11.2011 Zygmunt Kubiak IIPP 35
4-przewodowy interfejs SPI CC2500 zawiera 47 rejestrów konfiguracyjnych (adr. 0 0x2E) Nagłówek z adresem Bity sterujące: R/W odczyt (R/W =1)/zapis danych (R/W =0), B=1 tryb burst, B=0 pojedynczy dostęp do rejestru Pojedynczy dostęp bajtowy (zapis i odczyt) 24.11.2011 Zygmunt Kubiak IIPP 36
4-przewodowy interfejs SPI Dostęp burst Operacja zapisu w trybie burst (bajt z adresem a potem 3 bajty danych wpisywane są do kolejnych rejestrów) Operacja odczytu w trybie pojedynczego dostępu (odczytywane są dane z kolejnych trzech rejestrów) 24.11.2011 Zygmunt Kubiak IIPP 37
Operacja zapisu i odczytu rejestru konfiguracyjnego CC2500 24.11.2011 Zygmunt Kubiak IIPP 38
Stroby poleceń (adr. 0x30 0x3F) są pojedynczymi bajtami instrukcji, które inicjują wewnętrzne sekwencje układu, np. start odbioru, start nadawania, przejście do trybu uśpienia itp. SIDLE wyjście z RX/TX, wyłączenie syntezatora i przejście do stanu bezczynności SRES programowy reset układu 24.11.2011 Zygmunt Kubiak IIPP 39
Status układu jest przekazywany przy wysyłaniu do układu nagłówka z adresem (1, 3), danych (2) lub strobów poleceń Pierwszy transfer zapis 0x0A do rejestru 0x02; odczytany status układu 0x0F oznacza liczbę bajtów (15 lub więcej) dostępnych w rejestrze TX FIFO Drugi transfer odczyt z rejestru 0x02 wartości 0x0A; odczytany status (3) 0x00 oznacza, że układ znajduje się w stanie bezczynności (IDLE) a RX FIFO jest pusty 24.11.2011 Zygmunt Kubiak IIPP 40
Bajt statusu CC2500 24.11.2011 Zygmunt Kubiak IIPP 41
Podłączenie modułów CC2500 z UNI DC F020 (Silabs) ze sprzętową obsługą SPI 24.11.2011 Zygmunt Kubiak IIPP 42
Moduły z układem CC2500 24.11.2011 Zygmunt Kubiak IIPP 43
24.11.2011 Zygmunt Kubiak IIPP 2
Producent f. Nordic Semiconductor Zakres częstotliwości: 2400 2483,5 MHz (pasmo ISM) 126 kanałów radiowych Wysoka czułość odbiornika (-82dBm przy 2Mbps, -94dbm przy 250 kbps) Programowana moc wyjściowa: 0, -6, -12, -18 dbm Prędkość transmisji danych 250 kbps, 1 Mbps, 2 Mbps Modulacja: GFSK Interfejs SPI (do 10 MHz) Tryby pracy: ShockBurst, Enhanced ShockBurst Tryb odbiornika Multiceiver równoległa obsługa do 6 nadajników z unikalnym adresowaniem w jednym kanale transmisyjnym 24.11.2011 Zygmunt Kubiak IIPP 45
Schemat blokowy układu nrf24l01+ 24.11.2011 Zygmunt Kubiak IIPP 46
Tryb ShockBurst Pakiet w trybie ShockBurst Preambuła 1bajt o wartości 0x55 gdy pierwszy bit adresu =0 i 0xAA gdy pierwszy bit adresu =1 (bajty transmitowane od najmłodszego bitu) automatycznie dodawana do pakietu Pole adresu ma długość 8 40 bitów Ładunek razem z polem adresu i CRC ma maks. długość 256bitów CRC jest opcjonalne pole 8 lub 16 bitów 24.11.2011 Zygmunt Kubiak IIPP 47
Tryb Enhanced ShockBurst Dynamiczna długość pakietu 1 32 bajtów Automatyczna obsługa pakietów analogicznie jak trybie ShockBurst (przygotowanie CRC w nadajniku, automatyczne adresu i CRC w odbiorniku) Automatyczna obsługa transakcji Automatyczne potwierdzanie pakietów (pakiet ACK) Automatyczna retransmisja Odbiornik może obsługiwać tryb MultiCeiver równoległa obsługa do 6 nadajników z unikalnym adresowaniem w jednym kanale transmisyjnym 24.11.2011 Zygmunt Kubiak IIPP 48
Pakiet w trybie Enhanced ShockBurst CRC jest wyznaczane na podstawie wielomianu lub Pole kontrolne pakietu Długość ładunku 0 (000000) do 32 (100000) bajtów PID - Identyfikacja pakietu pole służy do rozróżnienia czy pakiet jest nowy czy retransmitowany. Bit NO_ACK wykorzystywany jest gdy używane jest auto potwierdzanie pakietu. Ustawienie flagi w stan wysoki oznacza dla odbiornika, że pakiet nie może być potwierdzony. 24.11.2011 Zygmunt Kubiak IIPP 49
Tryb MultiCeiver 24.11.2011 Zygmunt Kubiak IIPP 50
Tworzenie adresu w trybie MultiCeiver 24.11.2011 Zygmunt Kubiak IIPP 51
Magistrala SPI Operacja odczytu Operacja zapisu 24.11.2011 Zygmunt Kubiak IIPP 52
Pamięć RX FIFO i TX FIFO 24.11.2011 Zygmunt Kubiak IIPP 53
Schemat aplikacyjny układu nrf24l01+ 24.11.2011 Zygmunt Kubiak IIPP 54
Moduły z układem nrf24l01+ lub odpowiednikiem 24.11.2011 Zygmunt Kubiak IIPP 55
Podłączenie modułów nrf24l01p z UNI DC F020 (Silabs) ze sprzętową obsługą SPI 24.11.2011 Zygmunt Kubiak IIPP 56
24.11.2011 Zygmunt Kubiak IIPP 2
Producent f. Chipcon (obecnie przejęta przez Texas Instruments) Wspiera protokół IEEE 802.15.4 Zakres częstotliwości: 2400 2483,5 MHz (16 kanałów) Wysoka czułość odbiornika (-95dBm przy 1% stopie błędów) Programowana moc wyjściowa: 8 kroków od -24dBm do 0dBm Prędkość transmisji danych 250 kbps (2MChip/s) Modulacja: O-QPSK (z rozpraszaniem widma) Interfejs SPI (do 10 MHz) RX FIFO - 128 B i TX FIFO - 128 B Oprogramowanie konfigurujące: SmartRF Studio 24.11.2011 Zygmunt Kubiak IIPP 58
Schemat blokowy układu radiowego CC2420 24.11.2011 Zygmunt Kubiak IIPP 59
Schemat aplikacyjny układu radiowego CC2420 24.11.2011 Zygmunt Kubiak IIPP 60
Środowisko konfiguracyjne układu radiowego CC2420 24.11.2011 Zygmunt Kubiak IIPP 61
Połączenie z mikrokontrolerem układu radiowego CC2420 FIFO wyjście aktywne gdy dane w FIFO FIFOP wyjście aktywne gdy przekroczenie bufora CCA określa poziom sygnału (czystość kanału) programowany jest próg (z krokiem 1dB przełączania wyjścia) SFD przechodzi w stan wysoki po wykryciu słowa synchronizującego 24.11.2011 Zygmunt Kubiak IIPP 62
Transmisja SPI w układzie CC2420 24.11.2011 Zygmunt Kubiak IIPP 63
Typy operacji poprzez SPI Przykład wielokrotnego dostępu 24.11.2011 Zygmunt Kubiak IIPP 64
Pin SFD w trakcie nadawania pakietu 24.11.2011 Zygmunt Kubiak IIPP 65
Format ramki IEEE 802.15.4 24.11.2011 Zygmunt Kubiak IIPP 66
Dane w RX FIFO jeśli ustawiony bit AUTOCRC 24.11.2011 Zygmunt Kubiak IIPP 67
Format ramki potwierdzenia 24.11.2011 Zygmunt Kubiak IIPP 68
Podłączenie modułów CC2420 z UNI DC F020 (Silabs) ze sprzętową obsługą SPI 24.11.2011 Zygmunt Kubiak IIPP 69
Moduły z układem CC2420 24.11.2011 Zygmunt Kubiak IIPP 70
24.11.2011 Zygmunt Kubiak IIPP 2
Producent f. Microchip Zakres częstotliwości: 2400 2483,5 MHz (16 kanałów) Wysoka czułość odbiornika (-95dBm przy 1% stopie błędów) Programowana moc wyjściowa -36 dbm do 0 dbm Prędkość transmisji danych 250 kbps (IEEE 802.15.4); 625 kbps (Turbo mode) Modulacja: O-QPSK (z rozpraszaniem widma) Interfejs 4-przewodowy SPI (do 10 MHz) MRF24J40 jest zgodny ze standardem IEEE 802.15.4-2003 24.11.2011 Zygmunt Kubiak IIPP 72
Schemat blokowy układu radiowego MRF24J40 24.11.2011 Zygmunt Kubiak IIPP 73
Odczyt z krótkim adresem (6 bitów, adr. rej. 0 0x3F ) Zapis z krótkim adresem 24.11.2011 Zygmunt Kubiak IIPP 74
Odczyt z długim adresem (10 bitów, adr. rej. 0x200 0x24C) Zapis z długim adresem 24.11.2011 Zygmunt Kubiak IIPP 75
Mapa pamięci MRF24J40 24.11.2011 Zygmunt Kubiak IIPP 76
Struktura ramek warstw PHY i MAC w IEEE 802.15.4 24.11.2011 Zygmunt Kubiak IIPP 77
Struktura superramki CAP przedział z rywalizacją CFP przedział bez rywalizacji GTS przedział gwarantowanego czasu 24.11.2011 Zygmunt Kubiak IIPP 78
Struktura superramki Start superramki może być generowany w granicach od 15 ms do 251 s W obszarze CAP (ang. Contention Access Period) dostęp do medium w szczelinach czasowych jest oparty na rywalizacji mechanizm CSMA-CA (ang. Carrier Sense Multiple Access-Collision Avoidance) Koordynator PAN może wyznaczyć szczeliny czasowe dla konkretnego urządzenia (obszar CFP ang. Contention Free Period), które wymaga dedykowanej szerokości pasma lub transmisji o małych opóźnieniach. Tak przygotowane szczeliny czasowe nazywane są GTS (ang. Guaranted Time Slot) przedział czasu dostępu dla danego urządzenia, bez rywalizacji. 24.11.2011 Zygmunt Kubiak IIPP 79
Tryb bez superramki z mechanizmem dostępu CSMA-CA 24.11.2011 Zygmunt Kubiak IIPP 80
Odległości między ramkami; LIFS i SIFS parametry ustawiane przy pomocy rejestrów (0x21,0x27, 0x2E) 24.11.2011 Zygmunt Kubiak IIPP 81
Odbierany pakiet 24.11.2011 Zygmunt Kubiak IIPP 82
Pakiet nadawany 24.11.2011 Zygmunt Kubiak IIPP 83
Podłączenie modułów MRF24J40 z UNI DC F020 (Silabs) ze sprzętową obsługą SPI 24.11.2011 Zygmunt Kubiak IIPP 84
Moduły z układem MRF24J40 24.11.2011 Zygmunt Kubiak IIPP 85