AVR SPI a viacero slave

Miroslav Šinko sinkomiro@gmail.com
Pondělí Leden 5 02:07:44 CET 2009


Dňa 5.1.2009, Jan Waclawek <konfera@efton.sk> napísal(a):
> > Nie je z toho zrejme, ze pre komunikaciu master vybera prave jeden slave?
>
> No a co si Kefalin predstavuje pod "vybratim prave jedneho slave"? To tam predsa nikde jednoznace rozvede nie je. Mam znova *predpokladat*?

Ale uz je vela hodin a nebavi ma to. Co konkretne Ti nefunguje?
Najprv si sa pytal na prevadzkovanie jeden master a viac slave na
spolocnej zbernici. Dostal si potvrdene, ze to funguje. Potom si sa
pytal na zaklade coho prepina MISO smer pri slave. Dostal si odpoved -
neprepina smer, moze byt trvalo output a podla SS chodi do tretieho
stavu (to je v DS*). Potom si videl nejednoznacnost v bodoch A-E.
Napisal som Ti k tomu nieco, z coho snad vidno jednoznacnost. Potom Ti
vadilo, ze sa MISO v istom momente neda nastavit ako vystup. Dostal si
odpoved, ze sa da, ale je v tretom stave na zaklade SS (je to v DS). K
tomu si dal svoje merania, ktore to potvrdili. Potom si sa chytil
mojej vety, ze len 1 slave moze byt naraz aktivny. Dostal si odpovede,
ze je to v DS a appnote. Teraz sa pytas, co to znamena byt vybraty. No
neviem, ci Ti este nieco pisat, opat sa cohosi chytis, co Ti ani nie
ze nebude jasne, ale budes v tom vidiet moznu palicu.

> Nuz tak predpokladam:
> SS *moze* mat trebars *len* tu funkciu, ze kym je high, tak su hodiny pre prijimac zahradlovane a citac prijatych bite je nulovany. Mimochodom, tuto funkciu zosiroka popisuju na viacerych miestach a o nej nepochybujem (zatial ;-) ).

SS ma aj jasne popisanu (a tu x-krat omielanu)  funkciu, ze nastavi
MISO do tretieho stavu, str 125 v DS. Fakt nechapem, nad cim este
spekulujes.

> V tom spominanom appnote (ktory som tiez precital odpredu aj odzadu) sa vlastne pise to iste, ze je jeden slave "vybraty". Nic viac, nic menej.

o.i. MISO nie je v 3. stave, str. 125 v DS (opakovanie - matka...)

> Kedze sa v spominanom appnote - a ani v inych appnote a ani inde - studenti pisuci svoje diplomovky nenamahali s nicim inym ako najtrivialnejsim pripadom, tak bohuzial ani z appnote nie je na 100% zrejme, ako to s pinom MOSI je v suvislosti so SS.

A co si Kefalin predstavuje pod nie-najtrivialnejsim pripadom?

> Este raz, ak mi datasheet - ktory ma uz oklamal co sa tyka I2C, a tam ta informacia bola jednoznacna (a appnote zasa len trivialny - co by clovek od studenta pisuceho diplomovku mal ocakavat, ze?) - da dve a viac rozporuplnych a nejednoznacnych informacii, tak datasheet v tom bode vadny. Bodka.

Este raz, kde vidis nejednoznacnost? A opakujem otazku z uvodu: Co
konkretne Ti nefunguje?

> Aby niekto nahodou nezadrapol, tak znova opakujem, ze vacsina datasheetov mcu novsich ako 20 rokov su nejako vadne.

Neobhajujem bezbreho Atmel (norskych studentov) **, len sa mi vidi ze
v sucasnom probleme SPI nechces uznat, ze to, co je potrebne vediet na
obsluhu je naozaj popisane. Nad formou sa da spekulovat donekonecna,
vzdy sa najde niekto, komu by sa to pacilo inac.

> wek

miro

PS: preco sa Ty vlastne zaobaras AVR-kami, ked na dehonestovanie ich
tvorcov vyuzivas kazdu prilezitost? Nemal by si zivot krajsi, keby si
sa na ne vykaslal?

-----------------
*DS = datasheet ATmega8, rev T
** v niektorej starsej verzii datasheetu k tiny13 (uz ju nemam) mali
klasicky copy/paste error. Pri popise bitov registrov ovladania
vystupov A a B timera mali odstavcek bitA, text k bitu A, odstavcek
bitB, text k bituA.


Další informace o konferenci Hw-list