SPI Kaskadierung

Vorstellungen von Programmen, welche mit Lazarus erstellt worden.

SPI Kaskadierung

Beitragvon ArmFPC1 » 26. Mai 2015, 07:39 SPI Kaskadierung

Hey Leute,

ich hab mal wieder ein Problem :wink:

Ich habe mittels den Untils von Socke : viewtopic.php?f=29&t=7700 mit ein Programm geschrieben mit dem ich den SPI Bus ansprechen kann, dies funktioniert bis jetzt auch super solange ich nur einen MCP 23s08 auf der Bus Leitung habe. Ich hätte gerne 3- 4 Bus Bausteine die ich auf der selben SPI- Linie angesprochen werden, also diese Kaskadierend verdrahten. Wenn ich sie Parallel verdrahte, dann müsste ich den Chip Select auf weitere GPIO's legen, dies könnte ich mir andernfalls sparen.

Bei dem Verwendetet I/O Expander MCP 23S08 muss man zu beginn die Adresspins aktivieren, dass diese berücksichtigt werden. Zusätzlich gibt es bei dem MCP auch noch ein Bit das man auf "1" setzen muss, dass die Adresse nicht automatische Inkrementiert wird. Beides hat leider nicht zu meinem gewünschten Ergebnis geführt. Dies Funktioniert auch, wie schon gesagt aber nur wenn ein Baustein auf der Leitung vorhanden ist.

Hat jemand Erfahrung damit, was ich anders machen muss oder geht es mit Linux nicht eine Bus nachricht an mehrere teilnehmen zu versenden.

Danke schon mal im voraus!
ArmFPC1
 
Beiträge: 33
Registriert: 19. Mär 2015, 18:18

Beitragvon marcov » 26. Mai 2015, 11:01 Re: SPI Kaskadierung

Ich benutze mcp23S17, und das funktioniert ja. Also nur eine chip select I/O für mehrere solche Komponenten auf einen Bus, und die Adresse Pins sind unterschiedlich geerdet, und mit die Bits im SPI Header kann man der Selekt machen.

Der Vorteil ist zweifältig. Weniger I/O pins, und man kann die Daten für mehrere Chips dicht aufeinander packen und in einen einzige DMA burst rauswerfen.

Ich benutze aber eigene (microchip dspic33e) Elektrotechnik, keinen Pi oder so, also von die Software Seite weiß ich nicht.
marcov
 
Beiträge: 999
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon ArmFPC1 » 26. Mai 2015, 12:32 Re: SPI Kaskadierung

marcov hat geschrieben:
Ich benutze aber eigene (microchip dspic33e) Elektrotechnik, keinen Pi oder so, also von die Software Seite weiß ich nicht.


versteh ich dich richtig du verwendest einen "kleineren" Kontroller ohne Linux Betriebssystem und verwendest so mit nicht diese von mir oben genannten Utils.

Ich denke das es entweder seitens Linux nicht zu gelassen wird oder ich mein SPI Struct falsch fülle!
ArmFPC1
 
Beiträge: 33
Registriert: 19. Mär 2015, 18:18

Beitragvon marcov » 26. Mai 2015, 13:15 Re: SPI Kaskadierung

ArmFPC1 hat geschrieben:
marcov hat geschrieben:
Ich benutze aber eigene (microchip dspic33e) Elektrotechnik, keinen Pi oder so, also von die Software Seite weiß ich nicht.


versteh ich dich richtig du verwendest einen "kleineren" Kontroller ohne Linux Betriebssystem und verwendest so mit nicht diese von mir oben genannten Utils.


Korrekt.

Ich denke das es entweder seitens Linux nicht zu gelassen wird oder ich mein SPI Struct falsch fülle!


Las den SPI struct mal sehen. Vielleicht sind die adres pinnen gespiegeld oder so? 010 statt 101 usw.
marcov
 
Beiträge: 999
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon ArmFPC1 » 29. Mai 2015, 09:23 Re: SPI Kaskadierung

was mir gerade noch einfällt kann es an dem Mode liegen den man beim Konfigurieren des SPI Treibers angeben muss. Ich über gebe da den SPI_MODE_0.

Im Anhang hab ich die Definition von dem Struct / Record als Datei
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ArmFPC1
 
Beiträge: 33
Registriert: 19. Mär 2015, 18:18

Beitragvon marcov » 1. Jun 2015, 10:31 Re: SPI Kaskadierung

Ich meinte die Struktur von die Daten die auf dem Draht gehen :D
marcov
 
Beiträge: 999
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

• Themenende •

Zurück zu Programme



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried