FTDI oder CP2102?

Gast #1652491
Lesenswert?

Hallo Leute,

ich möchte jetzt mit serieller <-> USB Schnittstelle experimentieren;
nachdem ich mich durch die Informationen durchgebissen habe, habe ich 
folgenden Eindruck:

- CP2102 sind kompakter weil sie kaum externe Komponente brauchen, also 
gut für Miniaturisierung. Es dürfte aber Probleme mit Treiber und 
Zuverlässigkeit geben?

- FTDI brauchen zwar externe Komponente, sind aber Idiotensicherer und 
Installationsfreundlicher. Daher für die ersten Versuche geiegneter?

Habt Ihr auch einen solchen Eindruck?

Danke voraus für Eure Meinungen

Grüße

Michal
Gast #1652496
Lesenswert?

du benötigst beim FTDI RL ! doch auch nur noch einen Kondensator und 
fertig....

außerdem gibts den überall zu kaufen...
und löten lässen sich der auch wesentlich besser als ein QFN28 Gehäuse 
wen falls du deine LP nicht im Reflow Ofen lötest.

und beim FTDI findest du ewig viel in foren.
#1652715
Lesenswert?

Basti schrieb:
> Der FTDI FT232RL hat ein SSOP28 Gehäuse (3,50€ bei Reichelt). Nur der
> FT232RQ ist im QFN28.

Eben, das spricht eindeutig für den CP2102.

> Den CP2102 hab ich bei Reichelt auf die schnelle gar nicht gefunden.

Man kann Bauteile auch woanders beziehen. :-)
Der CP2102 ist z.B. bei Farnell auch nicht teuerer.

Davon ab: Wenn ich mich recht entsinne, wackelt die /PWREN-Leitung 
während der Enumeration heftig hin und her. Das ist nicht gerade das, 
was man gebrauchen kann...
#1652785
Lesenswert?

Helmut S. schrieb:
> Wenn du den Baustein auf den Rücken legst vielleicht schon, aber in der
> gedachten Einbaulage ist es sehr schwierig das große Pad under dem
> Gehäuse anzulöten. Zudem sind bei vielen QFN-Gehäusen die Anschluss-Pins
> fast gar nicht mehr seitlich kontaktierbar (Pads nur unten).

Das geht auch in der gedachten Einbaulage, jedenfalls geht das bei uns. 
Aber wenn Du das PAD unter dem Baustein nicht anschliessen willst, dann 
lasse es eben sein. Im Falle des CP210x ist das optional.
#1652832
Lesenswert?

Z.Z. schrieb:
> du benötigst beim FTDI RL ! doch auch nur noch einen Kondensator und
> fertig....
>
> außerdem gibts den überall zu kaufen...
> und löten lässen sich der auch wesentlich besser als ein QFN28 Gehäuse
> wen falls du deine LP nicht im Reflow Ofen lötest.
>
> und beim FTDI findest du ewig viel in foren.

Nunja, ich habe gerade mein erste Schaltung mit dem FT232 RL gemacht:

2x 100nf
1x 4,7µf
1x 10nf

Sind ja doch 4 Kondensatoren ;)
#1652843
Lesenswert?

René König schrieb:
> Das verstehe ich nicht, der CP2102 funktioniert doch bis 1 Mbps?!?

Das steht im Datenblatt - ich weiß. Ich hatte aber mal Probleme als ich 
schnellere Übertragungsraten wollte. Leider weiß ich nicht mehr was 
genau das Problem war und ab welcher Rate es auftauchte, aber ich weiß 
noch, dass genau dasselbe Unterfangen mit dem FTDI problemlos geklappt 
hat.
Gast #1652880
Lesenswert?

Hallo Leute,

also hier ist der Fragesteller wieder.

Danke für Eure fachliche Diskussion...

Ich werde nichts Löten, ich will es schon auf einer Platine mit 
ausgeführten Pins im DIP-Raster auf einer und USB-Buchse auf der anderen 
Seite haben.

Fortgeschrittene Funktionen sind auch noch auch kein Thema bei mir, 
sondern nur eine UART-kommunikation mit dem µC.

Deshalb wollte ich eigentlich nur den Eindruck kriegen welcher 
idiotensicherer und installationsfreundlicher für die ersten Versuche 
ist...

Grüße

Michal
Persönliche Seite #1652885
Lesenswert?

Rene K. schrieb:
> Nunja, ich habe gerade mein erste Schaltung mit dem FT232 RL gemacht:
>
> 2x 100nf
> 1x 4,7µf
> 1x 10nf
>
> Sind ja doch 4 Kondensatoren ;)

