Start > Elektronik > PDIUSBD12 AVR Firmware

PDIUSBD12 AVR Firmware

Kurzbeschreibung

Dies ist der aktuellste Snapshot des Entwicklungsstands meiner Arbeit an einer Firmware um den USB-Chip Philips PDIUSBD12 mit einem AVR, speziell dem Atmega 8515, zu benutzen. Ziel ist es, mit minimalem Schaltungsaufwand eine USB-Verbindung herzustellen. Der USB-Chip nimmt dem Mikrocontroller viel Arbeit ab, im Gegensatz zu voll integrierten USB-Controllern benötigt er jedoch eine Firmware, die sich um das gesamte USB-Protokoll kümmert.

Der Code ist nicht aufgeräumt und auch nicht in einem guten Stil geschrieben. Viel mehr ging es mir in einer ersten Phase nur um die technische Realisierung. Dementsprechend ist vieles noch experimentell und zudem vielfach Testcode vorhanden. Wenn sich jedoch jemand ernsthaft mit dem USB-Chip beschäftigen möchte, findet er hier sicherlich einige Anregungen.
Ich habe den Code bereits teilweise kommentiert, teilweise auch auf Englisch (es ist ziemlich bunt gemischt). Als Vorlage diente mir eine Application Note von Philips sowie die USB-Dokumentation von Beyondlogic.

Für den USB-Treiber benutze ich die libusb (s. google) für Windows. Mit einem passenden INF-Treiber wird das Gerät registriert und ist über die API von libusb konfigurier- und ansprechbar. Ein Testtransfer über den Generic Endpoint (EP1) hat bereits bestens funktioniert, danach musste das Projekt erstmal ruhen.

Der AVR läuft mit einem 16 Mhz Quarz. Die PIDUSBD12 Beschaltung ist relativ simpel gehalten und beinhaltet 6 Mhz Quarz, Kondensatoren am Quarz, GoodLink-LED, einige Widerstände, eine USB-B-Buchse sowie einreihige Sockelleisten zur einfachen Verkabelung mit meinem Steckbrett. Eine rote LED zeigt den Suspend-Status des Chips an.

Den Schaltplan sowie den Sourcecode zum direkten Herunterladen möchte ich momentan nicht hergeben, da beides noch nicht fertig ist. Ohne sich einzuarbeiten kann der Code nicht direkt genutzt werden, dafür ist er noch zu experimentell.

Kurzübersicht

Autor Dominik
Mikroprozessor AVR Atmega 8515
Entwicklungsstand/-phase Proof-of-Concept / Konzeptphase
Eigenschaften
  • Externes Speicherinterface XMEM des AVR benutzt
  • USB-Chip Philips PDIUSBD12
  • 8 Bit breiter Datenbus
  • 12 Mbit/s Fullspeed Device
  • Bis zu 6 Endpoints
  • Zwischenspeicher im USB-Chip
  • Vollständig Interrupt-gesteuert
  • Geringe Codegröße
Schaltplan Momentan nicht vorhanden

Lizenz

Derzeit wird dieser Code AS-IS publiziert. Ich untersage ausdrücklich jegliche Nutzung oder Verbreitung des Werkes oder auch Teilen davon. Wenn ich fertig bin, werde ich die Lizenz anpassen. Bis dahin ist der Code nur für Dokumentationszwecke vorhanden.

Sourcecode

Doxygen Dokumentation Snapshot 17.10.2006