8.1 Riešenie regulačných úloh pomocou počítačov
Každá práca s PC je spojená s prenosom dát. Interne sa údaje prenášajú 16-, 32- bitov paralelne (16-, 32- bitová dátová zbernica). Mimo PC existuje sériový a paralelný prenos dát.
Najpoužívanejší port v oblasti techniky merania, riadenia a regulácie je RS232. Je jednoduchý, zabezpečený proti náhodnému zničeniu, skratuvzdorný, podporovaný takmer všetkými mikrokontrolérmi, pripojené zariadenia možno pripojovať a odpojovať za chodu PC. Zostal univerzálnym portom aj pod Windows (rozhranie API zabezpečuje prístup na RS232).
V modernej meracej technike dominujú mikrokontroléry (sú pružné).
Nový port PC – USB (Universal Serial Bus): je rýchlejší, umožňuje pripojiť väčší počet zariadení v zbernicovom systéme. (Oproti RS232 mu chýba zabezpečenie pripojených meracích prístrojov proti ich zničeniu). Existujú už prevodníky portov, pomocou ktorých možno na základe USB vytvoriť RS232.
Prognóza: - RS232 pre malé úlohy s neveľkým výskytom údajov
- USB pre rýchly prenos dát
- Sériový prenos: 1.) synchrónny: používa hodinovú linku, na ktorú sa pre každý
dátový bit posiela impulz, aby prijímaču označil platný dátový bit.
2.) asynchrónny: dátové bity sa prenášajú po blokoch
(najčastejšie 1 byte = 1B) v presne stanovenom časovom
rastry (8,33 ms = 10x833 ms). Pred prvým údajovým bitom sa
vyšle štartbit (833ms log.0) označujúci začiatok údajového
prenosu. Po 8 bitoch (údajových) nasleduje stopbit
(ľubovoľne dlhý log.1).
- prenosová rýchlosť je 1200 baud (1200 bit za sekundu).
- štartbit, každý údajový bit ® trvá 833,3ms
- stopbit trvá (ľubovoľne dlho) minim=alne 833,3ms ® najčastejšie (1x alebo 2x 833ms)
- prenos údajov: od najnižšej váhy...končí bit s najvyššou váhou
- napäťové úrovne: log.1 (mark)....-12V
log.0 (space)....+12V
- štartbit: log.0 (+12V)
- stopbit: log.1 (-12V) = pokojový stav linky
- prenosová rýchlosť: 50,75,110,300,600,1200,2400,4800,9600,19200,38400 baud
- dĺžka znaku: 8 bitov (7b, 6b, 5b)
- počet stopbitov(= dĺžka stopbitu): 1 alebo 2
- paritný bit (napr. párny paritný bit = 1, ak je súčet všetkých prenesených bitov párny)
Sériový port (RS232) na PC:
Každý PC má aspoň jeden sériový port (25- alebo 9-pólový konektor D-sub CANNON s kolíkmi): COM1, COM2, COM3, COM4.
(25-pólový konektor D-sub s dutinkami je paralelný port)
Vývod (25výv.) |
Vývod (9výv.) |
Vstup/ výstup |
Označenie |
Funkcie |
|
2 |
3 |
Výstup |
TXD (Transmit Data) |
Vysielané dáta |
|
3 |
2 |
Vstup |
RXD (Receive Data) |
Prijímané dáta |
|
4 |
7 |
Výstup |
RTS (Request To Send) |
Zapnúť vysielacie zariadenie |
|
5 |
8 |
Vstup |
CTS (Clear To Send) |
Pripravenosť k vysielaniu |
|
6 |
6 |
Vstup |
DSR (Data Set Ready) |
Pripravenosť k použitiu |
|
7 |
5 |
|
GND (Ground) |
Pracovná zem |
|
8 |
1 |
Vstup |
DCD (Data Carrier Detect) |
Úroveň prijímaného signálu |
|
20 |
4 |
Výstup |
DTR (Data Terminal Ready) |
Koncové zariadenie pripravené |
|
22 |
9 |
Vstup |
RI (Ring Indicator) |
Zvonček (prichádzajúce volanie) |
|
Jednoduchý sériový prenos
- GND (zem)
- TXD - vysiela
- RXD - prijíma
Linky typu dotaz - odpoveď (handshake) = riadiace linky
(príprava a potvrdzovaní prenosu dát) Þ priame riadenie
hardwaru
Výstupy:
- DTR
- CTS
Vstupy:
- CTS
- DSR
- DCD
- RI
Programovanie sériového portu < >
Každý sériový port RS232 je tvorený prvkom UART (Universal Asynchonous Receiver/ Transmitter) = univerzálny asynchrónny prijímač/vysielač a k nemu pripojenými linkovými vysielačmi a prijímačmi pre prevod medzi úrovňami TTL a úrovňami RS232.
Ak programujeme v Turbo-Pascale pod DOS – obracia sa na port bez prerušenia (IRQ Ü INT = interupt). napr. port[$ 3F9]: = 3 ; {vysielanie}
var w: byte; w:= port[$ 3F8]; {čítanie}
Ak programujeme pod Windows – výlučne cez prerušenia. Využíva sa rozhranie Win 32 – API (Application Programming Interface). Všetky prístupy na sériový port prebiehajú prostredníctvom niekoľkých volaní API orientovaných na správu dát:
Create File (...) otvorenie súboru alebo zariadenia
Close Handle (...) zatvorenie súboru alebo zariadenia
Read File (...) čítanie (príjem dát)
Write File (...) zápis (vysielanie dát)
Devicelo Control (...) vykonávanie špeciálnych funkcií ovládača
Programuje sa v Delphi, Visual Basic,....
Sériové vysielače a prijímače
Staršie verzie: 1.) VYSIELAČ: 555 (časovač) – vytvára hodinový signál + 4017
(dekadický čítač)
2.) PRIJÍMAČ: 4094 (posuvný register) – zachytáva údaje z RXD+
hodinový generátor + 4017 – riadi (počíta prenesené
bity
Moderné riešenie rozhrania:
Mikrokontrolérový UART ( príjem a vysielanie cez TXD, RXD, GND):
- mikrokontrolér = procesor, pamäť, časovač, V/V digitálne, sériový port (UART je už zabudovaný) → stačí iba naprogramovať
Rozhranie s paralelnou zbernicou < >
Principiálnou nevýhodou sériového portu je, že ide o spojenie medzi dvoma bodmi. Nedá sa na jednom sériovom porte použiť spoločne niekoľko zariadení naraz. Naopak zbernicový systém umožňuje ovládanie niekoľkých zariadení. Obvyklá je zbernica PCI na PC a používa sa plug and play → je zložitá. Príkladom jednoduchej zbernice je zbernicové rozhranie s mikrokontrolérom 8051:
Princíp:
- 8 paralelných dátových liniek
- 128 adries (27): A0 – A6
- WR = zápisový impulz
- RD = čítací impulz
- údaje možno čítať aj
zapisovať z každej adresy (cez
sériový port TXD, RXD, GND
= je spojenie medzi PC a zbernicou)
Konkrétne zapojenie:
- spolu s adresou sa
udáva(namiesto A7)
aj smer prenosu R/W
Vývod
Označenie
Funkcie
1...8
NC
Nepoužité
9
RST
Nulovací vstup
10
RXD
Sériový vstup
11
TXD
Sériový výstup
12...15
Y0...Y3
Dekódované adresné signály
16
WR
Zápisový impulz
17
RD
Čítací impulz
18...19
XTAL1,2
Vývody pre kryštál 11,059 MHz
20
GND
Zem
21...27
A0...A6
Adresné linky
28
R/W
Výstup smeru prenosu dát
29...30
NC
Nepoužité
31
Vcc
Napájacie napätie +5V
32...39
D7...D0
Dátové linky
40
Vcc
Napájacie napätie +5V
Paralelné zbernice vyžadujú adresný dekóder, ktorý vyhodnotí signály na adresných vodičoch a zapne určité prídavné zariadenie. Ak sú platné dáta na dátovej zbernici, adresný dekóder vydá signál (=chip select) → povolenie na pripojenie zariadenia, potom po príchode impulzu sa dáta skutočne prenesú.
Ale existujú aj jednoduché zariadenia (registre, D/A prevodníky...), ktoré majú iba jediný povolovací vývod (chip enabled) – nepotrebujú určovať smer toku dát.
Pripájanie zariadení
1.) 8255 (24V/V kanálov = 3 paralelné 8 – bitové porty: A, B, C)
použitie: spínacie stupne, DA prevodník, čítanie z pevných pamätí, riadenie krokových motorov, výstup údajov na 7- segmentový display, stráženie svetelných závor,...
2.) 8253 (3 16 – bitové zostupné čítače)
použitie: generátor obdlžníkového signálu, PWM signálov (impulzne šírkovo
modulované), meranie dĺžky impulzu, meranie frekvencie,...