Funkční RS232 -> USB konvertor

dustin

Re:Funkční RS232 -> USB konvertor
« Odpověď #15 kdy: 23. 02. 2017, 20:20:27 »
K tomu max2323 - levné čínské moduly z ebaye (5 za 1 dolar s dopravou) měly zřejmě blbě udělanou nábojovou pumpu a signál na RS232 vstupu se jim částečně přenášel do RS232 výstupu (takový nečekaný interní loopback), krásně to bylo vidět na vícekanálovém osciloskopu. Takže jeden čip nezvládal duplexní provoz. Po přidání dalšího modulu pro opačný směr (tedy simplex) to rázem komunikovalo OK. Bez osciloskopu bych na důvod nesprávné komunikace PC -> arduino serial asi nepřišel.

Osobně bych pro takového profi použití koupil hotový ověřený modul, než to lepil z ebaye. A to lepím rád :-)


JardaA

Re:Funkční RS232 -> USB konvertor
« Odpověď #16 kdy: 23. 02. 2017, 20:47:16 »
A protože jsou tam z principu USB velký latence, co občas vadí (1ms časový rámec) a občas potřebuju rychle přepínat ovládací signály, tak z principu do komplu na práci dávám https://www.tsbohemia.cz/axago-pcea-s4_d182562.html

Máme asi deset kousků karet AXAGO PCEA-S2, což je dvouportová verzé (výše uvedená je čtyřportová), a zkušenosti nic moc. Co to dělá: zničehonic se komunikace s připojeným zařízením (konsoly směrovačů a přepínačů, takže jen TX/RX, 9600) přeruší, týká se obou portů naráz. Zdánlivě je vše v pořádku, systém porty vidí, žádná chyba se nehlásí; pomůže jen restart systému (Windows 10), ovšem jen nachvíli. Komunikace s výrobcem byla velmi korektní a opravdu se snažil pomoci, ale nepodařilo se.

prezek

  • ***
  • 229
    • Zobrazit profil
Re:Funkční RS232 -> USB konvertor
« Odpověď #17 kdy: 23. 02. 2017, 21:03:59 »
Zatím jsme se nedozvěděli, co nejde, co jsi zkoušel, co máš k dispozici k testování.

Takže:
1) jaký OS používáš?
2) daří se nainstalovat ovladače?
3) fungují převodníky?
4) jaké máš možnosti testování? Osciloskop, voltmetr, arduino, sluchátka, LED diodu, drát?

Re:Funkční RS232 -> USB konvertor
« Odpověď #18 kdy: 23. 02. 2017, 21:29:46 »
1) Používám archlinux-arm
2) Ovladače jsem neinstalovall, Dmesg neukáže, že se cokoliv připojilo.
3) To nevím
4) Momentálně to ani nemám u sebe, takže nejspíš žádné

daemon

Re:Funkční RS232 -> USB konvertor
« Odpověď #19 kdy: 23. 02. 2017, 21:50:54 »
Koupil jsem si už dva rs232-> usb konvertory, ale ani jeden mi nefungoval...

Již dlouhá léta pro účely MaR a průmyslové automatizace používám tento: http://www.asix.cz/usb_ucab232.htm. S čímkoliv ostatním býval problém.


Jenda

Re:Funkční RS232 -> USB konvertor
« Odpověď #20 kdy: 23. 02. 2017, 23:56:05 »
Osobně bych pro takového profi použití koupil hotový ověřený modul, než to lepil z ebaye.
Pokud se ti podaří hotový funkční modul najít… Když si to slepíš sám, tak víš přesně, na čem jsi. Ale jo, snad jo.

2) Ovladače jsem neinstalovall, Dmesg neukáže, že se cokoliv připojilo.
Aha, tak to je něco úplně jiného - tohle jsem si vyložil jako že byl problém až v komunikaci po RS232. Nemáš něco fakt blbě? V jiném počítači to taky nefunguje?

1) Používám archlinux-arm
Takže nějaký SoC. Nemá to náhodou sériák integrovaný?

dustin

Re:Funkční RS232 -> USB konvertor
« Odpověď #21 kdy: 24. 02. 2017, 06:19:05 »
Pokud se ti podaří hotový funkční modul najít…

Zrovna v předchozí zprávě je link na ověřený profi modul za rozumný peníz, dokonce s lokálním dodavatelem.

PetrM

