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

Pavel Kutina hw na prelude.cz
Sobota Srpen 7 20:05:35 CEST 2021


Je pravda, že ten binec jde se sestupnou hranou, otázkou je, jaká je tam 
logka - všechna data, co tam vidím, chodí se sestupnou, takže to tam ten 
binec dělá (což zase na druhou stranu popírá miji krásnou teorii o tom, že 
tam do toho něco kecá, to by bylo nejspíš asynchronní).

Pavel Kutina


----- Original Message ----- 
From: "David Obdrzalek" <David.Obdrzalek na mff.cuni.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Saturday, August 7, 2021 7:56 PM
Subject: Re: ATmega 328PB - zvláštní chování I2C sběrnice (glitche)


> 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
>>
>
>
>
> _______________________________________________
> 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