mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 32 Analog-Quellen seriell einlesen


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich möchte mit einem PIC 32 verschieden analoge Quellen messen. Hab mir
überlegt dafür 4 Multiplexer mit je 8 Eingängen zu verwenden (C-MOS
4051). Da ich mit Pins sparen muss, will ich dafür nur 2 Pins
verwenden. Bei nur einem Multiplexer wär das noch kein Problem. Da kann
ich einen 4-Bit Zähler (74939) dranschalten und dann mit nur einem Pin
alle Eingänge durchgehen. Wenn ich jetzt aber vier Multiplexer nehmen
will, müsste ich ja noch dafür sorgen, dass immer nur einer sein Signal
drauflegt, also bei allen anderen den Inhibit-Eingang auf high setzen.
Hab da an ein Schieberegister gedacht aber ich bekomme es nich so hin.
Ziel soll sein, dass ich durch jeden Takt die nächste Quelle auf den
analogen Eingang legen kann und dann bei 32 Takten wieder von vorne
anfängt. Wäre nett, wenn mir da jemand helfen könnte

mfg
Chris

Autor: Franz Neumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst auch z.B. 4 MAX186 12bit AD Wandler mit je 8 gemultiplexten
Eingängen ein einen SPI Bus hängen bzw. sowas ähnliches versuchen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst 4 enable-Signale und 3 Auswahlsignale, also schiebst Du
einfach immer die 7 Bit in das Schieberegister (74HC164).


Peter

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann brauche ich aber einen Pin für Takt, einen für Daten und noch einen
für die analoge Messung, das ist leider schon zu viel. Möchte das ganze
nur mit einem Pin steuern, d.h. nur mit einem Taktsignal dann alle 32
hochzählen und dann wieder bei 0 anfangen.

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Möchte das ganze
nur mit einem Pin steuern, d.h. nur mit einem Taktsignal dann alle 32
hochzählen und dann wieder bei 0 anfangen.

.. und schon reicht ein "Verzähler" und der uP sieht den falschen
Eingang. Zumindestens das Nullsetzen würde ich über eine zweite Leitung
fahren. Wenns unbedingt ein Pin bleiben muß dann halt mit kurzem Impuls
zum Weiterzählen und langen Impuls fürs Nullsetzen (braucht halt etwas
externe HW).

grüße leo9

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christoph,

Idee mit einem Ausgang:

Schieberegister verwenden,
Langer Impuls am Ausgangspin = Reset am SR (ext. Erkennung notwendig).
Muss auch die einzige "EINS" fürs SR erzeugen.

Dann einfach durchtakten (kurze Impulse).

viel Erfolg Kurt

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wüsste nicht warum man sich verzählen sollte. Dafür ist doch der
Computer und überhaupt die Elektronik bekannt: dass sie sich eben NICHT
verzählt!
Die Frage ist jetzt, wie ich mit dem Zähler irgendwie die einzelnen
Multiplexer nacheinander aktivieren kann. Bei zwei Multiplexer hätte
ich noch kein Problem, da könnte ich den Inhibit Eingang bei einem
direkt und bei dem anderen über einen Inverter einfach an Bit3 vom
4-Bit Zähler anschließen und dan somit alle 16 Kanäle nacheinander
durchschalten. Bei 4 Multiplexern bekomm ich dass aber nich hin.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.