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

David Obdrzalek David.Obdrzalek na mff.cuni.cz
Sobota Srpen 7 19:56:43 CEST 2021


Mě se to zdá v pořádku. 

Data se smí měnit jen když je clock dole a to se mi tady zdá, že je (samozřejmě až 
na Start/Stop Condition) a čtou se se vzestupnou hranou hodin, kdy se nesměji měnit, 
a to tady taky vypadá OK.

Zkus to ještě zazoomovat, jestli to tak je, ale vypadá to tak. Samozřejmě osciloskop 
by byl lepší - už jsem kdysi zoufale hledal chybu v programu, protože logický 
analyzátor ukazoval jasná data, ale na osciloskopu byl vidět bordel, který 
samozřejmě jak čert chtěl to zařízení vyhodnocovalo jako 0 a 1 navíc.

D.O.

On 7 Aug 2021 at 16:05, Ondřej Pavelka wrote:

> 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ší informace o konferenci Hw-list