Hi, ich fange grad mit miener Diplomarbeit an und stehe vor der Entscheidung einen AT90USB1287 oder Einen Atmega128+Ftdi FT245R zu verwenden. meine Anwendung ist daten vom I2c zu lesen und diese an einer PC Anwendung (C++) Auszuwerten. Das wichtigste ist das ich schnell bin, ich sollte schon daten mit 400k/s oder mehr vom I2C(laut spec bis zu 3,4Mbit) empfangen können und dann auch diese daten auch am PC verfügbar haben, um diese dort auszuwerten. Kurz gesagt: die Grundidee ist den I2C zu Tracen. Am Pc soll eine Anwendung laufen, die dann die empfangenen Daten auswertet. Was würdet ihr mir emfpehlen?
Wenn Du FT232/FT245 verwendest, musst Du Dich weder um die Entwicklung eines USB-Devicetreibers für Deinen PC noch um die korrekte Implementierung des USB-Stacks auf dem Controller kümmern. Welchen Weg Du beschreitest, solltest Du von der Zeitplanung Deiner Diplomarbeit und Deiner Programmiererfahrung abhängig machen - den Weg über USB "selber machen" würde ich an Deiner Stelle nur wählen, wenn der Rest der Aufgabe für Dich "ein Klacks" ist.
Für die Controller gibt es von Atmel, nach einer Registrierung, Referenzimplementationen bspw. für HID, CDC (Virtual Com Port), Mass Storage etc. http://atmel.com/products/usb/forms/avr_usb_soft_form.asp http://atmel.com/dyn/products/app_notes.asp?family_id=655 http://atmel.com/dyn/resources/prod_documents/doc7619.pdf
CDC ist zwar recht einfach in den AT90USB1287 zu implementieren (hab das gerade diese Woche gemacht), die Datenrate läßt aber zu Wünschen übrig. Da die Endpoints bei CDC nur 32 Byte groß sind, ist nur ein maximaler Datendurchsatz von ca. 12,5 Kilobyte/Sekunde möglich, denn das würde ja auch für 115200 Baud reichen. An Mass Storage habe ich noch nicht herangewagt, weil man hier doch eine ganze Menge mehr programmieren muß. Müßte jedoch um einiges schneller sein.
Hallo Leute, ich habe auch Samples bekommen und mir eine Platine für ein Mass Storage Device aufgebaut. Damit will ich Daten auf eine MMC loggen und über USB wieder auslesen. So weit so gut. Also die Platine ist aufgebaut und der Controller läßt sich auch flashen über Atmels Bootloader. Bei meinen Versuchen meine eigene Software am USB-Bus zum laufen zu bringen scheitere ich am Datenempfang am Endpoint 0. Ich nehme an, dass bei der Konfiguration des Endpoints etwas schief geht. Ich habe auch mehrmals versucht mir die Beispielanwendung von Atmel zu besorgen, leider braucht man ein Passwort, um die Zip-Archive zu öffnen und von Atmel meldet sich niemand auf die Registrierung hin. Meine Bitte wäre nun, dass von Euch jemand code posten könnte, mit dem ich nachvollziehen könnte, was ich bei der Konfiguration der USB-Zelle falsch mache. Vielen Dank im voraus.
Hallo Ein Komilitone und ich arbeiten an den Hostfähigkeiten des AT90USB1287. Ziel ist eine Bibliothek, die die Treiberentwicklung für den USB einfacher macht. Dazu haben wir uns 2 Atmels besorgt und diese fertig aufgebaut. Nebenprodukt der bisherigen Arbeit ist die Device enumeration. Der Control Endpoint 0 funktioniert bis zur configuration. Mehr geht im Moment nicht, da wir noch keine Anwendung für das Device haben. Es steckt alles noch in der Entwicklung, daher macht es keinen Sinn den Quellcode hier anzuhängen. Entstanden ist das alles ohne den bsp. Quellcode von Atmel. Wer sich dennoch dafür interessiert einfach eine Mail an mich. MFG Michael Fogel
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.