Das sind aber Abblockkondensatoren, die bei jedem Chip notwendig sind. 
Je mehr Kondensatoren an der Stelle desto besser (Desto stabiler die 
Versorgungsspannung). Gerade wenn man direkt auf die USB Stromversorgung 
geht.
Persönliche Seite #1652915
Lesenswert?

Für 99% der anwendungen reicht der CP2102, dazu ist ncoh etwas günstiger 
als FTDI.

Die meisten "hier" benutzen zwar FTDI wissen es aber nciht richtig warum 
(abgesehen von gehäusewahl).

Da du nciht löten möchtest sondern nur benutzen stellt sich nur die 
frage welches OS (wobei eigentlich beim 2.6 kernel kein problem mehr 
beim beiden, windows sowieso schmerzfrei).

Schnuckelige kleine CP210x adapter (auf 6pin 2.54mm) gibts beim ebay für 
9eur (incl. versand) oder beim jeden deutschen shop für das zweifache+



EDIT: MCP2200 ? mal testen, kannte ich nicht.
#1654719
Lesenswert?

Ihr habt echt einen an der Klatsche :D

Also den FT232RL zu verlöten grenzt ja nahezu schon an "Vergewaltigung" 
ohne Reflow Offen.

Aber funktioniert tadellos das Teil! Hab mir damit einen Logikanalyzer 
aufgebaut. Das rote und grüne Kabel kommt daher weil ich im Schaltplan 
TX<>TX und RX<>RX und nicht TX<>RX und RX<>TX verschaltet habe, somit 
mußte ich improvisieren.
Angehängte Dateien:
(Firma: TravelRec.) Persönliche Seite #1942496
Lesenswert?

Rene K. schrieb:
> Also den FT232RL zu verlöten grenzt ja nahezu schon an "Vergewaltigung"

Unsinn. Mit genügend Flussmittel(-Gel) und spitzem Kolben geht das ohne 
Probleme. Eventuelle Brücken zieht man mit Entlötlitze weg. Hab schon 
mindestens 50 davon auf selbstgeätzen Platinen ohne Lötstopp-Lack 
aufgelötet. Mit Lötstopp ist es noch einfacher. Einfach mal eine Runde 
üben!
Gast #1942808
Lesenswert?

Knut Ballhause schrieb:
> Rene K. schrieb:
>> Also den FT232RL zu verlöten grenzt ja nahezu schon an "Vergewaltigung"
>
> Unsinn. Mit genügend Flussmittel(-Gel) und spitzem Kolben geht das ohne
> Probleme. Eventuelle Brücken zieht man mit Entlötlitze weg. Hab schon
> mindestens 50 davon auf selbstgeätzen Platinen ohne Lötstopp-Lack
> aufgelötet. Mit Lötstopp ist es noch einfacher. Einfach mal eine Runde
> üben!


Da kann ich nur zu stimmen.
Man braucht gute Augen oder ein Mikroskop bzw Lupe und eine ruhige Hand 
sowie eine passende Lötspitze und natürlich Übung, dann kann so was 
eigentlich auch jeder Grobmotoriger
Gast #1942812
Lesenswert?

Was wollt Ihr immer mit euren Spitzen?

Für so arbeiten nimmt man nen 2,5mm Meisel oder noch besser eine 
Hohlkehle.
Dann kommt da ordentlich Flussmittel drauf, ein Pin fixieren und dann 
mit einem Rutsch über alle 14 Pins drüber.

Danach hat dann jeder Pin genau so viel Lot wie er braucht und es gibt 
im seltensten Fall Brücken. Funktioniert selbst ohne Stopplack auf 
selbst geätzten Platinen.

Greetz & GN8
Gast #1942815
Lesenswert?

ich behaupte mal bei vielen Bauteilen, wie zum Beispiel bei manchen 
Steckern kannst diese Technik vergessen. Da machst du dir mehr arbeit um 
die Lötbrücken wieder rauszukriegen, die sich dann der Stelle bilden wo 
man die Brücke nicht sieht, aber wenn man nachmist eine Brücke findet 
und des bei über hundert Beinchen, gute Nacht. Dann lieber jedes 
Beinchen einzel löten aber dafür auf jeden Fall wissen das es auch 
passt.
Und es gibt auch Fälle, wo man nicht alles mit Flussmittel voll 
schmieren darf,aber ein Hoch auf Flußmittel und Bleib

Aber wenn deine Technik bis jetzt gut funktioniert, dann kann man nur 
dazu sagen: Viele Wege führen zum Ziel:}
Gast #1942879
Lesenswert?

