softwarebausteine:bidib-interface
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
softwarebausteine:bidib-interface [2014/08/25 12:43] – wolfgang | softwarebausteine:bidib-interface [2014/09/01 12:34] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ==== BiDiB-Interface ==== | ||
+ | |||
+ | Das BiDiB-Inferface besteht aus zwei Teilen: der Lowlevel-Zugang zum Bus mit der Kontrolle des Bustreibers und den Ein-Ausgangsfifos sowie dem Protokollteil mit der Nachrichtenauswertung und -erstellung. | ||
+ | |||
+ | === Lowlevel-Interface === | ||
+ | |||
+ | Das lowlevel-Interface (also die Input und Outputroutinen) ist in bidib_client.c realisiert, in bidib_client_hardware.h wird festgelegt, welche Ports benutzt werden. Das Interface ist komplett interruptbasiert und vom Hauptprogramm über Fifos entkoppelt. Den Kontakt mit dem entsprechenden Busmaster hält das Interface allein, erst wenn Nachrichten eintreffen, werden diese an den Protokollteil übergeben. BiDiB stellt strenge Anforderungen an die Reaktionszeit eines Knotens, der Interrupt-Level des Interfaces darf nicht länger als 8µs blockiert sein. | ||
+ | |||
+ | Das Interface kann entweder ' | ||
+ | |||
+ | === Protokollteil === | ||
+ | |||
+ | In bidib_client_parser.c, | ||
+ | |||