Hallo, hat jemand schon Erfahrung mit dem USB->Seriell Controller TUSB3410 von Texas Instruments. Gruß Jörg
Das nicht, aber es gibt auch den FT232BM von FTDI (für den Fall, dass Du eine Alternative suchst): http://www.ftdichip.com/Documents/ds232b11.pdf http://www.ftdichip.com/Documents/dg232v20.pdf http://home.t-online.de/home/holger.klabunde/usb/usb.htm
Danke Jens, Klasse direkt mit Praxisteil. Ich hab zwar nicht nach einer Alternative gesucht aber der FT232BM scheint Klasse zu sein. Gruß Jörg
Ja ich habe schon einiges mit den TUSB Chips gemacht. Für eine reine RS232 Lösung würde ich in den meisten Fällen wohl aber den FTDI Chip nehmen. Allerdings hat der FTDI Chip ein paar Schwachstellen die man kennen sollte (PingPong Betrieb) Falls du einen Treiber schreiben kannst sind die TUSB Chips eine gute alternative und vor allem wesentlich leistungsfähiger. (der TUSB5052 hat 2 x UART + GPIO) Thomas
Die beiden TUSB-ICs sehen ja von den Daten ganz gut aus. Man muss sich aber die Software dafür selber schreiben, wenn ich das richtig verstanden habe. Gibt's dafür nen Gratis-Compiler? Weil nur für einmal programmieren eines solchen IC's einen Compiler zu kaufen ist doch ziemliche Verschwendung. Mfg, R2D2
Das Treiber-Schreiben bezog sich bestimmt auf die Inbetriebnahme am PC. Das USB-Device muss ja als solches erkannt werden, bzw. dass es sich dabei um eine serielle Schnittstelle handelt.
Wenn ich das richtig verstanden habe muss man sowohl die PC als auch die Treiber für den internen 8052 µC selber programmieren. Dafür hat der ja auch die 16K-Code-Ram. von http://focus.ti.com/docs/prod/productfolder.jhtml?genericPartNumber=TUSB3410 hab ich diese Infos: General Features Integrated 8052 microcontroller with 256 × 8 RAM for internal data 10K × 8 ROM (with USB and I2C boot loader) 16K × 8 RAM for code space loadable from host or I2C port 2K × 8 Shared RAM used for data buffers and endpoint descriptor blocks (EDB) Four GPIO pins from 8052 port 3 Master I2C controller for EEPROM device access MCU operates at 24 MHz providing 2 MIPS operation PC-Treiber gibts für Windoof gibt auf der TI-HP. R2D2
Hallo! Jetzt muss ich mir selber antworten :) Ich hab auf http://www.ibrro.de/downlo.html einen Linuxtreiber und eine Firmware gefunden. Die Firmware wurde mit dem SDCC entwickelt. Also gibt es einen passenden Compiler. Das macht diese ICs ziemlich interessant für meine Projekte. Auch diesen Beitrag hab ich noch gefunden: http://www.ussg.iu.edu/hypermail/linux/kernel/0305.0/0257.html Vielleicht hilfts ja jemandem. R2D2
Mit Linux kann ich nicht so viel anfangen. Ich habe nur Win Erfahrungen. Alle TUSBs habe einen x52 core (ohne Timer2) und zwischen 6k und 16 k CodeRam das nach einem Reset aus einem I2C EEprom mit Code gefüllt wird. Manche der TUSB Chips haben zusätzlich noch einen external Mode, dann kann man das Teil mit jedem C51 Controller betreiben. Für die Firmware Entwicklung gibt es also genügend Tools (SDCC, Keil usw) Auf der PC Seite braucht das Device eben auch einen Treiber. Für USB -> Serial gab es einen Beispiel Treiber von MS der aber inzwischen vom Netz genommen wurde, da er nur unter 98 geht. Google nach POSUSB sollte helfen Für die Treiber Übersetzung ist VC++ >=5.0 + DDK von MS notwendig. Alternativ gibt es bei www.thesycon.de einen usbio Treiber der mit fast jedem Device verwendet werden kann. Thomas
Hallo, @Thomas. Ich habe enorme Probleme den FTDI232 bei 57600Bd auf Speed su bringen. Gerade wegen Ping-Pong geht die effektive Datenrate enorm in die Knie, ich schätze ca. 19200Bd effektiv. Gibt es da kein Heilmittel? Sporadisch liest man da von Timing, Timeouts etc. die man verändern soll. Wie und was ist aber nicht zu erfahren. Irgendwelche Ideen? Als serielle Schnittstelle allgemein ist das Ding ja garnicht schlecht. Aber den sprichwörtliche USB-Speed kann man sich damit in die Haare schmieren :-( Weitere Frage. Das erwähnte Texas Chip, hat das nicht auch mit PinPong zu kämpfen. Ist das nicht ein allgemeines USB1.0 Problem, bzw. auch in Windows vergraben?? Rolf
Hi das ist ein grundsätzliches Problem des USB da er Daten ähnlich wie Ethernet nur als Pakete senden kann. Und diese Pakete haben Vorne und Hinten noch zusätzliche Daten (Adresse, Cheksumme usw.) dran. Wird jetzt pro Block nur ein Byte übertragen geht die Datenrate natürlich in den Keller. Dazu kommt noch das der USB ein reiner Master/Slave-Bus ist. Matthias
wegen des FTDI Chips: ja der Chip ist gut solange du relativ viele Daten überträgst. Ansonsten gilt: der Chip hat einen Timeout von 15ms. Ich habe dazu schon mal in einem anderen Thread etwas geschrieben. Falls du es irgenswie machen kannst: Die Win API hat sowas wie eine Break Char Funktion (An den genauen Namen erinnere ich mich nicht) Du soltest als letzes Zeichen immer dieses Break Zeichen übertragen, damit ist es lt FTDI möglich den Buffer zu flushen. Das funktioniert natürlich nicht wenn du das Protokoll nicht ändern kannst. Mit USB hat das ganze wenig zu tun eher mit der Art und Weise wie die Übertragung im Treiber gemacht wird. Die FTDI Lösung ist ein Kompromiss zwischen möglicht wenig NAKS und damit Bus Bandbreite und einfachem Handling via Readfile. Wenn du den Treiber selbst machst, kannst du da in die andere Richtung optimieren (Bei TI musst du das sowiso selber machen) Allerdings ist das nich so ganz trivial. Am USB Bus hast du eine Auflösung von 1ms d. h im optimalen Fall 2 ms Latenz. Ich ereiche mit den TUSB Chips (Midi) hier etwa 5ms. Thomas
Hallo, @Thomas, wenn ich das richtig verstehe, müsste der WIN Treiber geändert werden? Ich habe Zugang zu einem Tool "WinDriver" mit dem man sich sozusagen eine eigene DLL stricken kann ohne Internas des MS-DSK zu kennen, ähnlich dem Teil von Thesys. Kommentar? Rolf
@Rolf Ich kenne WinDriver jetzt nicht im Detail... Als ich das zum letzten Mal angeschaut habe, war es noch nicht für USB geeignet (Power Managment fehlte, PnP unzureichend) Ohne Kenntnisse der DDK Internas ist es aber m.E unmöglich gute (schnelle) Treiber zu machen. Wir sprechen hier von Timing Optimierungen. Was ohne DDK sowieso nicht geht ist die Generierung der virtuellen Com Ports. Thomas
Hallo, @Thomas, Danke für die Info. Also sollte es möglich sein auch den FTDI mit einer speziellen DLL auf speed zu bringen!? VCP brauche ich nicht. Rolf
Wenn du von FTDI die Protokoll Internas zu den Bulk Eps bekommst sollte das möglich sein. Ich bezweifle allerdings,dass die die Infos rausrücken. Mit einer DLL gehts auf jedenfall nicht. Du musst da schon einen Treiber machen.. Thomas
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.