2 x master I2C

Hynek Sladky sladky
Středa Březen 17 14:32:42 CET 2004


> Myslim, ze to neni prave nejstastnejsi zpusob. Jednak z duvodu zabezpeceni
> proti kolizim (IIC pamet, ktere je mozne tahat za dratky z vice mist je
> prepsana nesmysly jen to hvizdne) a jednak z duvodu delky vodicu.
> Doporucoval bych spis aby spolu komunikovaly procesory (RS232) a jeden z
> nich zprostredkoval komunikaci s pameti tomu druhemu.
> Pokud by jste prece jen chtel z nejakeho duvodu  komunikovat primo s pameti
> z obou procesoru a vyresite si ten problem s privody (nizka frekvence SCL,
> ....) tak bych doporucoval natahnout 3. drat mezi procesory a stazenim do L
> informovat ten druhy procesor o tom, ze ted ma pockat. Pokud by to melo byt
> opravdu bezpecne, tak by mel procesor ktery chce komunikovat zjistit, zda
> je sbernice volna, obsadit ji, pockat casovou konstantu  k1, uvolnit
> sbernici, pockat cas k2, opet zkontrolovat, zda je volno, obsadit a
> komunikovat. Pricemz k1 by mela byt unikatni pro kazdy uP a k2 naopak pro
> vsechny stejna. Takze takhle. Pokud by jste mel nejake problemy s tim IIC,
> mozna bych vam mohl s necim poradit. Mam ten BUS docela prolezlej :-).
> Hezky den

Podle toho, jak je IIC specifikovana, tak umoznuje multimaster! Jde jen o nastudovani prislusnych dokumentaci a implementaci do
vlastniho programu. Samozrejme musi byt spravne pripojeny HW - tedy SCL i SDA jako otevrene kolektory a prislusne pull-up rezistory.
Kratce receno: master musi poznat, ze byla generovana STOP sekvence, pak muze zacit komunikovat, ale zaroven si cte po sobe, zda to,
co posila, take z linky precte. Kdyz nekde misto 1 narazi na 0, tak mu komunikaci prebral druhy master a tim padem tento konci a
nechava ho dokomunikovat. A zacne zas od zacatku... Jedine, co asi muze vadit, je delka sbernice versus rychlost komunikace,
chybovost...

Hynek Sladky






Další informace o konferenci Hw-list