Re:Funkční RS232 -> USB konvertor
« Odpověď #22 kdy: 24. 02. 2017, 08:32:28 »
1) Změřil bych (nebo bych se koukl po rozebrání), jestli ty tvé převodníky jsou opravdu RS232, nebo tam dali 5V logiku a doufají, že si to s protistranou bude rozumět. Pokud to není RS232, koupil bych na eBay nějaký $3 TTL převodník a zapojil za něj MAX2323

1) Ten obvod je MAX3232, ne 2323 (mnemo 3V verze 232)
2) Přečti si RS-232 standard. Zjistíš možná překvapivou věc, že pro jedničku je tam záporný rozsah napětí, pro nulu kladný... Opravdu si to nerozumí, to nikdo zkoušet nemusí. Pokud je tam 232, tak na výstupu něco bude. Otázka je co a v jaké kvalitě.

kolemjouci

Re:Funkční RS232 -> USB konvertor
« Odpověď #23 kdy: 24. 02. 2017, 11:34:17 »
Z dob dávno minulých mám schovanou 8 portovou kartu Cyclades i s octopus kabelem. Jak tak sleduju ty soudobé problémy, ještě ji nebudu vyhazovat...

PetrM

Re:Funkční RS232 -> USB konvertor
« Odpověď #24 kdy: 24. 02. 2017, 12:36:02 »
2) Ovladače jsem neinstalovall, Dmesg neukáže, že se cokoliv připojilo.

Aháááá!

Tak posledně, když nešlo USB zařízení na desce s ARMem, tak tam nebyla knihovna tuším libusb, bez které systém nevěděl, že by měl nějaký USBčka. Začal bych vypsáním verze libusb a pak by se vidělo.

A ještě je občas zrada v nastavení práv uživatele k přístupu na HW- ideálně řešit pomocí group.

Re:Funkční RS232 -> USB konvertor
« Odpověď #25 kdy: 24. 02. 2017, 14:20:33 »
Od Papoucha mám dongle USB na 422/485 a je to podle mého opravdu povedený kousek. Uvnitř FTDI - první příjemný poznatek. Umí všechny režimy drátování a terminace, co si na 485 můžu vymyslet, a má galvanickou izolaci. Fakt je, že ho nehoním 24/7, ale nečekám problém. Mě Papouch příjemně překvapil. A to jsem v práci zaměstnaný v zásadě u konkurence.

Na občasné servisní práce používám dlouhá léta tenhle převodník od ATENu:
http://www.sws.cz/default.asp?mtc=0&cls=stoitem&stiid=75682
Uvnitř je Prolific PL2303. Nevím co je tam za level-shifter, ale jinak než kapacitní nábojovou pumpou se dneska těch cca +/- 10V pro 232 stranu snad ani nedělá... a je jedno, jestli ten level shifter dělal Maxim, Intersil nebo kdo. Prostě je tam kolem cca 4x 100 nF a tím je napájení odbyté. Tvrdé napájení +/- 12V má dneska už leda PCčko na motherboardu (a těch -12V už taky není pravidlem).
Podle manuálu má plnou sadu signálů a domnívám se, že jsem si to i párkrát vyzkoušel na asynchronních modemech.

FTDI osobně kromě svých čipů prodává i malé destičky a redukce USB/232. V katalogu bacha ať si nevyberete některou variantu, co má jenom TTL na 5V nebo 3.3V. Vždycky hledejte v popisu, že z toho lezou napěťové úrovně 232. Variant je mnoho:
http://www.tme.eu/cz/details/usb-rs232-pcba/moduly-ftdi/ftdi/
http://www.tme.eu/cz/details/usb-rs232-we-18/moduly-ftdi/ftdi/usb-rs232-we-1800-bt_00/
http://www.tme.eu/cz/details/uc232r-10/moduly-ftdi/ftdi/
http://www.tme.eu/cz/details/us232r-10-blk/moduly-ftdi/ftdi/us232r-10-bulk/
http://www.tme.eu/cz/details/us232r-500-blk/moduly-ftdi/ftdi/us232r-500-bulk/

Pokud mohu soudit, podle datasheetů to vypadá, že varianty "WE" (volné konce drátu) a PCBA mají obslouženy signály RX, TX, RTS a CTS = není vyvedeno DTR, DSR, DCD a RI. Máte k dispozici data a flow control (aby FIFO buffery nepřetékaly) ale pokud byste chtěl připojit modem, tak mu nepošlete DTR a nedozvíte se DCD.

Kompletní kabely UC232R / US232R mají na DB9 vyvedenu plnou sadu signálů.

Pravda je, že jsem před časem koupil dvě "destičky" na 485 dvoudrát a ukázalo se, že na jedné z nich byl vadný transceiver = level shifter. Byl hrozně měkký - do vysoké impedance na první pohled chodil, ale po připojení terminátoru už přijímač neregistroval střídání logických úrovní. Skoro bych si myslel, že jsem ho zničil svou nešikovností (ačkoli nevím jak), ale mám referenci od jednoho člověka někde v zahraničí, že se mu stalo cosi velmi podobného. Ony ty 485 level shiftery totiž nejsou nic značkového, a bůhví kde si FTDI nechává ty destičky osazovat... tomu známému údajně FTDI na technické podpoře připustili, že mají trochu problém s kvalitou "u jedné dodávky" :-) Protože mám osciloskop a zvládnu vyměnit švába v pouzdru SO8 (a měl jsem náhradního v šuplíku), jenom jsem nad tím zavrtěl hlavou, ale bez osciloskopu bych byl smutnej.

V linuxu je nejprve potřeba, aby byl dongle vůbec vidět na USB sběrnici, tzn. musí se objevit v lsusb. Pokud se neobjeví... jiné věci fungují? USB klávesnice, flashky? Nezkoušíte ten dongle připojit ARMu do USB portu, který je nastavený do režimu "gadget"? (Protože v ARMech bych čekal podporu USB OTG.)

Pokud je dongle vidět v lsusb, tak je potřeba generický "zastřešující" driver usbserial.ko, a dále jeho hw-specifičtí podřízení, např. pl2303.ko nebo ftdi_sio.ko. Přikládám screenshot z menuconfigu. Neřeknu Vám, jestli Vaše distribuce natáhne modul automaticky (udev by to mohl umět), každopádně pokud nemáte důvod se domnívat, že máte tyto drivery zakompilované monoliticky, doporučuji zkusit lsmod  a  modprobe.  Pokud se modul natáhne, udev by mohl vyrobit device node /dev/ttyUSB0 (/dev/ttyUSB1 atd). A mělo by být něco vidět v dmesg (případně na primární konzoli).

Pokud máte ttyUSB device node, zkuste ho otevřít třeba minicomem, prodrátujte navzájem RX+TX (2-3 v DB9) a zkuste, jestli zafunguje smyčka (v minicomu uvidíte, co píšete - a když vytáhnete propojku, tak to echo musí skončit). Pozor, pokud prosmyčkujete fakt jenom RX+TX, tak musíte v minicomu vypnout flow control (= zakázat využití RTS+CTS) aby data chodila.

Pokud smyčkový test v minicomu funguje, tak je dál otázka, jakým způsobem máte připojené čtečky, resp. jakým softwarem ten port otvíráte. Pokud náhodou máte software, který neumí na portu nastavid baud, flow control a další parametry TTY zařízení (a že jich je), dá se všecko nastavit na příkazové řádce prográmkem stty. Tušímže setserial se týká jenom legacy portů v x86 PC.

Někdo tu navrhoval, že by ten ARM mohl mít nějaký UART on chip. Ano, to tak bývá, ale třeba už slouží něčemu jinému (textová konzola?) a kromě toho mívá fakt jenom RX+TX a obecně ten on-chip UART bývá dost hloupý.

Někdo si tu postěžoval, že mu hnije karta AXAGO pod Windows 10. No jestli to nějakou dobu chodí a pak UART umře, tak je to skutečně s podivem... ale i takové UARTy už jsem viděl, před lety tuším nějaký Fintek SuperIO. AXAGO není kdovíjaká značka. Tyhle PCI UARTy obvykle používají drivery od výrobce, nechytá se na ně generický driver od Microsoftu... možná podle toho pak vypadá výsledek. Jinak Windows 10 mají tuším nějaký vroubek i ohledně podpory standardních COM portů na legacy adresách, vanilkovým driverem - resp. problém nastal po nějakém updatu tuším asi rok zpátky (na podzim 2015?). Jak je to dnes, netuším. Ten problém tuším vypadal tak, že COM port po startu windows nefungoval vůbec - ne že zpočátku ano a po náhodné době vytuhl. To opravdu vypadá spíš na problém v HW nebo v proprietárním ovladači. Napadá mě, jestli na PCI zařízení není možnost konfigurovat power management. Nebo pokud to bylo v PCI-e, tak zkusit vypnout PCI-e ASPM (v BIOS Setupu nebo pod Windows).
https://www.sevenforums.com/tutorials/292971-pcie-link-state-power-management-turn-off-windows.html