Hallo, ich will zwei Photoelectric Sensoren an meinen uC anschließen. Als uC benutze ich Atmega 325. Die Sensoren funnktioniert nach SPI Protokol. Nun ist die Frage : Wie schließt man ein? Aus dem Application Note von Fa. ATMEL habe ich gelesen, dass man für ein Multislave System ein 2.Portpin als Slave Select (SS) benutzen muss. In meiner Anwendung ist dies nich möglich, weil alle Portpins schon belegt sind. Habt ihr vielleicht Vorschläge? Danke. Gruss Aaron
Aber einen SlaveSelect hast du, oder? Dann könntest du über einen Inverter den anderen Chip ansprechen, wenn du den SlaveSelect in Software kontrollieren kannst... Ralf
Hallo Ralf, das habe ich mich auch überlegt. Andere Lösung wäre die Slaves mit Daisy Chaining verbinden. Was denkst du? Welche ist besser? Gruss Aaron
Aaron schrieb: > Andere Lösung wäre die Slaves mit Daisy > Chaining verbinden. Sowas geht bei SPI nicht.
> Sowas geht bei SPI nicht. Es hängt vom verwendeten Baustein ab. SPI sind nichts anderes als gekoppelte Schieberegister, der SS sagt, wann eine Übertragung beginnt, und wann sie zuende ist. Solange der SS aktiv ist, werden einfach die Daten durch die Schieberegister durchgeschoben. Erst wenn er deselektiert wird, ist die Übertragung beendet und die Daten werden übernommen. Siehe dazu http://www.maxim-ic.com/appnotes.cfm/an_pk/3947 und http://www.best-microcontroller-projects.com/spi-interface.html sowie http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Daisy_chain_SPI_configuration
> Andere Lösung wäre die Slaves mit Daisy > Chaining verbinden. > Sowas geht bei SPI nicht. Das kann man so generell nicht sagen, kommt auf die Bausteine an, bei normalen Schieberegistern geht's z.B.
Hallo alle, Ja,ihr habt Recht. Habe gerade geprüft, dass die Sensoren nicht Daisy-Chaining fähig sind. Ich muss dann eine externe Inverterschaltung bauen, um die Slaves zu verbinden. Habt ihr Vorschläge, welche IC ich benutzen kann (mit geringere Latchzeit)? Gruss Aaron
Lothar Miller schrieb: > SPI sind nichts anderes als gekoppelte Schieberegister, der SS sagt, > wann eine Übertragung beginnt, und wann sie zuende ist. Solange der SS > aktiv ist, werden einfach die Daten durch die Schieberegister > durchgeschoben. Von reinen Schieberegistern abgesehen dürfte dies bei den wenigsten SPI-gesteurten Bausteinen so sein. Die meisten generieren auf MISO eine andere Antwort als das, was sie auf MOSI gelesen haben. Ja, reine Schieberegister (wie die beliebten 74HC595) kann man natürlich hintereinanderschalten, das habe ich auch schon gemacht. Hier war aber die Rede von fotoelektrischen Sensoren. Ich find's ja ein wenig kurzsichtig, zwei SPI-Slaves vorzusehen und dann mit nur einem SEL-Signal auskommen zu wollen. Vielleicht hätte man dann besser I²C nehmen sollen, da werden die Slaves über Adressen im Protokoll angesprochen statt über separate select-Signale.
Aaron schrieb: > Habt ihr Vorschläge, welche IC ich benutzen kann (mit geringere > Latchzeit)? Naja, erster Kandidat wäre wohl ein single-gate inverter, bspw. ein NC7SZ04. Vielleicht lässt du ja mal die Katze aus dem Sack und schreibst etwas mehr über deine SPI slaves, vielleicht ja auch einen Typ oder ein Datenblatt, damit man weiß, wie schnell du dein SPI betreiben willst/musst?
Hier ist ein wenig Details zu dem Sensor: Power supply voltage : 24V Power supply current : max. 1A per unit Resolution : 1,8mm Framerate : 200 us LVDS-CLK : Max. 5 MHz Output : SPI LVDS
Aaron schrieb: > Power supply voltage : 24V > Power supply current : max. 1A per unit Huch, das ist ja ein Ofen. :-) > LVDS-CLK : Max. 5 MHz Die Taktfrequenz ist noch relativ "normal". Da werden auch die Setup-Zeiten des slave select nicht so kritisch sein. > Output : SPI LVDS Aber das select-Signal ist ein normales CMOS-Signal, oder ist das auch LVDS?
> Power supply voltage : 24V > Power supply current : max. 1A per unit Huch, das ist ja ein Ofen. :-) -so steht auf dem Datenblatt Das LVDS Signal wird mittels eines Umsetzers von LVDS->TTL umgewandelt, damit der uC ein normales TTL Signal kriegt. Gruss Aaron
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.