Technika LED 20 904A SS14, chassis 17MB82S
Moderátor: Moderátoři
Technika LED 20 904A SS14, chassis 17MB82S
schema,je shodné s Philipsem(souhlasí i poziční čísla).
Už jsem nevěděl kudy kam,tak jsem oměřoval měřící body a když jsem přiložil měřák na TP101,tak telka normálně najela a všecho funguje.Jakmile ji ale vypnu tak po dalším zapnutí zase jen bliká dokud se nedotknu měřákem toho bodu.Ještě je divné,že mám tři měřáky,ale spouští to pouze jeden i když mají stejný vnitřní odpor i stejnou kapacitu.Zkusil jsem nasimulovat odporem a kapacitou ten měřící bod a nic.I když je tam zapojen odpor i kond tak to jde spustit jen tím měřákem.
Nemá někdo nápad,čím by to mohlo být?
Totižto ta pamat podla datasheetu nemá interný pull up, takže má výstup SO ako open drain (otvorený kolektor) a teda v prípade, že CPU má svoj interný pullup odpor na čipe chorý, može to takto blbnut.
To je jedine co ma napadlo na zaklade uvedenych informacii.
Ono to je tak, že TV (CPU v nom) po starte si stiahne cely obsah flash do svojej RAM, no ale ak mu to v com case nejde, nedostane sa dalej, resp. ak sa to podari, už flash nepotrebuje do dalsieho startu.
Zaky píše:Chtělo by to prohlédnout komunikaci s pamětí osciloskopem, může tam být problém s úrovněmi (špatné napájení, vadná flash...) nebo tím měřákem zblbneš přečtená data a protože je to flashka, z níž se tahá firmware, zblbne procesor, odresetuje to watchdog a následně to celé najede korektně. Takže bych zkoumal náběh napájení a generování resetu procesoru.
Neni to naopak? On tvrdi, že mu to prave nastartuje ked tam ten merak ma prilozeny, nie naopak. Takze pri pripojenom komunikacia bude ok a pri odpojenom problemova.
Jasne osciloskop, ale priloženim to moze zacat fungovat...
Myslim, že ak by bol zly reset cpu, tak to nenastartuje vobec, resp. len vtedy ak doslo k dobremu resetu po zapnuti, ale neviem aky by to malo vplyna to, či tam priloži nejaky merak resp. ak ho uz ma pripojeny a resetne to wd na zaklade chybe v programe, tak by romunikaciu zas dodrbal tym merakom a nic by zas nenabehlo, to by mu to islo len tak zo 100x raz normalne.
Išlo čiastočne odmazanu flash pamäť.
Predstav si, že tvoja flash pamäť sa pri čítaní môže správať na niektorých bitoch nerozhodne, tak ako to robili kedysi EPROM.
Ono princip EPROM a FLASHROM nie je až taký odlišný.
EPROM sa dá mazať osvitom čipu UV-C žiarením po určitú dobu, čo spôsobí, že svetlocitlivý materiál začne byť vodivý a vybije náboj nabitých buniek (bity pamäte v hodnote 0). Takže po výmaze sú všetky bity pamäte v hodnote 1.
Niečo podobné sa pri mazaní deje aj v EEPROM aleb flashROM, s tým rozdielom, že mazanie prebieha elektricky - teda pamäti sa zadá prákaz na výmaz určitého sektoru či celej pamäte a tá si aktivuje tranzistory ktoré v danom(ých) sektoroch vybijú náboj buniek (bitov).
A teraz:
Ako môže dôjsť k čiasotočnému odmazaniu bitov u EPROM je jasné, dlhododobým pôsobením (roky) povedzme slnečného žiareniaalebo žiarivky cez nedokonalú nálepku ktoru sa sklo pamate zvykne po nahratí prelepiť alebo nesprávnym programovacím algoritmom, nízkym programovacím napätím a samozrejme faktom, že každej bunde sa náboj vybíja iným tempom avšak výrobca zaručuje minimálny čas v rokoch, kým niektorá bunka - bit sa začne preklápať do log. 1 a to začne pri max. napájacom napätí povedzme 5,5V.
Preto na lepšáích programátoroch sa obsah eprom dá verifikovať pri Vmax 5,5V a Vmin 4,5V.
U flash mi to zatial nie je jasné, ale ak pominiem náhodný prepis dát chybou programu sposobonou porucho zdroja napr. zvlnením napájania alebo neustálim resetom pri poklesoch napájania, tak svoju rolu tak ako u EPROM hraje čas a teda postupné vybíjanie náboja v niektorých bunkách skôr ako vo väčšine ostatných.
Pričom ale verifikácia Vmin versus Vmax na programátoroch čo s amojho týka nie je (povedzme pri nominál 3,3Vtak V min 3V, Vmax 3,6V.
Ako sa dá zisti, že týmto spôsobom blbne pamäť aj keď podobné javy môžu byť sposobene absenciou 100nF C na blízku napájania pamäte...
Mal som zopár flash paralelných, ale aj SPI, ktoré v programátore robili nasledovné:
Programátor načítal obsah a vzápätí ho verifikoval novým čítaní a verifikácia neprešla.
Rozdieli vždy boli jednobitové to znamená ža určité adresy napr. 3-4 adresy zo všetkých boli nerozhodné (bajty, či word bajty) mali jednobitový rozdiel voči prvému čítaniu.
Príklad: prvé čítanie urč. adresy 80H druhé 00H alebo inej zase 02H potom 00H, 2E potom 0E a podobne.
Proste sa pamäť nevedela rozhodnuť či určitý bit v bajte bude 0 alebo 1.
A zaujímavé, že po výmaze celej pamäte a naprogramovaní rovnakého obsahu ako mal byť ok, nerozhodnosti všetkých bajtov zmizl. *Som si vedomý, že po rokoch sa zas objavia...
Ale ako teda zistiť ktorý obsah flash (ktoré čítanie) je správne?
Navrhujem znížiť napájanie pamätie vrazením shotky diody medzi napájací pin pamäte a tým znížiť z 3,3V na povedzme 3V a pokiaľ sa TV rozbehne pez pripojenia nejakých merákov a iných fidlátiek, treba urýchlene vyčítať obsah pamäte so zníženým napájaním na programátore, zálohovať, zmazť a opäť naprogramovať ale už pri normánom napájaní.
Ak teda nemáš funkčnú nápln k dispozícii...
Hm čo ty na to?
Musel som to napisat takto zoširoka, bo aby viacerí chápali o čo mi ide a prečo sa to môže diať.