Spørgsmålet er, hvilken af disse skal jeg bruge:
PIC/PICAKE eller en ATmega processor til den opgave?
Den Controller skal bruges til en alm. PC med linux på, til en USB port.
Jeg ved ikke så meget om PIC-serien, men jeg kender følgende muligheder:
Atmel AVR med USB:
Gammel serie:
- AT90USB646
- AT90USB647
- AT90USB1286
- AT90USB1287
- AT90USB82
- AT90USB162
Ny serie:
- ATmega16U2
- ATmega32U2
- ATmega16U4 (har ADC)
- ATmega32U4 (har ADC)
Atmel ARM7 med USB
AT91SAM7Sxxx
Olimex har et board der kommer med indbygget muse-driver. Men ARM er svær at have med at gøre.
Løber du ind i problemer med Olimex-boardet kan du ikke rigtig få hjælp.
-Derfor er det smartere at købe et officielt Atmel board, hvis du skal lave noget med ARM7.
Atmel AVR uden USB med USB firmware driver
Se
V-USB - firmwaren er gratis.
Atmel AVR uden USB med FTDI chip
En FTDI chip koster omkring 30 kr. Du kan også købe et USB FTDI-kabel, enten til
3.3V eller til
5.0V, pris: ca. 125 kr.
Du kobler så din microcontroller på FTDI'en via microcontrollerens serielle interface, så den del af softwaren er forholdsvis enkelt, frem for at lave USB på microcontrolleren.
Her er at billigt
FTDI-chip modul til breadboard (og hvis du er interesseret,
et modul til parallel I/O).
Atmel AVR uden USB med Prolific chip (billigere end FTDI, men cirka samme egenskaber, virker på Mac OS X/Windows/Linux)
Cirka samme fremgangsmåde som FTDI. Jeg kan levere PL2303 chips, hvis det skulle være interessant.
AT90USB* og ATmega16U2/ATmega16U4/ATmega32U2/ATmega32U4 er TQFP32 eller TQFP44, alt efter hvilken type du vælger. Disse er mulige at håndlodde med en god loddestation og en tynd+kort loddespids.
Der er allerede skrevet
USB-software til disse chips, men jeg har endnu ikke selv prøvet at bruge dem.
FTDI-løsningen kan bruges med alle typer microcontrollere der kan sende data serielt, deriblandt PIC.
Hvilken løsning der er bedst for dig, er svær at sige. Den billigste løsning vil nok være en hvilken som helst AVR med V-USB. Her kan du bruge både ATtiny og ATmega, men du skal vide at V-USB tager nogle CPU-kræfter af microcontrolleren, hvilket vil sige at du ikke kan få fuld udnyttelse af microcontrollerens hastighed, hvis dette er nødvendigt. -Normalt er dette dog ikke noget problem.