PowerSwitch mit ATmega1281 (Fehler: D+/D- beide auf High)
Posted: Tue Sep 23, 2008 11:18 am
Ich versuche den PowerSwitch auf einen ATmega1281V zu portieren ... bin aber leider nicht der SW-Profi fuer all die AVR-USB Details.
---
Benutzte Quellen: PowerSwitch.2008-02-28.zip
WinAvr: "avr-gcc --version" ==> avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Betriebssystem: Windows XP Home Edition
Ziel-AVR: ATmega1281V mit externen 12MHz Quartz
Hardware:
* STK500+STk501 mit VTG=3.4V & Steckverbinder in EXPAND1
* Den Steckverbinder fuer EXPAND1 an die Widerstaende geloetet und diese dann an das USB-Kabel
* D+ = PB1 & PD2 / D- = PB0 (wie in circuit.pdf, 68 bzw. 1K5 Ohm nach VTG)
* PORTB auf dem STK500 mit Bandkabel an die LED's angeschlossen.
* 12 MHz Quartz auf dem STK500
* FUSEs fuer ext. Oszillator angepasst (andere Fuses Factory-Setting)
Source-Code Test-Compile:
Archiv in ein neues Verzeichniss ausgepackt und dann im Unterverzeichniss ./firmware "make all" gestartet. Das erzeugte HEX-File entspricht leider NICHT dem mitgelieferten HEF-File.
* 28.02.2008 22:39 4.976 main.hex.original
* 23.09.2008 10:24 5.177 main.hex (neues File)
... ich habe mich aber nicht weiter davon beirren lassen. Danach Makefile geoeffnet und DEVICE = atmega1281 fuer meinen AVR angepasst. Ein erneutes Uebersetzen liefert dann
* 28.02.2008 22:39 4.976 main.hex.original
* 23.09.2008 10:32 5.741 main.hex (neues File)
... haette ich nicht erwartet, dass sich die Groesse des HEX-Files so signifikant gegenueber dem TinyAVR aendert.
... aber was soll's. USB-Kabel in den Laptop gesteckt und druecken der Reset Taste auf dem STK-500. Es leuchtet waehrend Programm-Starts kurz die LED an PINB0 fuer 0.5sec auf und der LAPTOP meldet ein USB Ereigniss .... leider aber keine korrekte Anmeldung.
Der Fehler scheint die Signal-Spannung fuer D+ und D- zu sein. Beide liegen dann statisch bei 3.1 ... 3.3V. Das sollte eigentlich nicht so sein - glaube ich.
Die Registersettings fuer PORTB bzgl. Pull-up wurden kontrolliert (AVR-Studio) und sollten inaktiv sein (aber noch nicht direkt gemessen). Die Suchmaschine ist leider sehr sparsam mit Information zu AVR-USB & ATmega1281
Wer hat Ideen, wo das Problem liegen koennte ???
---
Benutzte Quellen: PowerSwitch.2008-02-28.zip
WinAvr: "avr-gcc --version" ==> avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Betriebssystem: Windows XP Home Edition
Ziel-AVR: ATmega1281V mit externen 12MHz Quartz
Hardware:
* STK500+STk501 mit VTG=3.4V & Steckverbinder in EXPAND1
* Den Steckverbinder fuer EXPAND1 an die Widerstaende geloetet und diese dann an das USB-Kabel
* D+ = PB1 & PD2 / D- = PB0 (wie in circuit.pdf, 68 bzw. 1K5 Ohm nach VTG)
* PORTB auf dem STK500 mit Bandkabel an die LED's angeschlossen.
* 12 MHz Quartz auf dem STK500
* FUSEs fuer ext. Oszillator angepasst (andere Fuses Factory-Setting)
Source-Code Test-Compile:
Archiv in ein neues Verzeichniss ausgepackt und dann im Unterverzeichniss ./firmware "make all" gestartet. Das erzeugte HEX-File entspricht leider NICHT dem mitgelieferten HEF-File.
* 28.02.2008 22:39 4.976 main.hex.original
* 23.09.2008 10:24 5.177 main.hex (neues File)
... ich habe mich aber nicht weiter davon beirren lassen. Danach Makefile geoeffnet und DEVICE = atmega1281 fuer meinen AVR angepasst. Ein erneutes Uebersetzen liefert dann
* 28.02.2008 22:39 4.976 main.hex.original
* 23.09.2008 10:32 5.741 main.hex (neues File)
... haette ich nicht erwartet, dass sich die Groesse des HEX-Files so signifikant gegenueber dem TinyAVR aendert.
... aber was soll's. USB-Kabel in den Laptop gesteckt und druecken der Reset Taste auf dem STK-500. Es leuchtet waehrend Programm-Starts kurz die LED an PINB0 fuer 0.5sec auf und der LAPTOP meldet ein USB Ereigniss .... leider aber keine korrekte Anmeldung.
Der Fehler scheint die Signal-Spannung fuer D+ und D- zu sein. Beide liegen dann statisch bei 3.1 ... 3.3V. Das sollte eigentlich nicht so sein - glaube ich.
Die Registersettings fuer PORTB bzgl. Pull-up wurden kontrolliert (AVR-Studio) und sollten inaktiv sein (aber noch nicht direkt gemessen). Die Suchmaschine ist leider sehr sparsam mit Information zu AVR-USB & ATmega1281
Wer hat Ideen, wo das Problem liegen koennte ???