USB naar RS232 anno 2021

Lambiek

Special Member

Op 19 april 2021 12:24:38 schreef GJ_:
Soms.
Helaas is het altijd knudde geweest en beter gaat het zeker nooit worden.

Ja, maar je moet toch wat als er geen com poort op je PC zit.

Ik kan me niet indenken dat er nog geïnvesteerd gaat worden in nieuwe techniek om van USB naar RS232 te gaan.

Ik hoop het eigenlijk van wel, het blijft Kl**te met die USB poorten, ik snap niet dat ze dat niet inzien.

Als je haar maar goed zit, GROETEN LAMBIEK.
GJ_

Moderator

Voor wat oudere laptops heb ik nog wel kaartjes met RS232. Met express cards is het wel even oppassen: de meeste communiceren aan de laptop kant via USB, een enkeling via PCI. Die laatsten werken goed.
Ik heb geloof ik ook nog wat PCMCIA kaarten. En allemaal dubbel, voor als er een stuk zou gaan :-)

Op 19 april 2021 12:29:29 schreef Lambiek: Ik hoop het eigenlijk van wel, het blijft Kl**te met die USB poorten, ik snap niet dat ze dat niet inzien.

Ik ben ook geen fan van USB maar de laptop boeren gaan niet voor die enkeling aparte laptops maken. Als je toepassingen hebt die wat langer meegaan zijn de hardware en OS makers de minst betrouwbare partners

Op 19 april 2021 12:29:29 schreef Lambiek:
Ik hoop het eigenlijk van wel, het blijft Kl**te met die USB poorten, ik snap niet dat ze dat niet inzien.

Er zijn fundamentele redenen waarom jij teleurgesteld gaat zijn.... Sorry.

Allereerst moet je weten dat USB gemaakt is als master-slave systeem. De master, (PC/laptop in de meeste gevallen) moet met een ritme van 1000Hz alle devices pollen: Heb je nog wat? Dat staat in de spec dat dit precies 1 ms hoort te duren tot de volgende.

Als een USB slave dus "iets te melden" heeft, dan kan ie niet zomaar om aandacht vragen (interrupt), maar moet ie wachten tot de volgende poll om te melden: Ja ik heb een ei dat ik kwijt wil....

verder: Er zijn talloze bedrijven die ooit de seriele poort (deels) als "GPIO" hebben gebruikt. USB is prima voor standaard serieel verkeer, maar die 1ms delay voor diverse dingen is voor dit soort GPIO dingen ineens vervelend.

Daarnaast is de priogrammatuur onder dos/windows mogelijk gemaakt om direct in de hardware registers te porren. Als dat omgeschreven wordt naar "doe via standaard serialport interface" dan werkt het met de locale seriele poorten nog wel, maar via USB gaat een driver natuurlijk ook zeggen: Misschien kan ik de handshake veranderingen opsparen tot de volgende keer dat er toch gepolled moet worden. Nou... Mogelijk krijg je dan 2 veranderingen in verschillende signalen of een heen-terug-heen die dan in 1x gestuurd worden. Tja, dan is de volgorde niet bepaald of je mist een pulsje.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Lambiek

Special Member

Op 19 april 2021 13:33:31 schreef rew:
[...]Er zijn fundamentele redenen waarom jij teleurgesteld gaat zijn....
verder: Er zijn talloze bedrijven die ooit de seriele poort (deels) als "GPIO" hebben gebruikt.

Daar was ik er ook een van en dat ging prima met de juiste interface. :)

USB is prima voor standaard serieel verkeer, maar die 1ms delay voor diverse dingen is voor dit soort GPIO dingen ineens vervelend.

Dit gaat niet eens over GPIO dingen, alleen over serieel verkeer. Er zit wel een converter tussen natuurlijk, maar toch.

Als je haar maar goed zit, GROETEN LAMBIEK.
joopv

Golden Member

De enige irritatie die ik had met usb-rs232 adapters was dat je steeds een andere COMx poort kreeg als je het ding in een andere USB poort prikte op je laptop. Dat was opgelost met de StarTech adapter die ik eerder in dit topic vermeld heb.

Verder gebruik ik het ding alleen met simpele terminal programma's als teraterm of putty. Geen bijzondere applicaties of PLC besturingen, geen bitbanging en zelfs geen filetransfers met x/y/zmodem. Misschien moet ik dat laaste nog eens testen, dat zou nog wel eens handig kunnen zijn bij het recoveren uit boot problemen bij bepaalde randapparatuur.

Lambiek

Special Member

