Forum: Mikrocontroller und Digitale Elektronik USB->Controller, möglich???


von Jürgen (Gast)


Lesenswert?

Hallo,

Vielleicht kann mir jemand einige Ansätze zu folgender Frage geben?

Gibt es einen Controller, welchen ich über USB programmieren kann und
welcher dann eine ser. Schnittstelle realisiert. (vielleicht dieser
ft232 o.ä.) Er sollte möglichst einen eingebauten Oszil. haben und sehr
flexibel in der einzustellenden Baudrate sein (kleiner 38k4)

Über jegliche Tips und Hinweise würde ich mich sehr freuen.

Alles Gute von Jürgen....

von blauer hund (Gast)


Lesenswert?

Hallo!

Der FT232BM (bei Reichelt für 5-6 Euro) kann das---

Den kann man als virtuellen Com Port wie eine Standard RS232 benutzen.

von Jürgen (Gast)


Lesenswert?

Danke Blauer Hund...

ist dann für die Nutzung des FT232BM ein spezieller Treiber nötig?
Wenn ja, "fesselt" mich dieser Treiber an Standartbaudraten oder kann
ich den FT232BM auch mit außergewöhnlichen Baudraten wie z.B. 16k8
betreiben, z.B. ??

Alles Gute von Jürgen....

von blauer hund (Gast)


Lesenswert?

hi,

den Treiber bekommst Du bei http://www.ftdi.com/. Es gibt zwei, der
den
Com Port emuliert heißt VCP. Die Baudraten kann man wie bei rs232
setzen, ich denke beliebig, habe ich allerdings noch nicht probiert.
Sonst mal in Datenblatt schaun, da gibts auch die Schaltung.

von blauer hund (Gast)


Lesenswert?

tschuldige,

nich ganz der richtige link, der is besser:

www.ftdichip.com/

von Rufus T. Firefly (Gast)


Lesenswert?

www.ftdi.com ist ein Blumenversandhändler oder ähnliches.
Besser ist www.ftdichip.com, allerdings scheinen die momentan nicht zu
erreichen zu sein (Probleme beim DNS?).


Die Standardbaudraten werden weniger vom Treiber als vom
schnittstelleneigenen Baudratengenerator vorgegeben.

Mit den PC-eigenen Onboard-Schnittstellen (die in Form zweier 16550 in
irgendeinem der zum Chipsatz gehörenden Käfer versteckt sind), sind nur
Baudraten möglich, die durch ganzzahliges Teilen von 115200 erzeugt
werden können.

Da der FT232 einen anders aufgebauten Baudratengenerator besitzt, muss
man sich dessen Spezifikation näher ansehen. Immerhin lässt der
Baudratengenerator Taktraten von bis zu 3 MBit/sec zu, also scheint der
Baudratenreferenztakt ausreichend hoch zu sein, so daß ich eine
realistische Chance sehe.

Eine Alternative bestünde in einem selbst gebauten USB-Seriell-Adapter.
Da gibt es einerseits die beliebte Igor-Lösung, die ohne spezielle
USB-Hardware auskommt, andererseits kann man so etwas auch mit einem
AN2131 oder ähnlichem implementieren.
Allerdings ist bei solchen Lösungen die Treiberseite i.d.R. ungeklärt;
Igor liefert einen nur mit speziellen DLLs ansprechbaren Treiber, wie
das bei anderen Controllern aussieht, entzieht sich momentan meiner
Kenntnis.

Bei der Igor-Lösung wird es auch nicht allzuviel Spielraum bei der
Baudratenerzeugung geben, da der AVR hier mit einem festen Takt von 12
MHz betrieben werden muss.

von René König (Gast)


Lesenswert?

Schau Dir ruhig auch mal den CP2102 von Silicon Laboratories an. Der
hat, wie gefordert, einen vollständig eingebauten Oscillator (nicht
einmal ein Quarz mußt Du anschliessen) und fesselt Dich nicht an
irgendwelche Baudraten, wie Du AN205 entnehmen kannst:
http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an205.pdf

von Jürgen (Gast)


Lesenswert?

Hallo,
vielen Dank für die hilfreichen Infos.
Ich habe inzwischen den Link www.ftdichip.com erreicht und mir die
Sachen mal runtergeladen.

@ Rufus T. Firefly
Was ist unter Igor-Lösung zu verstehen?
Ich habe auf der Seite
http://www.unitronic.de/ftdi/problembehebung.htm#61
eine Tabelle gefunden in welcher die möglichen Baudraten erklärt sind.
Nun müsste ich nur noch wissen wie ich diesen Divisor im ft232
einstellen kann.
Nützt mir da trotzdem der VCP Treiber etwas und kann ich da relativ
einfach diesen Divisor ändern oder muß man da speziell etwas
programmieren damit zwischen PC über den FT232 ein Datenaustausch
stattfinden kann ?
Zum Thema ganzzahlige Vielfache von 115200, sind das ganzzahlige Werte
welche ich mit einer ganzen Zahl multiplizieren und es kommt 115200
raus (z.B. 14400 * 8 = 115200) oder geht auch 115200 / 7 = 16457,14...
??? Das würde mir schon sehr helfen wenn ich eine Baudrate von ca. 16k5
einstellen könnte !!!

Vielen Dank nochmals für die Hinweise und Infos....

mfg Jürgen

von Jürgen (Gast)


Lesenswert?

Hallo auch Rene,

