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