Also ich hatte mit den FTDI Treibern mehr Probleme als mit denen von 
Silabs. Lag aber einfach daran das zB Altera bei seinem USB-Blaster auch 
einen FTDI drin hat und ich gleichzeitig noch nen anderen FTDI betreiben 
wollte. Irgendwie kamen sich die 2 Geräte dann ins gehege, da Altera zu 
diesem Zeitpunkt keinen angepassten Treiber geliefert hat, sondern den 
Standard von FTDI. Ging irgendwann, musste aber einige Stunden fummeln 
bis es funktioniert hat.

Das Problem dürfte glaube ich behoben sein, da Altera nun endlich nen 
gescheiten Treiber rausgebracht hat.

Kann mir aber vorstellen das dieses Problem auch in anderen 
Konstelationen auftritt, da der FTDI in sehr vielen Geräten verbaut ist.
Gast #2202331
Lesenswert?

Hey Leute,

hatte das Problem bei dem Teil, dass windows das Gerät nicht erkennt.

Wir haben dabei nur die D+ und D- Leitungen, so wie die benötigte 
Stromversorgung angeschlossen.

Einer eine Idee? Lötfehler? Oder machen wir allgemein was falsch?

Grüße,
Roman
Gast #2202362
Lesenswert?

Roman schrieb:
> Hey Leute,
>
> hatte das Problem bei dem Teil, dass windows das Gerät nicht erkennt.
>
> Wir haben dabei nur die D+ und D- Leitungen, so wie die benötigte
> Stromversorgung angeschlossen.
>
> Einer eine Idee? Lötfehler? Oder machen wir allgemein was falsch?
>
> Grüße,
> Roman

Das ist mal wieder eine Aussage!!!
Was für ein Teil? CP210X oder FTDI?
Was für Windows?
Wird er auch nicht im Gerätemanager angezeigt?
Wie sieht die Schaltung aus (Schaltplan/Board)?
Foto von der aufgebauten Platine?

Grüße
(Firma: DHBW Ravensburg) #2204944
Lesenswert?

Hallo Leute,

sorry, war im Stress als ich es schrieb.

Haben es folgendermaßen angeschlossen, wie auf dem Bild zu sehen.

Dabei ist der anschluss 2. von links doch hoffentlich D+ (auf dem USB 
Stecker). Dann sind se nicht vertauscht.

Ich hoffe, ihr könnt mir weiterhelfen.

Habe soeben noch einen CP2102 mit kupferdrähten verlötet und 
eingesteckt, und wird ebenso nicht erkannt.

Also windows 7 verweigert die installation von CP-treibern, die 
aktuellen seien schon installiert.

