AVR SPI a viacero slave

Petr Tomasek tomasek@etf.cuni.cz
Neděle Leden 4 18:20:30 CET 2009


Neumite cist :)

IMHO pomoci DDRB definujete, jestli chcete, aby pin fungoval jako MOSI.
Kdyz ano, pak se funkce ridi podle SS (logicke, aby se vicero slavu netriskalo).
Pokud ne, mate z toho obyceny vstupni port.

Cili DDRB nastavite jenom jednou pri inicializaci a potom uz je to automaticke
podle toho, jak master piska...
Nechapu, co je na tom sloziteho...

P.T.

On Sun, Jan 04, 2009 at 04:47:43PM +0100, Jan Waclawek wrote:
> ----- Original Message ---------------
> >SS je slave select, nikoli master/slave switch. Tzn. smìr je stále takový, 
> >jaký jsem si naklikal (na¹el v DS a nastavil bit v registru). 
> 
> To mi je jasne (aj ked to plati len pre slave, ale o nich sa teraz bavime).
> 
> >Vybraný slave 
> >komunikuje s masterem, ostatní sbìrnici ignorují/neovlivòují.
> 
> No, praveze toto bola aj moja predstava.
> Lenze datasheet je v tomto nejednoznacny (ATMega8, doc2486.pdf, rev.T):
> 
> A: str.125: 
> When configured as a Slave, the SPI interface will remain sleeping with MISO tri-stated as long
> as the SS pin is driven high.
> 
> B: str.126, tab.47:
> Pin MISO, Slave SPI Direction: User Defined
> 
> C: str.129:
> Slave Mode: [...] When SS is driven high, all pins are inputs except MISO which can be user
> configured as an output [...]
> 
> D: str.59:
> MISO – Port B, Bit 4 [...] When the SPI is enabled as a Slave, the data direction of this pin is controlled by DDB4.
> [toto potvrdzuje aj tabulka 23: DDOE na pine PB4 je logickym sucinom SPE & MSTR, t.j. ak nie je MSTR nastaveny, smer je dany "normalnym" registrom DDB]
> 
> E: str. 247, obr. 117 (SPI interface timing requirements (Slave Mode)), parametre 9 (SS low to out) a 17 (SS high to tri-state)
> 
> Podla A a E by mal MISO prepinat smer automaticky podla SS; podla B, C a D to tak nie je. Nie zeby ma zvlast prekvapilo, ale comu teraz mam verit?
> 
> Tvrdite, ze Vam to funguje s viacerymi slave, pricom DDB4 mate trvalo 1 u vsetkych (to je to ako to ten codevision vygeneruje), je to urcite tak? Alebo mam radsej vytiahnut osciloskop a overit si to?
> 
> Dakujem,
> 
> wek
> 
> 
> 
> 
> 
> 
> >
> >Doporuèuji stáhnout demoverzi CV, wizardem vygenerovaný kód si pak mù¾ete 
> >bez omezení pøekládat tøeba v GCC, nebo se prostì podívat, jaký bit v jakém 
> >registru dané za¹krtávátko ovlivòuje, v DS se podle toho hledá taky lépe.
> >
> >PH
> >
> >From: "Jan Waclawek" <konfera@efton.sk>
> >Aha... codevision nemam... prezradite mi, prosim, na zaklade coho sa prepina 
> >smer MISO u slave?
> >
> >*Predpokladal som*, ze norski studenti budu mat dost chochmesu to prepinat 
> >automaticky so zmenou stavu SS, ale ocividne to tak nie je...
> >
> >Nuz ano, tiez som si neprecital vopred datasheet... TERAZ mozete hodit 
> >klavesnicou, zasluzil som si to... ;-) 
> >
> >_______________________________________________
> >HW-list mailing list  -  sponsored by www.HW.cz
> >Hw-list@list.hw.cz
> >http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

-- 
Petr Tomasek <http://www.etf.cuni.cz/~tomasek>
Jabber: butrus@jabbim.cz
SIP: butrus@ekiga.net



Další informace o konferenci Hw-list