8.1  Riešenie regulačných úloh pomocou počítačov

 

Port RS232

Parametre portu

Linky RS232

Programovanie sériového portu

Rozhranie s paralelnou zbernicou

 

    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).

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  

 

    

 

Port RS232    <  >

 

- 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

 

 

Parametre portu    <  >

 

- 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)

 

 

                

 

 

Linky RS232:    <  >

 

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,...