ATmega 328PB - zvláštní chování I2C sběrnice (glitche)

Ondřej Pavelka opavelka na gmail.com
Sobota Srpen 7 16:05:05 CEST 2021


Zdravím,
rozcházím takové zařízení - jedná se o jeden řídící ATmega 328PB jako I2C
master, který je spojen s dalšími ATmega328PB jako I2C slave - je jich tam
pověšených 8. Problém je, že při předávání parametrů jednotce s adresou
0xBA dojde ke generování zvláštních pulsům - tím dojde ke špatnému
vyhodnocení předávaného parametru.
A někdy to tam není. Naprosto stejný setup zařízení. Jako pokus jsem
zablokoval všechny ostatní slave zařízení a nechal pouze ten jeden
sledovaný, nepomohlo to. Pak jsem zapl, vypl, zapl, někdy i přeprogramoval
stejným SW a chování zmizelo. Pak se zase z ničeho nic objevilo.
Nedaří se mi najít metoda, jak ten problém řízeně kontrolovat.
Pro ilustraci přikládám obrázky z Kingst analyzátoru. Ty průběhy mohou
vypadat jinak, je to přece jen logický analyzátor.
Rychlost I2C je nastavená na 100kHz. Jedná se o HW implementaci pomocí
knihovny v CodevisionAVR, nejedná se o žádný bit-bang, ale řeší se to přes
přerušení. Na jiných projektech jsem s knihovnou problém neměl, takže asi
problém bych tam nehledal. Ty glitche jsou při write - tedy směr od
Masteru...

https://ibb.co/album/PDyRbr

Napadá vás něco ?
Nebo aspoň co vyzkoušet, abych to dostal pod kontrolu ?

Díky,
Ondra
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210807/7aad9e06/attachment.html>


Další informace o konferenci Hw-list