Mikrorechner-Programmierung eines Kommunikationsrings
|
Im Rahmen der Neuentwicklung der Elektronik und Software für die digitalen Servos unserer HuBoTuc-Roboter
(humanoide Edutainment-Roboter) soll ein echtzeitfähiges Kommunikationsprotokoll für zu einem Ring verschaltete Mikrorechner
entwickelt und programmiert werden.
|
Zur Ringverschaltung sollen jeweils die TxD (Sendeleitung) von einem Prozessors mit der RxD (Empfangsleitung) des nächsten Prozessors verbunden sein.
Jeder Prozessor soll die an ihn adressierten Daten übernehmen, die anderen Daten und seine eigenen Sendedaten
weiterleiten. Der Ring soll aus bis zu 8 Prozessoren (in der Endlösung einem Master und bis zu sieben Servos
bestehen). Die Datenpakete sollen aus 3 Adressbits, einem 4-Bit-Längencode, maximal 16 Dateinbytes und einem
Prüfsummenbyte bestehen.
Testumgebung
Als Testumgebung für die Software-Entwicklung sind nomalen
ATmega-Praktikums-Boards zu nutzen. Die Schnittstelle zu den anderen Programmen innerhalb der Mikroprozessoren seien als Ringpuffer
implementierte Sende- und Empfangs-FIFOs. Zu Testzwecken sollen die Applikationsschnittstellen der FIFOs über eine
zweite serielle Schnittstelle der Mikrocontroller und die ansteckbaren seriell-USB-Konverter mit PCs verbunden werden. Das Testprogramm
für die Bereitstellung der Testeingaben und die Auswertung der Ausgaben soll auf dem PC laufen.
Fehlerbehandlung
Bei der Übertragung und innerhalb der Servos können Fehler auftreten, über die die anderen Kommunikationsteilnehmer zu informieren sind.
Die Fehlernachrichten sollen nur ein Byte groß sein und aus der Adresse des Absenders, einer 4-Bit-Fehlernummer und einem gesetzten Bit zur Kennzeichnung als Fehlernachricht bestehen. Jede Fehlernachricht soll einmal im Kreis zurück bis zum Empfänger weitergegeben werden. Wenn sie nach einer vorgegebenen Timeout-Zeit nicht wieder ankommt, soll eine weitere Fehlernachricht versendet werden, die alle nachfolgenden Teilnehmer informiert, dass der Kommunikationsring unterbrochen ist. Wenn der Absender einer Nachricht, für die ein Empfangsfehler signalisiert wurde, dieses feststellt, soll er die zuletzt an diesen Empfänger versendete Nachricht an die Fehlernachricht anhängen.
Die dargestellte Funktionsbeschreibung ist eine initiale Idee, die zuerst auf Machbarkeit und Zuverlässigkeit zu untersuchen und zu präzessieren ist.
In der schriftlichen Arbeit sind der Lösungsweg, die Endlösung, die Testumgebungen und die durchgeführten Tests zu beschreiben.
Autor: gkemnitz, Letzte Änderung: 06.11.2024 20:33:30