Bin mir zwar nicht sicher, aber ich glaube dass I²C quasi ein 3-wire
Übertragung ist INKL. Protokol, also Start, Stop-Bedingungen etc. U.A.
auch Adresse. Also könnte es sein, dass der keine Adresse hat sondern
sozusagen alles gleich für sich sieht.
I2C bezeichnet man auch als "two wire interface". Eine Leitung für
Daten, eine für Clock. Das "three wire interface" gilt i.A. als
Inbegriff für SPI, ist also nicht zu I2C kompatibel.
Ok, danke mal soweit.
Kann ich beide Sachen also nicht gleichzeitig mit nem ATMEGA verwenden?
Wenn doch, wie muss ich das anstöpseln?
Wie ich das sehe, kann ich den Segmenttreiber auf alle Fälle an SDA und
SCL hängen?
Steffen schrieb:> Kann ich beide Sachen also nicht gleichzeitig mit nem ATMEGA verwenden?
Doch, kannst Du, denn der hat getrennte Pins für I²C und SPI.
> Wenn doch, wie muss ich das anstöpseln?
I²C kommt an die Pins PC1 (SDA) und PC0 (SCL), SPI an PB5..PB7 (MOSI,
MISO und SCK). Zusätzlich brauchst Du für SPI pro angeschlossenem Slave
noch einen weiteren frei wählbaren Pin als Chip-Select.
Außerdem lassen sich beide Protokolle auch komplett in Software auf
beliebigen Portpins realisieren.
Ah ok. Langsam ergibt das einen Sinn. :)
Am MISO und MOSI Pin hängt aufgrund meiner Vorgabe schon ein MCP2510 CAN
IC.
Womit ich allerdings noch nicht klarkomme sind die Pinbezeichnungen des
Digitalpotis.
Das einzige was klar ist, dass CLK auf PB7 (SCK) muss.
Ist der RST Pin der Chipselectpin, den du erwähnt hast?
Kommt DQ an MOSI und C_Out an MISO?
Der CAN-Controller ist folgendermaßen angeklemmt:
SI (Data input pin for SPI interface) hängt an MOSI (PB5)
SO (Data output pin for SPI interface) hängt an MISO (PB6)
SCK (Clock input pin for SPI interface) hängt an SCK (PB7)
CS (Chip select input pin for SPI interface) hängt an SS (PB4)
Ist der Controller als Slave konfiguriert?
Sorry für die grundlegenden Fragen, aber ich durchschau das noch nicht
ganz.
Steffen schrieb:> Am MISO und MOSI Pin hängt aufgrund meiner Vorgabe schon ein MCP2510 CAN> IC.
Der spricht auch SPI, von daher solltest Du den Poti problemlos parallel
betreiben können.
> Das einzige was klar ist, dass CLK auf PB7 (SCK) muss.> Ist der RST Pin der Chipselectpin, den du erwähnt hast?
Ja, sieht so aus.
> Kommt DQ an MOSI
Ja.
> und C_Out an MISO?
Ja, die Verbindung brauchst Du aber nur, wenn Du die Poti-Einstellung
auch auslesen willst. Zum reinen Schreiben reicht die Verbindung MOSI -
DQ.
> Der CAN-Controller ist folgendermaßen angeklemmt:>> SI (Data input pin for SPI interface) hängt an MOSI (PB5)> SO (Data output pin for SPI interface) hängt an MISO (PB6)> SCK (Clock input pin for SPI interface) hängt an SCK (PB7)> CS (Chip select input pin for SPI interface) hängt an SS (PB4)
Sollte soweit passen, jetzt brauchst Du für das Poti nur noch einen
weiteren Pin am AVR als Chip-Select. Dabei beachten, daß der
CAN-Controller mit Low, der Poti aber mit High aktiviert wird.
> Ist der Controller als Slave konfiguriert?
Peripheriebausteine sind eigentlich immer Slaves.
Ahh, alles klar.
Dann wird praktisch jeder SPI-Baustein an MOSI für Schreibvorgänge und
evtl. an MISO für Lesevorgänge angeschlossen und lediglich die
jeweiligen Chipselect-Pins bestimmen, welcher Baustein gerade
beschrieben/ausgelesen wird.
Kann man das so sagen, dass der Chipselect-Pin praktisch das Pendant zur
Adressierung beim I²C ist?
Vielen Dank, vorallem R. Max, hat mir sehr geholfen!
Steffen schrieb:> Kann man das so sagen, dass der Chipselect-Pin
Chip - IC, Baustein, was auch immer
Select - Auswahl
ganz genau. Chipselect wählt hardwaremässig einen aus mehreren
prinzipiell parallel geschalteten Bausteinen aus und teilt ihm mit: Du
bist gemeint.
Steffen schrieb:> Kann man das so sagen, dass der Chipselect-Pin praktisch das Pendant zur> Adressierung beim I²C ist?
Ja, wobei man Chips wie Deinen Poti auch hintereinander schalten kann
(Datenausgang vom einen auf den Eingang vom nächsten), so daß man für
mehrere ICs nur einen CS-Pin braucht.
Ich dachte auch zuerst, dass das Ganze so funktioniert, also seriell
durchgeschliffen, bis die Diskussion hier angefangen hat.
Gut zu wissen, dass es so auch geht.
Nochmals danke an die Helfenden.