2009. május 21., csütörtök

RF Application Development

Ezt a bejegyzést elsősorban Dia Haryhoz intézett levele ihlette, vagyis arra gondoltam, hogy írok egy picit én is a szakmáról.

Az alapszituáció a következő: lokalizácós alkalmazást fejlesztünk mótokra. Ehhez egyszerű CC1000 rádiós modulokat, vagyis azok RSSI (received signal strength indication) kimeneti jelét használjuk különböző trükkös módszerekkel. A jelfeldolgozásra az alapötlet már adott, azonban még számos megoldatlan problémánk van mind az elméleti, mind a gyakorlati dolgokat illetőleg. Az egyik ilyen gyakorlati probléma, hogy egy szimpla mikrokontroller lassú a feladathoz - ez már most látszik. Ezt orvoslandó FPGA-t fogunk használni. Az egész megoldáshoz vezető utat pedig az alábbi három mérföldkőre tudnám osztani:

  1. Alap mérőrendszer kialakítása, vagyis a mért jel letárolása memóriába, majd továbbítása PC-re
  2. A valós (és szimulált ideális adatokkal) a lokalizációs algoritmus pontos kidolgozása MATLAB-ban
  3. A MATLAB-os kód implementálása FPGA-ra

Jelenleg (nyilván) az első pontnál tartok. Már több, mint hete dolgozom az ügyön, és úgy néz ki, hogy hétfőn be is fejezem. Voltaképpen már végezhettem volna vele jóval korábban is, de a világ nyilván nem így működik. :P

Hogy ne kelljen mindent olyan alacsony szinten kódolni, belehelyeztünk az FPGA-ba egy picoBlaze lágyprocesszort. Innentől már assembly nyelven írhattam a kódot, ami egyfajta megkönnyebbülést jelentett. A kód már múlt hét pénteken kész volt, de sehogy sem akart működni. Most hét elején újraírtam az egészet az alapoktól, de ez sem segített: a rádió vevőt nem sikerült úgy felkonfigurálni, hogy az általunk kijelölt ISM frekvenciasávban vegyen. Az viszont gyanús volt, hogy az "állítólagos" vételi módban a kártya 40 mA-el többet fogyasztott, mint az adatlapi érték. Úgyhogy elkezdtünk méregetni. A CC1000 rádiós chiphez tartozó rezgőkör szinte minden elemét tartalmazza az IC. Ez alól egyedül a tekercs (L1rf) a kivétel, amint kívülről kell hozzáilleszteni. Ezen a "tekercsen" mintegy ~3 V DC feszültséget mértünk, ami egy tekercs esetében sok, úgyhogy elkeztünk ezen az úton továbbmenni. Előkerestük a beültetési tervként szolgáló silkscreen réteg rajzát és hamar megtaláltuk, hogy mi okozta a problémát.

CC1000 és környéke

Ha azt mondom, hogy az L1rf környékén van valami "hiba", van valami tipp, hogy micsoda?

Nekünk (pontosabban Péternek) volt egy tippünk, hogy mi a probléma forrása. Ez a tipp be is jött: gyorsan orvosoltuk a hardveres problémát. Ezután feltöltöttük az FPGA konfigurációmat (és szoftveremet), és lám minden ment tökéletesen. Egy piros pont magamnak az elsőre működő szoftverért.

4 megjegyzés:

Orsi írta...

Sanyi! :) 1/85: ez azt az arányt mutatja, amikor egy mukkot se értek abból amit írtál a blogodban... :) És szerintem ez egy baromi jó arány, mert annak ellenére, hogy olyan dologgal foglalkozol, amihez egy átlag ember még egy kicsit se konyít, mégis tudsz olyan dolgokról írni, amiket kifejezetten élvezet olvasni. Nagyon jók a bejegyzéseid!!! (bár ezt már Te is tudod, hisz karácsonykor többen is a tudtodra adtuk! :))
Végül még annyit, hogy gratulálok az első működő szoftveredhez :) (Végülis a lényeg azért most is átjött :P:P (asszem :P))
Puszil,
Orsi

bAtu írta...

Köszönöm az elismerést. :P

Az írással egyre inkább gondban vagyok, de ezt alighanem magamnak köszönhetem. A guatemalai túra beszámolóját most próbálom megírni, ami két részről okoz gondot: már nem érzem aktuálisnak, egyfajta "kényszernek" élem meg a Guatemala-bejegyzések pötyögését, ezáltal fárasztó a dolog. Miután pedig általában ezekkel kezdek, a rendes bejegyzésekre kevesebb idő/energia jut, és úgy érzem csak összecsapom őket.

Ennyit a kulisszák mögül. :D Örülök, hogy akad aki még élvezettel olvassa, no meg kiváncsi vagyok, hogy úgy általában ki van aki még olvassa a blogot. :D

Orsi írta...

Nekem benne van az igoogle-ban a blogodról (egy kis box) meg Atié is, így mindig látom mikor van frissítés :) Azért Te szorgalmasabb vagy mint a bátyád... :P

Szerintem ha kíváncsi vagy, hogy hányan olvassák (látogatják) a blogod, akkor ajánlom a "közvélemény-kutatás" modul hozzáadását... Már egy egyszerű eldöntendő kérdéssel, vagy bármilyen általános kérdés feltételével a rendszeres olvasók biztosan kattintanak valamilyen válaszra... szóval nagyjából saccolhatóvá válik a látogatottság. (egy válaszadód tuti lesz... :)) Persze van esély arra is, hogy ha netán valaki véletlenül téved az oldaladra és soha többet nem néz vissza, az is válaszol. Mindenesetre a kíváncsiságod valamilyen szinten orvosolva lehetne. :)

Orsi

bAtu írta...

OK. :D