Op 5 december 2005 23:32:26 schreef Wouter van Ooijen:
[...]

Dat kan zijn, maar het is een beetje eenzijdig om dan te zeggen dat (je ervaring met) die usb-serieel converters brak is. Het is de combinatie met die software, en van die combinatie zou ik de schuld voor een belangrijk deel bij die software leggen.

Feit blijft dat die converters een slap aftreksel zijn van een fatsoenlijke 'echte' poort. Om de 'schuld' bij de software te leggen, vind ik wat kort door de bocht. Het blijft een emulatie, dat zal vaak wel, maar ook regelmatig niet werken.
Serieel is onder winshit toch al vreselijk brak geimplementeerd. Als je daar dan nog een emulatie tussen gaat stoppen, zal het er niet beter op worden.

Wat mij betreft is het gewoon een ongelukkige combinatie. Zonder nou direct iets of iemand de schuld te geven. Feit is wel dat er zelden iets is wat op een gemuleerde poort wel werkt en op de 'echte' niet.

Op 5 december 2005 23:15:51 schreef Antoine:
[...]
[edit]
En dat roept men, neem Linux, ja, en dan ? Dan kan ik de software die ik nodig heb niet eens gebruiken !

Klopt helemaal! Wat we moeten doen is: Roepen naar de leverancier dat je een Linuxversie van de software wilt hebben. Na enige jaren (!) werkt dat echt. Mooi voorbeeld daarvan is de Postbank die aanvankelijk alleen werkte als je met MS/IE kwam internet-bankieren.

Veel software die in C/C++ is geschreven kan met enige(...) inspanning worden gecompileerd onder Linux. Ook programma's met een GUI hoeven geen grote problemen op te leveren dankzij, bijvoorbeeld, Qt's toolbox (Mac/Linux/Windows).

Echt simpel is het natuurlijk ook weer niet. Het is vooral een kwestie van willen...

een paar dingen ter opheldering
usb naar serieel is GEEN omzetter ! tenminste niet in hardware. er wordt gebruik gemaakt van een software layer waar alles doorheen moet. het USB protocol heeft geen standaard 'seriele poort' . alles wordt dus gedaan via translatiewerk op software niveau. en daar knelt het schoentje

punt twee is dat usb eigenlijk bedoeld is voor bulk transport en niet voor karakter transport. tussen twee pakketten van de host en een endpoint zit ALTIJD ongeveer 1.2 millisconden. in het pakket haal je de full speed wel. en voor die kleine serele pakketjes ben je dus zwaar gepealiseerd ( vandaar dat die handshake zo rottig traag is )

de enige convertor die goede prestaties haalt is die van ftdi MAAR .. er is een grote MAAR aan . je moet de driver tunen voor je toepassing
je kan in de INI file wijzigingen aanbrengen. je kan de latency terugschroeven ( je overtreedt de usb spelregels maar bon .. ) en als je de ins en outs van je transport protocol kent kan je met trigger karakters werken. het transport wordt geoptimalisserd. bijvoorbeeld een prompt karakter voor een terminal.

haal de appnot op ftdi's ebsite. tstaat uitgelegd hoe het werk

de convertor chip van prolific is te mijden. dat is een echt kreng ( hun andere ic's ook trouwens. blijf vooral weg van hun usb2.0 naar ide als je geen vaarwel wilt zeggen tegen je data er zit een bug in het afhandelen van superframes. als dat voorkomt tijdens het schrijven van de MFT van je harddisk is't byebye. en er valt niks te recoveren ... )

de andere goeie is de silicon labs 2103 maar die zit in een zeer lastige verpakking. ook daar kan je met de driver insteling spelen.

en nu het allerbelangrjkste.
ALLEMAAL die dingen zijn gemaakt om te praten met een UART die het STANDAARD UART statediagramma afhandelt. extra gerommel zolas DTR plsen etc zitten nNIET in dat statediagramma. je kan het wel maar je krijgt en penalty aan e borek omdat dat niet binnen een usb fram valt. de statemacine die de transacties beheert ( en das hardware notabene ) is daar NIET op voorzien.

kortom , als je langs de andere kant een gewone rs232 verbinding hebt die de 2 handshake kanalen gebruikt zoals het hoort en het transport met start , stop parity zoals het hoort zal je geen problemen hebben

GeBitbangde protocollen lukken ook op voorwaarde dat ze niet tijdkritisch zijn (de usb packet latency verstoort dat ).

> Feit blijft dat die converters een slap aftreksel zijn van een fatsoenlijke 'echte' poort.

Natuurlijk, als je de PC UART als de standaard beschouwt dan is iedere afwijking daarvan een slap aftreksel.

UARTs zijn er ook in soorten en maten. Denk alleen maar aan het verschil tussen een 8250, 8250A en 16550 en de compatibles. Het werkt allemaal (nou ja, een 8250(A) met winshit op hogere snelheden is een wat ongelukkig combinatie, ok...)
Overigens zit het grootste probleem in de delay die je bij die USB dingen hebt, zoals f_e mooi heeft uitgelegd. Dat heeft niets met de UART te maken, maar meer met 'misbruik' van USB.

Voor mij geen omzetters meer. Een PCMCIA kaart met RS232 is een 'echte' compoort.
Zoals eerder aangehaald zijn er ook goedkope, maar je moet ze verbeteren. TI leverde wel de chip gratis.