Forum: Mikrocontroller und Digitale Elektronik UART CDC Treiberproblem mit Referenz-Kit ATAVRMC303


von Niko Q. (Firma: THM) (themystery)


Lesenswert?

Hallo zusammen,

ich stehe vor folgendem Problem:
Für meine Diplomarbeit habe ich zwei fertige Platinen von Atmel gekauft. 
Zum einen ist das die Steuerplatine ATAVRMC303 zum anderen die 
Power-Stage-Platine ATAVRMC300 zum Ansteuern von Schritt- und 
BLDC-Motoren.

Da Atmel damit geworben hat, dass die Steuerung dank ihrer Software 
Motor Control Center recht einfach seien soll, fiel meine Wahl auf diese 
Platinenkombination.

Leider habe ich nun das Problem, dass ich keinen virtuellen CDC COM Port 
bekomme. Zu Beginn dachte ich noch das ich irgendwas verkehrt mache, 
weil sich immer ein unbekanntes Gerät im Gerätemanager angemeldet hat, 
das ich mit den erwähnten Treibern (Atmel App Notes) aber auch nicht 
installieren konnte. Ich vermute, dass dies der CDC UART Port war, nur 
hat mir zu dem Zeitpunkt der richtige Treiber gefehlt. Der Bootloader 
lief nach einer Weile und wurde auch korrekt installiert, sprich ich 
kann mit FLIP auf den Controller zugreifen. Nur habe ich jetzt nach 
stundenlangem rumprobieren zwar den Treiber für den CDC UART Port 
gefunden aber die ursprünglich aufgespielte Firmware überschrieben und 
egal wo ich suche ich finde die Originalfirmware nicht!! Firmware aus 
anderen Atmel Projekten, die für den Controller geeignet sind habe ich 
auch schon ausprobiert aber da tut sich gar nichts, jedenfalls versucht 
sich nichts im Gerätemanager anzumelden.

Als wichtige Information noch: Bei der USB-UART-Bridge handelt es sich 
um einen AT90USB1287. Der Controller der dann die direkte Ansteuerung 
der Motoren übernimmt ist ein ATXmega128A1. Als Betriebssystem benutze 
ich Windows 7 Pro in der 64bit Variante.

Vielleicht hat zufällig jemand eine Lösung für mein Problem parat oder 
die richtige Firmware zur Hand (Request an den Atmel Support hab ich 
auch schon geschickt).

Vielen Dank schon mal für eure Hilfe

MfG Niko

von Karsandra (Gast)


Lesenswert?

Niko Quiskamp schrieb:
> Da Atmel damit geworben hat


Atmel verspricht leider viel, wenn der Tag lang ist.

Ich habe im ASF nach Deinem Board gesucht, da ist es jedoch nicht drin.

Wenn ich richtig gelesen habe, dann programmierst Du mit dem Bootloader 
das Anwendungsprogramm.

Meinst Du mit Firmware den Bootloader? Wenn Du den gelöscht hast, hilft 
Dir nur das Reprogrammieren über ISP oder JTAG weiter, um ihn wieder 
herzustellen. Dazu müßtest Du Dir zusätzliche Hardware beschaffen. 
Entweder den ISP-Progrämmer ca. 30-40€ oder den Dragon 50-60€ bzw. des 
JTAGICEMK 2 (300€) oder 3 (199€).

Der AVR ONE! ginne auch. Der wird aber für Dein Vorhaben zu teuer sein.


Niko Quiskamp schrieb:
> (Request an den Atmel Support hab ich
> auch schon geschickt).

Das kann dauern. Selbst wenn ich die Leute in den Büros in Deutschlang 
anschreibe, läuft da nichts unter einer Woche.

von Niko Quiskamp (Gast)


Lesenswert?

>Ich habe im ASF nach Deinem Board gesucht, da ist es jedoch nicht drin.

Ja die hab ich auch schon durchsucht. Ebenfalls ohne Ergebnis. Auch die 
suche nach Soft- bzw. Firmware des AT90USB1287 hat nichts zu Tage 
gefördert.

>Meinst Du mit Firmware den Bootloader?

Nein ich meine mit Firmware eine USB to UART Bridge (CDC) die im 
Application Bereich des Controllers läuft. Normalerweise sollte bei 
Anschluss des Boards an einen PC eine USB to UART Bridge als COM Port im 
Gerätemanager angemeldet werden. Als ich das Board ausgepackt habe hat 
sich auch ein Gerät angemeldet aber konnte nicht installiert werden. 
Blöderweise hab ich mittlerweile andere Firmware, die für den Controller 
und diese Funktion der UART Bridge gedacht ist, ausprobiert und somit 
die Firmware gelöscht, die werkseitig schon drauf war. Und genau diese 
findet sich nirgendwo wieder (alles bei Atmel und Google durchsucht).

Der Bootloader funktioniert noch einwandfrei. Da er sich sowieso im 
EEPROM befindet und geschützt ist kann er ohne Hilfe der Programmer gar 
nicht erst gelöscht werden. Quasi DAU sicher für alle die sich mit den 
Programmern nicht auskennen g

