To tylko jedna z 11 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Zygmunt Kubiak. Notatka składa się z 11 stron.
Instytut Informatyki Laboratorium Bezprzewodowych Sieci Sensorowych Sprawozdanie z ćwiczenia Temat Protokół transmisji bezprzewodowej „WSN_TR1” Rok akademicki Data wykonania ćwiczenia Data oddania sprawozdania Termin zajęć Ocena Skład grupy laboratoryjnej Rok/semestr/grupa Rok 4, Sem 7, Gr A2 1. Kod Programu – węzeł nadawczy Zawartość pliku nagłówkowego "CRC.h". #ifndef _CRC_H_ #define _CRC_H_ #define TI 0x00 // numer wezla (od 0x00 do 0x0F) xdata byte stand_frame[19]; xdata byte frame_to_send[19]; xdata byte tab_aes[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; U8 SN = 0x00; U8 ww; U8 j = 0x00; U8 i = 0x00; U8 k = 0x00; U8 crc = 0x00; char wg = 0x07; unsigned int SF = 0x00; Dołączanie definicji zmiennych globalnych używanych w programie. void BuildFrame(unsigned char m,unsigned char inc) //wypełnieneie pól ramki { unsigned char wart = inc * 0x10; //ustawienie numeru powtórzenia ramki wartość inc oznacza numer powtorzenia stand_frame[0] = 0xA5; //NI stand_frame[1] = TI; //TI stand_frame[2] = m-1+wart; //F stand_frame[3] = SN; //SN stand_frame[4] = 'B'; //tekst stand_frame[5] = 'a'; stand_frame[6] = 'r'; stand_frame[7] = 't'; stand_frame[8] = 'o'; stand_frame[9] = 's'; stand_frame[10] = 'z'; stand_frame[11] = ' c'; stand_frame[12] = 'e'; stand_frame[13] = 'b'; stand_frame[14] = ' x'; stand_frame[15] = 'o'; stand_frame[16] = 'd'; stand_frame[17] = 'a'; //koniec tekstu //wartośc pola crc nie jest wypelniana for(i = 0; i
(…)
… == 0x0B)//potrojne wysylanie + crc + aes
{
T_1ms = 0;
BuildFrame_CRC_AES(mode,0);
Send();
BuildFrame_CRC_AES(mode,1);
while(T_1ms < ((TI+1)*40)){}
Send();
BuildFrame_CRC_AES(mode,2);
while(T_1ms < 640){}
Send();
}
Funkcje potrójnego wysyłania realizowane są poprzez trzykrotne tworzenie ramki i
wysyłanie, przy czym kolejne wywołania odpowiednich funkcji tworzących ramki posiadają
niezerowy argument…
… jest cały czas w stanie
odbioru.
3. Wynik działania programu:
Wysyłanie danych
Odbieranie danych wysłanych pojedyńczo
Odbieranie danych wysłanych potrójnie
4. Wnioski
Protokół bezprzewodowej transmisji WSN_T1R pozwolił zapoznać się z podstawami
organizacji sieci radiowej. Główną cechą powyższego protokołu jest możliwość wykonywania
jednostronnej transmisji. Nadajnik w takiej sieci jest przez dłuższy czas…
…();
BuildFrame_CRC_AES(mode,1);
while(T_1ms < ((TI+1)*40)){}
Send();
BuildFrame_CRC_AES(mode,2);
while(T_1ms < 640){}
Send();
}
Funkcje potrójnego wysyłania realizowane są poprzez trzykrotne tworzenie ramki i
wysyłanie, przy czym kolejne wywołania odpowiednich funkcji tworzących ramki posiadają
niezerowy argument mówiący o numerze powtórzenia danej ramki. Odstęp czasowy między
poszczególnymi ramkami obliczany…
… pojedyńczo
Odbieranie danych wysłanych potrójnie
4. Wnioski
Protokół bezprzewodowej transmisji WSN_T1R pozwolił zapoznać się z podstawami
organizacji sieci radiowej. Główną cechą powyższego protokołu jest możliwość wykonywania
jednostronnej transmisji. Nadajnik w takiej sieci jest przez dłuższy czas w stanie uśpienia i
zostaje wznowiony tylko w momencie nadawania danych. Dzięki tej konfiguracji…
…;
mode=0;
CC1000_Initialize();
CC1000_DisplayAllRegisters();
CC1000_WakeUpToRX(CC1000_RX_CURRENT);
CC1000_SetupRX(CC1000_RX_CURRENT);
P0MDOUT &= ~(0x08);
DIO = 1;
// Wybudzenie do trybu RX
// Ustaw (P0.3) DIO open-drain
Funkcja main inicjalizuje mikrokontroler oraz układ CC1000.
while(1)
{
Receive_Frame(); //oczekuj na nadanie ramki
}
}
Wykonanie nieskończonej pętli odbierającej ramki – odbiornik…
... zobacz całą notatkę
Komentarze użytkowników (0)