Instrukcja laboratoryjna - Układy radiowe małej mocy File

Transkrypt

Instrukcja laboratoryjna - Układy radiowe małej mocy File
Instytut Informatyki
Zakład Mikroinformatyki
i Teorii Automatów Cyfrowych
LABORATORIUM
Bezprzewodowych Sieci Komputerowych
Temat: Układy Radiowe Małej Mocy
1. Wstęp
Niniejsza instrukcja stanowi materiał przygotowujący do ćwiczenia laboratoryjnego
pod nazwą “Bezprzewodowe sieci sensorowe”. Ćwiczenie przeprowadzane jest w oparciu o
układy radiowe CC1000 połączone z mikrokontrolerem ATmega32L. Celem tego ćwiczenia jest
zapoznanie studentów z zasadą działania układów radiowych na podstawie produktu CC1000
firmy Chipcon oraz problemami występującymi w sieciach radiowych małej mocy.
2. Wymagania sprzętowe
•
•
•
•
•
Komputer PC z zainstalowanym systemem Windows
Układy laboratoryjne z mikroprocesorem ATmega32L oraz układem radiowym CC1000p&p
(dodatkowo wyświetlacz i termometr)
Przewód RS232 konwertujący napięcia ze standardu TTL na PC
Programator ISP lub JTAG dla AVR
Zasilanie 3,3 – 3,6 V
3. Wymagania programowe
•
•
•
Atmel AVR Studio® 4
SmartRF® Studio
Oprogramowanie testowe dla badanych układów laboratoryjnych
4. Wprowadzenie
Układy radiowe CC1000 zostały zaprojektowane dla bezprzewodowych urządzeń
małej mocy, głównie dla pasm ISM oraz SRD. Zazwyczaj wykorzystuje się je dla częstotliwości
315, 433, 868 oraz 915 MHz ale można je łatwo zaprogramować dla innych w zakresie 300 –
1000 MHz. Programowanie układów odbywa się przez magistralę szeregową zazwyczaj
bezpośrednio z mikrokontrolera bądź z komputera stacjonarnego. Do transmisji układ CC1000
może używać kodowania NRZ (Non-Return-to-Zero) lub Manchester. Układ można także
skonfigurować jako przeźroczysty port szeregowy (UART).
W trybie transmisji układ CC1000 dostarcza sygnał zegarowy DCLK, sygnał DIO
jest używany jako wejście danych. Dane, których format powinien być zgodny z NRZ, są
zatrzaskiwane na narastającym zboczu DCLK. Układ CC1000 sam koduje dane w kodzie
Manchester, jeżeli taki tryb został wybrany. Układ może być skonfigurowany dla prędkości
transmisji: 0.3, 0.6, 1.2, 2.4, 4.8, 9.6, 19.2, 38.4, 76.8 kbit/s (0.3 tylko dla Manchester, 76.8 tylko
dla NRZ). Podczas użycia kodowania Manchester prędkość przesyłu danych z mikrokontrolera
jest dwa razy mniejsza niż prędkość transmisji radiowej. W trybie odbiornika CC1000 sam
synchronizuje i dekoduje dane i wystawia je na linii DIO, powinny one być odczytane na
narastającym zboczu DCLK.
Rys. 1. Schemat blokowy przedstawiający odbiór
Powyżej przedstawiony jest schemat blokowy cyfrowego demodulatora. Sygnał
wejściowy jest próbkowany i podawany na detektor częstotliwości. Wynik przesyłany jest do
dzielnika oraz filtru. Komparator porównuje dane z filtru danych z danymi z filtru
uśredniającego w celu wygenerowania danych wyjściowych.
Filtr uśredniający używany jest do znalezienia średniej wartości przychodzących
danych. Podczas gdy jest uruchomiony i gromadzi próbki ważne jest, aby sygnał wejściowy
składał się z tej samej liczby „1” co „0” (np. kod Manchester lub zrównoważona preambuła).
Dlatego we wszystkich trybach transmisji wymagana jest preambuła z niezmienną składową
stałą aby filtr uśredniający miał poprawne próbki dla odbieranego sygnału. Będzie to podstawa
dla komparatora podczas odbioru ramki. Sugerowana preambuła to „010101…”.
Po wykryciu preambuły (i odpowiednim ustawieniu się filtru uśredniającego) w
trybie NRZ filtr ten musi być zablokowany zanim przyjdą jakiekolwiek dane (wartości w filtrze
uśredniającym zostaną zapamiętane nawet w trybie power-down lub po przełączeniu w tryb
nadawania). Zerowanie filtru uśredniającego następuje po wyzerowaniu modemu bądź całego
układu.
W trybie odbioru podczas stosowania pollingu (próbkowania) można używać
automatycznego blokowania filtru uśredniającego (rys. 2.). Jeżeli odbiornik operuje w trybie
ciągłym w poszukiwaniu preambuły, filtr uśredniający powinien być zablokowany ręcznie zaraz
po wykryciu preambuły (rys. 3.). Jeżeli dane kodowane są kodem Manchester nie ma potrzeby
blokowania filtru uśredniającego (rys. 4.).
Rys. 2. Automatyczne blokowanie filtru uśredniającego
Rys. 3. Ręczne blokowanie filtru uśredniającego
Rys. 4. Bez blokowania filtru uśredniającego
Minimalna długość preambuły zależy od zastosowanego sposobu oraz czasu
blokowania filtru uśredniającego. Dokładne zestawienie znajduje się w dokumentacji układu.
5. Przebieg ćwiczenia
5.1.
Konfiguracja układu
Aby możliwe było nadawanie i odbieranie ramek radiowych należy poprawnie
skonfigurować układ CC1000. Do wyznaczenia wartości rejestrów konfiguracyjnych należy
użyć narzędzia SmartRF® Studio. Poniżej znajduje się przykładowa konfiguracja:
Rys. 5. Przykładowa konfiguracja układu CC1000
Po ustawieniu odpowiednich wartości przechodzimy do widoku rejestrów (F3). Wygenerowane
bajty zapisujemy do tablicy konfiguracyjnej w bibliotece cc1000.c CC1000_conf[] (bez wartości
rejestru MAIN). Poniżej znajduje się sekwencja inicjalizująca dla obydwu trybów:
CC1000_Init();
CC1000_PowerDown();
CC1000_Reset();
CC1000_SetupAll();
Wybór odbiornika (także wybudzenie układu z trybu power-down)
(FREQ_A – rejestry częstotliwości):
CC1000_WakeUpToRX(RXCurrent, RXPLL);
CC1000_SetupRX(RXCurrent, RXPLL);
Wybór nadajnika (także wybudzenie układu z trybu power-down)
(FREQ_B – rejestry częstotliwości):
CC1000_WakeUpToTX(TXCurrent, TXPLL);
CC1000_SetupTX(TXCurrent, TXPLL);
Przełączenie do trybu niskiego poboru mocy (power-down):
CC1000_PowerDown();
Podczas przełączania trybów wartości rejestrów PLL i CURRENT inicjowane są odpowiednimi
stałymi (nie tymi z tablicy).
Zadanie: spróbować wysyłania i odbioru ramek używając funkcji CC1000_SendFrame oraz
CC1000_ReceiveFrame.
Aby przejść z trybu kodowania Manchester w tryb NRZ (Non Return to Zero)
należy zmienić odpowiednią wartość w rejestrze MAIN0 oraz zmodyfikować funkcję
odbierającą ramki CC1000_ReceiveFrame. Ponieważ cechą kodowania Manchester jest
niezmienna składowa stała sygnału filtr uśredniający mógł być cały czas uruchomiony. W trybie
NRZ jedynie w trakcie wysyłania preambuły składowa stała powinna być niezmienna, wtedy
właśnie powinno nastąpić ustawienie filtru uśredniającego. Zaraz po wykryciu preambuły filtr
uśredniający powinien być ręcznie zatrzymany (Rys. 3). Do operacji na filtrze uśredniającym
służą funkcje:
void CC1000_AverageManualLock(void);
void CC1000_AverageFreeRun(void);
void CC1000_AverageAutoLock(void);
Zadanie: po odpowiednich modyfikacjach uruchomić transmisje w trybie NRZ.
Jeżeli transmisje w trybie Manchester i NRZ są już uruchomione można
poeksperymentować z innymi parametrami, tj.: prędkość transmisji, moc sygnału, częstotliwość
(powinna być bliska 433MHz), separacją częstotliwości.
5.2.
Pobór mocy
Wszystkie pomiary powinny być wykonywane bez dodatkowych peryferii
(odłączyć przewód interfejsu USART, wyświetlacz i termometr) oraz przy stałych parametrach
układu.
Skonfigurować program tak aby w trybie nadajnika, zaraz po konfiguracji,
cyklicznie wysyłał ramki (bez przerw między kolejnymi ramkami). Pomiar pierwszy to pomiar
prądu przez procesor, należy odłączyć układ CC1000p&p z płytki, podłączyć zasilanie (przez
odpowiednią przejściówkę) i zmierzyć pobierany prąd.
Kolejnym krokiem jest pomiar prądu przez odbiornik. Podłączyć układ
CC1000p&p do płytki i zmierzyć pobór prądu przy ciągłym odbiorze sygnału (nie trzeba wtedy
wysyłać ramek z drugiego układu). Pomiary wykonać dla kilku różnych wartości częstotliwości
separacji. Najlepiej zmieniać te wartości w programie SmartRF® Studio, podczas zmiany
rejestrów F_SEP powinny być także zmienione inne parametry (np. PEAK_LEVEL_OFFSET), o
co zadba oprogramowanie.
Pobór mocy przez układ w trybie nadajnika zależy od mocy sygnału wyjściowego,
która może być konfigurowana. Najpierw należy tak skonfigurować program, aby cyklicznie
wysyłał ramki (bez przerw między kolejnymi ramkami). Następnie wykonać pomiary prądów dla
różnych wartości mocy nadajnika (moc regulowana jest od -20 do 10 dBm co 1 dBm).
5.3.
Badanie preambuły
Przy stały parametrach wysyłania i odbioru spróbować wykonać transmisje dla
różnych preambuł, wyszukać takie preambuły, dla których transmisja nie uda się, zarówno przy
kodowaniu NRZ jak i Manchester.
Kolejnym ćwiczeniem jest zbadanie minimalnej długości preambuły w różnych
typach transmisji. W tym celu należy ustawić stałe parametry transmisji, przy których przebiega
ona poprawnie. Następnie zmniejszać długość wysyłanej preambuły (pierwszy parametr funkcji
CC1000_SendFrame) aż do momentu, w którym żadna ramka nie będzie odbierana. Badania
wykonać dla dwóch typów kodowania (NRZ i Manchester) oraz dla czterech wartości zmiennej
SETTLING w rejestrze MODEM1.
5.4.
Badanie mocy sygnału
Ustawić nadajnik i odbiornik w odległości około 3 metrów. Zmieniając moc
nadajnika od -20 dBm do 10 dBm (około 10 – 15 pomiarów) mierzyć moc sygnału
przychodzącego w odbiorniku (uśredniona wartość z 3 – 5 pomiarów przy jednej mocy).
Następnie zwiększyć około dwukrotnie odległość między układami (można umieścić jeden układ
za ścianą lub inną przeszkodą) wykonać pomiary dla tych samych wartości mocy nadajnika.
Pomiary wykonać dla kodowania NRZ i Manchester przy stałych pozostałych parametrach.
Dla trzech wybranych mocy sygnału nadawczego, dwóch częstotliwości separacji
64kHz i 20kHz oraz stałej odległości układów wykonać pomiary mocy sygnału odbieranego w
zależności od szybkości transmisji (Data rate). Pomiary wykonać dla obydwu trybów
kodowania.
5.5.
Własne ramki
Zaproponować własny format ramek, które mogłyby być używane w
zaawansowanej sieci bezprzewodowej. Należy uwzględnić takie aspekty jak adresowanie (w tym
rozgłoszenie), typy ramek, zaawansowane sprawdzanie poprawności danych i inne.
Zaimplementować stworzony format, wykorzystać w transmisji peryferia zaproponowane przez
prowadzącego.
6. Sprawozdanie
W sprawozdaniu należy:
1. Wypisać wartości rejestrów konfiguracyjnych (w tym rejestrów definiowanych PLL i
CURRENT), przy których transmisja w trybach NRZ i Manchester udała się.
2. Wypisać zmierzone prądy i narysować wykresy: prąd odbiornika w funkcji częstotliwości
separacji oraz prąd nadajnika w funkcji mocy nadawania. Porównać z wartościami w
dokumentacji i wyciągnąć wnioski.
3. Wypisać preambuły przy jakich udała się transmisja a przy jakich nie i opisać dlaczego.
Wypisać jaka jest minimalna długość preambuły w różnych trybach, porównać z
wartościami w dokumentacji i wyciągnąć wnioski.
4. Narysować wykresy mocy sygnału w zależności od mocy nadajnika oraz szybkości
transmisji. Porównać z wartościami w dokumentacji i wyciągnąć wnioski.
5. Opisać wymyślony format ramek i uzasadnić wybór.

Podobne dokumenty