AVRUSBboard - udviklingsboard med USB

AVRUSBboard er et udviklingsboard baseret på en AVR ATmega8 / ATmega168 / ATmega328 MCU som kan kommunikere direkte med USB med en PC eller anden host. Boardet kan både programmeres, kommunikere og forsynes med strøm via USB. Programmeringssproget i følgende eksempler er C.

Projektet er open source under GNU General Public License - læs nærmere her www.gnu.org/licenses/gpl.html. Projektet er oplagt til hobbyentusiaster. Det er muligt at videreudvikle på både software og diagram. Diagrammet og C-kodeeksempler kan downloades fra denne side.

Specifikationer

Diagram

Kredsløbsdiagrammet til boardet kan ses nedenfor og downloades som PDF.

Download Schematic Diagram

AVRUSBboard_Schematic_Diagram.pdf [Downloads: 2265]

USB-programmering

Til programmering med USB benyttes en let tilpasset udgave af open source-bootloaderen BootloadHID fra Objective Development. Bootloaderen benytter de indbyggede drivere til HID class devices, hvilket ikke kræver installering af driver på Windows eller Linux. Bootloaderen startes ved at holde trykknap SW1 nede når boardet startes (typisk når USB-stikket forbindes med en PC). Brugerprogrammet startes hvis knappen ikke holdes nede ved opstart. Download den tilpassede BootloadHID C-kode her:

Download Bootloader C-code

AVRUSBboard_BootloadHID.rar [Downloads: 2120]
SHA1: bc2fcdeebbae458abdd4b8d6b17e8defa34d402d

Til at overføre hex-filer til ATmega’en kan f.eks. benyttes HIDBootFlash. Filer overføres enten fra en kommandopromt, en bat-fil eller simpel GUI (ved blot at dobbeltklikke filen).

Til at programmere bootloaderen på en ny ATmega (engangsopsætning) er det nødvendigt at benytte en ICSP-programmer (gerne med en 28-pin DIP-testsokkel). En mulighed er at bygge sin egen, se USBasp - USB programmer for Atmel AVR controllers.

USB-kommunikation

Til kommunikation med USB benyttes open source driveren fra Objective Development V-USB hvor boardet er et HID class device og derfor ikke kræver installering af driver.

Til at compile firmwaren kan på Windows benyttes WinAVR - AVR-GCC for Windows eller AVR Studio.
Til at compile hostwaren på Windows benyt MinGW - Minimalist GNU for Windows.

En mulighed er også et custom class device sammen med libusb-win32, hvilket kræver installering af driver, men giver en større grad af frihed. For mere information læs vusb.wikidot.com/usb-device-classes.