Guten Tag, ich bin Student der Fachrichtung Informationstechnik (5. Semester) und habe als Studienarbeit die Aufgabe ein Infrarot Sende- und Empfangmodul für den USB-Anschluß an einem PC zu entwickeln. Nun habe ich noch nie mit Microcontrollern gearbeitet, weiß aber, dass ich einen verwenden muss ;)... Gute Elektrotechnische Kenntnisse sind vorhanden... Ich habe mich auf der Homepage von Atmel schon ein wenig umgesehen und bin über die Produktspart "USB-Controller" gestolpert, die mir auf Anhieb sympathisch erschien. Leider habe ich nun keine Ahnung, worin sich 8051-based Microcontroller AVR-based Flash Microcontroller AVR-based Function Controller und Dual Role (OTG/Host/Function) Controller unterscheiden o_O... (http://www.atmel.com/dyn/products/param_table.asp?family_id=655&OrderBy=part_no&Direction=ASC) Hat sich jemand schon einmal mit diesen Controllern auseinander gesetzt? Liege ich überhaupt richtig diese verwenden zu können? Bietet Atmel für die Benutzung am PC auch DLL's an? Würde mich freuen, wenn ich einige Resonanz bekäme. Magnus
einfacher gehts nicht: http://www.ftdichip.com/Products/FT232BM.htm da bekommst du auch Treiber ect.
http://www.mikrocontroller.net/articles/AVR_PIC_51-Vergleich Dann hilft auch das Wikipedia, wenn man dort nach "AVR" suchen lässt. Atmel hat auch AT90USB...-Bausteine - das sind AVR mit eingebauter USB-Funktionalität.
bla wrote: > einfacher gehts nicht: > http://www.ftdichip.com/Products/FT232BM.htm > > da bekommst du auch Treiber ect. Aufgabe soll ja sein, auch die Anwendung auf dem PC und die firmware selbst zu schreiben, sonst ist's ja langeweilig ;) unsichtbarer WM-Rahul wrote: > http://www.mikrocontroller.net/articles/AVR_PIC_51-Vergleich > Dann hilft auch das Wikipedia, wenn man dort nach "AVR" suchen lässt. > > Atmel hat auch AT90USB...-Bausteine - das sind AVR mit eingebauter > USB-Funktionalität. Danke für den Link, les ich mir gleich mal durch ;)... Die AT90USBxxx Controller sind die "AVR-based Flash Microcontroller" Die anderen sind AT43USBxxx, AT73C (AVR-based Function Controller) bzw. AT89C (8051-based Microcontroller)... Aber mit den 90ern bin ich auf der sicheren Seite?
Zitat: "Aufgabe ein Infrarot Sende- und Empfangmodul für den USB-Anschluß an einem PC zu entwickeln" Hier ist die große Unbekannte bzgl. dem Thema. Geht es um RC5 Signale (s. z.B. http://sprut.de/electronic/ir/rc5.htm#2), dann ist ein Controller mit 'echten' USB-Fähigkeiten einfach übertrieben. Zudem ist das RS232/V24 Format - auch konvertiert per FT232BM u.ä. - simpel in beliebige Applikationen integrierbar bzw. einfach per Terminalprogramm lesebar. Tippe aber, daß gelernt werden soll wie man USB auf der Controllerseite und in PC-Software dann umsetzt. Dann wären Controller mit int. USB nötig.
Magnus Birk (magnus) schrieb am 26.11.2006 um 12:58 Uhr: >Aber mit den 90ern bin ich auf der sicheren Seite? Die AT90USB Serie hat Atmel leider sehr schlecht dokumentiert. Ich habe mir für den AT90USB1287 eine Platine gemacht, siehe http://www.ssalewski.de/AVR_USB_gEDA.html.de und möchte sie demnächst unter Linux mit eigener, freier Firmware in Betrieb nehmen. Da die Dokumentation im Datenblatt des AT90USB sehr knapp ist, habe ich damit aber ganz schön zu kämpfen. Ich habe USB-Bücher, die USB-Spezifikation, andere USB-Datenblätter (von Nationals USBN960x, Atmels AT89 Serie usw.), aber einfach ist es nicht. Man muss oft raten, wie man das, was im Datenblatt des AT90USB angedeutet ist, in der Praxis umsetzen kann. Mit etwas mehr Unterstützung seitens Atmels wäre es viel einfacher, also wenn es für die Nutzung der Low-Level Funktionen Sourcecode von Atmel geben würde. Es gibt von Atmel zwar Sourcecode, aber den bekommt man nur nach Registrierung, man darf ihn nicht für freie (GPL)-Software nutzen. Und er ist wohl eher für Windows gedacht und auch sehr aufgebläht und wohl für HID-Devices gedacht. Du musst selbst wissen was Du dir zutraust und ob Du dir das Leben lieber leicht machen willst -- Du kannst ja auch mal bei Atmel anfragen. Mir ist es rätselhaft, warum die so ein Geheimniss um Ihren Sourcecode machen. Gruß Stefan Salewski
Hallo Stefan, aktuell komme ich von dem Gedanken mit dem Atmel immer noch nicht ganz weg. > Du musst selbst wissen was Du dir zutraust und ob Du dir das Leben > lieber leicht machen willst -- Du kannst ja auch mal bei Atmel anfragen. > Mir ist es rätselhaft, warum die so ein Geheimniss um Ihren Sourcecode > machen. Wie würde ich es mir denn leichter machen? Sind PIC-Microcontroller dafür besser geeignet? Aktuell kämpfe ich noch mit der Frage, ob das, was ich baue nur ein Divece ist, oder auch Host-Funktionalität besitzen muss, weil es ja möglich sein soll vom PC aus IR-Signale zu senden und der Controller dafür eine IR-LED bedienen muss.
Du musst einen Device bauen. würde dir auch eher zu den pics raten -obwohl ich eigentlich auf avr stehe- denke aber, dass die usb-on-board controller von pic besser sind. falls du keine windows-standard-klasse erstellen willst und somit keine windowstreiber verwenden kannst, würde ich dir die libusb nahe legen...
Einen Controller zu programmieren ist nicht so schwer. Was mir fehlt ist wie ich einen Treiber für Windows schreibe. Aber vielelciht weis da jeamand was. Gruß Ralf
Magnus Birk (magnus) schrieb am 05.12.2006 um 10:19 Uhr: >Hallo Stefan, >aktuell komme ich von dem Gedanken mit dem Atmel immer noch nicht ganz >weg. Wie würde ich es mir denn leichter machen? Hallo Magnus, wie viele Andere mag auch ich die AVRs von Atmel. Einige der Pluspunkte: Allgemein gute Literatur von Atmel erhältlich, gute Unterstützung durch avr-gcc und avrdude (Linux), angenehme Programmierung auch unter Assembler. Aber das ist natürlich Ansichtssache -- sicher haben auch andere Controller ihre Vorteile. Aber mit USB sieht es bei Atmel und den AVRs ja nicht so gut aus. Der AT90USB kam erst recht spät heraus, und die Dokumentation (Datenblatt) ist wirklich dürftig. Das USB-Kapitel liegt weit unter dem bei Atmel üblichen Qualitätsstandard. Vieles wird nicht eindeutig erleutert und einiges ist falsch beschrieben, beispielsweise werden Registernamen erwähnt, die nicht existieren. Ich habe Atmel schon angeschrieben, aber noch keine Antwort. Das USB-Kapitel ist im Prinzip noch immer im Entwurfstadium, und scheinbar will sich da bei Atmel keiner um die Fertigstellung kümmern. Wenn man Software entwickeln will, die man später völlig frei als Quellcode weitergeben darf, ist man aber leider auf das Datenblatt angewiesen, da man die proprietäre ATMEL-USB-Software nur mit großen, für mich inakzeptablen Einschränkungen nutzen darf. Ich habe in den letzten Wochen versucht, mit den Angaben im Datenblatt einige Makros für das Low-Level-Interface des AT90USB zusammenzustellen. Das derzeitige Resultat ist auf http://www.ssalewski.de/USB-Sources/ (usb_drv.c) http://www.ssalewski.de/AVR_USB_gEDA.html.de (Platine) einsehbar, es ist aber noch unvollständig und ungetestet. Einfacher wird es für Dich, wenn Du die proprietäre Atmel-Software verwenden willst. Alternativ könntest du den Interfacechip USBN960x von National verwenden, dafür hat Benedikt Sauter bereits sehr viel freien Code geschrieben, siehe www.ixbat.de . Aber auch die Nutzung seines Codes ist nicht ganz einfach, ich versuche mich auch gerade in seinen Code-Bergen zurechtzufinden. Noch einfacher ist es wohl, die FTDI-Chips zu verwenden -- aber das ist dann eigentlich kein richtiges USB. Zu anderen USB-Controllern kann ich nichts sagen. Gruß Stefan Salewski
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.