Forum: Mikrocontroller und Digitale Elektronik Einfacher 2 Leiter Bus in Assembler


von Janik (Gast)


Lesenswert?

Hallo!

Hab ein Problem:
Suche was einfaches um mehrere AVRs an einem Bus zu verbinden. Muß
nicht besonders Leistungsfähig sein. 16 Adressen und 1kb/s würden
ausreichen. Muß aber Multi-Master fähig sein und sollte nicht
interrupt-basiert sein, wesshalb die Atmel I2C Routinen ausscheiden.
Darf aber auch keine Ansprüche ans timing stellen, da die AVRs mit
verschiedenen Geschwindikeiten arbeiten wird sonnst das Anpassen recht
kompliziert. Und Außerdem sind eh 2 Leitungen vorgesehen.

Hat irgendjemand was Passendes in Assembler schonmal gemacht, oder
muß ich etwa selbst denken?

Danke
Janik

von Matthias (Gast)


Lesenswert?

Hi

RS485?

Matthias

von edi (Gast)


Lesenswert?

hi,
wer antwortet...?...oder muß ich etwa 'auch' selbst denken?
ed

von Janik (Gast)


Lesenswert?

Das "auch" hab ich nicht geschrieben. Und das Nachdenken bezog sich
auf "einen eigenen Bus entwickeln".
Aber RS485 scheint mit ungeeingnet. Soweit ich weiß braucht man dafür
noch 'n Treiber-IC. Ich wollte das Ganze eignetlich direkt an den AVR
Anschließen. Außerdem dachte ich an synchrone Datenübertragung.

von Matthias (Gast)


Lesenswert?

Hi

dann ist ein komplett implementiertes I2C wohl das ideale. Wenn du dir
da was eigenes ausdenkst kommt was ähnlich komplexes heraus. Wenn deine
AVR's sowieso TWI in Hardware können wirds einfach.

Matthias

von Peter D. (peda)


Lesenswert?

Wie soll denn das gehen ohne Interrupts ???

Als einfachen Multimaster gibts nur I2C oder CAN.

Alle anderen brauchen irgendein umständliches Software-Protokoll, um
den Master auszuwürfeln.


Peter

von Janik (Gast)


Lesenswert?

Nagut, ich seh's  ein. Es gibt wohl keine EierlegendeWollMilchSau. Aber
hat irgendjemand schonmal vollständiges I2C in Assembler gemacht?
Ich hab zwar schonmal gegoogelt, aber was verwendbares hab ich nicht
gefunden.

von Janik (Gast)


Lesenswert?

Ach noch ein Problem: Die Leitunslänge beträgt ca. 10m. Das ist doch
ohne geschirmtes Kabel kein Problem wenn man vielleicht nur 10kHz
nimmt?

von Matthias (Gast)


Lesenswert?

Hi

10m? Mit CMOS-Pegeln? Störungssicher? Vergiss es. Nimm RS485 und
investier die paar Cent für die Treiber. Dann hast du was was auch
funktioniert wenn der Nachbar mal ne Waschmaschine laufen läßt.

Matthias

von Janik (Gast)


Lesenswert?

Na gut ich sehes ein.

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.