Alulvonás A

Addig míg egy mikrokontrolleres áramkör, legyen vezérlőelektronika vagy épp egy iPfone a dobozába kerül elég sok ember kezén fut át. Míg talán a szoftverfejlesztők munkája az ismertebb, nem elhanyagolandóak azok, akik azon vannak, hogy a dolog "ketyegjen". Ezek azok a mérnökök akik magát a vasat tervezik, és amikor a vasban több száz MHz-es jelek futkosnak akár több száz alkatrészen keresztül, érthető, hogy ez a feladat összetettségében vetekszik bármelyik programozó munkájával.
Ennek a munkafolyamatnak egyik része a prototípus szerelés és élesztés, amikor egy jobb sorsra érdemes technikus megkapja a legyártott nyomtatott áramkört, pár doboz alkatrészt és a kapcsolási rajzot, hogy rakja össze.
Annak függvényében, hogy mennyire összetett az adott áramkör, mennyire szakmai kihívás, és mekkora a rendelkezésre álló erőforrás az adott cégnél, sokszor ugyanezen technikus nyeri meg az élesztést is. Az élesztés nagyjából a kód debugolással egyenértékű, amikor különféle műszerekkel végig kell mérni, hogy működik-e az adott részáramkör vagy sem.

A tegnap összeszerelt paneleket ma élesztettem, ami azzal indult, hogy megnéztem a tápfeszeket, áramfelvételeket, és jár-e a két mikrokontroller órajele. Mivel szoftver még nincs a darabhoz, ezért abban maradtunk, hogy egy hasonló funkcionalitású tesztberendezés kódjait fogom feltölteni, és azzal ellenőrizni a kommunikációt. Az első panelre simán felment a két kód, viszont kifelé síri csönd és hullaszag.
Visszadugtam a debuggert és kiolvastattam a kontrollerek memóriáját, amikben a jó szoftverek voltak. Ez azt jelentette, hogy maga a kontroller él.
További méricskéléssel kiderült, hogy az interface ICk és s körülöttük lévő alkatrészek is jók.
Mérés közben hozzáértem a JTAG csatlakozóhoz amire egy pillanatra elindult a kommunikáció. Az ilyent nagyon utálom...
Jobb megoldás lévén visszadugtam a debuggert és elindítottam kódfuttatás módban (ilyenkor kívülről kapja az órajelet és a vezérlőjelek egy részét a kontroller). Az egyik kontrollernél semmi nem történt, a másiknál elindult a kommunikáció. Tehát a hiba valahol a vezérlőjeleknél lesz. Erre elkezdtem pöcögtetni a a RESET vonalat a debuggerrel. Megy kód-nem megy a kód. Aha! Kapcsrajz elővesz, resetárakör méregetés. Semmi, a resetáramkör megy. Elkezdek komolyan belemászni a RESET vonalakba. Van RESET_A, RESET_D, meg sima RESETszmötyi vonal. Némi nézegetés és méregetés után jön az isteni szikra. A hálózat elnevezésénél, a kontrollerek reset vonala a RESET_A nevet kapta, a resetáramköréről viszont lemaradt a _A. Gyors ellenőrzés egy korábbi rajzon, forrasztás, és megy kommunikáció.
Két karakter lemaradása és üzemképtelen egy 25kHUF árú nyák. Kb. ilyen egy villamosmérnök felelőssége.

Ezután a dupla BGA forrasztás és alulméretes footprint miatti forrasztgatások a másik panelon már csak levezetés jellegűek voltak.

Stay tooned...

Hozzászólások

Hali!

Hol dolgozol egyebkent?

By(t)e
TBS::Antiemes