Projekte rund um Hard- und Software
 

µBurner - Die Hardware

Das Innenleben des Brenners besteht im wesentlichen aus drei Funktionsgruppen, dem USB-Interface, dem steuernden Microcontroller sowie der Spannungserzeugung.

Der Microcontroller

Die Steuerung aller Abläufe und des Programmiervorgangs übernimmt ein PIC-Microcontroller von Microchip. Die Wahl fiel auf den PIC16F781, der an sich sogar zu viele Funktionen hat, und dadurch für die Aufgabe übertrieben scheint, allerdings hat er die besondere Fähigkeit während des Betriebs seinen eigenen Programmspeicher zu beschreiben, was kleinere Modelle nicht bieten. Durch diese Funktion wird es erst möglich, ein Firmware-Update über die USB-Schnittstelle einzuspielen, da ja hierbei während der Kommunikation mit dem PC der Programmspeicher im Microcontroller mit den neuen Daten überschrieben werden muss.

Das USB-Interface

Die Verbindung zum steuernden Computer wird mit dem USB-Controller FT245BM von FTDI hergestellt. Für diesen sehr preiswerten Chip (ca. 6,50€) werden Treiber für Windows (zertifiziert), Linux (ab 2.4) und MAC-OSX bereitgestellt. Diese lassen den FT245BM im System wie eine serielle Schnittstelle erscheinen, was eine einfache Ansteuerung durch die Software ermöglicht. Der Controller übernimmt die gesamte Kommunikation mit dem PC, und stellt die Daten an einem 8-bit Datenport parallel für die angeschlossene Schaltung zur Verfügung. Weiterhin werden viele Status- und Steueranschlüsse unterstützt, so dass sich das Vehalten in weiten Grenzen beeinflussen lässt, und immer Informationen über den aktuellen Status vorliegen. Der Chip arbeitet mit 3,3V, generiert diese aber intern selbst, sodass hierfür kein weiterer Spannungsregler nötig ist. Zu erwähnen ist vielleicht noch, dass der FT245BM das USB2.0-Protokoll unterstützt, und im FullSpeed-Modus arbeitet, also nicht mit den maximal möglichen 480Mb/s (HighSpeed) sondern lediglich mit 12Mb/s. Daher ist er auch an einem USB1.1-Anschluss gleich schnell, und man muss sich darum in der Software nicht kümmern. Dies bedeutet jedoch keinesfalls einen Geschwindigkeitsverlust, da die Flash-Speicher, die programmiert werden sollen, wesentlich langsamer sind, und daher ein schnellerer USB-Anschluss keine Veränderung der Programmierzeit bewirken würde.

Die Spannungserzeugung

Der µBurner wird wie schon erwähnt über die USB-Schnittstelle des PC mit Strom versorgt. Diese liefert nominal 5V, der tatsächliche Wert kann aber zwischen 4,4V bzw. 4,75V und 5,25V schwanken. Je nach zu programmierenden Chip werden zwei Spannungsquellen benötigt. Zum einen die Versorgungsspannung (5.0V, 3.3V, 2.5V, 2.0V) mit bis zu 100mA und zum anderen die Programmierspannung (13.0V, 12.5V, 12V) mit bis zu 50mA Belastung. Daraus lässt sich schon erkennen, dass der LowPower-Modus des USB-Standards mit maximal 100mA nicht ausreichend Strom liefern kann, µBurner meldet sich daher als HighPower-Gerät beim USB-Host an, und darf dann bis zu 500mA entnehmen, wenn der Hostrechner genug Reserven hat. Falls nicht ist ein Betrieb des Brenners leider nicht möglich, dies ist insbesondere an USB-Hubs ohne externe Stromversorgung immer gegeben, weshalb sie für dieses Projekt ungeeignet sind!

Der HighPower-Modus hat zudem noch den Vorteil, dass eine Spannung von 4,75V anstelle von nur 4,4V im LowPower-Modus auf der USB-Stromversorgungsleitung zur Verfügung steht, was zur Folge hat, dass die 5V-Versorgung der Schaltung nicht mehr aufwändig aufbereitet werden muss. Die normale Versorgungsspannung kann daher direkt vom USB-Bus entnommen bzw. mit einem LowDrop-LinearRegler aus dieser abgeleitet werden. Für die Programmierspannung ist etwas mehr Aufwand nötig, da die Spannung erst mit hilfe eines DC-DC-Wandlers auf 15V erhöht und dann mit einem weiteren LowDrop-LinearWandler auf die entsprechenden Werte eingestellt werden muss. Der stufenlos einstellbare LM317LD lässt Ausgangspannungen von 1.2 - 37V zu, und wird hier für beide LinearWandler verwendet. Die StepUp-Wandlung erfolgt mit einem TL497. Der steuernde PIC-Microcontroller stellt alle Spannungswerte ein und überwacht ob diese korrekt erzeugt werden.

 
microburner/hardware.txt · Zuletzt geändert: 2009/03/01 20:04 (Externe Bearbeitung)
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki