Forum: Mikrocontroller und Digitale Elektronik neue Chips von FTDI: FT230X, FT234XD


von bingo (Gast)


Lesenswert?

Habt Ihr schon Erfahrungen mit den neuen "kleinen" USB_2_UART-Chips von 
FTDI: FT230X, FT234XD ???

Die schienen die gleichen Treiber wie FT232, FT2232 etc zu haben, nur 
minimale Aussenbeschaltung und sehr klein (SSOP16, QFN16 und DFN12).

von Pit (Gast)


Lesenswert?

Es ist halt immer eine Design-Frage.

Wer gibt schon gerne 2-3 Euro extra aus?

Vor ein paar Jahren war das sicherlich eine gute Alternative zu 'echtem' 
USB. Aber heute?

Selbst Atmel hat es mittlerweile hinbekommen und bei Microchip und 1000 
anderen klappt das mit USB und guter Firmware sowieso schon lange.

von bingo (Gast)


Lesenswert?

Das war eine Antwort auf eine nicht gestellte Frage ...

von Pit (Gast)


Lesenswert?

Ok, die Frage will ich Dir nicht vorenthalten:

Es gibt tolle neue FTDI-Chips!
Aber warum eigentlich?

von Grendel (Gast)


Lesenswert?

Pit schrieb:
> Ok, die Frage will ich Dir nicht vorenthalten:
>
> Es gibt tolle neue FTDI-Chips!
> Aber warum eigentlich?

Kleiner? Günstiger? Besser?
;-)

von Pit (Gast)


Lesenswert?

>Kleiner? Günstiger? Besser?
>;-)
Womit wir wieder bei meiner ersten Antwort wären :)

von Fritz (Gast)


Lesenswert?

Pit schrieb:
> Es gibt tolle neue FTDI-Chips!
> Aber warum eigentlich?

Pit schrieb:
> Selbst Atmel hat es mittlerweile hinbekommen und bei Microchip und 1000
> anderen klappt das mit USB und guter Firmware sowieso schon lange.

Habs selbst mit dem ST32F4xx probiert und wirklich für mich 
nichtzufriedenstellend hinbekommen.

Mag sein, dass es dafür (möglicherweise kostenplichtige) befiedigende 
USB_Stacks gibt. Wenn man das mit den freien Resourcen hinbekommen will, 
ohne dass man den USB im Detail gut kennt, ist das keine leichte 
Aufgabe. Da waren einige Interrupts die die CPU belastet haben, weil 
auch noch in der ISR unnötige Abfrageschleifen waren. In Summe dauerte 
manche ISR (bei Ein-Ausstecken vom USB) sher lang. Wie weit mich das bei 
meiner Hauptapplication stört wollte ich lieber dann nicht ausprobieren.
Bei Verwendung eines FTDI-Chips hast du eine klar definierte 
Uart-Schnittstelle, Interruptbelastung ist gering und gut überschaubar.
Man kann sich auf die Hauptapplikation konzentieren.

Bei nicht wirklich großen Stückzahlen ist das auch billiger. Kannst die 
von FTDI vorgegebenen Seriennummern verwenden, bist mit den Treibern von 
FTDI für den PC auch auf der sicheren Seite.

von Pit (Gast)


Lesenswert?

Fritz schrieb:
> Habs selbst mit dem ST32F4xx probiert und wirklich für mich
> nichtzufriedenstellend hinbekommen.
Klar, einige Demos vom Hersteller sind da schon von Vorteil.

Fritz schrieb:
> Da waren einige Interrupts die die CPU belastet haben, weil
> auch noch in der ISR unnötige Abfrageschleifen waren.
Interrupts hast Du auch bei UART und ob die tatsächlicher weniger 
'belasten' lass ich mal offen.

Fritz schrieb:
> bist mit den Treibern von
> FTDI für den PC auch auf der sicheren Seite.
Das halte ich nur für bedingt richtig:
Beitrag "Problem FT2232H von FTDI"

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Pit schrieb:
> Fritz schrieb:
>> bist mit den Treibern von
>> FTDI für den PC auch auf der sicheren Seite.
> Das halte ich nur für bedingt richtig:
> Beitrag "Problem FT2232H von FTDI"

Treiberfehler gibts immermal.
Davon bleibt weder FTDI verschont noch der Treiber von den µCs mit 
integriertem USB.
Nächstes Gegenargument bitte.

QFN und DFN sind ja jetzt nicht grade Lötfreundlich, aber SSOP16 klingt 
gut.
Müsst man nurmal gucken wos den gibt und was er kostet.

Sehen innerlich alle nach nem FT232R aus nur mit weniger Handshake und 
CBUS (was man eh kaum braucht).

