Podobné dokumenty
USB komunikační adaptér RS virtuální sériový port ELO E215. Uživatelský manuál


Analýza dějů na rozhraní RS 232 C

PCU Procesorová jednotka. Příručka uživatele. Platí od výr. č Střešovická 49, Praha 6, s o f c o s o f c o n.

GSM modem TC35 Návod k instalaci a programování v1.1

Buffer 16kB pro sériovou linku RS232 s konverzí rychlosti, parity, počtu datových bitů a stopbitů

LD232. Prodloužení RS232. Sada k prodloužení linky RS232 až na 1200 m s galvanickým oddělením. 11. července 2011 w w w. p a p o u c h.

Rozhraní PC - Sériové a paralelní

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem


ELO E360ZK002. USB komunikační adaptér (FTDI) RS virtuální sériový port ELO E360. Uživatelský manuál

Miniaturní převodník RS-232 na proudovou smyčku ELO E00X. Uživatelský manuál

Wie232. Převodník rozhraní Wiegand z bezkontaktních čteček na RS června 2011 w w w. p a p o u c h. c o m

PIC PROGRAMÁTOR Milan Obrtlílk 4. ročník SŠPH Uh. Hradiště

USB komunikaèní modul RS-232, RS-422/485


M R 8 P % 8 P5 8 P& & %

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY

Cellular Engine XT55 SEA Board verze 1. Uživatelský návod. Verze 1.04

Zapojení vývodů. SPP Signal

červená LED 1 10k LED 2


OBSAH. Volitelný port RS232 UŽIVATELSKÝ MANUÁL

D DE = = + [ + D[ [ D = - - XY = = + -



Volitelný port RS232 UŽIVATELSKÝ MANUÁL


USB komunikační adaptér RS virtuální sériový port ELO E215. Uživatelský manuál

Použití sériových rozhraní (RS232 a USB) pro ovládání měřicích přístrojů

Rozhraní pro web s portem pro modem

Sběrnice a rozhraní. Josef Voltr


Řízení experimentu počítačem

systémový konektor Asus A-632

Převodník RS-232/485 s galvanickým oddělením rozhraní ELO E06A. Uživatelský manuál

TOUCH Operátorský panel. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n. c z

Rozšiřující modul pro BACnet přes Ethernet / IP a grafické Webové funkce

Selec4. Čtyřnásobný přepínač RS232. Přepínání řídicími signály RS232 nebo externími vstupy. 25. listopadu 2011 w w w. p a p o u c h. c o m v.

Asynchronní pevodník RS-232 /485 s automatickým ízením penosu a galvanickým oddlením rozhraní ELO E069. Uživatelský manuál

Rozšiřující modul pro BACnet přes Ethernet / IP a grafické Webové funkce

TC485. převodník RS232/RS485. malé, jednoduché provedení. galvanické oddělení. 3. července 2008 w w w. p a p o u c h. c o m 0041.



Rozšiřující modul pro BACnet přes Ethernet / IP a pro dálkový přístup

Komunikační adaptér USB - RS virtuální sériový port ELO E213. Uživatelský manuál

TECHNICKÉ ÚDAJE... 2 BEZPEČNOSTNÍ UPOZORNĚNÍ... 3 POPIS PŘÍSTROJE... 5 POUŽITÍ PŘÍSTROJE...



ROZHRANÍ 4 VSTUPŮ/VÝSTUPŮ. 4x OPTICKY ODDĚLENÉ LOG. VSTUPY 4x RELÉ SPÍNACÍ VÝSTUPY OVLÁDÁNÍ: LINKA RS232

Hardware Advant Controller 31 Inteligentní decentralizovaný automatizační systém

Fanless VESA Mini PC


HPS-120. Manuál nastavení bezdrátového modemu



enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

FOTOELEKTRICKÝ IZOLÁTOR SÉRIOVÉHO ROZHRANÍ RS-232

8,1 [9] [9] ± ± ± ± ± ± ± ± ±

PXE-CRS. Systémový řadič. Siemens Building Technologies Building Automation DESIGO PX-OPEN

LAN/RS-Port (VERZE 2)

Převodník WiFi RS232

USB komunikační adaptér (FTDI) RS virtuální sériový port ELO E360 Uživatelský manuál

9. Kompenzace účiníku u spínaných zdrojů malých výkonů


2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Převodník Ethernet RS232 s Modbus RTU / TCP routerem

Obvody a architektura počítačů. Sběrnice a rozhraní

Telemetrické systémy

Standardní rozhraní. Adaptér jako mezičlánek mezi periferiferií a mikroprocesorem

Komunikaní adaptér USB - RS virtuální sériový port ELO E213. Uživatelský manuál

Proudová smyčka je ideální pro přenos dat na nekvalitních vedeních na větší vzdálenosti.

CQ485. Opakovač a převodník linek RS485 a RS422. S aktivní i pasivní obnovou dat


ABB STOTZ-KONTAKT. 7.3 Návod k použití Hardware. Advant Controller 31. Inteligentní decentralizovaný automatizační systém



PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

Převodník sériového rozhraní SLC-67/73/74

Přednáška UART, RS232, 422, 485


Převodníky rozhraní RS-232 na optický kabel ELO E240, ELO E241, ELO E242. Uživatelský manuál


Převodník USB na RS232. Milan Horkel

4.2 Paměti PROM NiCr. NiCr. Obr.140 Proudy v naprogramovaném stavu buňky. Obr.141 Princip PROM. ADRESOVÝ DEKODÉR n / 1 z 2 n

Převodník RS232 RS485


Sběrnice používané pro sběr dat

Asynchronní převodník RS 232/422 s galvanickým oddělením rozhraní ELO E0CE. Uživatelský manuál

Rozhraní pro web s portem Ethernet

MEK1 - Modul externí komunikace RS-232 / MODBUS_RTU.

Převodník sériových rozhraní RS-232 / 20mA ELO E00Q. Uživatelský manuál

Základní normalizované datové přenosy


Novinky u zařízení pro sériovou komunikaci. Michal Kahánek

POKLADNÍ DISPLEJ LCD. hotline: strana 1

!" " #! "# #$! % " &" následujících podmínek: 1. Celý text musí být kopírován bez úprav a se zahrnutím všech stránek. 2. '&!


HW DECT Family Funkční souprava DECT/FHSS RS232 "Unbuilt Kit" HW DECT Family Advanced Radio Telemetry

TECOMAT TC700 ZÁKLADNÍ DOKUMENTACE K SUBMODULU. MR-0155 a MR vydání 3. - listopad 2005

Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

2 SÉRIOVÝ PORT COM Døíve než se pustíme do vlastního objasòování, jak napsat program pro obsluhu sériového portu, bude nutné si nejdøíve vyèerpávajícím zpùsobem popsat jeho hardwarové vlastnosti Vlastní obvod pro sériovou komunikaci tvoøí zpravidla obvod UART 8250, a to u starších typù poèítaèù, nebo obvod 82550 u novìjších typù Jádro tohoto obvodu pro sériovou komunikaci mùže být obsaženo i v jiných èipech, které jsou použity pro øešení hardwaru paralelních i sériových portù najednou Hovoøíme-li však o sériovém rozhraní COM, musí tyto definované vlastnosti obvod realizující sériové rozhraní obsahovat 2 1 Popis hardwaru sériového portu Signály na rozhraní sériového portu mùžeme rozdìlit z hlediska své funkce do dvou skupin První skupinu tvoøí signály pro vlastní sériový pøenos dat, a to signál pro vysílání dat (TxD) a signál pro pøíjem dat (RxD) Druhou skupinou jsou tzv signály modemu sériového rozhraní Tyto signály pøenášejí informaci o stavu vysílaèe a pøijímaèe sériových dat Pøenáší informace pøi navazování spojení a zároveò se používají pro øízení vlastního pøenosu dat Jsou to signály (RTS, CTS, DSR, DTR) Zvláštním signálem je signál DCD, který pøenáší informaci o navázání Obr 2 1 A 2 SÉRIOVÝ PORT COM 9

spojení Zapojení 9pinového konektoru CANNON sériového portu je vyobrazeno na obr 2 1 Vlastní princip sériové komunikace si popíšeme v následující kapitole 2 2 Princip sériové komunikace Pøi vysílání znaku jsou data nahrána z registru Transmiter Holding Register do posuvného registru vysílaèe a bit po bitu posílána na výstup jako signál TxD Struktura pøenášeného byte je znázornìna na obr 2 2 UiPHFSURE\WH '$7$%<7( '$7$%<7( 67$57%,7 3$5,7<%,7 67236%,76 Obr 2 2 Struktura pøenášeného byte Jak je z obr 2 1 zøejmé, kromì datové informace, která mùže mít rùznou délku, jsou s každým znakem vysílány i informace synchronizaèní, protože jde o tzv asynchronní pøenos dat Každý rámec oznámí svùj zaèátek pøijímaèi nízkou úrovní L signálu TxD Toto se nazývá START BIT Po uplynutí start bitu následují bity datové Poèet tìchto bitù se mùže pohybovat od 5 do 8 Po odvysílání datových bitù mùže (ale nemusí) následovat tzv paritní bit, který slouží pro kontrolu chyb sériového pøenosu Posledními vysílanými bity jednoho rámce jsou STOP BITY, které rámec ukonèují Poèet tìchto stop bitù mùže být jeden, jeden a pùl nebo dva Stop bit má proti start bitu vysokou úroveò H Jakmile se tato vysoká úroveò zmìní v nízkou, považuje to pøijímaè za start bit dalšího rámce Pøijímaè pøi sériové komunikaci oèekává pøijímané bity jako signál RxD a ve svém posuvném registru z nich skládá pøijatý znak Nìkteré obvody UART vzorkují vstup RxD ètyønásobnou rychlostí a provádìjí vyhodnocení odebraných vzorkù na principu pravdìpodobnosti dva ze tøí Tím jsou eliminovány krátké poruchy nebo rušení v pøenosu dat Pøijatý signál RxD je ukládán do posuvného registru a postupnì je z nìho skládán pøijatý znak Ten po pøijetí jeho posledního bitu uloží rámec do registru Receiver Buffer Register, ze kterého je poté odebrán k dalšímu zpracování 10 VÁCLAV VACEK SÉRIOVÁ KOMUNIKACE VE WIN 32 A

Poèet datových bitù, pøítomnost paritního bitu, typ parity, poèet stop bitù a rychlost pøenosu dat, tedy dobu existence 1 bitu na pøenosové lince lze nakonfigurovat a jak se to udìlá, si vysvìtlíme pøi vlastním objasòování tvorby programu obsluhy sériového portu 2 3 Signály modemu sériového portu Jak již bylo výše øeèeno, signály modemu se používají pøi navazování spojení i pøi vlastním datovém pøenosu U vlastní asynchronní sériové komunikace není nezbytnì nutné tyto signály využívat, ale nìkteré aplikace èi hardwarové periferie používání tìchto signálù vyžadují Mezi tato zaøízení patøí i telefonní datový modem Signály modemu sériového portu tvoøí vždy dvojice pro daný typ aktivity Signály '75 a '65 se používají k navázání spojení, zatímco signály 576 a &76 se používají pro øízení vlastního pøenosu dat: '75 data terminal ready PC modem PC je svolné k pøipojení, deaktivace tohoto signálu pøeruší spojení '65 data set ready modem PC modem je pøipraven spojit se s PC 576 request to send PC modem PC je pøipraveno vysílat &76 clear to send modem PC modem je pøipraven pøijmout další data '&' data carrier detect modem PC modem zachytil nosnou vysílanou PC 5, ring indicator modem PC nìkdo volá a chce se spojit Pøi navazování spojení jsou využívány signály '65 a '75 Svou pøipravenost spojit se s PC dává modem najevo signálem '65 Svou pøipravenost pøipojení k modemu dává PC modemu najevo signálem '75 Datový telefonní modem pøi deaktivaci signálu '75 zpravidla pøeruší spojení, ale tuto funkci je možné u nìkterých typù modemu zablokovat Svou pøipravenost k vysílání dává PC modemu najevo signálem 576 To že je modem pøipraven pøijmout data z PC dává modem najevo signálem &76 Není-li tento signál aktivní, nesmí PC odesílat do modemu žádná data, jelikož by došlo k jejich ztrátì Signálem '&' dává modem PC najevo, že bylo navázáno spojení, a že je možné zapoèít datovou komunikaci Nastal-li pøípad, že navázané spojení mezi modemy bylo pøerušeno, signál '&' pøestane být aktivní a spojení je nutné navázat znovu A 2 SÉRIOVÝ PORT COM 11

Posledním signálem RI modem dává PC najevo, že nìkdo požaduje spojení Jde o tzv indikaci vyzvánìní Na závìr je ještì nutné podotknout, že u signálu modemu platí, že jsou aktivní pøi nízké úrovni L, a proto jsou v textu oznaèeny jako negované Tímto jsme uzavøeli kapitolu popisu sériového portu COM, a to z hlediska významu a funkce jednotlivých signálù, a jako další bude nutné popsat vybrané procedury a datové struktury používané pøi programování obsluhy sériového portu 12 VÁCLAV VACEK SÉRIOVÁ KOMUNIKACE VE WIN 32 A

6 POPIS PROSTØEDKÙ TAPI TELEFONNÍHO MODEMU Seznam vybraných funkcí TAPI pro obsluhu telefonního modemu: DEVICECONFIG 82 MODEM_INFO 83 linecallbackfunc 84 LINECALLINFO 85 LINECALLPARAMS 88 lineclose 90 LINEDEVCAPS 91 linedeallocatecall 93 linedrop 94 linegetcallinfo 95 linegetdevcaps 96 linegetdevconfig 97 linegetid 98 lineinitialize 99 linemakecall 100 linenegotiateapiversion 101 lineopen 102 linesetdevconfig 104 lineshutdown 105 A 6 POPIS PROSTØEDKÙ TAPI TELEFONNÍHO MODEMU 79

DEVICECONFIG Kategorie: Struktura Definice: typedef struct device_config_tag { VARSTRING vs; DWORD dwsize; DWORD dwversion; WORD fwoptions; WORD wwaitbong; COMMCONFIG commconfig; } DEVICECONFIG, FAR *LPDEVICECONFIG; Popis: Struktura komplexnì popisující nastavení komunikaèního rozhraní místního modemu Je použita pøi volání funkcí linegetdevconfig a linesetdevconfig pøi zjiš ování a nastavování parametrù sériového portu místního modemu V parametru tìchto funkcí je pøetypována na promìnný øetìzec typu VARSTRING Parametry: vs Promìnná typu VARSTRING obsahující popis konstrukce a velikost dat ve struktuøe dwsize Absolutní velikost struktury sestavené promìnným øetìzcem typu VARSTRING dwversion Promìnná identifikující verzi konstrukce struktury fwoptions Øídicí parametr dat ve struktuøe wwaitbong Není použit, musí být 0 commconfig Promìnná typu COMMCONFIG obsahující strukturu typu DCB s nastavením sériového portu místního modemu 80 VÁCLAV VACEK SÉRIOVÁ KOMUNIKACE VE WIN 32 A

MODEM_INFO Kategorie: Struktura Definice: typedef struct modem_info_tag { VARSTRING vs; HANDLE hcomm; char szdevicename[255]; } MODEM_INFO, FAR *LPMODEM_INFO; Popis: Struktura obsahující informace pøedávané prostøedím TAPI o modemu, který zprostøedkovává spojení Struktura je naplnìna daty voláním funkce linegetid Parametry: vs Promìnná typu VARSTRING obsahující popis konstrukce a velikost dat ve struktuøe hcomm Handle pro pøístup k sériovému portu modemu, který zprostøedkovává spojení szdevicename Øetìzec obsahující název modemu, který zprostøedkovává spojení A 6 POPIS PROSTØEDKÙ TAPI TELEFONNÍHO MODEMU 81

linecallbackfunc Kategorie: Funkce Syntaxe: VOID FAR PASCAL linecallbackfunc( DWORD hdevice, DWORD dwmsg, DWORD dwcallbackinstance, DWORD dwparam1, DWORD dwparam2, DWORD dwparam3 ); Popis: Funkce linecallbackfunc je pøedloha pro definici funkce obsluhy reakcí na události generované prostøedím TAPI pøi obsluze telefonního modemu Parametry: hdevice Handle pro identifikaci linky nebo objektu volání, požadující obsluhu reakce na událost Parametr musí být typu DWORD, protože typ HANDLE by mohl generovat chybu dwmsg Parametr specifikující typ obsluhované události dwcallbackinstance Tento parametr není v TAPI použit dwparam1 Parametr zprávy dwmsg dwparam2 Parametr zprávy dwmsg dwparam3 Parametr zprávy dwmsg Návratová hodnota: Funkce nemá návratovou hodnotu 82 VÁCLAV VACEK SÉRIOVÁ KOMUNIKACE VE WIN 32 A

LINECALLINFO Kategorie: Struktura Definice: typedef struct linecallinfo_tag { DWORD dwtotalsize; DWORD dwneededsize; DWORD dwusedsize; HLINE hline; DWORD dwlinedeviceid; DWORD dwaddressid; DWORD dwbearermode; DWORD dwrate; DWORD dwmediamode; DWORD dwappspecific; DWORD dwcallid; DWORD dwrelatedcallid; DWORD dwcallparamflags; DWORD dwcallstates; DWORD dwmonitordigitmodes; DWORD dwmonitormediamodes; LINEDIALPARAMS DialParams; DWORD dworigin; DWORD dwreason; DWORD dwcompletionid; DWORD dwnumowners; DWORD dwnummonitors; DWORD dwcountrycode; DWORD dwtrunk; DWORD dwcalleridflags; DWORD dwcalleridsize; DWORD dwcalleridoffset; DWORD dwcalleridnamesize; DWORD dwcalleridnameoffset; DWORD dwcalledidflags; DWORD dwcalledidsize; DWORD dwcalledidoffset; DWORD dwcalledidnamesize; DWORD dwcalledidnameoffset; DWORD dwconnectedidflags; DWORD dwconnectedidsize; DWORD dwconnectedidoffset; DWORD dwconnectedidnamesize; DWORD dwconnectedidnameoffset; A 6 POPIS PROSTØEDKÙ TAPI TELEFONNÍHO MODEMU 83

linesetdevconfig Kategorie: Funkce Syntaxe: LONG linesetdevconfig( DWORD dwdeviceid, LPVARSTRING lpdeviceconfig, DWORD dwsize, LPCSTR lpszdeviceclass ); Popis: Funkce uloží informace o aktuálním nastavení pøenosových vlastností vybraného linkového zaøízení z pamì ového bloku typu VARSTRING do prostøedí TAPI Parametry: dwdeviceid Identifikace popisovaného linkového zaøízení lpdeviceconfig Ukazatel na pamì ový blok typu VARSTRING ve kterém je uložena struktura typu DEVICECONFIG popisující aktuální nastavení linkového zaøízení dwsize Velikost alokovaného prostoru promìnné VARSTRING obsahující strukturu DEVICECONFIG lpszdeviceclass Øetìzec popisující tøídu linkového zaøízení V našem pøípadì to musí být comm/datamodem Návratová hodnota: Probìhla-li funkce bez chyby, pak je její návratová hodnota rovna 0 Pøi výskytu chyby je návratová hodnota rùzná od nuly a význam chyby zjistíme ze seznamu konstant LINEERR_ Constants, který je souèástí manuálu Windows SDK 102 VÁCLAV VACEK SÉRIOVÁ KOMUNIKACE VE WIN 32 A

lineshutdown Kategorie: Funkce Syntaxe: LONG lineshutdown( HLINEAPP hlineapp ); Popis: Funkce zlikviduje zinicializované prostøedí TAPI Parametry: hlineapp Handle aplikací použitého prostøedí TAPI Návratová hodnota: Probìhla-li funkce bez chyby, pak je její návratová hodnota rovna 0 Pøi výskytu chyby je návratová hodnota rùzná od nuly a význam chyby zjistíme ze seznamu konstant LINEERR_ Constants, který je souèástí manuálu Windows SDK A 6 POPIS PROSTØEDKÙ TAPI TELEFONNÍHO MODEMU 103