Zatímco driver pro USB rozhraní je běžnou záležitostí, protože jej zdarma dokonce i pro Linux dodává výrobce čipů, které se s tímto driverem jako virtuální sériové porty chovají, u virtuálních driverů přes ethernet je situace komplikovanější, protože drivery vytvořily většinou externí firmy a výrobci hardwarových konvertorů jim platí licenční poplatky až cca 50$ za licenci.
Obecným problémem virtuálních sériových portů je nezaručená doba doručení paketu na fyzické rozhraní sériového portu. Zatímco u klasického portu RS-232 lze hovořit řádově o mikrosekundách, pro USB může zpoždění činit až 16 ms, u TCP/IP sítí se doba pohybuje od jednotek ms až k desítkám ms v případě spojení přes několik sítí. Dlouhá doba odezvy je velký problém pro komunikační protokoly, které potvrzují velmi krátké zprávy a používají krátký timeout.
Naopak zařízení, která přenášejí a potvrzují na sériovém portu větší balíky dat, nebo mají velkoryse napsaný komunikační protokol, který počítá s delšími timeouty, fungují bez problémů.
Podpora speciálních funkcí
Dalším problémem virtuálního portu je ovládání parametrů sériového portu. Od baudové rychlosti, přes nastavení počtu datových bitů, potvrzování (handshake), parametry parity atd.
Většina portů přenáší pouze základní datový tok s tím, že parametry jsou nastaveny pevně na koncovém konvertoru Ethernet - RS-232. V případě SW nebo HW handshake (CTS/RTS nebo Xon/Xoff) generuje tyto signály až hardware převodníku.
Přenos všech signálů sériového portu sice upravuje norma RFC 2217 pomocí protokolu NVT, ale její plná implementace není mezi stávajícími produkty na trhu příliš rozšířená. Většina konvertorů Ethernet - RS-232 navíc podporuje pouze 5vodičový sériový port (RxD, TxD, CTS, RTS, GND).
Výhody použití virtuálního portu
- Lze použít program, který již používáte, bez nutnosti jej opravovat.
- Virtuální port se může tvářit i jako COM3 a COM4.
- Koncový převodník si sám řídí převod na RS-485.
- Lze nainstalovat několik virtuálních sériových portů na jedno PC a obsloužit tak například několik samostatných sběrnic RS-485.
- Lze použít stávající vývojové a ladící nástroje, což zkracuje čas uvedení řešení na trh.
Nevýhody použití virtuálního portu
- K tomu, aby driver fungoval jak má, je třeba, aby program používal systémové funkce operačního systému Windows a nepřistupoval žádným způsobem přímo na hardware.
- Při drastickém prodloužení doby odezvy může komunikace přestat fungovat.
- Funkci virtuálního driveru se softwarem je třeba ověřit.
- Driver nefunguje pod MS Windows 95 a 98.
Proč není možné driver provozovat pod Win98
Ve Windows 95 a 98 mohou softwarové aplikace přistupovat přímo na hardware periférií a často tak také činí. Díky tomu jsou tyto starší verze operačního systému velmi rozšířeny ve vývojářské komunitě, ačkoliv jsou méně stabilní. Právě přímý přístup na porty je důvodem velké obliby Windows 95 a 98 mezi vývojáři. V internetové verzi tohoto článku najdete i odkazy na ostatní virtuální drivery, z nichž některé existují i ve verzi pro Win95 a 98.
U aplikací, které fungují jen pod Win95 a 98, však nelze očekávat spolehlivou funkci s virtuálním driverem, protože pravděpodobně přistupují přímo na hardware sériového portu. Vyšší verze Windows jsou navíc podstatně stabilnější.
HW Virtual Serial Driver
HWgroup nabízí od 1.8 zdarma virtuální sériový driver pro Windows NT, 2000 a XP. Tento driver je primárně určen pro naše zařízení, ale lze jej zdarma použít jako univerzální driver pro vytvoření vzdáleného virtuálního sériového portu, který data přesměruje na definovanou TCP/IP adresu a port.
PC s nainstalovaným driverem se navíc umí chovat i jako server, takže spojení může inicializovat i zařízení zasláním jakýchkoliv dat do vzdáleného portu. Konvertor na základě dat z RS-232 otevře spojení s PC a předá je virtuálnímu comu. Celá situace se tak maximálně blíží standardnímu řešení s klasickým sériovým portem.
S převodníky HWgroup lze vzdáleně pomocí normy RFC2217 měnit za provozu i baudovou rychlost, paritu a ostatní komunikační parametry, takže vzniká reálný vzdálený sériový port.
Driver spolupracuje nejenom s krabičkovými převodníky na RS-232/422/485, ale také s modulem
Charon I, který lze zastavět do uživatelské aplikace a připojovat ji tak přímo přes Ethernet.
Driver si lze stáhnout z našich www stránek www.HWgroup.cz
Jan Řehák
Jan.Rehak@ HW.cz
DOWNLOAD & Odkazy
- Podrobný popis aplikace virtuálního sériového portu s produkce HW - HW Virtual Serial Port
- Download HW Virtual Serial Port - www.HWgroup.cz
- Virtuální sériový port VirCOM, NetCom, verze i pro Win95/98 - http://www.easyunet.com/
- Virtuální sériový port SerialLinx - http://www.commlinx.com.au/SerialLinx.htm
- Virtuální sériový port TCP/Com - http://www.taltech.com/TALtech_web/products/tcpipindex.html
- Virtual Serial Port Driver (VSPD) - http://www.tibbo.com/tdst.php
- AlarIT Virtual Serial Driver .IP (AVSD.IP) - 2.0 - http://www.sharewareisland.com/application.asp?FileId=4340
- SeaCOM - rozšíření ovladače sériového portu pro Windows 95/98/ME/NT/2000/XP i Linux http://www.sealevel.com/seacom6112/seacom6112.asp