Radiowy przedłużacz pilotów
P R O J E K T Y
Radiowy przedłużacz
pilotów, część 2
AVT-559
Pomysł budowy
przedłułacza zrodził si,
gdy autor, utrudzony
całodzienną pracą, musiał
wstaĘ z wygodnego fotela
stojącego przed komputerem
(słułącym w tym przypadku
jako odbiornik - monitor
telewizyjny) i pjśĘ do
sąsiedniego pokoju, aby
zmieniĘ kanał w tunerze
satelitarnym.
Rekomendacje: przyda si
Kodowanie sygnałw
na pewno, jeśli zachodzi
w standardzie RC5
potrzeba zdalnego
Głwnym zadaniem przemien-
(z sąsiednich pomieszcze)
nika RF-IR jest wygenerowanie
przełączania urządze
odpowiedniego ciągu impulsw
sterowanych pilotem.
skorelowanych czasowo, zawiera- wych odpowiednim zmiennym
jących pełną informacj w stan- i uruchomieniu licznika T1 (bit
dardzie RC5 (nadanie rozkazu TR1), czyli naleły wykonaĘ nast-
RC5). Zadanie to realizuje funkcja pującą sekwencj polece:
pokazana na list. 3. bitcnt=0; p_out=0; hlf=1;
Jest to funkcja obsługi prze- TR1=1;
rwania z licznika T1. Licznik pra- // while (TR1);
cuje rwnieł w trybie 1. Przerwa- przy czym zmienna rc5code po-
nie od tego licznika generowane winna zawieraĘ kompletny kod
jest co ok. 890s (nadanie odpo- rozkazu RC5 (wszystkie 14 bitw).
wiednich wartości zmiennym TL1 Przed uruchomieniem licznika T1
i TH1), czyli tyle ile wynosi po- mołe byĘ teł wskazane zabronie-
łowa czasu trwania bitu w stan- nie przyjmowania innych prze-
dardzie RC5. Wykorzystano tu rwa (np. przerwania zewntrzne-
klasyczny algorytm działający go). Po zakoczeniu wysyłania
zgodnie z definicją, czyli genero- rozkazu RC5 funkcja automatycz-
wanie odpowiedniego zbocza (na- nie zatrzymuje licznik T1 i ten
rastającego lub opadającego) fakt mołna wykorzystaĘ (stan bitu
w połowie czasu trwania bitu - TR1) w celu określenia w progra-
w zalełności od wartości logicz- mie zakoczenia nadawania roz-
nej bitu przeznaczonego do zako-
List. 3. Funkcja generowania ciągu
dowania.
impulsów w standardzie RC5
Funkcja komunikuje si z pro-
void int_t1(void) interrupt 3 using 1
gramem głwnym (innymi funk-
{
TL1=132; TH1=252;
cjami) poprzez nastpujące zmien-
out=p_out;
if(hlf)
ne zewntrzne:
{ val=(rc5code&0x2000)?1:0;
if(val) p_out=0; else p_out=1;
bit p_out,hlf,val;
hlf=0; rc5code<<=1; bitcnt++;
char bitcnt; if(bitcnt>14) p_out=0;
}
unsigned int rc5code;
else
{ if(val) p_out=1; else p_out=0;
Inicjowanie transmisji kodu
hlf=1;
if(bitcnt>14) { p_out=0; TR1=0; }
RC5 z własnego programu polega
}
}
na nadaniu wartości początko-
Elektronika Praktyczna 3/2004
43
Radiowy przedłużacz pilotów
Rys. 5. Budowa anten
zastosowanych w przedłużaczu
kazu - np. w sposb pokazany na
list. 3 (instrukcja while w linii
stanowiącej komentarz).
Dla obu pokazanych wyłej lis-
Rys. 6. Przetwarzanie danych w odbiorniku
tingw zmienne bitowe in oraz
out odnoszą si bezpośrednio do ka przewodu o długości określonej lecontrolli). Na schemacie widocz-
odpowiednich portw mikrokont- przybliłonym wzorem [7]: 7500/ ne są dwa typy filtrw, ktrych
rolera i ich definicja dla schema- f, gdzie f jest czstotliwością parametry są istotne ze wzgldu
tw z rysunkw 1 i 2 powinna byĘ pracy anteny w MHz, a długośĘ na wybr sposobu kodowania
nastpująca: podana jest w centymetrach. Dla przesyłanych danych. Pierwszy
sbit in=P3^2; czstotliwości 433.92 długośĘ ta z filtrw jest filtrem dolnoprze-
sbit out=P1^7; powinna wynosiĘ około 17,3mm. pustowym, ktry ogranicza szyb-
Na rys. 6 przedstawiono sche- kośĘ przesyłania danych, jak teł
Radiowa transmisja mat toru przetwarzania danych w sposb istotny wpływa na za-
danych w odbiorniku radiowym - typowy sig transmisji. Jak łatwo zauwa-
Jako elementy toru radiowego dla wikszości systemw radioko- łyĘ, wystpuje tu pewien kompro-
(nadajnik, odbiornik) wykorzystano munikacyjnych [10] (w tym rw- mis pomidzy zasigiem a szyb-
gotowe, stosunkowo tanie i łatwo nieł dla zastosowanego w projek- kością przesyłanych danych. Ogl-
dostpne, hybrydowe moduły firmy cie odbiornika RR3 - co wykazała nie mwiąc, przesyłając dane wol-
Telecontrolli. Niestety na swoich juł wstpna analiza obwodw niej (włsze pasmo filtru DP),
stronach internetowych firma za- zawartych na płytce odbiornika, mołna uzyskaĘ wikszy zasig
mieszcza bardzo skromną informa- jak i na podstawie informacji za- przy stałej mocy nadajnika (mniej-
cj na temat produkowanych przez wartych w dokumentacji firmy Te- sze pasmo przepustowe filtru -
siebie modułw, stąd wikszośĘ
List. 4. Funkcja dekodowania danych z odbiornika radiowego
informacji zaczerpnito z not apli-
void int_ext0(void) interrupt 0 using 2
kacyjnych firmy RFM [9,10].
{
unsigned int tmp;
Jako anteny dla przemienni-
char p_th,state,cntbyte;
bit p_in,c_in;
kw zastosowano [7,8] w skr-
TL0=TL1=0; TH0=TH1=0; TR1=1;ET1=0;
conej wersji anteny ĘwierĘfalo-
tmp=0; cntbit=1; state=0; cntbyte=0;
we. Anteny takie buduje si, do-
for(;;)
dając indukcyjnośĘ w pobliłu pod- {
p_in=in;
stawy (kompensacja reaktancji po- while(p_in==in) if (TH0>8) return;
jemnościowej) anteny. Praktycznie
//Poniżej kod odpowiedzialny za ignorowanie krótkich impulsów
p_th=TH0; TL0=0; TH0=0;
polega to na uformowaniu w po-
while(p_in!=in) if(TH0>1) break;
if(p_in==in) { TL0=TL1; TH0=TH1; continue; }
staci cewki czści odcinka prze-
else { TL1=TL0; TH1=TH0; }
wodu tworzącego anten (rys. 5).
c_in=in;
DługośĘ odcinka od podstawy an-
switch(state)
teny do początku uformowanych
{
case 0:
zwojw cewki powinna wynosiĘ
if(!p_in&&c_in&&p_th>2&&p_th<5) state=1;
else
15,2mm. DługośĘ samej cewki,
if(!p_in&&c_in&&p_th>4&&p_th<8)
{ state=2; tmp<<=1; cntbit++; }
liczącej 15 zwojw nawinitych
else return;
break;
na średnicy 2,6mm, powinna wy-
case 1:
nosiĘ 11,4mm. Cała antena winna if(p_in&&!c_in&&p_th>2&&p_th<5)
{ state=0; tmp<<=1; tmp|=1; cntbit++; }
mieĘ długośĘ około 84mm [11].
else return;
break;
Jako materiał na anten naleły
case 2:
if(p_in&&!c_in&&p_th>4&&p_th<8)
zastosowaĘ izolowany przewd
{ state=0; tmp<<=1; tmp|=1; cntbit++; }
else
(najlepiej srebrzank) 22AWG
if(p_in&&!c_in&&p_th>2&&p_th<5) state=3;
else return;
(średnica 0,64mm). Tak zbudo-
break;
wana antena ma nieco tylko case 3:
if(!p_in&&c_in&&p_th>2&&p_th<5)
mniejszy zysk energetyczny
{ state=2; tmp<<=1; cntbit++; }
else return;
(3..4dB) w porwnaniu ze zwykłą
break;
anteną ĘwierĘfalową, jednak cha-
}
if(cntbit>=8) { cntbit=0; buf[cntbyte]=tmp; tmp=0; cntbyte++; }
rakteryzuje si ok. połow mniej-
if (cntbyte>=MAXBYTE)
{ TR1=0; ET1=1; EX0=1; rdy=1;
szymi rozmiarami. Mołna teł
return;
zastosowaĘ klasyczną anten }
}
ĘwierĘfalową, zbudowaną z odcin- }
Elektronika Praktyczna 3/2004
44
Radiowy przedłużacz pilotów
List. 5. Funkcja obliczająca CRC
void crc_update(unsigned char x)
{
unsigned char tmp,f,i;
f=1;
for(i=0;i<8;i++)
{
tmp=CRC; CRC=(CRC>>1)&0x73;
Rys. 7. Algorytm wyliczania CRC CRC|=(((tmp&0x01)^((x&f)?0x01:0))?
((tmp^0x18)>>1)|0x80:tmp>>1)&0x8c;
f<<=1;
wiksza wartośĘ wspłczynnika zeru logicznemu - zmiana pozio-
}
}
sygnał-szum - mołliwośĘ odbioru mu sygnału w połowie taktu z nis-
słabszych sygnałw) i na odwrt. kiego na wysoki (a wic analo-
Drugi z filtrw, przez ktry prze- gicznie jak dla kodowania w stan- charakterystyczne dla standardu
chodzi sygnał, jest filtrem grno- dardzie RC5). Z zachowaniem RC5: minimalna szerokośĘ impulsu
przepustowym utworzonym przez rwnowagi składowej stałej wiąłe (przerwy) rwna 890s, co daje
kondensator sprzgający (sprzłe- si potrzeba ograniczenia liczby maksymalną czstotliwośĘ około
nie zmiennoprądowe). kodowanych bitw jako 1 (lub 561 Hz, a wic znacznie poniłej
Aby informacja mogła byĘ bez 0), wystpujących tuł po sobie. czstotliwości granicznej.
przeszkd przesłana przez te dwa Kod Manchester rwnieł tutaj Na list. 4 zamieszczono kod
filtry, bardzo istotny jest właści- sprawdza si doskonale (chociał funkcji w jzyku C dekodującej da-
wy wybr sposobu kodowania jego wadą jest podwojenie liczby ne z toru odbiornika radiowego.
danych. Naleły zwrciĘ uwag na impulsw potrzebnych do przesła- Kod jest analogiczny jak w przypad-
minimalną szerokośĘ impulsu (lub nia danego komunikatu). ku funkcji dekodowania danych
przerwy midzy impulsami), ktra Innym wałnym problemem jest w standardzie RC5 (wykorzystano
musi byĘ dostosowana do szero- właściwy dobr wartości progowej ten sam algorytm oparty na grafie
kości pasma filtru dolnoprzepus- napicia dla układu formowania przejśĘ z rys. 4). Funkcja odbiera
towego, jak rwnieł na maksymal- danych (komparatora). Ustawienie liczb bajtw określoną przez stałą
ną szerokośĘ impulsu (przerwy), wartości tego napicia (rdło na- symboliczną MAXBYTE, umieszcza-
ktra z kolei musi pozostawaĘ piciowe na rysunku 5) wikszej jąc je kolejno w tablicy znakowej
w odpowiedniej relacji do stałej od zera powoduje aktywowanie o nazwie buf. W funkcji zawarto
czasowej wyznaczonej przez kon- blokady szumw. Zbyt mała war- fragmenty kodu. dziki ktremu są
densator sprzgający wraz z pozo- tośĘ tego napicia sprawia, łe ignorowane w analizowanym sygna-
stałą czścią obwodu. Ze wzgldu szumy o odpowiednio dułej amp- le z odbiornika radiowego krtkie
na zmiennoprądowe sprzłenie litudzie przenoszą si na wyjście impulsy (poniłej 512s), bdące
sygnału bardzo istotne jest, aby w postaci krtkich, szpilkowych wynikiem interferencji radiowych
sposb kodowania danych zapew- impulsw. Wwczas prawidłowe lub szumw (wykorzystano tutaj
niał właściwe zrwnowałenie odtworzenie sygnału ułytecznego obydwa liczniki sprztowe T0 i T1
składowej stałej. Czyli najlepiej wymaga specjalnych zabiegw ze pracujące wspłbiełnie). Ułyciefun-
aby kodowany sygnał miał war- strony oprogramowania. Z kolei kcji we własnym programie jest ana-
tośĘ logiczną 1 przez 50% cza- zbyt duła wartośĘ tego napicia logiczne jak opisano to przy okazji
su i wartośĘ 0 przez pozostałe powoduje zmniejszenie czułości dekodowania danych w standardzie
50% czasu. Zrwnowałenie skła- odbiornika rwnieł dla sygnału RC5. Rwnieł funkcja, ktra pozwa-
dowej stałej mołe byĘ osiągnite ułytecznego. W zastosowanym od- la zakodowaĘ dane dla nadajnika
na wiele sposobw. Jednym z naj- biorniku hybrydowym napicie to radiowego, jest identyczna jak
popularniejszych jest wykorzysta- jest ustalone przez producenta, w przypadku standardu RC5, stąd
nie kodu Manchester, w ktrym zwalniając tym samym ułytkowni- teł nie ma potrzeby zamieszczania
bity są kodowane bifazowo - ka od konieczności jego doboru. jej w całości.
jedynce logicznej odpowiada zmia- Biorąc pod uwag powyłsze DługośĘ całego transmitowanego
na poziomu sygnału w połowie zalełności, wybrano sposb kodo- pakietu danych z przemiennika IR-
taktu z wysokiego na niski, zaś wania danych identyczny jak RF do przemiennika RF-IR wynosi
w przypadku standardu RC5. Za- 32 bity (4 bajty). Pierwsze 8 bitw
chowano teł identyczną szybkośĘ stanowi preambuł (sekwencja roz-
przesyłanych danych. Poniewał nie biegowa zawszerwna 11001010(2)).
dysponowano szczegłowymi dany-
mi odnośnie pasma przenoszenia
filtru dolnoprzepustowego odbior-
nika RR3 ani wartością stałej cza-
sowej filtru grnoprzepustowego,
zatem oszacowania minimalnej
i maksymalnej szerokości impulsu
były dośĘ trudne do przeprowadze-
nia. Znana była jedynie graniczna
szybkośĘ odbieranych danych wy-
nosząca dla odbiornika RR3 -
2 kHz. Przyjto wic za zadowala-
Rys. 8. Rozmieszczenie elementów Rys. 9. Rozmieszczenie elementów
jące parametry transmisji danych
na płytce konwertera radio->RC5 na płytce konwertera RC5->radio
Elektronika Praktyczna 3/2004
45
Radiowy przedłużacz pilotów
Kolejne 16 bitw, z ktrych istotne Radiowy przedłułacz pilotw [5] RT4 Radio Transmitter Mo-
jest tylko 14 bitw mniej mołna w sposb bardzo prosty, dule with SAW Resonator and
znaczących,stanowi kompletny kod poprzez niewielką modyfikacj op- External Antenna, Telecontrolli
polecenia RC5. Ostatnie 8 bitw rogramowania, rozbudowaĘ np. Datasheet, http://www.telecont-
jest sumą kontrolną CRC. Według o funkcj akceptującą na wejściu rolli.com
[9] zaleca si stosowanie 16-bitowej dowolnego pilota RC5 (o dowol- [6] RR3 Super Regenerative
sumy kontrolnej opartej na standar- nym lub wcześniej ustalonym ad- Radio Receiver With Laser Trim-
dzie X.25 (ISO3309), jednak ponie- resie urządzenia RC5), jak rw- med Inductor, Telecontrolli
wał w rozwałanym przypadku pa- nieł mołliwa jest opcja zamiany Datasheet, http://www.telecont-
kiet danych miał bardzo niewielką kodw rozkazw, adresw urzą- rolli.com
długośĘ, dlatego przyjto za wystar- dzenia RC5 itd. [7] Smith K., Antennas for Low
czające zastosowanie 8-bitowego Zbigniew Hajduk Power Applications, RFM Ap-
CRC, liczonego według wielomianu plication Note AN36.
x8+x5+x4+1, typowego dla układw Literatura: [8] Evjen P. M., SRD Antennas,
pracujących z jednoprzewodową [1] Knowledge Base, Philips RC- Chipcon Application Note AN003.
magistralą firmy Dallas/Maxim. 5 Protocol, http://www.xs4all.nl/ [9] ASH Transceiver Desig-
Na rys. 7 pokazano sposb ~sbp/knowledge/ir/rc5.htm ners Guide, RFM Application
wyliczania wielomianu CRC, zaczer- [2] Biały R., Programowe deko- Note.
pnity wprost z dokumentacji firmy dowanie sygnałw zdalnego ste- [10] ASH Transceiver Software
Dallas/Maxim. Na list. 5 przedsta- rowania, Elektronika Praktyczna Designer's Guide, RFM Applica-
wiono jedną z wielu mołliwych 12/2002, strony 95-98. tion Note.
implementacji tego algorytmu w j- [3] An Efficient Algorithm for [11] Virtual Wire Development
zyku C, zastosowaną w projekcie. Decoding RC5 Remote Control Kit Manual for DR1300-DK, RFM
Funkcja wykorzystuje zewnt- Signals, http://www.clearwater.- Application Note.
rzną (globalną) zmienną znakową com.au/pcm-9574/rc5/rc5.html
CRC, przechowującą biełącą war- [4] Putzger J., Decoding IR Re- Wzory płytek drukowanych w for-
tośĘ wielomianu. Funkcja aktua- mote Controls, http://www.ee.- macie PDF są dostpne w Internecie
lizuje CRC od razu dla całego washington.edu/circuit_archive/ pod adresem: pcb.ep.com.pl oraz na
bajtu (8-bitowy argument funkcji). text/ir_decode.txt płycie CD-EP4/2004B w katalogu PCB.
Elektronika Praktyczna 3/2004
46
Wyszukiwarka
Podobne podstrony:
radiowy przedłużacz pilotówRadiowy przedluzacz pilotow cz1nerki cz2Fotogrametria cz12 teledetekcja cz22 Formy org prawne cz2 14ZIP przetworstwo tsz cz2Rynek radiowy II kwartal 2009ELEMENTY ZŁĄCZNE WEDŁUG PN DIN cz2rs232 linux win32 cz2Amplituner cz2Przetwornice impulsowe cz2Programowany zasilacz laboratoryjny cz2Parazytologia ixodes cz2rekrutacja wywiad bledy poznawcze cz2oc PIM cz2więcej podobnych podstron