Forum: Mikrocontroller und Digitale Elektronik Einige Fragen!Eingänge multiplexen...


von Thomas (Gast)


Lesenswert?

Hallo,

ich möchte einen AVR möglichst viele 8bit Zahlen also bis 255 auslesen 
lassen, da ich aber nicht so viele Eingänge verschwenden will, wollte 
ich mal fragen ob es ne andere Lösung gibt. Habe mir das so vorgestellt.

1. Möglichkeit:
Irgendein Baustein(soetwas suche ich) hat z.b. 6 mal 8bit Eingänge und 1 
mal einen 8bit Ausgang welche ich mit dem AVR verbinde, jetzt müsste ich 
noch ein paar Ausgänge des AVR'S als Steuerleitungen benutzen um diesem 
Baustein mitzuteilen welchen der 6 Eingänge er auf auf den Ausgang legen 
soll.

2. Möglichkeit:
Es wird noch ein 2ter AVR benutzt der mir abwechseln 8 Analoge 
Spannungen in 8bit umwandelt und in Register hinterlegt. Und auch mit 
dem 1ten AVR verbunden ist also 8 Leseleitungen und vielleicht 3 
Steuerleitungen um binär 8 verschiedene Steuerleitungen zu simulieren 
also
000,001,010,011,100,101,110,111

Mir geht es eigentlich darum es möglichst einfach zu verwirklichen, 
damit ich mit möglichst wenig Befehlen auskomme. Deswegen möchte ich 
einen 2ten AVR benutzten der mir bei der Umwandlung der Analogen Werte 
nicht das ganze Prog aufhält, (da eine komplette Umwandlung je nach 
Genauigkeit mit initilisieren bis zu 600 µSek dauern kann) sonder die 
Werte praktisch im Hintergrund umwandelt und bei Anforderung den
entsprechenden Wert an den 8bit Ausgange läßt.

Es ist deswegen sehr Zeitkritisch da ich einen Programmdurchlauf nach 
max. 20µSek beendet haben muss um dann in einer Schleife auf einen 
Interrupt warten zu können. Und ich es im langsamerem Bascom 
programmieren werde.

Also vorerst alles theoretisch, wenn noch jemand Tipps hat(zur 
schnelleren Ausführung o. Hardwaregestalltung), bitte alles schreiben.

Muss mir erst mal nen Überblick über die Möglichkeiten machen. Möchte es
allerdings nicht per MAX232 o. ähnlichem machen nur mit integrierter 
Hardware,
da meine Schaltung schon groß genug wird und ich denke das es seriell 
langsamer wird als wenn ich 8bit gleichzeitig abrufen kann.

:
von Andreas (Gast)


Lesenswert?

Was denn nun, willst du Digital- oder Analog-Eingänge? Digital ist 
einfach: nimm ein paar 74HC165 (Schieberegister), da hast du bei jedem 8 
Eingänge und kannst (theoretisch) soviele du willst 
hintereinanderschalten. Ansteuerung entweder per Hardware-SPI des AVRs 
oder in Software.

MfG
Andreas

von Thomas (Gast)


Lesenswert?

Hallo,

also ich muss auf jeden Fall erst mal das Analoge Signal in ein 
Digitales umwandeln.
Am bestens von einen anderen µC o. durch einen A/D-Wandler damit der 
erste AVR sich nicht mit dem umrechnen beschäftigen muss.

Kannst du ne kurze Erklärung zum 74HC165(Schieberegister) geben.
Oder gibt es irgendwo ein Datenblatt.

Beitrag #5543170 wurde von einem Moderator gelöscht.
von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

Du brauchst einfach einige Latches z.b. 74HC573N

Grob erklärt funktioniert das so jeder von diesen Latches hat 8 Eingänge 
und 8 Ausgänge und eine Speicherfunktion.

Angenommen du nimmst jetzt 2 von diesen Latches dann hast du 16 Eingänge 
und die 8 Ausgänge schaltetest du jeweils parallel und führst Sie zu 8 
I/O Pins deines µCs.

Der µC kann jetzt auswählen ob was er an einem I/O Port sehen will also 
Latch1, Latch2 oder ob sich beide unsichtbar machen sollen, so das mit 
seinen I/O Pins noch andere Sachen zwischen durch machen kann. (auch 
umschalten zw. Ausgangs und Eingangsfunktion)

Durch die Speicherfunktion kannst du auch sagen "Latch1 speichere bitte 
die Daten an deinen Eingängen ab", dann "Latch2 speichere bitte die 
Daten an deinen Eingängen ab, und nun kannst du dir die Daten später 
abholen wenn du wieder mehr Zeit hast.

Ich finde die Teile genial da es parallel einfach viel schneller geht 
und viel weniger Programmieraufwand ist. Habe z.B. mit einem Latch und 
einem ATTiny26 zig Analogsensoren eingelesen und ein LCD im 8bit Modus 
angesteuert und man hat dann immer noch einige I/O frei.

: Bearbeitet durch User
von Forist (Gast)


Lesenswert?

Thomas O. schrieb:
> Du brauchst einfach einige Latches z.b. 74HC573N

Was genau verstehst du nicht an:
"Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt." ?

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Forist schrieb:
> Was genau verstehst du nicht an:
> "Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt." ?

Was sind schon knapp 17 Jahre im Vergleich zum Alter des Universums? Sie 
entsprechen nicht einmal einem Tag, sondern höchstens einem 
Wimpernschlag.

von Thomas (kosmos)


Lesenswert?

Ich kann mich jetzt nicht erinnern so weit (2001) zurück geblätert zu 
haben. Irgendwie scheint der Beitrag nach oben gerutscht zu sein. 
Vielleicht hat ein Troll geantwortet und danach seinen Beitrag wieder 
gelöscht.

Aber Entschuldigung das ich helfen wollte.

von wendelsberg (Gast)


Lesenswert?

Offensichtlich falle nicht nur ich auf solche alten Sachen rein.
Daher erneut:

Beitrag "Re: Wunschliste & Verbesserungsvorschläge"

Jetzt erscheint nichtmal mehr der Hinweis der ursprüngliche Beitrag ist 
mehr als 6 Monate alt." ?


wendelsberg

von HildeK (Gast)


Lesenswert?

wendelsberg schrieb:
> Offensichtlich falle nicht nur ich auf solche alten Sachen rein.
Ja, ich auch. Du bist nicht alleine ...

> Daher erneut:
>
> Beitrag "Re: Wunschliste & Verbesserungsvorschläge"
oder Beitrag "Sperrung alter Threads"

> Jetzt erscheint nichtmal mehr der Hinweis der ursprüngliche Beitrag ist
> mehr als 6 Monate alt." ?
Der alte ist schon so alt, dass die Berechnung einen Overflow ergab :-).

Beitrag #5595417 wurde von einem Moderator gelöscht.
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
Noch kein Account? Hier anmelden.