Pribeh o zahadne chybnej komunikacii (aj s riesenim)

Jaroslav Rybarik rybarik@xtech.sk
Středa Červenec 9 10:16:09 CEST 2008


No pred casom som sa tu aj ja pytal na chybnu komunikaciu zariadenia s 
FT232R a PIC. Pri loopbacku mi to robilo presne to iste, ale ja som to 
zvalil na zle nastavenie alebo moju blbu komunikaciu s FT... Tak idem 
den divajs vyhrabat a vymenim FT :)

Jaro

Jan Waclawek wrote:
> Zdravim vsetkych,
>
> Dnes som dostal dalsiu lekciu z elektronickej zahadologie - nie sice taku sofistikovanu ako CERNaci, ale zato uz viem riesenie. Ja viem ze sa teraz zhovadim, ale snad to niekomu v buducnosti aspon troska pomoze...
>
> Prechadzaju mi cez ruky zariadenie, kde sa programuje firmware mcu pomocou bootloadera z PC cez USB prostrednictvom FT232R (popularny prevodnik USB-UART od FTDI) a optocleny. No a dostal sa mi do ruk exemplar, v ktorom bol bootloader korektne naprogramovany, USB cast z pohladu PC (driverov) korektne fungovala, a nesiel napalit firmware.
>
> Hovorim si, marginalne optocleny, to sa stava, maju obrovsky rozptyl parametrov (vedeli ste ze optocleny Fairchild vyraba v skutocnosti LiteOn? ;-) ); a ani som sa nezamyslel a vymenil som ich. A nic.
> Nebolo casu na dalsie skumanie, este som pre istotu preletoval pullupy a podobne smetie naokolo, ale ani to nepomohlo, tak som zariadenie dal bokom.
>
> Po par dnoch som to nevydrzal a zacal som to blizsie skumat. Aplikacia v PC ma aj nejaku diagnostiku, no a ta odhalila, ze komunikacia prebiehala vcelku spravne - mcu sa ozvalo po zapnuti, PC poslalo otazku na verziu firmwaru, mcu odpovedalo ze ziadny firmware nie je, PC poslalo, ze sa ide napalovat, mcu odpovedalo, ze OK; no a ked PC poslalo prvy paket dat na napalovanie, mcu odpovedalo, ze chybna checksuma, a po par retryoch to PC vcelku korektne ukoncilo nejakou chybovou hlaskou. Hmmmmm...
>
> Ono zasa az tak vela casu znova nebolo, takze zariadenie putovalo zase nabok a potom sa robilo vselico ine.
>
> Asi pred tyzdnom sa vselico ine konecne aspon ciastocne dalo odlozit nabok a zariadenie, ktore ma uz odvtedy velmi iritovalo, islo znova na stol. Tentoraz som na to isiel vedecky a zobral som si aj osciloskop. Pekne som si vyzoomoval pulzy na Rx a Tx pred aj za optoclenmi, a boli ako vysite, dlzka sedela na chlp s baudratom. (Mimochodom, teraz som spravil chybu, ale zatial nepoviem aku). No, nic ine ma uz nenapadlo, iba to, ze je nejako vadny jednocip, t.j. bud UART prijme zle data, alebo je vadna RAMka do ktorej sa ukladaju, alebo je vadne ALU, alebo je vadna FLASHka s bootloaderom (ktory som mimochodom medzitym viackrat pre istotu prepalil a prekontroloval). Zhodou okolnosti sa nam prave v ten den minul tento druh jednocipov, no nic to, dojdu za par dni.
>
> Dnes dosli jednocipy, tak som tam rychle naletoval novy, napalil bootloader a.... zasa to iste, PC vyhodi znamu chybovu hlasku pri pokuse o napalenie firmware.
>
> No toto uz nie je mozne, vravim si, skratujem reset o zem a Tx s Rx, pustam mojho oblubeneho Braya a posielam 0x55 ('U').... a vracia sa "U". No dobre, tak to pustime dokola (ako fajn su tie makra co tam Bray dal), a vezmeme si na to pre zmenu logicky analyzator. Ale ani som sa nestihol naciahnut na policu, a pozeram, ze sa vracia "UUUTUUUTUUUTUUUT..." Doparoma, co to je?
>
> Logicky analyzator ukazuje, ze tam (uz priamo za FTDI, t.j. aj bez loopbacku) je naozaj UUUTUUUTUUUT, t.j. kazdy 4 byte ma nulty bit nulovy; inak je ten signal ako vysity z ucebnice, nie je to ziaden skrateny ci inak zmrseny bit, pekne ciste 0x55 a kazde stvrte 0x54. Par rychlych testov potvrdilo, ze je to presne tak: z FTDI lezie v kazdom 4 byte nulty bit nulovy, bez ohladu na to ake data to su. Cirou zhodou okolnosti v tej komunikacii s PC co prebehla uspesne boli vsetky stvrte byte take, ktore uz maju nulovy bit nulovy, takze sa to prejavilo len v tom dlhom pakete...
>
> Stare FT232R putovalo do kosa a novy kusok funguje presne ako ma.
>
> Ta chyba, co som urobil, bola, ze som slepo veril tomu co vidim na osciloskope - lenze tam som videl vzdy len prvy byte z celej komunikacie (tam sa mi chytil trigger), a ten bol zhodou okolnosti v poriadku; takze som urobil nespravny zaver. Mal som hned na zaciatku vylucit mcu (tym loopbackom) a zobrat si LA. Nuz ale po vojne je kazdy general...
>
> ---
> Dufam, ze som aspon pobavil.
>
> wek
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>   




Další informace o konferenci Hw-list