-
Hi MeckPommER!
Mich würde interessieren, wie du per µC auf UART gehst! Du hast da ja noch den SPI dazwischen. Wie machst du das genau? Welchen Chip nutzt du da und wie überträgst du vom Pc zum Bot hin? Fragt der Atmega immer mal wieder, ob im SPI Slave Puffer Daten sind, oder wie realisierst du das? wie winkst du die Daten durch? Paketiert? Der µC sammelt alle Daten ein, verschickt ein Bundle, um das Programm upzudaten und wartet dann eine gewisse Zeit auf Steuerungsbefehle?
Zum Bussystem: Wie hast du vor, das System zu realisieren? Ich meine: Ein Lan Netzwerk besteht ja auch nur aus verschiedenen Bussystemen, bzw P2P Endpunkten, die zb bei Switchen dann nur durch eine Logik gereicht werden, um zum jeweiligen anderen Endpunkt zu kommen. Dafür braucht man ja die FPGA im Switch. Im Prinzip handelt ein Switch ja auch nur alle Anfragen sequentiell, nur das dann verdammt schnell.
-
Hi einballimwas,
für genaue Angaben zum Sensorkopf muss ich mir das Programm nochmal genau anschauen um nichts Falsches zu schreiben. Wenn ich ein Projekt aus der Hand lege, verschwinden sofort alle Details aus meinem Kopf ^^ Grob: Vom PC gehts seriell auf ein Board, welches sich das empfangene Kommando anschaut und daraus erkennt, an welches Untermodul im Kopf die Daten per SPI weiterzuleiten sind. Wenn ich nicht irre, hab ich neben SPI noch eine weitere Leitung, die den Status des Untermoduls signalisiert ... Genaueres erst nach Blick auf Hard- und Software :)
Zum Bussystem: das System hat Knotenpunkte, bestehend aus einem Atmega16 mit vier Connects zu anderen Knotenpunkten bzw. der End-Hardware. Diese Knoten haben eine einmalige 2-Byte Adresse und tauschen bei Programmstart die Adressen mit ihren Nachbarn aus. Ein Knoten kann nicht nur direkt weiterleiten, sondern auch bis zu 8 Datenpakete (a 64 bytes oder so) zwischenspeichern. Ein Datenpaket beinhaltet Ursprung und Ziel des Pakets sowie die eigentlichen Daten. Und an den Feinheiten bastel ich momentan noch, denn das Ganze ist herrlich höllisch Komplex und das liebe ich ^^
-
Das mit dme Bussystem hört sich großartig an :)
Wirst du das auch hier ausführen? Wie gestaltest du die Interconnects zwischen den Knoten? Wie routest du von Sender -> Knoten1 -> Knoten2 -> Empfänger?
Sender releast das Paket, Knoten 1 fragt die angeschlossenen Endpunkte ab und schickt das (wenn der Endpunkt direkt am Knoten hängt) Paket direkt zum Empfänger.
Sender releast das Paket, Knoten 1 fragt die angeschlossenen Endpunke ab und schickt das Paket dann bei negativer Antwort an alle weiteren Netzwerkknoten, die dann ihrerseits das gleiche tun, bis irgendwann einmal ein Paket zugestellt und auf die gleiche Weise quittiert werden konnte?
Denke daran: Bei Paketen benötigst du immer Start, Ziel, Paketlänge, Paketinhalt, Checksumme!
Source 8byte
Dest. 8byte
Lenght 8byte
Content <=255byte (Je nachdem wie groß "Paketlänge" sein darf)
Checksum: 4byte
Ups, eigentlich wollte ich das gar nicht schreiben. Du machst das sicher so wie du es für richtig hälst! Habe mich nur wieder mitreissen lassen von meinen .. Ach, lassen wirs!
Wie implementierst du den SPI Bus, bzw hast du da ein Protokoll für geschrieben, wie die µC kommunizieren? Ich würde da gerne selbst warm werden mit dem System.
-
Servus!
Echt toll, was du so in deiner Freizeit angestellt hast :-)
Ich bin ja in den letzten Monaten so gut wie gar nicht zum Basteln (ist mein erster Post im Forum seit einer laaaaangen Zeit) gekommen, hab mir aber fest vorgenommen, nach dem ganzen Matura/Abiturstress wieder was anzufangen.
Auf deine Lösung mit dem Netzwerk bin ich schon gespannt! Gibt es dabei einen Punkt, den du zu erreichen beabsichtigst (abgesehen vom "nicht blockieren" der Kommunikation)?
Bin gespannt was die Zukunft bringen wird!
ikarus_177
-
Hallo Meckpommer,
gratuliere zu dem Projekt, ich werde es sicher weiter mit verfolgen und die Details, soweit du sie verrätst, studieren.