Software, mit der man lauter Einstellungen auf dem chip vornehmen kann, 
die funktioniert auch nicht :-(

Bin für die Hilfe sehr dankbar Leute.

Viele Grüße,
Roman
Angehängte Dateien:
(Firma: DHBW Ravensburg) #2206275
Lesenswert?

NEEEEIIIINNNNN

ES WAR TATSÄCHLICH DER FEHLER

Das gibt es doch nicht, so ewig und 3 Tage rumgemacht und das war der 
falsche Footprint.

EAGLE ist echt Mist an der Stelle, lauter falsche Footprints. Kannst 
grad eh alle selbst machen, wenn du es bei jedem Teil so wieso ändern 
musst.

Man.

Grüße,
Roman
(Firma: DHBW Ravensburg) #2215507
Lesenswert?

hallo Leute,

irgendwie sind wir wohl zu blöd um den UART zu programmieren.

Na jedenfalls haben wir mit der Boud-rate alles mögliche durchgerechnet. 
Im tutorial von AVR steht eine Formel drin, nach der kommt eine 8 in der 
Formel raus.

Boudrate: 115200, f(osz) = 16MHz.

Die selben Einstellungen machen wir auch im Windows-Geräte-Manager, da 
wir die virtuellen Com-Treiber vom CP2102 verwenden.

Statt einem "a" bekommen wir im Hterm xx oder C oder manchmal sogar 3 
Zeichen...

Ich werd da einfach nicht richtig schlau aus den ganzen Tutorial. Hat 
jemand was richtig vernünftiges als Informationsquelle?

Vielen Dank,
Roman
Gast #2216220
Lesenswert?

Der FTDI hat eine separate I(O Spannungsanpassung. Der CP2102 ist "nur" 
für 3.3V geeignet. In 5V Systemen ist somit der FTDI zu bevorzugen. Mit 
Treibern unter Windows gabs bei beiden bisher keine Probleme ( war 
jedoch nicht Windows 7 )
Gast #2216311
Lesenswert?

Huhu Leute,

heute abend gabs das 1. Erfolgserlebnis. Wir konnten an den PC die Daten 
senden.

Nur hatten wir eine Sache, die nicht stimmt.

Wir haben einen Port toggeln lassen, und dabei eine Frequenz von 8 Mhz 
festgestellt, statt 16 Mhz, wie Quatz sie hat.
Dann haben wir die ganze Zeit versucht Daten zu senden aber im Hterm kam 
die Daten immer seltsam verschoben an.

Irgendwann haben wir mit f(osz)=8 Mhz gerechnet, Boudrate von 9600 und 
dann mit der Formel: (f(osz)/2 /16*boudrate ) - 1 gerechnet. Es kam 25 
raus.

So, dann kamen immernoch Mülldaten an, bis wir auf der PC Seite die 
Boudrate von 9600 auf 4800 runter regelten. Nun geht es, aber es ergibt 
irgendwie keinen Sinn.

Nun haben wir 2 kleine Fragen: Wie stellen den PIC24FJ128 auf die 16 Mhz 
Freuquenz ein?

2. Welche Formel stimmt den beim PIC zu Berechnung des richtigen UART 
Wertes...?

Grüße,
Roman
Gast #2216647
Lesenswert?

HÄ,

Wir haben einen Port toggeln lassen, und dabei eine Frequenz von 8 Mhz
festgestellt, statt 16 Mhz, wie Quatz sie hat.

Wie sollen wir das feststellen, wenn wir keinen Scope verwenden?!

Na klaro.

Wir haben den Pin mit 4 Mhz toggeln sehen, also zwischen den Flanken.

Nur ist die Frage an der Stelle, wie genau C das auf dem Kontroller 
umsetzt, und wie viele Takte er braucht, um den Pin von 0 auf 1 und von 
1 auf 0 zu setzen.

Wir haben in einer while(1) Schleife dann 20 mal hintereiander den Pin 
abwechselnd auf 1 und 0 gesetzt gehabt.

Also wenn er 2 Takte braucht um von 0 auf 1 und 2 takte um von 1 auf 0 
den Pin zu setzen, dann lauft der Pic wohl mit 16 Mhz.

Dann stimmt die Rechnung für den UART aber garnicht mehr. Denn bei 16 
Mhz, und Boudrate von 9600 müsste 51 rauskommen. Die Formel von 
Microchip lautet ja: [(f(osz) *1/2 )/ (16*Boudrate) ] -1.

Wir haben dann rein zufällig die Baudrate eben auf 4800 gestellt und es 
funktionierte. Setzen wir das alles in die Formel ein und berechnen den 
f(osz) rückwärts, so kommt eine Frequenz von 4 Mhz raus, mit der der Pic 
oszillieren soll. Das ergibt aber keinen Sinn, denn er kann ja nicht mit 
4Mhz schwingen und dabei einen Pin mit der selben Frequenz wackeln. 
oder?!

Grüße,
Roman
Gast #2216719
Lesenswert?

Ich hab von den PICs nicht die geringste Ahnung aber die Google Suche 
nach PIC und baudrate liefert unzählige Treffer mit jeweils zwei 
Formeln, je eine für gesetztes bzw. zurückgesetztes BRGH-Bit.
Das Datenblatt des uC enthält die beiden Formeln ebenfalls.
Es kann doch nicht so schwer sein selbst mal zu suchen.
Gast #2216805
Lesenswert?

So, wir haben es rausbekommen.

Wenn der UART im Low-Speed Modus arbeitet (BRGH = 0), dann kommt bei der 
Boud-rate von 115200 ein Teiler von 3,34 (mit 16 Mhz f(osz)). Dessen 
Abweichung ist dann zu groß, 8,5%.

Wir haben nun den High-Speed-Modus aktiviert (BRGH=1) und Teiler von 
16,361 auf 16 gerundet eingegeben. Die Abweichung liegt bei 2,14%, aber 
die Übertragung funktioniert einwandfrei.

Danke euch,
Roman
#2216829
Lesenswert?

Roman schrieb:
> So, wir haben es rausbekommen.
>
> Wenn der UART im Low-Speed Modus arbeitet (BRGH = 0), dann kommt bei der
> Boud-rate von 115200 ein Teiler von 3,34 (mit 16 Mhz f(osz)). Dessen
> Abweichung ist dann zu groß, 8,5%.
>
> Wir haben nun den High-Speed-Modus aktiviert (BRGH=1) und Teiler von
> 16,361 auf 16 gerundet eingegeben. Die Abweichung liegt bei 2,14%, aber
> die Übertragung funktioniert einwandfrei.

Für so etwas gibts andere Quarzfrequenzen. Der PIC24 kann bis zu 32 MHz 
im HS-Modus. Ihr könntet z.B. 18.432 MHz verwenden.

fchk
Gast #2216884
Lesenswert?

hallo,

nochmal zu cp210x vs. ftdi:

also ich hab stand alone mit beiden keine Probleme und es ist meiner 
ansicht nach geschmack sache welchen man verwendet. (bzw. spezielle 
Anwendung, mehre UARTS, mehr GPIO, baudrate, etc.)

aber bei beiden Chips ist mir aufgefallen wenn man mehrer parallel 
betreibt gibts unter Windows (Win XP 32bit, also auch Win7 64bit) 
proboleme. ab und an schmiert eine UART ab und lässt sich nur mit viel 
überzeugungskraft wieder überreden das sie wieder erkannt wird und 
ordnungsgemäß läuft. würd da mal aus dem bauch sasgen das hier FTDI 
etwas freundlicher ist da muss man nich so lange nett sein bis der chip 
wieder tut was er soll.


das ist mal meine erfahrung.
Persönliche Seite #2217010
Lesenswert?

Man hängt das Scope an die serielle Leitung und sucht die kürzeste 
Bitdauer im Datenstrom (den man möglichst in einer Loop dauernd erzeugen 
läßt). Das geht selbst mit dem Uralt Analogscope für 30 Euro. Schaut man 
sich ein komplettes ASCII-Zeichen an (also 10 Bit meist), sieht man 
Start und Stop Bit sowie die Polarität. Damit ist dann alles vorgegeben!
#2217124
Lesenswert?

Roman schrieb:
> Wenn der UART im Low-Speed Modus arbeitet (BRGH = 0), dann kommt bei der
> Boud-rate von 115200 ein Teiler von 3,34 (mit 16 Mhz f(osz)). Dessen
> Abweichung ist dann zu groß, 8,5%.

Das Ding heißt übrigens Baudrate. Der Name kommt von Jean-Maurice-Émile 
Baudot, der 1874 den Baudot-Code erfand. 
http://de.wikipedia.org/wiki/Baudrate

Um den Fehler klein zu halten, gibt es sog. Baudratenquarze.
http://www.hanneslux.de/avr/tipps/baudratenquarz.html

Im Manual für ATmega48/88/168 ist auf Seite 194 eine Tabelle mit den 
USART-Einstellungen für die verschiednen Baudraten und die Abweichungen, 
die entstehen, wenn man einen bestimmte Quarz verwendet.
Gast #2217217
Lesenswert?

Huhu,

danke sehr für die Info.

Ich wollte der Nachwelt auch noch was kurz mitteilen.

Wir hatten alle 4 UART PINS aktiviert gehabt, also RX, TX und CTS und 
RTS (UEN bei 10). Dann, rein zufälig den Port D als Ausgang geschaltet, 
weil wir einen PIN toggeln wollten.

Jetzt habe ich grad den Code entrümpelt und diese Freigabe gelöscht, und 
dabei festgestellt, dass nichts mehr geht.

Why???

Weil die CTS Leitung bei uns rein zufällig auf dem PortD hängt, und 
unbedingt als Ausgang geschaltet werden muss, wenn man das Handshake 
Verfahren benutzen will.

Andernfalls passiert einfach nichts.

Da wäre ich nie drauf gekommen, hätte ich es so programmieren wollen. Im 
datenblatt fand ich grad die Info auch nicht.

Aber nun geht fast schon alles.

Wir bleiben bei dem Quarts von 16 Mhz. Wir haben zwar spezielle Quarze 
ausgerechnet, aber es geht auch mit dem kleinen Fehler recht 
zuverlässig. Daher lassen wir es so wie es ist.

Grüße,
Roman
Persönliche Seite #2217266
Lesenswert?

Die Rechnung ist einfach: Das Bit wird in seiner Mitte gesampelt. Die 
fallende Flanke des Startbits lädt einen Zähler auf die Hälfte des 
Maximums vor. Der ist meist 3 oder 4 Bit breit. Läuft er über, wird 
gesampelt! Man darf also am LETZTEN Bit des Bytes 50% der Bitdauer nicht 
überschreiten, sonst sampelt man ein anderes Bit! Ist das Byte inkl. 
Start und Stopbit 10 Bit lang, darf der Fehler also nicht 5% 
überschreiten! Wenn Sender und Empfänger gleiche Systeme sind, mußt du 
die 5% nochmals durch zwei teilen. Das ist dann der maximale Fehler den 
dein Quarz haben darf! Also 2,5% !
Jetzt so ganz grob dargestellt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren