Für ein Projekt, an dem ich arbeite, muss ich die Werte aus einer Matrix von Fototransistoren (8x16) in den Raspberry Pi einlesen.
Ich bin mir nicht ganz sicher, wie ich das machen soll, da ich weiß, dass ich irgendwo dort einen ADC einfügen muss. Wenn ich Schieberegister verwende, um die Werte von den Fototransistoren zu lesen, wie kann ich den ADC dort einbauen?
Das Problem ist die ADC-Schnittstelle. Ich schaue mir den MCP3008 an, der anscheinend eine Schnittstelle im SPI-Stil verwendet. Wenn es nur eine einfache Schnittstelle im analog in
-> digital out
Stil wäre, wäre es kein Problem.
Um 8 Zeilen mit 16 analogen Eingängen zu lesen, sollten Sie die Verwendung von 8 analogen CD74HC4067E-Multiplexer-Chips in Betracht ziehen. Um ihre 8 Ausgangsspannungen zu sammeln, fallen mir einige Optionen ein:
Verwenden Sie (einen Teil) eines neunten 4067-Chips im Mux-Modus. Verbinden Sie die 8 analogen Ausgänge mit den ersten 8 analogen Eingängen des neunten 4067. Dies ist wahrscheinlich die sauberste, am wenigsten hackige Lösung.
Verwenden Sie (einen Teil) eines neunten 4067 als 8-Bit-Binärdecoder, um die Ausgangsaktivierungsstifte auf den anderen Chips anzusteuern, und binden Sie einfach ihre Ausgänge zusammen. Dies wäre wahrscheinlich einfacher zu routen und könnte eine geringere Verzerrung aufweisen, da das Signal nur durch einen Mux-Chip statt durch zwei geht.
In jedem Fall haben Sie eine 7-Bit-Adresse, die Sie generieren müssen. Wenn Sie nicht genügend Ausgangspins frei haben, können Sie:
Verwenden Sie ein serielles 8-Bit-Schieberegister mit parallelem Ausgang, um die Ausgangsaktivierungsstifte auf den 8 4067 zu treiben, vielleicht ein anderes, um die Adressstifte auf den 4067 zu treiben, wenn Sie wirklich verzweifelt nach Stiften suchen.
Die meisten "8-Kanal"-ADCs sind eigentlich Einkanal-ADCs mit einem eingebauten analogen 8-Port-Mux. Sie haben normalerweise niedrigere Spezifikationen, aber wenn es funktioniert, wäre eine davon plus die 8 4067 wahrscheinlich die Option mit der niedrigsten Teileanzahl.
Abhängig von Ihren Signalpegeln und wie schnell Sie arbeiten müssen, müssen Sie möglicherweise einen Operationsverstärker oder Puffer zwischen den Multiplexern und Ihrem ADC hinzufügen.
Beachten Sie, dass ich noch keine davon ausprobiert habe, aber Teile sind in der Post (ich arbeite an etwas Ähnlichem).
Update: Wenn Sie mehr Rauschfestigkeit wünschen, können Sie den Sensorteil Ihrer Schaltung mit einer höheren Spannung betreiben und stattdessen DG506B-Mux-Chips verwenden.
Das Problem scheint sich auf die Notwendigkeit auszudehnen, die vom ADC erzeugten digitalen Daten über eine einzeilige Schnittstelle zu erfassen.
Es sind mehrere ADCs verfügbar, die solche Single-Pin-Serial-Line-Schnittstellen unterstützen. Zum Beispiel:
Grundsätzlich muss man nach ADCs mit einer solchen Single-Data-Pin-Schnittstelle suchen und nicht nach dem in der Frage angegebenen SPI-Gerät.
Anindo Ghosh
digital out
. SPI ist ein digitaler Ausgang, ebenso I2C sowie parallele Ausgangsschnittstellen (die n GPIO-Leitungen für eine n- Bit-Ausgabe erfordern ).K. Barresi
Kaz
Kaz
K. Barresi