Hallo Mitfreunde der Elektronik, ich habe in den letzten Tagen eine erschreckende Entdeckung gemacht: anscheinend bin ich in den letzten Jahren nicht mitgekommen, bin also total out-of-knowledge ^^ Was die Kommunikation zwischen PC und eigener Hardwarekreationen angeht, haben wir früher die seriellen und parallelen Ports ausgelutscht. Mittlerweile werden diese an Mainboards allerdings ziemlich rar - FireWire und USB übernehmen die Welt. Und da ich nun vor dem Problem stehe, meine entworfenen Schaltungen von PCs aus schalten & walten zu lassen, bin ich eigentlich nicht der Meinung, mich großartig in die Protokolle aller Verbindungsarten ala USB und FireWire einzuarbeiten, um dann irgendwelche Treiber zu schreiben, die mir meine 10 Bit auf dem PC 1:1 auf den Port meines Microcontrollers ausgeben. Ich möchte nicht forsch erscheinen - aber wenn ich softwaretechnisch auf dem PC meine paar Bit generieren, will ich die Pegel 1:1 auf meinem Eingängen haben o.O meine Google-Suchen haben bisher auch nicht wirklich das ergeben, was ich wollte. Nämlich unproblematisch meine H/L-Signals irgendwie extern zu bekommen. Wenn die Möglichkeit bestände, irgendwo irgendwelche USB Treiberbausteine herzuzaubern, die für mich den gesamten Handshake abwickeln und evtl. sogar noch über die Generic Driver ansteuerbar sind, wäre ich wunschlos glücklich. Kennt ihr da evtl. gescheite Lösungen? Denn wenn ich bedenke, dass meine Anforderungen (nämlich 1:1 H/L-Levels) relativ niedrig sind, denke ich doch, dass es da Möglichkeiten oder fertige Treiberbausteine gibt? Gruß, Mario :)
Schaust du hier: http://www.mikrocontroller.net/articles/USB (und speziell unter "Via µC ansteuerbare USB-Controller") Ansonsten gibts ja notfalls auch noch schnittstellen Adapter oder erweiterungen für den PC.
Für die absolute "Frickel-Lösung": Nimm nen USB-Hub mit einzelnen LEDs pro Port. Die Leds lassen sich über einen standardisierten USB-Request einzeln ein- und ausschalten. High/Low Pegel lassen sich da natürlich recht einfach abnehmen, mit Optokoppler statt LED auch galvanisch getrennt. Leider ist das ganze nicht sonderlich schnell, so ~100ms gehen aber. Und unter Windows ist es evtl. etwas kompliziert, direkt Requests an den HUB zu schicken, unter Linux mit Libusb und etwas C oder Perl, Python recht simpel. /Ernst
Wow, auf sowas muss man erstmal kommen ;) Nuja, aber mal realistisch gesehen - das ist eigentlich nicht soooo die Lösung, die ich mir vorgestellt hab :> Gruß, Mario
Wie siehts mit USB-Seriell-Wandlern aus? Das läuft dann als virtueller Com-Port, dessen Ansteuerung wie gehabt funktioniert.
Man nehme z.B. ein CP2103 und hänge an die GPIO-Ports von diesem ein Schieberegister. Über die USB-Lib von Silabs lassen sich die GPIO (leider nur 4) schalten und somit per schieberegister o.ä. soviele ports wie man will hinten dran hängen. Grüße
Thomas > Wie siehts mit USB-Seriell-Wandlern aus? Das läuft dann als virtueller > Com-Port, dessen Ansteuerung wie gehabt funktioniert. Hallo Thomas, genau den Punkt - nämlich usb2[parallel/seriell] - hab ich mir schon tagelang durch den Kopf gehen lassen. Herausgekommen dabei ist, dass das doch irgendwie zu konventionell ist?! Also letztendlich ist USB doch entwickelt worden, um den Menschen das Leben zu erleichtern. Warum also die Neuerung in ein derbe altes Format zurückschrauben, und so dennoch die alte Technologie zu verwenden. Versteht mich bitte nicht falsch, genau das wäre meine Richtung, auf die ich hinausarbeiten würde - aber ich möchte mich doch gerne auf neue Technologien stützen.. Ich denke, dazu sind sie da? Das ist - ich hoffe ich treff ein passendes Beispiel - wie, als wenn die Weltzeit fix um 1 Stunde vorgestellt wird, und wir nun alle BIOS'e (Mehrzahl von BIOS? G) auf time()+3600 flashen, anstatt die Uhr einfach umzustellen :) Ich glaub ich versteh die Welt nicht mehr. :( Gruß, Manu
Dann musst du einen µC mit integriertem USB nehmen wenn USB-2-Uart zu konventionell ist. Gibt ja genug ;)
Mario Bunt wrote: > genau den Punkt - nämlich usb2[parallel/seriell] - hab ich mir schon > tagelang durch den Kopf gehen lassen. Herausgekommen dabei ist, dass das > doch irgendwie zu konventionell ist?! > > Also letztendlich ist USB doch entwickelt worden, um den Menschen das > Leben zu erleichtern. Warum also die Neuerung in ein derbe altes > Format zurückschrauben, und so dennoch die alte Technologie zu > verwenden. Versteht mich bitte nicht falsch, genau das wäre meine > Richtung, auf die ich hinausarbeiten würde - aber ich möchte mich doch > gerne auf neue Technologien stützen.. Ich denke, dazu sind sie da? Alles schön und gut, aber USB ist nun mal um Größenordnungen komplizierter als eine serielle Schnittstelle. Und wenn man dann als Hobbyelektroniker die Datenverbindung nicht als Hauptsache ansieht, mit der man sich dann eingehend beschäftigt, sondern als Nebensache, die man eben braucht, um die Daten zur Schaltung zu bekommen, dann ist ein FT232 o.ä. einfach die simpelste Lösung. Die serielle Schnittstelle ist wirklich sehr alt und sehr simpel. Aber dadurch ist sie auch so weit verbreitet. Fast jeder aktuelle Mikrocontroller ab einer gewissen Größe hat ein UART eingebaut, und einen Software-Emulation ist ansonsten auch recht einfach. Und die Datenrate reicht für ein paar Steuerbits locker aus. Und wer weiß, vielleicht entwickelt sich USb ja auch langsam zum Standard für µCs... (und in 20 Jahren wird dann von der nächsten Schnittstellengeneration auf das alte, aber einfachere USB umgewandelt ;) ...) Also: wenn du Zeit und Lust dazu hast, beschäftige dich ruhig mit USB! Willst du bloß schnell mal eine Verbindung zum PC herstellen, nimm nen fertigen Wandler...
Ja, USB wurde erdacht um die Bueroinstallation zu vereinfachen. Trotzdem ist USB nicht immer zwanglaeufig eine gute Alternative zu Seriell. Wenn ich USB gegenueber Seriell stelle, so ist USB sicher zu bevorzugen wenn die Datenrate genuegend hoch sein muss. zB zum Anschluss eines Scopes. Die 5m Kabel sind moeglicherweise limitierend. Auf der PC Seite sind fuer USB Treiber noetig. Die hat man fuer einen PC. Zumindest heute. Und morgen ? Hat auch noch jemand einen Spektrumanalyzer mit 3.5" Floppy rumstehen ? Man beachte dass eine USB Ansteuerung eines Geraetes in der Regel nicht offengelegt ist, dh man kann in 10 Jahren nicht schnell einen PIC oder AVR programmieren um das USB Geraet anzusprechen. Daher sollte man die seriellen Verbindungen nicht zu schnell verdammen oder wegwuenschen.
Für die höheren Funktionen eines Gerätes brauchst du immer das Wissen, wie diese anzusteuern sind - ob die Kommunikation auf niederer Ebene nun über USB oder serial port oder was auch immer läuft.
Hallo, schau mal unter http://www.obdev.at/products/avrusb/powerswitch-de.html nach..USB Powerswitch.. Gruß, Otti234
Wie wärs mit dem USB-Modul 2.6 von http://www.brain-technology.de Habe allerdings keine Erfahrung damit, war lediglich ein Artikel im Oktoberheft der Elektronik.
Sorry, der Link war leider falsch. So ists besser : http://www.braintechnology.de/braintechnology/usb_fastinterface26.html
Moin, USB-Seriell-Konverter sind aber auch nicht der Weisheit letzter Schluss! Mein Bruder versuchte gestern über ein solches Gerät eine Logo! zu programmieren und bekam einfach keine Verbindung zustande. Ein Probelauf mit meinem Laptop klappte problemlos, was an meinem antiquarischen Laptop MIT serieller Schnittstelle lag. Stefan
Die einfachste Lösung für jemand wie dich mit Erfahrung bei serieller Schnittstelle usw. ist sicher ein UART_to_USB Chip. Meine Empfehlung: FTDI FT232R. Den gibt es bei Reichelt zu bestellen. Funktioniert absolut problemlos. Eine wirklich sehr gute Alternative die ich einfach mal generell hier erwähnen möchte: SiLabs CP2102. Beitrag "CP2102 (USB->RS232-Bridge)" Gruß Frank
Hallo Mario, schau Dir doch mal USBProg an: http://www.embedded-projects.net/usbprog Grüße aus Sachsen rema
Hallo :)
Aaaalso, meiner Meinung nach ist
> http://www.obdev.at/products/avrusb/powerswitch-de.html
definitiv genau das, was ich gesucht habe ;)
Ich werd mir nun erstmal ein paar Treiberbausteine auf Vorrat brennen -
super, danke.
Nicht nur, dass sogut wie keine Zusatzbeschaltung nötig ist, es kommt
auch direkt das raus, was vorne reingeht ;)
Um mich meiner Artikulationsweise vom ersten Post anzuschließen: das ist
1:1 genau das, was die Welt braucht.
Gruß,
Mario
Nervig finde ich persönlich noch, dass es kaum mehr Notebooks gibt, die noch eine RS232 und einen Centronics-Port haben. Die meisten halbwegs kaufbaren Teile haben nur USB und Ethernet, was ich ziemlich sch.eisse finde. Im Moment besitze ich noch ein hp nc6120 Notebook - mit RS232. Das ist aber schon ziemlich alt und fällt mir wohl bald mal auseinander. Die nächste Serie von hp, die gebaut wurde - die nc6320 - haben noch RS232. Die sind aber auch bereits abgekündigt. Nachher wird es keine Maschinen mehr mit RS232 geben. Ich frage mich, ob es dann auf der ganzen Welt noch irgendwo einen Hersteller von Notebooks mit RS232-Anschluss gibt? Ich brauche die Schnittstelle zum Programmieren von diversen Mikrocontrollerboards. Zudem soll's ein Notebook sein, damit ich meine Software auch unterwegs bei mir habe. Wisst ihr, ob es noch Hersteller von Notebooks mit RS232 gibt? am liebsten noch mit Centronics, das wäre absolut perfekt. Zahlbar sollte das ganze auch noch sein. Und USB-RS232-Wandler will ich nicht verwenden - das ist mir wirklich eine zu hemdsärmlige Lösung. Grüsse Tobias
Hallo, für Notebooks gibt es PCMIA-Steckkarten mit seriellen Schnittstellen. Damit habe ich aus AVRStudio über AVRISP programmieren können, mit einem USB-Seriell-Wandler ging das nicht. Gruß, Martin Cibulski
Wie schon erwaehnt wurde: der FT232 ist eine sehr gute Loesung, da recht einfach vom Mikrocontroller per USART ansteuerbar und theoretisch bis zur vollen Baudrate von 3MBit/s also doch schon ne Menge Holz. Ich geb zu der FT232 ist im Moment recht zickig bei mir aber ich stehe auch noch am Anfang damit, im Moment trennt er sich staendig ohne erklaerbaren Grund vom Bus nach einer Datenuebertragung... ein weiterer Nachteil ist wohl der hohe Preis von ca. 6EUR. Ausserdem sollte man mit SSOP-packages umgehen koennen, mit Lochraster und co is da nix ;) Greets, Michael
@Martin: Das wäre nicht schlecht so ne PCMCIA-Karte! ist das dann eine wirkliche, echte original RS-232-Schnittstelle? Mit USB/Seriell-Adapter habe ich äusserst schlechte Erfahrungen gemacht. Ausserdem dünkt mich, es ist eine etwas unprofessionelle Bastellösung, mit der ich einfach nicht glücklich bin - gibts nichts besseres? @Martin: Wie sieht es eigentlich mit dem Centronics-Port aus?
Bei PCMCIA isses ne echte Schnittstelle, bei den Nachfolgerformat Express-Card muss man vorsichtig sein: auf dem Anschluss der Express-Card liegt sowohl eine PCIe-Lane als auch ein USB2.0 Port. Der Hersteller kann es sich also einfach machen, und dir einen billigen USB->RS232 Converter im teuren Expresscard Gehäuse verkaufen.
Wo gibts denn solche Adapter? Sowas habe ich noch nirgends gesehen.
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.