Łącze radiowe w paśmie 2,4 GHz

Łącze radiowe w paśmie 2,4 GHz
Pobierz PDF Download icon
Do niedawna wykorzystywanie łączy radiowych było możliwe po uzyskaniu niezbędnych zezwoleń na używanie nadajników radiowych. Wydzielenie pasm nielicencjonowanych i ograniczenie mocy promieniowania nadajników umożliwiło swobodne korzystanie z połączenia radiowego. Dlatego jest to jeden z segmentów elektroniki, który przeżywa bardzo burzliwy rozwój.
88 ELEKTRONIKA PRAKTYCZNA 10/2010 NOTATNIK KONSTRUKTORA Połączenie bezprzewodowe jest nie tylko ?wygodne? w użyciu, ale stało się też ?mod- ne?. Dzisiaj wielu internautów nie wyobraża sobie połączenia komputera z  Internetem inaczej, niż poprzez bezprzewodowy inter- fejs WiFi, a połączenia telefonu komórkowego z  zestawem słuchawkowym, zewnętrznym odbiornikiem GPS, komputerem lub innym telefonem, za pomocą interfejsu Bluetooth. W  nowoczesnych łączach radiowych jest stosowane pasmo wielkiej częstotliwości (kilka GHz), a  nadajniki wypromieniowują bardzo małą moc. Oprócz typowo radiowych parametrów, standard definiuje szereg pro- tokołów sieciowych, ujętych w  model war- stwowy. Zapewnia to dużą elastyczność przy łączeniu różnych urządzeń, ale wymaga od konstruktora użycia albo specjalizowanych modułów ze sprzętową realizacją niezbęd- nych protokołów, albo zastosowania mikro- kontrolerów o  odpowiednio dużych zaso- bach, aby można było zaimplementować te protokoły programowo. W  praktyce zazwyczaj potrzebujemy łącza radiowego dla konkretnej aplikacji niewymagającej użycia wszystkich proto- kołów. Nie jest więc istotna, zapewniona przez standard transmisji, kompatybilność z  innymi urządzeniami. Inaczej mówiąc ? potrzebujemy prostego, pewnego, taniego rozwiązania, zapewniającego łącze punkt- punkt. W takich sytuacjach warto rozważyć zastosowanie modułu radiowego TLX2401 pracującego w paśmie 2,4 GHz. Jego budowę oparto o  układ nRF2401 produkcji Nordic Semiconductor. Przy przesyłaniu danych łączem radio- wym należy zastosować modulację analo- Łącze radiowe w paśmie 2,4 GHz Do niedawna wykorzystywanie łączy radiowych było możliwe po uzyskaniu niezbędnych zezwoleń na używanie nadajników radiowych. Wydzielenie pasm nielicencjonowanych i  ograniczenie mocy promieniowania nadajników umożliwiło swobodne korzystanie z  połączenia radiowego. Dlatego jest to jeden z  segmentów elektroniki, który przeżywa bardzo burzliwy rozwój. gowego sygnału nośnej. Od rodzaju i  para- metrów tej modulacji oraz szerokości kana- łu zależy szybkość transmisji. W  układzie nRF2401 zastosowano modulację GFSK. Dzięki temu uzyskano stosunkowo dużą prędkość transmisji ? do 1 Mbit/s. Całe dostępne pasmo radiowe podzie- lono na 125 kanałów. Tak duża liczba kana- łów pozwala na bezproblemową pracę wie- lu urządzeń zlokalizowanych blisko siebie. Zmiana kanału następuje w czasie krótszym niż 200 ms. Oprócz kompletnej części radiowej, wy- magającej tylko kilku zewnętrznych elemen- tów, układ wyposażono w  bloki logiczne: sterowania oraz 3-przewodowy interfejs sze- Rysunek 1. Schemat blokowy układu nRF2401 z elementami zewnętrznymi 89ELEKTRONIKA PRAKTYCZNA 10/2010 Łącze radiowe w paśmie 2,4 GHz wyłączyć zerując bit CRC_EN w  rejestrze konfiguracyjnym. Następnie po wyzerowa- niu poziomu na wejściu CE, logika sterująca nadajnikiem dodaje do pakietu preambu- łę, włącza nadajnik i wysyła pakiet danych z prędkością 1 Mbps lub 250 kbps (do wy- boru). W  porównaniu z  tradycyjną metodą transmisji ciągłej, powoduje to znaczną re- dukcję poboru energii. Na rysunku 5 poka- zano schemat czynnościowy procesu wysy- łania danych. Dane te mogą być prawidłowo odebrane przez inny układ nRF2401 również pracują- cy w  trybie ShockBurst. Odbiornik jest ak- tywowany przez ustawienie sygnału CE. Po czasie 200 mk od ustawienia CE zaczyna on nasłuchiwać na zaprogramowanym kanale. W  przychodzących danych są sprawdzane adres, obecność i  wartość CRC. Jeżeli ode- brane dane są prawidłowe, czyli pakiet jest opatrzony prawidłowym adresem i ma pra- widłową wartość CRC, to są z niego usuwane dane nadmiarowe, aby do odbiorcy dotarło tylko pole danych (PAYLOAD). Gotowość da- nych do odbioru jest sygnalizowana pozio- mem wysokim na wyprowadzeniu DR1. Mikrokontroler może odczytać dane z  wewnętrznego bufora FIFO z  dowolną prędkością. W czasie odczytu, jeżeli nie spo- dziewamy się odbioru kolejnych danych, można wyłączyć układ odbiornika przez wyzerowanie poziomu CE. Po odczytaniu wszystkich danych DR1 zmienia poziom na niski. Schemat blokowy poszczególnych faz odbioru danych w trybie ShockBurst pokaza- no na rysunku 6. Tryb bezpośredni W trybie bezpośrednim nRF2401 pracu- je jak klasyczny układ nadawczo-odbiorczy. Dane mogą być przesyłane z  maksymalną prędkością 1 Mbps ?200 ppm lub 250 kbps ?200 ppm, zależną od wprowadzonych na- staw. Prędkość transmisji odpowiada pręd- kości przesyłania interfejsu szeregowego. W  tym trybie nadawanie rozpoczyna się po ustawieniu linii CE. Po upływie 200 ms, mikrokontroler może rozpocząć transmisję do nRF2401. Uwaga: nadajnik może prze- ponieważ nRF2401 może być zasilany typo- wym napięciem +3,3 V. Pobór prądu zależy od tego czy układ nadaje (ok. 10,5 mA), czy odbiera (ok. 18 mA). Niski pobór prądu i ni- skie napięcie zasilania sprawiają, że układ może być z powodzeniem zasilany z baterii. W tabeli 1 zamieszczono najważniejsze pa- rametry układu nRF2401. Chociaż układ nRF2401 nie wymaga wie- lu elementów zewnętrznych, to ze względu na bardzo duże częstotliwości jego użycie wymaga sporego doświadczenia. Producent w nocie katalogowej umieścił przykłady apli- kacji łącznie z projektami PCB. Jednak dla ko- goś nawet te informacje mogą okazać się nie- wystarczające. W takiej sytuacji najlepiej jest skorzystać z gotowego minimodułu TLX2401 produkowanego przez polską firmę eMOD. Moduł ma wymiary 29×16,5 mm (foto- grafia 2). Na płytce jest umieszczony scalony generator 16 MHz, antena nadawczo/odbior- cza i pozostałe elementy niezbędne do pra- widłowej pracy. Linie zasilania i  wszystkie sygnałowe niezbędne do połączenia modułu z  mikrokontrolerem zostały wyprowadzone na dwurzędowe złącze goldpin (rysunek 3). Tryb ShockBurst W  trybie ShockBurst (rysunek  4) dane są gromadzone w buforze o pojemności 256 bitów. Wielkość bufora musi wystarczyć na przetrzymanie pól: adresu odbiorcy, danych i sumy kontrolnej. Za odpowiednią wielkość pakietu odpowiada mikrokontroler nadrzęd- ny. Suma kontrolna CRC ma długość 8 lub 16 bitów (do wyboru) i może być wyliczana przez nRF2401. Funkcję tę można również regowy. Bloki sterowania mają wbudowane mechanizmy detekcji adresu i  generowania wartości wielomianu kontrolnego CRC. Poza tym, można programować dwa tryby trans- misji danych: bezpośredni i ShockBurst. Jest też możliwość odbierania jednocześnie da- nych z dwóch kanałów radiowych (oddalo- nych od siebie o min. 8 MHz). Firma nazwała to rozwiązanie DuoCeiver. W tym celu układ wyposażono w  dwa niezależne interfejsy szeregowe (rysunek 1). Układ przeznaczony do nowoczesnych urządzeń mikroprocesorowych powinien być zasilany niskim napięciem i  pobierać tak mało prądu, jak to tylko możliwe. Na- pięcie zasilania nRF2401 jest z  przedziału 1,9...3,6  V. Wyraźnie sugeruje to przezna- czenie do zasilania z baterii. Jest korzystne, Tabela 1. Podstawowe parametry układu nRF2401 Parametr Wartość Jednostka Minimalne napięcie zasilania 1,90 V Maksymalna moc wyjściowa 0 dBm Maksymalna prędkość przesyłu danych 1000 kbps Pobór prądu ? nadawanie z  PWY = ?5 dBm ? odbiór 10,5 18,0 mA mA Zakres temperatury ?40 do +85 °C Czułość -90 dBm Pobór prądu w  trybie Power Down 400 nA Fotografia 2. Moduł TLX2401 Rysunek 3. Wyprowadzenia modułu TLX2401 Opis Funkcja GND +3V Masa zasilania Zasilanie +1,9...+3,5  V PWR_UP Tryb uśpienia (0-uśpienie, 1-praca) CE Chip Enable, włączenie trybu Rx lub Tx DR2 Dane z  kanału gotowe do odczytu (tylko w  trybie ShockBurst) CLK2 Wejście/wyjście zegara dla kanału 2 DOUT2 Dane wyjściowe z  kanału 2 CS DR1 Chip Select 1- włączenie trybu konfigurowania układu Dane z  kanału  1 gotowe do odczy- tu (tylko w  trybie ShockBurst) CLK1 DATA Wejście/wyjście zegara dla kanału  1 (tylko w  trybie ShockBurst) Dane wyjściowe z  kanału  1/dane wejściowe nadajnika Rysunek 4. Tryb ShockBurst 90 ELEKTRONIKA PRAKTYCZNA 10/2010 NOTATNIK KONSTRUKTORA słać pakiet o  maksymalnym czasie trwania wynoszącym 4  ms. W  tym trybie nie ma wsparcia kontroli adresu, CRC i dodawania preambuły. Wszystkie te elementy powinny być zaimplementowane w oprogramowaniu sterującym. Większy problem sprawia odbiór. Po ustawieniu linii CE, jeżeli odbiornik odbiera prawidłowo zmodulowaną nośną, to na jego wyjściu danych pojawia się sygnał. Program mikrokontrolera odbiorcy musi wyszukać z tych danych preambułę. Dopiero po ode- braniu preambuły, demodulator jest w stanie odtwarzać z sygnału dane i sygnał zegara. Jedynym sensownym zastosowaniem trybu bezpośredniego jest konieczność prze- syłania długich pakietów (do 4000  bitów) z prędkością 1 Mbps lub innych z niewielką prędkością, na przykład z  powodu dużych zakłóceń w paśmie 2,4 GHz. Strukturę typowego pakietu transmito- wanego przez nRF2401 pokazano na rysun- ku 6. Konfigurowanie układu Wszystkie funkcje nRF2401 są konfigu- rowane przez nastawy rejestru kontrolne- go. Rejestr ma długość 15 bajtów dla trybu ShockBurst i 2 bajtów dla trybu bezpośred- niego. Słowo konfigurujące trybu ShockBurst jest dzielone na sekcje: ? długość pola danych. Określa liczbę bi- tów w  polu danych użytkownika (PAY- LOAD). Jeżeli jest zdefiniowane oblicza- nie CRC, to rozmiar pola danych razem z bitami CRC i długością pola adresu nie może przekroczyć 256 bitów (rysunek 6), ? długość adresu odbiorcy, ? adres odbiorcy, ? blokowanie/odblokowanie obliczania CRC przez układ nRF2401. W  trybie bezpośrednim są używane 2 pierwsze bajty słowa konfigurującego. W  tabeli  2 zamieszczono opis nastaw bitów słowa konfigurującego dla obu trybów. Przykłady wykorzystania TLX2401 Do praktycznych prób łącza radiowego w paśmie 2,4 GHz wykorzystano dwa modu- ły TLX2401 sterowane przez mikrokontrole- ry z płytek ewaluacyjnych ZL1ARM z mikro- kontrolerami LPC2114 (ARM7). Jeden z ze- stawów nazwałem umownie ?nadajnikiem?, a drugi ?odbiornikiem?. Na listingu 1 pokazano podprogram wysy- łania danych, łącznie z makrami manipulacji poziomami linii: danych i zegarowej. Na listin- gu  2 zamieszczono funkcję odbioru danych. Ponieważ dla kanału pierwszego linia danych jest dwukierunkowa, to przed wywołaniem funkcji nadawania lub odbioru, należy określić kierunek transmisji przez linię portu. Funkcję odpowiedzialną za to zawiera listing 3. Tabela 2. Nastawy rejestru konfigurującego układu nRF2401 Tryb Pozycja Liczba bitów Nazwa funkcja Tylko Shock- Burst 143:120 24 TEST Zarezerwowane 119:112 8 DATA2_W Długość pola danych (PAYLOAD) odbiornika 2 111:104 8 DATA1_W Długość pola danych (PAYLOAD) odbiornika 1 103:64 40 ADDR2 Adres odbiorcy kanału 2 (maks. 5 bajtów) 63:24 40 ADDR1 Adres odbiorcy kanału 1 (maks. 5 bajtów) 23:18 6 ADDR_W Liczba bitów adresu dla obu kanałów 17 1 CRC_L CRC 8 lub 16 bitów (0=8  bitów, 1=16  bitów) 16 1 CRC_EN Zezwolenie na obliczanie CRC (0=obliczanie CRC zabronione, 1=obliczanie CRC dozwo- lone) Shock- Burst i  tryb bezpo- średni 15 1 RX2_EN Włączanie trybu DuoCeiver (1=właczony, 0=wyłączony) 14 1 CM Wybór ShockBurst/tryb bezpośredni (0=tryb bezpośredni, 1=ShockBurst) 13 1 RFDR_SB Maksymalna prędkość transmisji (0=256 kbps, czułość odbiornika lepsza o  10  dB, 1=1  Mbps, wymaga XO_F=16  MHz) 12:10 3 XO_F Nastawa częstotliwości kwarcu podłączonego do nRF2401 (000=4  MHz, 001=8  MHz, 010=12  MHz, 011=16  MHz, 100=20  MHz) 9:8 2 RF_PWR Ustawienie mocy wyjściowej (00= -20  dBm, 01= -10  dBm, 10= -5  dBm, 11=0  dBm) 7:1 7 RF_CH Określanie numeru kanału 0 1 RX_EN Wybór nadawanie (RX_EN=0)/odbiór (RX_EN=1) Rysunek 5. Wysyłanie danych ShockBurst 91ELEKTRONIKA PRAKTYCZNA 10/2010 Łącze radiowe w paśmie 2,4 GHz Rysunek 6. Odbiór danych w trybie ShockBurst Przed wysyłaniem i  odbiorem danych trzeba do układu nRF2401 wysłać słowo konfigurujące. W  testach używano trybu ShockBurst z prędkością 250 kbps i dla po- równania ? 1 Mbps. W przygotowanym pro- gramie słowo konfigurujące jest zapisywane w tablicy INIT_nRF[] (listing 4). Bufory odbiornika mają długość 6  baj- tów. Razem z 5 bajtami pola adresu daje to 88 bitów odbieranych w trybie ShockBurst. Ponieważ będziemy używali tylko jednego kanału odbiorczego (DuoCeiver jest wyłą- czony), to adres kanału drugiego nie ma zna- czenia. W  polu adresu kanału pierwszego wpisujemy 5-bajtowy adres, który musi być Listing 1. Funkcja wysyłająca bajt przez SPI do nRF2401 //makra manipulacji stanami linii interfejsu SPI #define DATA_1 {IOSET0|=DATA; delay1();} #define DATA_0 {IOCLR0|=DATA; delay1();} #define CLK1_1 {IOSET0|=CLK1; delay1();} #define CLK1_0 {IOCLR0|=CLK1; delay1();} //procedura wysyłania danych void SendSPI(unsigned char data){ char i; CLK1_0 for(i=0;i<8;i++) { if(data&0x80) DATA_1 else DATA_0 CLK1_1 data<<=1; CLK1_0 } } Listing 2. Funkcja odbierająca bajt przez SPI z nRF2401 unsigned char RecSPI(void){ char i; unsigned char data=0; CLK1_0 for(i=0;i<8;i++) { data=data<<1; CLK1_1 CLK1_1 if(test_DATA1()==1) data|=1; CLK1_0 CLK1_0 } return(data); } Listing 3. Ustalanie kierunku linii danych mikrokontrolera void DATA_in(void) {IODIR0 = 0x0FDE0000;}//linia danych wejściowa void DATA_out(void) {IODIR0 = 0x0FDF0000;}//linia danych wyjściowa Listing 4. Bufor ze słowem konfiguracyjnym const unsigned char INIT_nRF[]={ 48, //rozmiar bufora odbiornika kanalu 2 48, //rozmiar bufora odbiornika kanalu 1 0x02, //adres kanału 2 0xaa, 0xaa, 0x55, 0x55, 0xa2, //adres kanału 1 0x23, 0x88, 0x17, 0x6c, 0xA0, //40 bitów pola adresu, 8 bit CRC, bez CRC 0x4f, //moc 00dBm, Fxtal 16MHz, jeden kanał odbiornika, tryb Shock Burst, 250kBps 0x07, //kanał 3, tryb RX }; Rysunek 7. Struktura typowego pakietu przesyłanego przez nRF2401 Preambuła (pre-amble) Pole preambuły jest wymagane w  obu trybach transmisji. W  ShockBurst dodawane auto- matycznie w  nadajniku i  usu- wane w  odbiorniku. W  trybie bezpośrednim preambuła zależy od wartości pierwszego bitu pola danych Preambuła: = 01010101 dla pierwszego bitu 1 = 10101010 dla pierwszego bitu 0 W  tym trybie preambuła jest widoczna w  polu danych. Adres (address) Adres (numer) odbiorcy. W  try- bie ShockBurst ma programowa- ną długość: od 8 do 40  bitów. W  trybie bezpośrednim adres odbiorcy powinien być genero- wany przez mikrokontroler. Dane (payload) Pole danych użytkownika W  trybie ShockBurst całkowita długość pola danych wynosi 256  bitów minus długość adresu (8 do 40 bitów) i  opcjonalnej sumy CRC (8 lub 16 bitów) W  trybie bezpośrednim długość pola danych zależy od pręd- kości transmisji, bo nadajnik może pracować przez 4  ms. Dla 1  Mbps można przesłać 4000  bitów CRC Opcjonalne pole sumy kontrolnej w  trybie ShockBurst, nieużywa- ne w  trybie bezpośrednim Preambuła Adres Dane CRC 92 ELEKTRONIKA PRAKTYCZNA 10/2010 NOTATNIK KONSTRUKTORA Listing 6. Funkcja inicjalizacji //inicjalizacja nRF2401 void InitnRF(void){ char i; CE_0 //CE=0, RX CS_1 //CS=1, konfiguracja układu for(i=0;i<15;i++) SendSPI(INIT_ nRF[i]); CS_0 DATA_0 } Listing 7. Ustawienie nadawania ? włączony nadajnik //ustawienie bitu kierunku transmisji -> Rx void Rx_mode(void){ CE_0; //Rx CS_1 //konfiguracja DATA_1 //tryb Rx CLK1_1 //tick zegara CLK1_1 CLK1_0 CS_0 CE_1 } Listing 8. Ustawienie odbioru ? włączony odbiornik //ustawienie bitu kierunku transmisji -> Tx void Tx_mode(void){ CE_0; //Tx CS_1 //konfiguracja DATA_0 //tryb Tx CLK1_1 //tick zegara CLK1_1 CLK1_0 CS_0 CE_1 } Listing 9. Podprogram nadawania danych //wysłanie danej do nRF2401 void SendnRF(unsigned char ld){ char i; unsigned short int crc; DATA_out(); // wyjściowa linia danych buf_tx[0]=ADDR_SLAVE[0];//0xa1; buf_tx[1]=ADDR_SLAVE[1];//0x23; //bajty adresu modułu odb. buf_tx[2]=ADDR_SLAVE[2];//0x88; buf_tx[3]=ADDR_SLAVE[3];//0x17; buf_tx[4]=ADDR_SLAVE[4];//0x6c; buf_tx[5]=ld; for(i=6;i<5+ld;i++) buf_tx[i]=buf_snd_data[i-6]; crc=CRC(ld,buf_tx+5); //wyliczenie CRC buf_tx[i++]=crc>>8; buf_tx[i]=crc; CS_0 CE_1 for(i=0;i>8)^zfcs)); fcs=((pomfcs&0xff00)^(fcs<<8))|(pomfcs&0x00ff); } fcs=(fcs^0xffff); return (fcs); } przesyłany w  odebranym pakiecie w  polu ADDR. Długość tego pola jest w następnym bajcie ustawiana na wartość na 40  bitów. Funkcja obliczenia CRC jest wyłączona. Tu należy się wyjaśnienie. W tego typu transmisjach CRC jest niezbędne. Wyłączono tę funkcję, ponieważ trakcie wielu prób, gdy obliczanie CRC przez nRF2401 było włączo- ne w formatach 8- lub 16 bitowym, nie udało prawidłowo przesłać pakietu danych. Być może był popełniany jakiś błąd, a może jest jakaś nieścisłość w dokumentacji dostarcza- nej przez producenta. Bez CRC transmisja radiowa jest trudna do zaakceptowania i dla- tego użyto sprawdzonej procedury obliczają- cej 16-bitowe CRC na podstawie wielomianu G(x)=x^16+x^15+x^2+1. Przy wylicza- niu stosowano tablicowane współczynniki 16-bitowe. Dzięki temu podprogram obli- czający jest prosty i co ważne - wykonuje się szybko (listing 5). Następny bajt określa moc wyjściową, częstotliwość taktowania nRF2401, tryb pra- cy i maksymalną prędkość transmisji. Próby transmisji przeprowadzano z różnymi moca- mi. Przy odległościach rzędu 1...2 m trans- misja z najniższą mocą i 250 kbps działa bez problemów. Docelowo została ustawiono najwyższa moc, a  częstotliwość taktowania ustawiono na 16 MHz, bo taką częstotliwość ma scalony generator zamontowany na płyt- ce modułu TLX2401. Prędkość transmisji ustawiono na 250  kbps. Układ był mniej wrażliwy na zakłócenia i miał większą czu- łość. W  ostatnim bajcie ustawiono kanał trzeci i tryb odbioru danych. Stosując moduły TLX2401 moc trzeba dobrać mając na uwadze wymagania apli- kacji: odległość pomiędzy nadajnikiem i od- biornikiem, poziom szumów tła, wielkość przesyłanych pakietów danych itp. Słowo konfigurujące jest wpisywane po- przez umieszczoną na listingu 6 funkcję Ini- tRF(). Układ wpisuje dane z interfejsu SPI do rejestru konfigurującego, gdy linia CS jest na poziomie wysokim, a linia CE niskim. Aby ustawić układ w  trybie nada- wania lub odbioru, co może się zdarzać w  trakcie pracy, trzeba przeprogramowy- wać tylko najmłodszy bit słowa konfigu- rującego (tabela 2). Bloki kontroli nastaw nRF2401 są tak skonstruowane, że można wpisywać do nich niepełną liczbę bitów, w  tym również tylko jeden bit. Funkcje pokazane na listingach  7 i  8 wykorzy- stują tę właściwość i  przeprogramowują kierunek przesyłania danych przez układ nadawczo-odbiorczy, wpisując do rejestru konfigurującego tylko jeden, ostatni bit. Wskutego tego przełączanie nadawanie- odbiór jest wykonywane tak szybko, jak to możliwe. 93ELEKTRONIKA PRAKTYCZNA 10/2010 Łącze radiowe w paśmie 2,4 GHz Listing 11. Pętla testowania przesyłania danych InitnRF(); //wyślij sekwencję inicjalizacji CE_1 //aktywacja odbioru while(1){ Tx_mode(); SendnRF(25); //wyślij dane delay_ms(1); //opcjonalnie Rx_mode(); if(RecnRF()==0) //czekaj na dane do odbioru { LED_1 delay_ms(20); LED_0 } else { LED1_1 delay_ms(20); LED1_0 } } while(1); Listing 10. Podprogram odbioru danych //odbiór danych z nRF char RecnRF(void){ char i; unsigned char ld; unsigned short crcr,crc; for(i=0;i
Artykuł ukazał się w
Elektronika Praktyczna
październik 2010
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów