Laborboard: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(+ Hinweise zum Programmierboard)
(+ Programmiersoftware)
Zeile 41: Zeile 41:


=== USB-Port ===
=== USB-Port ===
Ein sehr flexibles Programmierboard ist [http://www.embedded-projects.net/usbprog USBprog] von Bernhard Sauter. Es ist (bei entsprechender Firmware) voll kompatibel mit dem "offiziellen" AVR ISP mkII Programmierboard von Atmel, jedoch wesentlich flexibler einzusetzen (mittels anderer Firmwares). Es ist außerdem pinkompatibel mit dem Programmierstecker auf unserem Laborboard von 2006 (siehe [https://roulette.das-labor.org/trac/browser/microcontroller/doc/Layouts/ SVN]).
Ein sehr flexibles Programmierboard ist [http://www.embedded-projects.net/usbprog USBprog] von Bernhard Sauter. Es ist (bei entsprechender Firmware) voll kompatibel mit dem [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3808 AVR ISP mkII Programmierboard] von [http://www.atmel.com Atmel], jedoch wesentlich flexibler einzusetzen (mittels anderer Firmwares). Es ist außerdem pinkompatibel mit dem Programmierstecker auf unserem Laborboard von 2006 (siehe [https://roulette.das-labor.org/trac/browser/microcontroller/doc/Layouts/ SVN]).
 
== Programmiersoftware ==
Damit unsere Programme vom PC auf den AVR kommen, brauchen wir noch Software auf dem PC.
 
=== Linux ===
Da gibt es eine Unmenge von Tools, beispielsweise avrdude und uisp.
 
=== Windows ===
Das "offizielle" Tool ist [http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=2725 AVR Studio]. Funktioniert mindestens mit dem AVR ISP mkII bzw. dem USBprog-Board.


==Fuses setzen==
==Fuses setzen==

Version vom 6. August 2008, 20:47 Uhr


LaborBoard1.jpg

Das Laborboard

Das Laborboard ist ein kleines Board mit dem man Erfahrungen mit Mikrocontrollern machen kann.

Woraus bestehts?

Das Board besteht im Kern aus einem ATmega32-Controller, an den 4 Taster angeschlossen sind (Port B) und 8 LEDs (Port C). Ansonsten befindet sich auf der Platine noch ein 16 MHz Quartz für die Taktung, ein Reset-Taster, und eine kleine Schaltung zum stabilisieren der Versorgungsspannung.

Hingehen

Projekte mit dem Labor Micro Board

Anfangen

Die Liste mit den benötigten Bauteilen findet Ihr hier im Wiki -- Den Schalt- und Bestückungsplan gibt es hier https://roulette.das-labor.org/svnview/microcontroller/doc/Layouts/ . Eine Menge Beispielcode gibt es im im Subversion unter https://roulette.das-labor.org/svnview/microcontroller.

Programmierboard

Für das Laborboard wird noch ein Programmierkabel oder -board benötigt, um die Programme vom PC auf den AVR (AVR ist die Sammelbezeichnung für die Atmel-Mikroprozessorfamilie, hier wird der ATmega32 verwendet) zu bringen.

Parallelport

Ein Beschaltungsplan für ein Parallelportprogrammierkabel ist im SVN zu finden (Falls die Programmierapplikation auf dem PC eine Pinbelegung benötigt: sie wird als 'bsd' bezeichnet).

Serieller Port

Da gäbe es z.B. Ponyprog.

USB-Port

Ein sehr flexibles Programmierboard ist USBprog von Bernhard Sauter. Es ist (bei entsprechender Firmware) voll kompatibel mit dem AVR ISP mkII Programmierboard von Atmel, jedoch wesentlich flexibler einzusetzen (mittels anderer Firmwares). Es ist außerdem pinkompatibel mit dem Programmierstecker auf unserem Laborboard von 2006 (siehe SVN).

Programmiersoftware

Damit unsere Programme vom PC auf den AVR kommen, brauchen wir noch Software auf dem PC.

Linux

Da gibt es eine Unmenge von Tools, beispielsweise avrdude und uisp.

Windows

Das "offizielle" Tool ist AVR Studio. Funktioniert mindestens mit dem AVR ISP mkII bzw. dem USBprog-Board.

Fuses setzen

Damit der Controller nun auch mit dem externen Quarz oszilliert, und PORTC auf allen Pins die LEDs steuern kann, muss man die Fuses richtig setzen. VORSICHT, FALSCHE FUSES KÖNNEN DEN CONTROLLER UNBRAUCHBAR MACHEN! Die Reihenfolge ist auch wichtig: Erst hfuse, dann lfuse setzen.

...you have been warned. ;)

 avrdude -c bsd -p m32 -t

...eine art Konsole geht auf...

 write hfuse 0 0xc9
 write lfuse 0 0x9f
 quit

...nun sollte eine Erfolgsmeldung erscheinen.

Wenn man avrdude nicht hat, kannn man alternativ auch uisp benutzen:

 uisp -dprog=bsd --wr_fuse_h=0xc9
 uisp -dprog=bsd --wr_fuse_l=0x9f

Pinbelegung des Programmiersteckers

       +-----+
   GND | 0 0 | MISO
   GND | 0 0 | SCK
   GND | 0 0   RESET (inv)
   GND | 0 0 | (nicht belegt)
   VCC | 0 0 | MOSI
       +-----+

Pinbelegung des ALTEN Programmiersteckers

Dies ist eine veraltete Alternative zum obigen Stecker, sollte allerdings nicht mehr verwendet werden, da nicht kompatibel zur gängigeren, obigen Belegung.

 5 - RESET (inv)
 4 - SCK
 3 - MISO
 2 - MOSI
 1 - GND

Links

Besen
Diese Seite sollte verbessert/überarbeitet werden: Wie hängt diese Seite mit LaborBoardTeile zusammen? Gibt es eine Kostenkalkulation?
Über Verbesserungen an dieser Seite soll bei Bedarf auf der Diskussionsseite beraten werden
Hier gelangst du zur Dokumentation dieses Banners.