i2c - jak slave pozna, ze je ve fast-transfer modu?

Jan Waclawek konfera na efton.sk
Čtvrtek Únor 8 11:13:41 CET 2018


> Ten chip ma 2 mody prenosu: std a fast.

S najvacsou pravdepodobnostou nema.

Uz som tu story tu asi pisal: ked sa objavili Ramtrom FRAM, tiez v DS bola
tabulka s dvomi stlpcami pre SM a FM. A tiez som bol z toho zmateny a
myslel som si, ze to ten cip nejako detekuje. Tak som si napisal do
Ramtronu, a kupodivu som dostal velmi pekne napisanu odpoved, kde mi
dotycna vysvetlila, ze ten cip je jednoducho FM (co je nadol takmer
dokonale kompatibilne so SM), ale kedze zakaznici chcu v DS vidiet tie
iste cisla ako su v I2C standarde, tak tam jednoducho oba stlpce z I2C
specifikacie okopirovali.


A ano, mal som tu chybu v software... :-) ale nasiel som ju este predtym
ako som dostal tu odpoved.

wek




----- Original Message ---------------

Subject: i2c - jak slave pozna, ze je ve fast-transfer modu?
   From: David Belohrad <david at belohrad.ch>
   Date: Wed, 07 Feb 2018 17:45:22 +0100
     To: "HW-news" <hw-list at list.hw.cz>

>Ahojte vsichni,
>
>implementovali jsme v FPGA soft-i2c core. Tzn. v podstate firmware dokaze vygenerovat: start bit, stop bit, write data, read data. V software (pythonu, pres tisic vrstev) pak posilame do FPGA prikazy aby vygeneroval start bit, zapsal adresu, zapsal data, zapsal stop bit (v pripade ze zapisujeme).
>
>Problem je v tom, ze ten cip za urcitych okolnosti proste odmita spolupracovat - po zaslani start-bitu + adresy nenasleduje ACK. A my hledame, kde se to deje. Ten chip ma 2 mody prenosu: std a fast. A jedine, co nas zatim napadlo je, ze ten cip se 'nejak' rozhodne, jestli to co mu posilame je fast nebo slow, a podle toho si upravi timing. A pak kdyz se rozhodne, ze je slow, tak proste ignoruje co mu posleme. Takze ted ta otazka: co rozhoduje, ze chip akceptuje sda/scl signalove stavy jako fast-mode?
>
>Jen pro doplneni: python+ ty vrstvy jsou pomerne pomale, tzn, mezi vygenerovanim start bitu a poslanim adresy zarizeni je mezera kolem 2.5ms, a pak nasleduje adresa zarizeni, ktera je vychrlena hodinovym kmitoctem asi 300kHz, a pak se ceka na ACK - ktery neprijde. A me napada, jestli to nahodou neni tim, ze pokud je mezi start bitem a prvnim hodinovym clockem velky interval, tak se to prepne do standard modu, a pokud je kmitocet vetsi nez 100kHz na te prvni periode, tak se prepne do fast....
>
>Jedna se o Si5338 PLL.
>
>diky za kazdou radu, uz se s tim hraju cely den
>
>.d.
>_______________________________________________
>HW-list mailing list  -  sponsored by www.HW.cz
>Hw-list at list.hw.cz
>http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list