AT89C5131A-M USB Mikrocontroller von Atmel
-
hallo zusammen,
ich habe mir ein mikrocontroller-board entworfen, schaltplan & pcb. bei dem mikrocontroller handelt es sich um den at89c5131a-m, ein mikrocontroller der 51er familie
ich kann auch ohne probleme eigene software über den usb in den mikrocontroller laden, der mikrocontroller hat von haus aus einen eigenen usb bootloader und auch das tool für den pc wird mitgeliefert.
die serielle schnittstelle funktioniert und auch die ports kann ich ohne probleme ansprechen...
mein problem: usb
rs232 war (ist) toll: sbuf lesen bzw schreiben und alles funktioniertaber jetzt mit usb, ich weiß nicht mal wo ich anfangen soll, ich wusste nicht mal wo ich in diesem forum dazu meinen frage stellen soll
-
Jaipur schrieb:
ich wusste nicht mal wo ich in diesem forum dazu meinen frage stellen soll
...und deswegen hast Du das mit der Frage stellen ganz sein gelassen, stimmt's?! :p
-
hallo,
ich hatte eigentlich absolut keinen punkt wo ich hätte fragen können, hatte eigentlich eher darauf gehofft das sich hier schon mal jemand mit einem usb mikrocontroller beschäftigt hatt, hardware & software.
mittlerweile habe ich ein paar anhaltspunkte:
Alle USB-Geräte haben eine Vendor ID (VID) und eine Produkt ID (PID). Windows erhält diese Daten durch Lesen des Device Deskriptors und verwendet sie, um den passenden Gerätetreiber zu laden.
Dazu wird bei der ersten Installation des Treibers eine INF Datei benötigt. Bei dieser Datei handelt es sich um ein Installationsscript, das einem bestimmten Gerät mit der Kennung aus VID/PID einen speziellen Treiber zuweist.Die Schnittstelle zu den Funktionen des EZ-USB GPD wird im User Mode durch I/O-Kontrollaufrufe gebildet. Dazu besorgt sich die Anwendung (User Mode Code) zunächst mit Hilfe der Win32 Funktion CreateFile() einen Handle auf den gewünschten Gerätetreiber. Mit diesem Handle kann die Anwendung die Win32 Funktion DeviceIoControl() aufrufen, um einen I/O-Control-Code (IOCTL) und die zugehörigen Zeiger auf die reservierten Ein- und Ausgabepuffer an den Treiber zu übergeben.
einen treiber als sys datei und eine inf datei konnte ich bei cypress finden, diese sollen sich auch auf den at89c5131 übertragen lassen, schon mal ganz ok, muss keinen windows treiber schreiben
und über "einfache" read bzw. write operation kann ich hier auf meine hardware zugreifen...
werde erst mal versuchen dadurch den bootloader im mikrocontroller zu kontaktieren...
-
get das mit i2c leitung?^^
-
i2c kenne ich
aber worauf bezieht sich deine frage?
-
Mal bei Atmel auf http://www.atmel.com/dyn/products/product_card.asp?part_id=3479 geschaut? Die haben zumindest eine Application Note zum USB enumeration process und eine USB Massenspeicherimplementation.
-
Moin
nicht zu vergessen die sogenanten endpoint Deskriptoren. Bei bestimmten endpoints wie z.B. Massstorage oder HID verwendet XP default treiber. wenn er für VID und PID nichts findet.
Aufpassen bei Atmel sourcen. die sind nicht immer alle fehlerfrei. Kolege hat zumindest in der USB Massenspeicherimplementation böse Fehler gefunden.
Hi für den Bootloader gibts doch die komischen FLIP tools von atmel. (zum programieren, löschen,...) Da ist auch ne api dabei um das programieren des controllers selber zu machen. Die setzen auf so ne standard USB Treiber, frag mich jetzt nicht von wem der ist. ich glaulb JUNGO hies das ding.
gruss