-
Bus-System
Hi Leute!
Ich benutze im Moment einen ATMEGA8 zum Proggen meines Robbys.
Da dieser sowieso zu klein ist, möchte ich mir in absehbarer Zeit einen ATMEGA128 kaufen,
aber da ich an dem ATMEGA8 immer zu wenig Ports hatte, bin ich auf eine Idee gekommen:
Ich verwende ein Bus-System.
Nun wollte ich euch fragen, ob jemand eine Idee für so ein System hat.
Das System soll:
- Analoge Werte weitergeben (Ich könnte aber für die analogen Sensoren auch ein anderes Bus-System verwenden)
- Digitale (1, 4, 8, 10 Bit soll unterschieden werden) Signale weitergeben
-... (mal sehen was mir noch einfällt O:) )
Martin
-
in ausgangsrichtung könntest du zB 8 bit Latches nehmen und die einzelnen (Enable)Eingänge mit einem
n -> m Codierer schalten.
für den eingang irgendetwas mit tristate ausgang. und dann selben spaß mit enable wie oben.
ich sollt erst nochmal lesen und dann absenden ;)
-
Hallöchen
Was für einen Bus willst du denn nehmen= Ansibus, Profibus, Feldbus, I²C-Bus... oder einen eigenen???
Am besten du nimmt ein paar Optokuppler (z.B. MOC223, Darlington) mit ner guten Verstärkung und Pull-Up/Down Widerständen.
Dann gibt es noch dominantes und rezessives Bit, Master und Slave bzw. Priority-vergabe und und und.
In der Kürze sehr schwer zu erklären (am besten du kaufst dir ein Buch)
aber vielleicht schreiben ja noch andere was dazu.
Gruß
Gleylancer
-
Was ist ein n -> m codierer?
Ausserdem kann der aber ja nur 8-Bit oder gibts die auch in 10-Bit?
Und wieso eigentlich ein Latch?
Martin
-
n -> m zB
00 -> 0001
01 -> 0010
10 -> 0100
11 -> 1000
oder eben anders rum, je nach n und m.
kA, ob es 10 bit latches gibt,
aber mit 8 bit und 3 bit steuerleitung kannst du schon 8*8 ausgänge haben
-
Ich will ein eigenes Bus-System basteln.
-
das latch damit der ausgangswert gehalten wird und der bus andere werte auf den bus legen kann
-
Dann müsst ich für jeden Sensor einen eigenen Latch haben oder?
Naja aber das ist warscheinlich bei jedem Bus-System so...
Dann hätte ich doch 10 Daten und 3 Adressleitungen oder nicht?
Ich hatte da schon so die Idee, das man mit den Adressleitungen die einzelnen Sensoren an und ausschaltet.
-
nicht für jeden sensor ein latch...
8 bit latches halten doch 8 daten, also 8 sensoren(digitale natürlich)
du kannst auch die adressleitungen nehmen...
nur dann brauchst einen adressdecoder, und hast dann "memory mapped" IO, also kannst deine sensoren direkt über adresse ansprechen
-
Ich mein ja wenn ich nen 4-Bit oder 8-Bit Sensor habe.
-
und nochmal...
latches sind eher als ausgang zu benutzen!! also mehr für aktor
für sensoren (eingang in den controller) brauchst du tristate treiber!!
-
Geht das nicht irgendwie einfacher?
-
nicht wenn du die selben leitungen für IO benutzen willst und dabei auch noch selbst machen, statt zB I2C zu nehmen.
-
Aber wenn ich I2C benutzen will kann ich ja daran z.B. keinen analogen Sensor dranhängen außer mit nem A/D-Wandler.
Und noch was grundlegendes: Nen eigenes System iss Interessanter
-
hmm an nen anderen bus kannst auch kein analogen sensor ohne AD ranhängen...
analoge busse gibs net ;)
das rad könnte man auch nochmal erfinden ^^
-
Wieso kann man denn keinen analogen Bus aufbauen?
Alle Sensoren an einen Draht und dann einzeln an und ausschalten
-
das würde natürlich gehn. nur baucht dann alles eine ganze weile, weil der AD(der eine, den du dann hast) immer nacheinander die signale abarbeiten muss und stabil halten muss.
ausserdem musst du die dann wirklich sehr sauber trennen können, damit du dir nicht irgendwelche störungen der anderen sensoren einfängst bzw sogar deren ausgänge beschädigen könntest
-
Stimmt dann müsste ich zwischen den Konvertierungen immer 1 sek warten.
Und was ist nun mit dem digitalen System? 8-[
-
was soll damit sein?
könntest einen fertigen nehmen oder wie oben beschrieben zusammenbauen.
wobei du halt unterscheiden musst ob daten rein und/oder raus sollen
dabei wäre der fertige bus wohl sogar billiger
-
-
und wenn mehrere quellen auf den bus schreiben nicht das tristate vergessen!!!
sonst wirds teuer