PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bus-System



x-ryder
26.07.2004, 21:07
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

shadow-netz
26.07.2004, 21:25
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 ;)

Gleylancer
26.07.2004, 21:26
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

x-ryder
26.07.2004, 21:28
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

shadow-netz
26.07.2004, 21:32
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

x-ryder
26.07.2004, 21:33
Ich will ein eigenes Bus-System basteln.

shadow-netz
26.07.2004, 21:33
das latch damit der ausgangswert gehalten wird und der bus andere werte auf den bus legen kann

x-ryder
26.07.2004, 21:36
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.

shadow-netz
26.07.2004, 21:42
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

x-ryder
26.07.2004, 21:43
Ich mein ja wenn ich nen 4-Bit oder 8-Bit Sensor habe.

shadow-netz
26.07.2004, 21:43
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!!

x-ryder
26.07.2004, 21:45
Geht das nicht irgendwie einfacher?

shadow-netz
26.07.2004, 21:47
nicht wenn du die selben leitungen für IO benutzen willst und dabei auch noch selbst machen, statt zB I2C zu nehmen.

x-ryder
26.07.2004, 21:50
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

shadow-netz
26.07.2004, 21:52
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 ^^

x-ryder
26.07.2004, 21:54
Wieso kann man denn keinen analogen Bus aufbauen?

Alle Sensoren an einen Draht und dann einzeln an und ausschalten

shadow-netz
26.07.2004, 22:00
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

x-ryder
26.07.2004, 22:01
Stimmt dann müsste ich zwischen den Konvertierungen immer 1 sek warten.

Und was ist nun mit dem digitalen System? 8-[

shadow-netz
26.07.2004, 22:04
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

x-ryder
26.07.2004, 22:05
Ok danke!

shadow-netz
26.07.2004, 22:09
und wenn mehrere quellen auf den bus schreiben nicht das tristate vergessen!!!
sonst wirds teuer