PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SPI Slave an mega32 - CS Leitung notwendig?



Christoph2
16.01.2013, 14:11
Hi,

ich möchte an eine bereits fertige Platine mit einem mega32 einen SPI Slave (RTC Clock) anschließen. Der mega32 wird über ISP programmiert, daher sind die Pins MISO, MOSI, und SCK bereits auf eine Stiftleiste herausgeführt. Der Pin SS am AVR wird aber schon für etwas anderes genutzt (Display Ansteuerung).

Aber die RTC ist außer dem AVR Programmer das einzige Device am SPI Bus - braucht man da die CS Leitung überhaupt?

Kann ich sie nicht direkt bei der RTC auf GND legen, dann ist sie immer "ausgewählt".
Was aber, wenn ich den AVR dann über ISP programmiere?

lg
Christoph

oberallgeier
16.01.2013, 15:13
... an eine ... fertige Platine mit ... mega32 einen SPI Slave (RTC Clock) anschließen ...Ich weiß nicht welche RTC Du verwendest, haben die nicht meist auch I²C (z.B. meine DS13387) ? Wie wärs dann damit? So gäbs zumindest mit dem ISP keine Probleme *ggg*.

Christoph2
16.01.2013, 15:16
Hi,

ja, momentan hab ich eine i2c RTC in Betrieb. Mein I2C bus ist aber zu lang, und stürzt daher zeitweise ab (slaves hängen sich auf...).
Die Uhr ist aber sehr wichtig, die muss unbedingt immer weiterlaufen.

Da ich einen DS3234 zuhause habe, will ich den mal per SPI anschließen. (Ich weiß, es ist ein bischen ein Pfusch, aber das muss endlich mal laufen...)

lg
Christoph

oberallgeier
16.01.2013, 16:07
... Mein I2C bus ist aber zu lang, und stürzt daher zeitweise ab (slaves hängen sich auf...) ...Oh, I²C-Abstürze und (Auf-)Hänger, da bin ich auch ein gebranntes Kind. Wie lang ist denn der Bus? Oder ist er für die Länge zu schnell? Ich habe bei meinem Laboraufbau mittlerweile 2 m und kein Problem.

Christoph2
16.01.2013, 16:13
Ich habe 5m, und direkt daneben (lässt sich leider nicht verhindern) laufen pwm modulierte 10A zu Leds und Halogenlampen.
Ich hab schon so ziemlich alles versucht, es stürzt jetzt nur noch alle paar Tage mal ab (früher alle paar Minuten), aber das kann ich trotzdem nicht riskieren.

Drum will ich das jetzt nur mal mit der SPI RTC zum laufen bekommen, danach kann ich mich wieder mit dem I2C Bus beschäftigen.

lg
Christoph

durchgebrannt
16.01.2013, 17:55
Du brauchst den SS-Pin am Mega nicht, sofern dieser als Master arbeitet. Du brauchst lediglich einen freien IO um die Slave dazu zu bringen, auf den Bus zu hören. Sofern nur die eine RTC am Bus hängt und das Protokoll es zulässt, kannst du es auch probieren, in dem du CS der RTC fest auf GND legst. Das ist aber nicht umbeding betriebssicher.
Gruß Jannis