Aber ich dachte mir schon beim Kauf des Boards, dass es nötig werden 
wird mal den Controller ohne Bootloader zu flashen und hab gleich nen 
Dragon mitbestellt (benutze ich persönlich am liebsten, weil gutes 
Preis-Leistungsverhältnis).

Es wäre somit für mich auch gar kein Problem komplette HEX-Datein mit 
Bootloader UND Firmware, wie sie für das Xplain Board existieren, 
aufzuspielen. Übrigens: Xplain hat genau die gleiche Controller 
Kombination (AT90USB1287 und ATXmega128A1) wobei der AT90 auch als 
USB-UART-Bridge arbeitet. Deshalb kam ich auch drauf mal diese Firmware 
auszuprobieren aber ohne Ergebnis.

Ich hab das Problem bisher so erkannt: Der AT90 benötigt irgendeinen 
Programmcode (natürlich für diesen Controller) der eine USB 
Kommunikation aufbaut und die CDC Spezifikation besitzt. Dieser meldet 
sich dann als virtueller COM-Port an, er braucht also ein RS232 
Kommunikations-Protokoll.
Auf dem Xmega sollte sich werkseitig sowieso eine Firmware befinden, die 
allerdings nur auf RS232 Befehle reagiert (daher auch die Bridge).

Ich wollte halt verhindern mir da jetzt ewig ein Programm 
zusammenzubasteln, weil mir dazu einfach die Zeit fehlt. Mir ging es um 
eine Einheit mit der ich schnell mittels PC-Software einen Schrittmotor 
ansteuern kann und dabei klang das Angebot von Atmel ja nicht schlecht.


Vermutlich hat mein Betriebssystem da auch noch einfluss auf die ganze 
Geschichte, weil die Atmel Treiber nunmal nicht für Windows 7 und schon 
mal gar nicht für 64bit Systeme geschrieben sind. Ich probiere es heute 
mal mit einem 32bit XP aus.

von Niko Q. (Firma: THM) (themystery)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

mittlerweile hat sich Atmel bei mir gemeldet und war so freundlich mir 
sowohl den Windows 7/64bit fähigen Treiber für die USB to UART Bridge, 
wie auch die Original Firmware des AT90USB1287 bei Auslieferung des 
MC303, zuzusenden :-)

In der Hoffnung irgendwann mal jemandem mit diesem Thread helfen zu 
können, der vielleicht vor dem gleichen Problem steht wie ich, habe ich 
beide Dateien angehängt.

Wichtige Info zur Firmware: Diese A90 Datei kann nur mit dem Programmer 
FLIP auf den Controller geflasht werden. Der Bootloader muss also 
vorhanden und funktionsfähig sein um FLIP einsetzen zu können. Falls das 
nicht der Fall seien sollte erst den Bootloader mit Hilfe eines externen 
Programmers (AVRDragon etc.) auf den Controller flashen und dann mit 
FLIP weiterarbeiten. Da der Bootloader keine besonderen Spezifikationen 
hat und nur für den AT90 passen muss habe ich den nicht extra angehängt. 
Mit etwas Hilfe von Google oder der Suchfunktion auf der Atmel Homepage 
findet man den recht zügig ;-)

In diesem Sinne danke für eure Hilfe und vielleicht bis bald :-)

Niko

von tobi (Gast)


Lesenswert?

Niko Quiskamp schrieb:
> In der Hoffnung irgendwann mal jemandem mit diesem Thread helfen zu
> können, der vielleicht vor dem gleichen Problem steht wie ich, habe ich
> beide Dateien angehängt.

Mercie Niko!
Bei mir hat sich das Board aufeinmal nur noch der Bootloader gemeldet, 
nach dem reflashen gehts wieder.

Achja, ich habe das KIT ATAVRMC320 -- das Controllerboard ist das MC310.
(Die Firmware ist wohl kompatibel; Schaltplan ist auf jeden Fall gleich 
im Bereich des USB127)

von Dietrich M. (dmuemey)


Lesenswert?

Hallo in die Runde!

Ich habe mir auch ATAVRMC303 und ATAVRMC300 gekauft. Out-of-the-box 
dreht sich der Motor nicht. Es werden keinerlei Signale an den Motor 
gegeben. Die Kommunikation über den CDC-Treiber (virtuellen Comport) 
läuft und sieht ganz fehlerfrei aus. Ich denke, ich habe wirklich alles 
geprüft, was die Verbindungen, Stromversorgung usw. betrifft. Ich bin 
auch durchaus erfahren mit AVR-Prozessoren.

Ich habe kein Display auf der MC303 Platine. Kann es sein, dass das 
vorinstallierte Programm daran irgendwie hängt?

Hat jemand die ein Projekt unter ATMEL Studio 6 für dieses Board 
gemacht? Ich finde nur Sources für alte Entwicklungsumgebungen und es 
ist halt etwas nervig, das umzustellen, zumal bei mir erst einmal 
garnichts funktioniert.

Für Hilfe wäre ich also sehr dankbar.

Dieter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.