von Grendel (Gast)


Lesenswert?

@Pit:
Die FTDI Chips sind gut und die Treiber sind die stabilsten aller 
USB->UART Wandler. Ich hatte damit noch nie Probleme - und ich habe 
ein Produkt damit entwickelt (mehrere tausend in den letzten Jahren 
verkauft).
So gut wie nie gab es Probleme mit den FTDI Treibern die nicht 60cm vorm 
Bildschirm zu suchen waren ;-)

USB VID kaufen ist teuer und Treiber selbst pflegen auch (für alle 
Windows Versionen von 1998 bis 2013 und dasselbe für Linux und Mac und 
dann auch noch 32 und 64 Bit... nö danke)

von Christian S. (cschmidt)


Lesenswert?

Gerade über Ostern das erste mal einen FT230X mit 5V Atmel AVR 
verkuppelt. Funktioniert ohne Probleme, und war billiger als FT232. 
Leider etwas höherer Aufwand, zwei Widerstände + zwei Kondenstoren für 
den USB.

Gekauft bei digikey. Hinweis da ich auch etwas gebraucht habe um es zu 
verstehen: Es gibt die als Tape&Reel und als Rohr, bei kleinen Mengen 
sind die aus dem Rohr günstiger.

von Fritz (Gast)


Lesenswert?

Pit schrieb:
> Interrupts hast Du auch bei UART und ob die tatsächlicher weniger
> 'belasten' lass ich mal offen.

Üblicherweise habe ich da nur Receive und Transmit Interrupt, damit eine 
gepufferte Übertragung zu schreiben ist nicht schwer.
"Belastung" ist vielleicht der falsche Ausdruck, aber ich kann eine 
ziemich kurze Interruptzeit garantieren.
Bei USB ist das viel undurchschaubarer.
Schau mal bei USB wie vile ISR-Möglichkeiten da vorhanden sind.

Pit schrieb:
>> Habs selbst mit dem ST32F4xx probiert und wirklich für mich
>> nichtzufriedenstellend hinbekommen.
> Klar, einige Demos vom Hersteller sind da schon von Vorteil.

Nur bedingt, die Demo von ST ist eine standalone UART - USB bridge, 
klingt recht gut, aber ist es nicht eine vernünftige Schnittstelle zu uC 
Anwendersoftware ist darin nicht enthalten. Nur USB rein -> Seriell 
raus.

Martin Wende schrieb:
> Nächstes Gegenargument bitte.

Wie handelst Du die Hersteller, Seriennummer für dein Gerät?
Mit FTDI bekommst du das gratis mit.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Fritz schrieb:
> Martin Wende schrieb:
>> Nächstes Gegenargument bitte.
>
> Wie handelst Du die Hersteller, Seriennummer für dein Gerät?
> Mit FTDI bekommst du das gratis mit.

Da haste jetz was falsch mitbekommen, ging um den Link von Pit mit dem 
Treiberproblem des FT ICs.

von usuru (Gast)


Lesenswert?

> Leider etwas höherer Aufwand, zwei Widerstände + zwei Kondenstoren für
> den USB.

Das ist ja doof, da nehme ich doch lieber einen FT232RQ

von Fritz (Gast)


Lesenswert?

Martin Wende schrieb:
> Da haste jetz was falsch mitbekommen, ging um den Link von Pit mit dem
> Treiberproblem des FT ICs.

Treiberproble kann es überall geben, das stimmt schon.
Aber FTDI lebt von ihren USB-Chips und haben dadurch ureigenstes 
Interesse ihre Treiber aktuell und so fehlerfrei wie möglich zu halten.
Was man vom VCOM-Port driver von Windows nicht behaupten kann.

von Pit (Gast)


Lesenswert?

Erstmal vielen Dank für die Erweiterung meines Horizontes :)

Martin Wende schrieb:
> Nächstes Gegenargument bitte.

Die Treiber funktionieren aber auch nur solange man die VID/PID nicht 
ändert.

Martin Wende schrieb:
> Nächstes Gegenargument bitte.

Mangelnde Flexibilität: Bei 'echtem USB' kann ich mir die Schnittstelle 
bauen wie ich will - mit Keyboard/Maus-Funktion, Datenschnittstelle 
(Bulk) usw. Wenn ich HID nehme brauch ich nicht mal eine .inf-Datei.

Martin Wende schrieb:
> Nächstes Gegenargument bitte.

Und wie bereits erwähnt: Zusätzlicher IC mit Kosten.

Martin Wende schrieb:
> Nächstes Gegenargument bitte.

Und zusätzlichen Platz auf der Platine brauch ich auch noch.

Und das bring mich zum wiederholten Male zu dem Schluss:
Es ist eben Geschmacksache.

von Simon B. (nomis)


Lesenswert?

Christian Schmidt schrieb:
> Gerade über Ostern das erste mal einen FT230X mit 5V Atmel AVR
> verkuppelt. Funktioniert ohne Probleme, und war billiger als FT232.

Aber Achtung!

Die FT*X sind nicht für 5V-Logikpegel ausgelegt, die liegen nur bei 
3.3V.

Grüße,
        Simon

von Stone (Gast)


Lesenswert?

>True 3.3V CMOS drive output and TTL input.
>(operates down to 1V8 with external pull ups and is also 5V tolerant)
Das deute ich anders, erste Seite Datenblatt.


Gruß Matthias

von Simon B. (nomis)


Lesenswert?

Stone schrieb:
>>True 3.3V CMOS drive output and TTL input.
>>(operates down to 1V8 with external pull ups and is also 5V tolerant)
> Das deute ich anders, erste Seite Datenblatt.

5V Toleranz ist gut, allerdings eben nur eine Seite der Medaille. Die 
andere ist, ob die Gegenstelle 3.3V auch zuverlässig als High erkennt - 
und das ist mit den typischen 0.7*VCC bei 5V nicht mehr gegeben. Ok, die 
AVRs haben auch schonmal 0.6*VCC, was rechnerisch geht, aber auch schon 
halt arg an der Grenze schrappt.

Ich finde die FT*X spannend, keine Frage. Aber in 5V-Systemen würde ich 
sie nicht ohne zusätzliche Maßnahmen einbauen.

Grüße,
        Simon

von Andreas (Gast)


Lesenswert?

>in 5V-Systemen ... zusätzliche Maßnahmen

Hast du dazu einen guten Vorschlag?

Spontan fällt mir dazu 74LVC1T45 ein, der kostet aber auch nochmal 15 
Cent extra. Dann schrumpft die Einsparung zum FT232R wieder auf 50 Cent 
zusammen.
Ein 74HCT125 Gatter müsste IMHO auch passen, das Teil ist dann aber noch 
teurer & größer.

von Simon B. (nomis)


Lesenswert?

Andreas schrieb:
>>in 5V-Systemen ... zusätzliche Maßnahmen
>
> Hast du dazu einen guten Vorschlag?

Man könnte einfach einen Logic-Level-Mosfet ansteuern. Man kann die 
Polarität der Signal-Pins der FTDI's umkonfigurieren.

Wobei man natürlich in einem Massenproduktions-Umfeld entsprechend 
beachten muss, dass das umkonfigurieren auch einen Kostenfaktor 
darstellt.

Viele Grüße,
        Simon

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Vor allem frisst das wieder den Platzvorteil gegenüber eines FT232RL 
wenn da jetzt noch mit Pegelwandlern rumgewurschtelt wird ;)

@Pit:
Schon besser ;)
Für den Luxus einer total einfachen USB Anbindung muss man eben zahlen.

von Rangi J. (rangi)


Lesenswert?

> Interrupts hast Du auch bei UART und ob die tatsächlicher weniger
> 'belasten' lass ich mal offen.

Ich verwende gerne den FT245, wenn genügend Pins frei sind und es um 
Performance geht. In einem Projekt durfte keine ISR-Last aufkommen und 
da hilft dieser Chip prima. Man pollt den RXF-Out oder liesst Daten, 
sobald im Programm Zeit dafür ist, ganz ohne Interrupts. Ausserdem 
braucht man keinen internen Eingangspuffer mehr und um Hardwarehandshake 
(RTS/CTS) braucht man sich auch nicht mehr kümmern.
Einziger Nachteil: einen 8-bit-Port und ein Paar Steuerleitungen.

von Pit (Gast)


Lesenswert?

Martin Wende schrieb:
> Vor allem frisst das wieder den Platzvorteil gegenüber eines FT232RL
> wenn da jetzt noch mit Pegelwandlern rumgewurschtelt wird ;)

Manchmal muss man einfach nur genau hinschauen.

Rangi Jones schrieb:
> In einem Projekt durfte keine ISR-Last aufkommen und
> da hilft dieser Chip prima. Man pollt den RXF-Out oder liesst Daten,
> sobald im Programm Zeit dafür ist, ganz ohne Interrupts.