vielen Dank auch für Deinen Vorschlag, habe mir die Seite mal angesehen
und mir auch das Datenblatt gezogen...
allerdings vom cp2101, der scheint sehr ähnlich zu sein...
Sieht nicht schlecht aus...
Kennst Du auch ne Bezugsquelle für Privat ?

Vielen Dank für die Infos von Jürgen....

von Thorsten (Gast)


Lesenswert?

Bezugsquelle für Privat ist Digikey (habe die dort selbst bestellen
lassen), neuerdings werden die auch bei eBay angeboten. Eine weitere
Quelle wäre
http://www.srt-versand.de/shopdh/catalog/product_info.php?products_id=3276&ad=fuxxer

Der Baustein ist in der Tat ziemlich cool, nur das Gehäuse ist extrem
sch..., MLP halt mit Pinabstand 0.5mm. Mir ist bis heute schleierhaft,
warum der Hersteller sich für so einen Müll entschieden hat, zumal 11
Pins unbelegt sind. Da hätte auch irgendein TSOP-Gehäuse gereicht, wäre
auch nicht größer gewesen.

Gruß
Thorsten

von Jürgen (Gast)


Lesenswert?

Was mich jetzt noch interessiert, AN205, da wird ein Programm
beschrieben mit welchem man die Parameter des cp2102 einstellen kann,
jedenfalls was die Baudrate betrifft, wo bekommt man das Programm her?
auf der Seite des Herstellers habe ich auch nichts finden können außer
der Beschreibung....

mfg Jürgen...

von René König (Gast)


Lesenswert?


von Jürgen (Gast)


Lesenswert?

Hallo,

Danke Rene für den Tip. Habs gefunden. Auf der Seite war ich vorhin
schon mal gewesen, habe nur AN205SW übersehen.

Na dann werde ich mir da wohl mal 1-3 Stück bestellen und mal einen
Test machen. Vielleicht klappt es dann...

Vielen Dank nochmals, mfg Jürgen....

von Rolf F. (Gast)


Lesenswert?

Mal eine Frage: Werden die genannten ICs unter Linux automatisch als
serielle Schnittstelle per Hotplug eingerichtet, so wie man es von den
USB-RS232-Adaptern her kennt?
Ich will nämlich nicht auf dem PC noch etwas installieren oder extra
einrichten oder gar extra einen Treiber schreiben.
Derzeit suche ich nämlich noch einen USB-IC, der nur die Umsetzung USB
<-> RxD und TxD macht, damit ich einem MSP430 vom PC über /dev/ttyUSBX
ansprechen kann. Über einen USB-RS232-Adapter funtioniert es schon,
aber ich will nun den Adapter +MAX232 durch einen USB-IC ersetzen.

von Matthias (Gast)


Lesenswert?

Hi

mit den Chips von FTDI funktionert das unter Linux einwandfrei.

Matthias

von Rolf F. (Gast)


Lesenswert?

Aha, nach einer google-Recherche hatte ich es vermutet und mir ist auch
gerade eingefallen, das ich im Kernel-log mal etwas von FTDI gelesen
habe.
Wie ist denn die Verwendung dieser FTDI-Chips, von denen ich einen ja
nur als USB-UART-Konverter brauche; muß man den Chip extra
programmieren oder macht er die Konvertierung ab Werk?
Auf der Hersteller-Seite steht ja was von Evaluation Kit und Code
Example, so wie für einen Mikrocontroller, der leer ausgeliefert wird
und den man selber flashen muß.

von Matthias (Gast)


Lesenswert?

Hi

funktionert ohne irgend eine Programmierung. Anstecken und läuft.
Allerdings hilft eine Seriennummer im EEPROM dem Chip immer wieder die
gleiche Schnittstelle zuzuweisen. Zumindest unter Windows. Wie das
unter Linux aussieht hab ich noch garnicht probiert.

Matthias

von Rolf F. (Gast)


Lesenswert?

Aha, na mir reicht es ohne Seriennummer, denn normalerweise hat man
nicht mehrere USB-Seriell-Adapter angeschlossen und selbst wenn sollte
sich die Reihenfolge selten ändern, so wie z. B. die Reihenfolge der
Netzwerkkarten, die sich mit 2.4er Kernel durch ein Kernel-Update
einige Male geändert hat.
Man kann ja im Notfall auch einfach mal alle in Frage kommenden
Schnittstellen (/dev/ttyUSBX) kurz abfragen und dafür eine passende
Ping-Antwort vom MSP430 programmieren.

Wo gibt's denn Schaltpläne, bei denen man sieht, wie man alle Pins
anschließen muß, wenn man einen 3,3 V -MC anschließt und kein EEPROM
verwendet?

von Matthias (Gast)


Lesenswert?


von Rolf F. (Gast)


Lesenswert?

Danke.
Der Fall ohne EEPROM steht aber nicht drinn, so daß ich mir noch
anderes von FTDI u. google zusammensuchen mußte.
Merkwürdig ist ja, daß der MC noch ein externes EEPROM braucht, obwohl
der doch sein eigenes FLASCH zum Speichern nutzen könnte. Bei den
MSP430 ist das üblich und leicht.

von Matthias (Gast)


Lesenswert?

Hi

im EEPROM stehen nur Konfigurationsinfos. Das wird nicht zwingend
benötigt. Wie die EEPROM-Pins dann zu beschalten sind steht im
Datenblatt.

Matthias

von Rolf F. (Gast)


Lesenswert?

Ok, dann werde ich mal statt Quarz +Kondensatoren einen Keramikresonator
mit integrierten Kondensatoren nehmen denn er schwingt rd. 10x schneller
an als ein Quarz.

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.