I2C lock-up
Ladislav Vaiz
spam na nagano.cz
Pondělí Srpen 20 16:08:44 CEST 2012
Resil jsem neco podobneho cca pred 8 lety. Stavalo se to po resetu
watchdogem. Jinak to bylo to same, co popisujete vy. Pridal jsem
clockovani do inicializace firmwaru a od te doby je pokoj.
Ktery slave to je, byste asi poznal malym seriovym odporem na SDA slave a
podle polarity na nem byste nasel, ktery drzi SDA na log.0.
Lada
On Mon, 20 Aug 2012, j s wrote:
> Kolegovia,
>
> nerad Vam rusim hypoteticku debatu okolo prepipavania neexistujucich
> kablov vo vymyslenej situacii, ale mam otazku ohladom pomerne
> konkretnej I2C zbernice :-)
> Mam tu male zariadenie, kde pouzivam I2C zbernicu z PIC24F ako mastera
> k malemu OLED displeju (DEP096032 z TME) a EEPROM 24LC1025. Po dlhsom
> testovani sa ukazalo, ze z casu na cas sa komunikacia na IIC "sekne" a
> nepomoze ani reset I2C modulu MCU - treba power-on-reset I2C slave
> zariadeni. Seknutie sa prejavuje tak, ze vsetka sranda skonci na tom,
> ze SDA linka je na nule a I2C modul zahlasi bus collision (teda pri
> pokuse stiahnut SDA ako sucast start bitu alebo prenasaneho bajtu
> vidi, ze nie je na zbernici sam, kto taha za SDA). Typicky pripad je
> slave potvrdzujuci ACK, ktory si "nevsimne" deviaty SCK bit. Potom
> slave caka na deviaty bit a master caka na volnu zbernicu. Ked to
> nastane, treba jeden az devat krat potahat za SCL drot (vacsinou sa
> uvolni po prvom clocku). Toto som vlozil aj do I2C inicializacie, pre
> pripad.
>
> Zda sa, ze to funguje (je to mimochodom v I2C specifikacii - UM10204,
> strana 20 dolu), ale nejak zvlast sa mi to nepaci. Pravdupovediac,
> nejak zvlast sa mi ani nepaci I2C zbernica vobec, uz dlhe roky :-)
> Riesite taketo veci u svojich I2C implementacii? Ak ano, mate este
> nejake ine postrehy/skusenosti?
>
> J.
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list