Fórum témák
» Több friss téma |
Fórum » RF adatátvitel, FEC, ECC hogyan?
Témaindító: Prosatanos, idő: Jún 22, 2009
Témakörök:
Sziasztok!
Többszáz méterre kéne adatot küldenem egy rádiós adó/vevő párral, aminek a hardvere már kész, és néhány tízméterre már működik is. Ennél nagyobb távolság esetén már bit hibák lépnek fel a kommunikációban. Azt szeretném kérdezni, hogy a hibák javítására milyen eljárás lenne a legcélszerűbb amatőr körülmények között, ami nem túl bonyolult szoftver, és hatékony. Én arra gondoltam, hogy minden bitet 3 biten küldenék át, 000 / 111 attól függően, hogy 0 vagy 1-et kell átvinni, és a vevő többségi szavazás elvén döntené el, melyik volt. Hiba javításra Hamming (8,4)-et gondoltam. Azonban ezt így megcsinálni elég komoly szoftver, és félek hogy csak a *-nak adok egy pofont. Például mi van akkor, ha elcsúsznak a bitek, akkor az egész mit sem ér. Természetesen lehetséges az újraküldés is, de valahol azt olvastam, hogy 100 küldésből lehet csak 1 lesz sikeres. Kérem, akinek van ötlete írjon. /A Shannon limitet azért természetesen nem kell megközelíteni. / Egyáltalán mennyi lehet a *normál* bithiba mondjuk 40 bitből 500mW teljesítménnyel a távolság függvényében?
Szia!
Nekem is volt egy hasonló feladatom, sokat kínlódtam, aztán megvettük Ezt. Az ára nem vészes, és minden gond megoldódott.
Jelenleg milyen eszközöket használsz?
Szia!
Mekkora egy csomag? Ha kisebb, mint 512 byte, akkor ajánlom a CRC16 kódolást (Floppy, Modbus). Elég izzasztó megcsinálni, de van táblázatos módszer, aminél csak hely kell. A lényeg a csomagra csak 2 byte-ot tesz rá és 2^(-16) = 1/65536 valószínűséggel fogad el egy hibás csomagot jónak. Bővebben:
Üdv!
Esetleg nézd át ennek a modulnak a leírását. Én meg vagyok vele elégedve. Alapból tudja a CRC16-ot is.
Szia! Jól hangzik! Mik a tapasztalatok? Mekkora kb a hatótávolság? Mennyire befolyásolják épületek, tereptárgyak?
Ezzel csak az a gond, hogy detektálja a hibát, ami most is megy. Újra küldést igényel, és újra, és újra... ha csak 1 bit is megfordul.
Rádiós átvitelnél a leggyakoribb hibák a légköri és egyéb elektromágneses zajokból erednek, amelyek hibacsomókban jelentkeznek. Ez náhány bitet vagy bájtot szokott érinteni. Én aránylag kisebb csomagokat javasolnék (néhány tucat bájtot) és mindenképpen valamilyen CRC-féle legyen az ellenőrzés. Emellet pedig többször küld el (akár 3x is) a csomagokat - időben minél távolabb egymástól az ismétléseket. Ha nincs semmi visszajelzés, akkor az ismétlések számát kell a biztonság érdekében tovább növelni. Hogy ez mennyi legyen, azt hosszas teszteléssel kell belőni. Adj minden új csomagnak egyedi azonosítót (egy 16 bites, egyesével növekvő szám elegendő), hogy megállapítsd a vételkor, hogy ismétlésről, vagy új blokkról van-e szó. Természetesen nagyon ritkán akár 100-szoros ismétlésnél is lehet, hogy nem megy át, ezért végig kell gondolni az elveszett csomag esetét (pl. az előzővel vagy a következővel helyettesíteni az adatokat), de ez az adott feladattól függ.
Ez egy elég jó modul. Megvan a szükséges antenna is hozzá? Mert 500mW jó antennával nem pár 10m-re kéne elérjen!
tcs52 leírta alényeget, sok kis csomag, csomagonként CRC és csomagazonosítók. Ha nem jó a CRC hibajel, majd újraküldés. Érdemes utánanézni a neten, mert ha jól emlékszem a microchipnél is van példa az rfPIC-ek körül.
Szia! Tőled is azt kérdezném, mint a kollégától: mik a tapasztalatok? Mekkora kb a hatótávolság? Mennyire befolyásolják épületek, tereptárgyak
Szia! Átböngésztem az anyagot, de igazán nem kaptam választ az adatátvitel módjára. Az irányított antenna nem járható út, a vevő bárhol lehet, akár több emelet vasbeton alatt is. Persze ekkor, épületen belül 30m is elég. Körsugárzó kell minkét készülékre.
Az adatlap szerint 250 métert tud nyílt terepen, de ezt még nem próbáltam ki. Mindkét modulon 10 centis nyák antenna van (nem volt elég hely a 16.3 cm-nek ), de így is 3 falon át, kb 30 méter távról minden csomagot sikeresen vesz. Nyílt terepen szerintem meg se kottyan neki a 200-250 méter, normális antennákkal.
A te moduljaidban azonos frekin zizegnek a PLL-ek? Ha nem, az miatt is jócskán csökkenhet a hatótáv.
Hát ez az! Ezen a ponton sötétben tapogatózom. A nyák alsó és felső felülete gyakorlatilag teljesen be van borítva földeléssel, a két oldal több ponton össze van kötve. Jelenleg az antenna 8.5 cm hosszú 0.5mm átmérőjű lakkozott tekercselő huzal. A nyák egyik csücskén figyel. Ráadásul a végleges verzióban az egyik egység kézben tartott lesz. Ráadásul körsugárzó kéne. Próbáltam komolyabb whip-pel, 8.5 cm sugarú lemez közepén volt ugyan az a drót. Nem volt számottevő javulás.
Szerintem csalódni foksz, mert az enyém is ilyen! 11 emelet vasbeton meg sem kottyan neki, kb 30m. Kint utcán, bizonyos irányba elvisz 100 métert, más irányba mély nullákkal tartkított a térerő. Nyilt terepen sem vitt messzebb, mint az épületek között.
A pll frekit csak a kristály kapacitásának hangolásával lehet belőni. Már építettem rá egy pickes freki mérőt, 10MHz-re. Ha nem is 10MHz lesz, de legalább egyforma. Gondolod, hogy számít mondjuk 100 métert?
Szia!
16 centis antennával 2-3 falon keresztül 40-50m-ig próbáltuk.Nem tudom a max mennyi lehet. Ha legközelebb arra járok majd kipróbálom. Az adatlap szerint nyílt terepen 300 m. Ja és ezt a távolságot 38400-as sebességgel tudta.
Bár az RF-ben nem vagyok otthon, de úgy tudom, hogy sokat számít az azonos freki. Az én moduljaimban kb 200 KHz-enként lehet állítani a frekit (10 lépésben -> 10 csatorna), és ezt pont arra találták ki, hogy ezek a csatornák ne zavarják egymást. Tehát ekkora különbség elvileg drasztikus romlást eredményez.
Idézet a modulod adatlapjából: Idézet: „High resolution PLL with 2.5 KHz step” Idézet: „Programmable TX frequency deviation (from 15 to 240 KHz)” Idézet: „Programmable receiver bandwidth (from 67 to 400 kHz)” Ezek szerint állítható a tiédben is.
Meg kéne mérd, mekkora a kimeneti teljesítmény. Nincs valami ismerősöd akinek van antenna teljesítmény mérője? Egy rosszul illesztett antenna több dB-t ront, de ezt gondolom te is tudod, csak ezt nagyon nehéz műszerek nélkül behangolni. Milyen frekin megy ez? 868MHz?
Körsugárzó pedig csak akkor lesz, ha áll az antenna.
Ezen az oldalon van egy kódrészlet a 4. hozzászólásban. Hátha segít valamit.
Igen így van. Bár a kapacitás ugyanarra van állítva, nem tudom mekkora lehet ezeknek a *cheap* (?) kristályoknak a szórása. 2.5 kHz a 10mHz-hez képest elenyészőnek tűnik. Szoftver előtt holnap ráfekszem ennek a megmérésére. (Erre már én is gondoltam, de műszer hijján... ). Jelenleg 1.2 kbit/s az átviteli sebesség, és 200kHz a sávszélesség. Ha jól tudom, így menne a legmesszebb.
868 mHz, és sajna nincs ismerős. Így valóban nehéz... De annál szebb lesz... Ami nem öl meg, az erősít.
Nah bebizonyosodott, hogy állítható.
Bővebben: Link 9. oldal: Frekvency Setting Command Ezen kívül benne van minden konfig utasítás. Jah még valami! Az a 2.5 KHz lépés nem a 10 MHz-es részen van, hanem a 868 MHz-et tudja ilyen finoman hangolni.
Ez pár hete még nem volt fönn....
Az én modulomhoz is napokig kellett leírás után kutakodnom a konfig parancsok miatt
Ha megkérhetlek, és lenne rá időd, te hová állítanád a 4., 5., 6., 11., 12., parancsot?
Nekem volt már három is amiből dolgoztam, mind HopeRF pdf, de ezt még nem láttam... Szerencsére ugyan azt írja, bár néha részletesebb, néha meg nem a többinél...
A 4.-hez bármit írhatsz 36-3903 között. Ez határozza meg a modul frekvenciáját ezzel a képlettel:
Fc=860+F*0.0050 MHz Fc: kimeneti freki F: beállítandó érték pl: pontosan 868MHz beállításánál az F=1200 Fc=860+1200*0.005=868 (bin=10100100 10110000, hex=A4B0 (A vezeték nélküli kábeles telefonok (ez jó hülyén hangzik ) is a 86x MHz-es sávon működnek többnyire. A zavart jel származhat ebből is, ha van a környéken. Szerintem próbálj majd ki több variációt is, melyik a legjobb.) Az 5. elvileg az átviteli sebességet állítja. De fogalmam sincs, hogy az ott említett képlettel milyen mértékegységet kapunk. A 6.-nál: P16-ot én 1-re állítanám (Pin16 VDI kimenet: hibás adatokat jelzi!), d1, d0: 0,0 (gyors reakció a VDI lábon), i2, i1, i0: 1,1,0 (67KHz sávszélesség), g1, g0: 0,0 (LNA gain 0 dBm), r2,r1,r0: 0,0,0 (térerősség-mérő érzékenysége -103 dBm) tehát: 10010100 11000000(bin), 94C0(hex) A 11.-nél: a1,a0 : 0,1 (bekapcsoláskor egyszer automata frekvencia-keresés), rl1, rl0 : 0,0 (nincs sávszélesség-korlátozás) st, fi, oe, en: 0,0,1,1 (AFC bekapcsolása) 11000100 01000011(bin), C483(hex) A 12.nél: mp, m3, m2, m1, m0: ezt passzolom. p2, p1, p0 : 0,0,0 (kimeneti teljesítmény 0dBm) Az adatlap 21. oldalán van egy teljes forráskód C nyelven, benne van a konfiguráció is. Amiben nem vagy biztos, illetce amit én nem tudtam, az alapján be tudod állítani.
Sziasztok!
Még új vagyok az oldalon, és a témakörben sem vagyok túlzottan járatos (mondhatni semennyire ). Lenne egy olyan kérdésem, hogy milyen RF eszközzel tudnék egy olyan problémát megoldani, hogy körülbelül min. 20 eszköznek kellene venni egymás adatait (az adat mennyiség csak pár byte) és mindezt több mint 10 km-es távolságból. Az adatokat egy pc küldené az adó felé (legjobb lenne soros vonalon). Elég sokat keresgéltem net-en, de nem sikerült olyan eszközt találnom, amely ezt a távolságot át tudná hidalni Ha valaki tud segíteni, az előre is köszönöm!
Üdv!
Vezetékes, vagy vezetéknélküli adat hálózatot kell építened. (ha a feladat 10 km re szól) Vezetékes: Ha minden telephelyen van PSTN, akkor modemeken kereszül, vagy béreltvonali összeköttetéssel. Vezetéknélküli: Tervezel, vagy terveztetsz, és engedélyeztetsz egy rádiós adatátviteli hálózatot, vagy GSM modulokat (GPRS) használsz. Mindegyik megoldás jó drága. Ha nem szükséges online kapcsolat, akkor ZigBee -t is használhatsz |
Bejelentkezés
Hirdetés |