Guten Morgen liebe Forenmitglieder, ich beschäftige mich seit einiger Zeit mit FPGA's und momentan mit dem Thema SPI Schnittstellen. Nun möchte ich die Theorie in die Praxis umsetzen und frage Euch, mit welchen externen Peripherie -Bausteinen dies übungstechnisch am einfachsten funktioniert? Vielen Dank und liebe Grüße,
pico schrieb: > mit welchen externen Peripherie -Bausteinen > dies übungstechnisch am einfachsten funktioniert? Nimm einen DA-Wandler und ein Oszi. Oder einen AD-Wandler. Dann kannst du an LEDs den Binärwert ausgeben und siehst schnell was.
Dies würde bedeutet, dass ich das Register des ADC's via SPI auslesen würde? Wie würde ich das genau machen? Gebe ich dann ein analoges Signal ein und lese den Inhalt nach Convertierung im Register via SPI aus? Vielen Dank für die schnelle Antwort.
pico schrieb: > Wie würde ich das genau machen? Gebe ich dann ein analoges Signal ein Ja klar, am Analogeingang muss ein Poti angeschlossen werden > und lese den Inhalt nach Convertierung im Register via SPI aus? Du liest das Datenblatt deines AD-Wandlers und steuerst ihn so an, dass er dir den AD-Wert gibt. Grundlegendes: > und lese den Inhalt nach Convertierung im Register via SPI aus? SPI ist immer bidirektional: du sendest was und bekommst gleichzeitig was zurück. Beim AD-Wandler sendest du z.B. die Konfiguration (diese Konfiguration gilt dann für die nächste Wandlung!), und während des Sendens wird mit dem SPI-Takt Bit für Bit entsprechend der zuvor gesendeten Konfiguration gewandelt und zurückgeschickt. Wenn ich das so überblicke: nimm doch zuerst den DA-Wandler. Da schickst du das (richtige) Kommando und siehst sofort was am Ausgang... ;-)
Ich verstehe. Vielen Dank für den super Tipp. Das Ganze werde ich mal ausprobieren. Könnte ich nach diesem Prinzip auch einen Sensor, beispielsweise ein Temperatursensor auslesen? Oder via SPI einen LCD_Controller ansprechen, welcher dann mit einem einzeiligen LCD Diplay verbunden ist? PS: Sind Sie auch für die gleichnamige Internetseite verantwortlich? Diese hat mir einen sehr guten Einblick in die VHDL Programmierung und die Funktionsweise der FPGA's gegeben. Kompliment !!!
pico schrieb: > Könnte ich nach diesem Prinzip auch einen Sensor, > beispielsweise ein Temperatursensor auslesen? > > Oder via SPI einen LCD_Controller ansprechen, welcher dann mit einem > einzeiligen LCD Diplay verbunden ist? > > PS: Sind Sie auch für die gleichnamige Internetseite verantwortlich? Ja, ja und ja. > Kompliment !!! Dankesehr.
Lothar Miller schrieb: > Ja, ja und ja. Sehr gut, sehr gut, sehr gut. Lothar Miller schrieb: > Dankesehr. Bitteschön ;-)
Lothar Miller schrieb: > SPI ist immer bidirektional: du sendest was und bekommst gleichzeitig > was zurück. Nicht beim ADS7947 :-). CS und SCLK reichen und schon kommen die Daten an, feine Sache. Das aufwendige bei einem SPI-ADC ist nicht das SPI-Protokoll, sondern zu wissen was man wann in welche Register eintragen muss. Oben erwähnter ADC ist der einzige, den ich kenne, der nicht parametriert/konfiguriert werden muss. Tom
Thomas Reinemann schrieb: > Nicht beim ADS7947 :-). CS und SCLK reichen und schon kommen die Daten > an, feine Sache. Ja gut, weil es nichts zu konfigurieren gibt und die Kanalumschaltung mit einem extra Pin erledigt wird... ;-)
Leider steht mir nur ein ADC vom Typ MAX11040K zur Verfügung. Und einen Poti habe ich momentan leider auch nicht. Ist es zum Test auch möglich, irgendwelche Testbits über den MOSI zu senden und zu schauen, welche Bits über den MISO zu sehen sind und diese dann via LED ausgeben?
pico schrieb: > Poti habe ich momentan leider auch nicht. Unglaublich... ...dann mach dir halt zur Not ein kleines Widerstandsnetzwerk mit Jumpern, damit Du ein paar diskrete Werte ausprobieren kannst.
Vielen Dank für die schnelle Reaktion. Was für den Einen selbstverständlich ist, muss es nicht für den Anderen sein. Und eine Antwort auf meine Frage war es auch nicht. Aber Danke für die Info.
pico schrieb: > welche Bits über den MISO zu sehen sind und diese dann via LED ausgeben? Über MISO wirst du nichts sehen, weil du ja keinen Slave hast, der einen Output geben könnte (MISO = Master In Slave Out). Du könntest aber natürlich einfach MOSI und MISO verbinden, dann bekämst du das herein, was du hinausschickst... Oder du könntest 2 SPI-Module implementieren und miteinander verbinden...
Vielen Dank. Das werde ich mal ausprobieren. Lese mir gerade parallel auf Ihrer Seite die Abschnitte SPI Master / SPI Slave durch. Vielleicht schreibe ich auch erst einmal eine Testbench, damit für mich die Struktur klarer wird.
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.