Als ob man USB nicht auch pollen könnte. Denkst Du etwa, da gibt es 
einen Unterschied? Das Interrupt-Argument ist Quatsch.
Bei jeder Hardware müssen zwingenden ein paar Register gelesen werden 
(ob UART, USB oder sonst was). Das macht man im Interrupt und setz ein 
Flag um es dann in der Main auszuwerten - jedenfalls wenn der Interrupt 
viel 'Arbeit' nach sich zieht.
Und da die bei Microchip und sonst wo auch nicht zum ersten mal 
programmieren, kann man davon ausgehen, dass die schon das Richtige tun.

von Rangi J. (rangi)


Lesenswert?

> Das macht man im Interrupt und setz ein Flag um es dann in der Main
> auszuwerten - jedenfalls wenn der Interrupt viel 'Arbeit' nach sich zieht.
oh oh, ich glaube da muss nochmal jemand auf die Schulbank. Was 
passiert, wenn die Main nicht rechtzeitig drankommt? Dann ist das Byte 
Weg! Also musst du die Daten in der ISR auslesen, und weil es 
prinzipiell viele sein können, brauchst du einen Puffer und der braucht 
wieder Zeiger und das ganze braucht wieder Zeit in der ISR.
DMA hilft da, aber nicht jeder Controller hat sowas.
Hardwarehandshake: fg haste mal versucht bei einem PC die RTS-Leitung 
zu ziehen, während der sendet? da kommen noch 5 bis 10 Bytes mindestens 
raus, bevor der aufhört zusenden. Und da rede ich nur von 115200Bd.
So ein externer Hardware-Fifo ist schon was feines für diesen 
Einsatzfall.
Natürlich ist es einfacher die UART zu verwenden, in den meissten Fällen 
funktioniert das aucht, wollte nur sagen, es gibt Problemstellungen, die 
nicht in Software lösbar sind.

von Pit (Gast)


Lesenswert?

Rangi Jones schrieb:
> oh oh, ich glaube da muss nochmal jemand auf die Schulbank. Was
> passiert, wenn die Main nicht rechtzeitig drankommt? Dann ist das Byte
> Weg!

Zum Thema Schulbank: 'weg' schreibt man klein.

Rangi Jones schrieb:
> Also musst du die Daten in der ISR auslesen, und weil es
> prinzipiell viele sein können, brauchst du einen Puffer und der braucht
> wieder Zeiger und das ganze braucht wieder Zeit in der ISR.

Da passiert garnix, da der USB den Puffer erst wieder füllt, nachdem ich 
die Daten (ganz gemächlich) in der Main gepollt habe und den 
Empfangspuffer frei gebe. Bis das erledigt ist, sendet der USB einfach 
NACK an den Host.

Rangi Jones schrieb:
> fg haste mal versucht bei einem PC die RTS-Leitung
> zu ziehen, während der sendet? da kommen noch 5 bis 10 Bytes mindestens
> raus, bevor der aufhört zusenden. Und da rede ich nur von 115200Bd.

Im Übrigen haben sich meine Aussagen auf USB bezogen, da ja angeblich 
der USB mit den vielen Interrupts sooo viele Probleme macht - es scheint 
mir eher anders rum :)!
Danke für Deine Unterstützung!

Ich denke die sachlichen Dinge sind besprochen. Viel Spass noch beim 
lästern :)

von Christian S. (cschmidt)


Lesenswert?

Da ich den FT230X mittlerweile nicht nur verlötet habe sondern ihn auch 
benutze:
1. Er tut ohne Probleme mit einem 5V AVR, auch ohne Pegelwandler.
2. Ohne RTS/CTS Handshake völlig unbenutzbar. Er scheint kein Double 
Buffering zu haben, und verliert einfach Daten wenn man während des USB 
Transfers weiter sendet.

Gruß,
Christian

von Grendel (Gast)


Lesenswert?

Christian Schmidt schrieb:
>
> Er scheint kein Double Buffering zu haben,
>


Wozu sind denn dann die 512+512 Bytes RX/TX Buffer?

Vom Aufbau her sind die ja fast identisch zum FT232R und ham sogar 
deutlich größere Buffer - und beim 232R hab ich bislang noch kein 
Handshake benötigt - ohne Datenverlust bei 1MBit/s...?

von Fritz (Gast)


Lesenswert?

Christian Schmidt schrieb:
> 2. Ohne RTS/CTS Handshake völlig unbenutzbar. Er scheint kein Double
> Buffering zu haben, und verliert einfach Daten wenn man während des USB
> Transfers weiter sendet.

Und du bist dir sicher, dass du die Daten nicht in deinem AVR verlierst.
Solche Aussagen sollte man schon genauer ausführen:
Welche CPU, CPU-Clock, Baudrate, RX und TX mit Interrupt? ...
Ich kann mirs nicht vorstellen, dass deine Behauptung stimmt!

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.