Op 19 april 2021 15:25:01 schreef joopv:
Dat was opgelost met de StarTech adapter die ik eerder in dit topic vermeld heb.

Daar zit ook zo'n Prolific Chipset in - PL2303. En die houd het bij één vaste com-poort? Ik heb ook zo'n Prolific, maar die wisselt ook van com-poort als je hem in een andere USB poort prikt.

Als je haar maar goed zit, GROETEN LAMBIEK.
Arco

Special Member

maar die wisselt ook van com-poort als je hem in een andere USB poort prikt.

Da's een normaal iets van USB...
Als je een apparaat in een andere USB poort steekt, wordt dat steeds als een nieuw apparaat gezien, niet als hetzelfde.
(daarom krijg je ook een andere compoort toegewezen)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Lambiek

Special Member

Op 19 april 2021 16:12:02 schreef Arco:
Da's een normaal iets van USB...

Dat weet ik, daarom vind ik deze reactie ook zo vreemd.

Op 19 april 2021 15:25:01 schreef joopv:
De enige irritatie die ik had met usb-rs232 adapters was dat je steeds een andere COMx poort kreeg als je het ding in een andere USB poort prikte op je laptop. Dat was opgelost met de StarTech adapter die ik eerder in dit topic vermeld heb.

Als je haar maar goed zit, GROETEN LAMBIEK.
bprosman

Golden Member

Als je een apparaat in een andere USB poort steekt, wordt dat steeds als een nieuw apparaat gezien, niet als hetzelfde.
(daarom krijg je ook een andere compoort toegewezen)

Bij FTDI kun je dat "vastzetten" aan de hand van het serienummer van de chip.

De jongere generatie loopt veel te vaak zijn PIC achterna.
Arco

Special Member

Het ligt eraan hoe de driver geschreven is.
Standaard reserveert Windows de compoort voor het geval dat het betreffende apparaat weer terugkomt op die USB poort...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Heb zelf ooit zo'n ding ontwikkelt, en eerlijk is eerlijk, ik heb er nooit problemen mee gehad. Gewoon een 1,2 of 4 poorts FDTI chipje op een PCBtje en gaan. Toegegeven, de enige echte seriële poort die ik nog gebruik zit op mijn antieke AVRISP en die zou ik gewoon kunnen vervangen voor een modernere variant.

joopv

Golden Member

Op 19 april 2021 15:55:52 schreef Lambiek:
[...]
Daar zit ook zo'n Prolific Chipset in - PL2303. En die houd het bij één vaste com-poort? Ik heb ook zo'n Prolific, maar die wisselt ook van com-poort als je hem in een andere USB poort prikt.

Ja die blijft op dezelfde compoort zitten, ook na een reboot van de laptop.
Misschien kun je eens testen op de driver van dit product werkt op een andere adapter met dezelfde chipset?
https://www.startech.com/en-nl/cards-adapters/icusb232pro

Startech heeft overigens een erg uitgebreid programma van deze adapters zie ik nu, multiport, rs485, optisch geisoleerd, enz.
https://www.startech.com/en-nl/cards-adapters/serial-cards-adapters

Ik ben toevallig met wat systemen bezig waar FTDI in zit met veel COM poorten, meestal rond de 20. Die FTDI troep gaat er uit. Bij windows updates verspringen de COM poorten. Een keer een ander USB device inpluggen en daar gaan de COM porten weer.

Ze zetten hun COM poort zelfs op poorten die al bezet en ook echt in gebruik zijn.

Ik stap over op Advantek kaarten. Die houden zelf hun setting vast.

De andere postings hier zijn voor mij zeker interessant.

EricP

mét CE

Dat klinkt meer als een windows probleem dan iets van FTDI. Nl. de 'boekhouding' die weggemikt wordt. 'Normaal' hangt een poort nummertje gewoon aan een serienummer. Zet dat ergens wat hoger, dan heb je ook geen probleem met 'poortje al bezet' door iets anders (bijvoorbeeld een prolific ding wat toevallig eerder aan bod komt).
Verder windows... ach... iets uit de vorige eeuw.

Tot op heden ben ik bijzonder goed te spreken over FTDI. Er is vast iets te verzinnen waar het niet mee zou werken (inderdaad, met name bitbangen via control lines) maar ik ben daar nog niet over gestruikeld.
In tegenstelling tot de prolific (SiLabs kon het ook...) ellende van 'het moet in hetzelfde USB gat want anders klopt het niet meer' en dan werkt het... meestal.

Lambiek

Special Member

Op 19 april 2021 16:33:18 schreef Arco:
........

Het werkt nu met een FTDI TTL-232R-5V-WE. Heb keurig de waardes tussen 0 en 255. :)

Maar ik heb nog een vraagje aan je, jij hebt een keer een schemaatje geplaatst met twee optocouplers erin. Die was voor het gebruik met RS232, heb je die nog en wil je die hier plaatsen.

Ik heb van alles afgezocht, maar kan het niet meer vinden.

Als je haar maar goed zit, GROETEN LAMBIEK.
Arco

Special Member

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
EricP

mét CE

Pas een beetje op met opto couplers. Die dingen willen wel eens onaardig doen in de timing.
[offtopic]Op een bestaand project met een galvanisch gescheiden eh... laten we het houden op serieel op TTL niveau liep men klem met de hoeveelheid data die erdoor moest. Nou ja, bitrate verhogen en gaan.
Niet dus. Deze optocouplers hadden de basis naar buiten gevoerd en een BE weerstand. Deze bleek van belang om de boel 'netjes' te krijgen. Uiteindelijk en 0x55 (0xAA werkt ook) trein erop gezet. Dan heb je een blokgolf iets en kun je met de scope kijken wat er gebeurt. Weerstandje aanpassen en toen pas gaan...

Lambiek

Special Member

Op 20 april 2021 12:50:16 schreef Arco:
Zoeken op 'rs232' en 'opto' doet wonderen... ;) : https://www.circuitsonline.net/forum/view/131098

Bedankt. :)

Maar je hebt volgens mij ook wel eens een ander laten zien?

Als je haar maar goed zit, GROETEN LAMBIEK.
buckfast_beekeeper

Golden Member

Op 20 april 2021 13:10:36 schreef EricP:
Pas een beetje op met opto couplers. Die dingen willen wel eens onaardig doen in de timing.
[...]

Een 6N137 is gespect op 10MBd. In de meeste gevallen zal dat wel voldoen.

Van Lambiek wordt goede geuze gemaakt.
EricP

mét CE

Ja hoor. Met de juiste weerstand, voldoet het prima!

joopv

Golden Member

Voor snelheid moet je 'm niet in verzadiging sturen

Arco

Special Member

De 6N137 heeft 5v nodig, da's niet handig bij (echte) RS232...
Een PC817 haalt zonder problemen de 31250kb (midi).

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
buckfast_beekeeper

Golden Member

Hoeveel 'echte' RS232 bestaat er nog? Het gros is TTL. Een MC1488 en MC1489 kunnen je dan nog verder helpen.

Van Lambiek wordt goede geuze gemaakt.

Op 19 april 2021 14:36:01 schreef Lambiek:
Dit gaat niet eens over GPIO dingen, alleen over serieel verkeer. Er zit wel een converter tussen natuurlijk, maar toch.

Tja, normaliter moet dat gewoon via een USB-RS232 converter kunnen werken. IK heb 20 jaar geleden een Linux-driver voor een "grote serieele kaart"(*) gemaakt. Daar was ook de policy: Als je hem echt gebruikt dan zou dat zoveel interrupts opleveren dat "iedere 10ms alles afhandelen" maar genoeg moet zijn. Heb je overhead voor 100 interrupts per seconde en niet de tienduizenden (zelfs al zou je FIFOs gebruiken).

Anyway, dus als je gewoon RS232 doet, moet een extra latency van een milliseconde er niet toe doen. Anders doe je toch wat raars.

Nu hoor ik hierboven mensen over allerlei windows-driver-problemen praten. Compoort verhuist als je hem op een andere USB poort inplugt. Tja. Daar ga ik niet over.

(*) De grootste iets van "max 1024 poorten", 1 maatje kleiner: "tot 32 per kaart, max vier kaarten per PC".

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Lambiek

Special Member

Op 20 april 2021 16:36:51 schreef rew:
Tja, normaliter moet dat gewoon via een USB-RS232 converter kunnen werken.

Ja, maar het blijft een virtuele com poort en geen originele RS232.

Anyway, dus als je gewoon RS232 doet, moet een extra latency van een milliseconde er niet toe doen. Anders doe je toch wat raars.

Dat is ook zo, maar dat was het probleem ook niet. :)

Compoort verhuist als je hem op een andere USB poort inplugt. Tja. Daar ga ik niet over.

Ja, dat is nu eenmaal zo en daar heb ik ook niet zo'n moeite mee. Als het maar goed werkt.

Als je haar maar goed zit, GROETEN LAMBIEK.