Es gab die Überlegung die Anbindung an den PC alternativ zur seriellen Schnittstelle auch über eine USB Schnittstelle zu realisieren. Aufgrund der kurzen zur
Verfügung stehenden Zeit und vorallem aufgrund der fehlenden Developer Kits für USB haben wir diese Schnittstelle erstmal auf Eis gelegt.
Dennoch wollen wir hier noch unsere bisherigen Überlegungen zur Verfügung stellen.
USB Vortrag über USB Grundlagen
Für die Serielle Anbind bringt der Atmel schon fast alles von Hause aus mit. Es ist dann nur noch eine Pegelanpassung von nöten, die sich mittels eines
RS232Max Treiber relativ einfach bewerkstelligen lässt.
Datenblatt zu RS232Treiberbaustein
Erörterung der Schnittstellen
Kommunikationsschnittstelle
Die Kommunikation des Atmel 8515 mit einem PC über die serielle Schnittstelle erweist sich als vergleichsweise einfach.
Es muss lediglich eine Pegelanpassung vorgenommen werden, die durch Standardbausteine, wie z. B. von Maxim realisiert werden kann. Wir
entscheiden uns für den Baustein MAX232ACPE, der nur noch mit wenigen Kondensatoren beschaltet werden muss. Das Schaltbild und das Platinenlayout finden sich im Kapitel zum Entwurf von „Betty“.
Auf Seite des Mikrocontrollers kommuniziert der UART über zwei Leitungen (TxD und RxD) des Ports D. Nachdem der UART über das zuständige
Register konfiguriert ist, verläuft die Kommunikation quasi automatisch.
Abbildung – Schnittstelle PC <=> Mikrocontroller
Funk-Schnittstelle
Da wir weder illegal funken, noch unser Projekt erst offiziell anmelden wollen, nutzen
wir für die Funk-Schnittstelle die sogenannten ISM-Frequenzen. ISM ist eine Abkürzung für „Industrial Scientific and Medical“ und bezeichnet eine Gruppe von
Frequenzbereichen, die von Hochfrequenzgeräten und Hochfrequenzanlagen genutzt werden dürfen. Generell ist eine Anwendung von ISM-Frequenzen möglich, wenn es
nicht so sehr auf eine störungsfreie Funkverbindung ankommt, bzw. Störungen nur vorübergehend auftreten und hingenommen werden können und nur kurze Entfernungen
zu überbrücken sind. Entscheidend für uns war wie gesagt, daß wir unser Gerät nicht erst anmelden müssen. Um Störungen weitestgehend vermeiden zu können, ist ein
angemessenes Kommunikationsprotokoll vorgesehen (s. u.). [RegTP]
Es gibt auf dem Markt mittlerweile eine Menge vorgefertigter HF-Sende- und
Empfangsmodule, mit denen, da sie aufeinander abgestimmt sind, eine Funkstrecke relativ leicht realisiert werden kann. Die meisten von ihnen senden im 433 MHz-Band.
Viele dieser Module arbeiten intern mit SAW-Filtern, so dass sie sehr stabil
funktionieren ohne nachjustiert werden zu müssen. SAW-Filter (SAW steht für Surface Accoustic Wave) nutzen gut zu integrierende Oberflächenstrukturen, indem elektrische
Signale in akustische umgeformt werden. Der Vorteil der Stablilität wird in der Regel durch deutliche Leistungsverluste erkauft.
Abbildung – Funk-Modul I
Abbildung – Funk Modul IIr
USB-Schnittstelle (optional)
Universal Serial Bus, kurz USB, ist eine I/O intelligente Schnittstellentechnologie, die
für ein reibungsloses Zusammenspiel von Endgeräten sorgt. Sie erlaubt den Anschluss von bis zu 127 Peripheriegeräten wie Tastatur, Maus, Drucker, Monitor, Lautsprecher,
Scanner oder TK-Endgeräten, wie beispielsweise einem Modem. []
Das Ziel ist, für alle zukünftigen Ein- und Ausgabegeräte am PC sowie für alle
Anwendungen, eine gemeinsame Schnittstelle zu entwickeln. Der Anwender soll mit einfachen Mitteln alle Komponenten miteinander koppeln können.
Bei USB ist es immer noch möglich, die Geräte direkt an den PC anzuschließen.
Jedoch hat der Anwender im weiteren die Möglichkeit, sogenannte „Hubs“ (eine Art Verteiler) mit dem PC zu verbinden, welche ihm erlauben, mehrere USB-Geräte an eine
PC USB Buchse anzuhängen. Der USB bietet aber noch weitere Vorteile. So entfällt beispielsweise die lästige Aufgabe, jede neu an den PC angeschlossene Einheit extra zu konfigurieren.
Um langsame Geräte wie Tastatur und Maus als auch schnelle Geräte wie Modems
oder Videokameras über ein und denselben Bus zu führen, wurde die Übertragung über den USB in Kanäle unterteilt.
Es gibt einen Low-Speed-Kanal mit bis 1,5 MBit/s(Maus, Tastatur) und einen
Medium-Speed-Kanal mit 12 MBit/s(ISDN, Audio) die über dieselbe Schnittstelle geführt werden. Ein High-Speed-Kanal mit 500 MBit/s(Video, Speichermedien) ist auch
vorgesehen. Unabhängig welcher Geschwindigkeitskategorie ein Gerät angehört, wird immer der gleiche vierpolige Stecker verwendet.
Bus Topologie
Der USB hat eine über vier Stufen kaskadierte Sterntopologie. Über einen Hub
(Verteiler) ist die Peripherie sternförmig angeschlossen. Jede Verbindung Host-Hub, Hub-Hub, Hub-Node stellt eine Punkt-zu-Punkt-Verbindung dar.
Es gibt nach Vereinbarung nur einen Host im System, der den USB-Host-Controller aufnimmt.
USB Architektur
Ähnlich zu Konzepten wie z.B. dem OSI-Referenzmodell findet auch bei USB die
Kommunikation auf mehreren Ebenen statt. Die Abbildung zeigt einen Überblick über das Kommunikationsmodell von USB.
Abbildung – USB Architektur
Aus der Abbildung wird ersichtlich, dass auf dem Host drei wichtige Komponenten zu beachten sind:
Client Software. Hierbei handelt es sich um Gerätetreiber, welche mit Funktionen
auf USB Geräten End-zu-End Kommunikation betreiben. Beispiele dafür sind z. B. ein USB Maustreiber.
USB System Software. Diese Softwarekomponente ist unabhängig von speziellen
USB-Gerätetypen und -eigenschaften, auf ihrer Ebene wird Kommunikation mit den logischen Geräten, also den Geräten als Ganzes, betrieben. Zu ihren Aufgaben gehört das Managen der Geräte, so z. B.:
das Erkennen neu angeschlossener Geräte an einem Bus,
Grundsetup eines Geräts (u.a. Zuweisen einer eindeutigen Nummer auf dem Bus),
Erkennen, dass Geräte vom Bus getrennt wurden
USB Host Controller. Der Host Controller ist einerseits eine Hardware-komponente, welche Pakete auf dem Bus übermittelt, andererseits
gehört zu ihm auch eine Softwarekomponente (Host Controller Treiber), die seine Steuerung übernimmt und die Schnittstelle zur USB Systemsoftware herstellt. Eine
Zusatzbemerkung: Ein Host kann durchaus mehrere Host Controller (auch verschiedenen Typs) besitzen, mit der Folge, dass die USB Systemsoftware mehrere Busse zu verwalten hat.
Ziel dieser Arbeit war es, für das Projekt Betty die Schnittstelle USB zu realisieren.
Es muss gesagt werden, dass das Thema USB ziemlich umfangreich ist, und wir
denken, dass wir mit dem Zeitrahmen, den wir haben, nicht hinkommen. Ein paar Mitglieder haben vorgeschlagen, eine andere Schnittstelle (RS232) zu realisieren und USB als Option hinzunehmen.
|