Tux12Fun
11.05.2009, 18:52
Hallo,
ich möchte zwei ATMEGA32 ziemlich schnell miteinander Reden lassen. Ideal 10Mbit, mehr brauchts nicht zu sein. Vielleicht könnt ihr mir ja ein paar Tipps dazu geben.
Was ich bisher Probiert habe.
Eine Übertragung die folgendermaßen aufgebaut ist
Eine Eins wird bei meinem ATMEGA als 5µs Strom auf einem Pin
und eine Null as 10µs gesendet. Dazwischen 3µs Pin auf low. Das Funktioniert auch so halbwegs. Damit sich das ganze Synchronisiert kommt nach jedem Packet (128) Zeichen 30µs Pause. Damit der 2. Controller das neue Packet erkennt. Jedoch ist das ganze nicht so schnell wie erhofft. das ich einen Buchstaben ja mit 8 Bit Auflösen muss, damit ich alle Zeichen also auch Binär übertragen kann.
Ich denke für diese Zwecke wird es bessere Lösungen als meinen Versuch geben.
Was ich aufbauen möchte ist eine Art Ethernet. Nur ohne den Overhead den ich nicht brauche. Jedes Gerät soll eine ID bekommen (art MAC) mit der soll jeder Client Ansprechbar sein. Außerdem würde ich gern ein CSMA/CD implementieren, damit alle miteinander Reden können.
Nur wenn ich das mit meiner Lösung baue, dann ist der Controller nur noch mit Lesen beschäftigt. Bzw kommt auch da nicht mehr mit. Für die Pausen habe ich beim testen delay verwendet, was ja an sich auch noch nicht so optimal ist. Die Reichweite sollte ca. ein Sternnetzwerk von 100 Meter sein. Die Anzahl der Clients weiß ich leider noch nicht. Aber so ca 20 - 30 werden es schon werden.
An den Can Controller hatte ich schon gedacht. Dieser würde schon mal 1 Mbit schaffen und mit die CSMA CD Geschichte abnehmen, jedoch muss dann soweit ich weiß jeder Ausleger des Netzwerkes Terminiert werden oder ?
Deßhalb würde ich mich über alle Vorschläge freuen, die ihr mir so anbieten könntet.
ich möchte zwei ATMEGA32 ziemlich schnell miteinander Reden lassen. Ideal 10Mbit, mehr brauchts nicht zu sein. Vielleicht könnt ihr mir ja ein paar Tipps dazu geben.
Was ich bisher Probiert habe.
Eine Übertragung die folgendermaßen aufgebaut ist
Eine Eins wird bei meinem ATMEGA als 5µs Strom auf einem Pin
und eine Null as 10µs gesendet. Dazwischen 3µs Pin auf low. Das Funktioniert auch so halbwegs. Damit sich das ganze Synchronisiert kommt nach jedem Packet (128) Zeichen 30µs Pause. Damit der 2. Controller das neue Packet erkennt. Jedoch ist das ganze nicht so schnell wie erhofft. das ich einen Buchstaben ja mit 8 Bit Auflösen muss, damit ich alle Zeichen also auch Binär übertragen kann.
Ich denke für diese Zwecke wird es bessere Lösungen als meinen Versuch geben.
Was ich aufbauen möchte ist eine Art Ethernet. Nur ohne den Overhead den ich nicht brauche. Jedes Gerät soll eine ID bekommen (art MAC) mit der soll jeder Client Ansprechbar sein. Außerdem würde ich gern ein CSMA/CD implementieren, damit alle miteinander Reden können.
Nur wenn ich das mit meiner Lösung baue, dann ist der Controller nur noch mit Lesen beschäftigt. Bzw kommt auch da nicht mehr mit. Für die Pausen habe ich beim testen delay verwendet, was ja an sich auch noch nicht so optimal ist. Die Reichweite sollte ca. ein Sternnetzwerk von 100 Meter sein. Die Anzahl der Clients weiß ich leider noch nicht. Aber so ca 20 - 30 werden es schon werden.
An den Can Controller hatte ich schon gedacht. Dieser würde schon mal 1 Mbit schaffen und mit die CSMA CD Geschichte abnehmen, jedoch muss dann soweit ich weiß jeder Ausleger des Netzwerkes Terminiert werden oder ?
Deßhalb würde ich mich über alle Vorschläge freuen, die ihr mir so anbieten könntet.