Sunteți pe pagina 1din 69

BPB – Curs 6

Sisteme de achiziţii
Interfaţarea

Procesul de transformare

Parametri continue şi discrete Variabile continue şi discrete

Actuatori Senzori

DAC ADC
Computer
Controller
Dispozitive de ieşire Dispozitive de
intrare
Interfaţare prin intermediul
calculatorului personal (PC)

 Selectarea şi construirea unui sistem de achiziţii şi


control (DA&C) care face ceea ce i se cere
necesită cunoştinţe de inginerie electrică şi
programare:
 • Traductoare şi actuatore
 • Pregătirea semnalului
 • Echipamente pentru achiziţie şi control
 • Software
Sisteme de achiziţii
Un sistem de achiziţii este constituit din mai
multe componente care sunt integrate să:
 Simtă variabilele fizice (traductoare)
 Pregătească semnalul electric pentru un
convertor A/D
 Convertească semnalul întrun format
numeric acceptat de computer
 Proceseze, analizeze, stocheze şi afişeze
informaţia dobândităcu ajutorul unui
program
Sisteme de achiziţii
Diagrama
Achiziţia de informaţii
 Echipamentele de achiziţie şi control
efectuează unul sau mai multe din
următoarele operaţii:
◦ Intrare analogică,
◦ Ieşire analogică,
◦ Intrare digitală,
◦ Ieşire digitală
◦ Funcţii de numărare/cronometrare.
Intrări analogice(A/D)

 Conversia analog digitală (A/D) modifică nivelul


tensiunii sau curentului întro informaţie digitală.
Conversia este necesară pentru a permite
calculatorului să proceseze sau stocheze informaţia.
Intrări analogice(A/D)
 Cele mai importante criterii în selecţia unui
echipament A/D sunt:
◦ 1. Numărul canalelor de intrare
◦ 2. Semnale de intrare simple sau diferenţiale
◦ 3. Rata de eşantionare
◦ 4. Rezoluţia
◦ 5. Domeniul de intrare
◦ 6. Zgomot şi neliniaritate
ADC:
Semnalul de intrare

 Analogic
Semnalul este continuu
Exemplu: senzor de forţă.

 Digital
 Semnalul este fie ON or OFF
Exemplu: întrerupătorul.
Ieşirile analogice(D/A)
Softul de achiziţii
 Poate fi factorul cel mai critic în obţinerea operaţilor
sigure şi de performanţă sporită.
 Transformă PCul şi echipamentul DAQ întrun
sistem complet de analiză şi afişare.
 Alternative:
◦ Software programabil.
◦ Pachete de software pentru sisteme de achiziţii.
Software programabil
 Implică utilizarea limbajelor de programare,
precum:
◦ C++, visual C++
◦ BASIC,Visual Basic + Add-on tools
◦ Fortran
◦ Pascal
◦ Matlab
 Avantaj: flexibilitatea
 Dezavantaj: complexitate şi o curbă de învăţare
abruptă
Software pentru
sistemele de achiziţii

 Nu necesită programare.
 Permit dezvoltatorilor să realizeze
instrumente care să se preteze proprilor
aplicaţii.
Exemple: TestPoint, SnapMaster, LabView,
DADISP, DASYLAB, etc.
Designul unui sistem de achiziţii:
Factori de luat în considerare

 Aplicaţiaeste fixă sau mobilă?


 Tipul semnalelor de intrare/ieşire: digital ori analogic?
 Frecvenţa semnalului de intrare ?
 Rezoluţia, domeniul?
 Operaţie continuă?
 Compatibilitate între hardware şi software.
 Preţul.
Interfaţare prin intermediul
calculatorului personal (PC)
 Serial
 Paralel
 USB
 IEEE 1394
 Wireless
 Infrared
 Radio
Porturi şi conectoare
Despre baza hexazecimală
decimal value binary value hex value
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 a
11 1011 b
12 1100 c
13 1101 d
14 1110 e
15 1111 f
Hexazecimal, continuare
 Esenţial este recunoaşterea pachetelor de 4
biţi, 8 biţi fiind uşor de convertit:
◦ 01100001 este 0x61
◦ 10011111 este 0x9f
 Codul ASCII este construit în jurul
sistemului hexa:
◦ ‘A’ este 0x41, ‘B’ este 0x42, …, ‘Z’ este 0x5a
◦ ‘a’ este 0x61, ‘b’ este 0x62, …, ‘z’ este 0x7a
◦ ‘^A’ (control-A) este 0x01, ‘^B’ este 0x02, ‘^Z’
este 0x1A
◦ ‘0’ este 0x30, ‘9’ este 0x39
Schimbul de informaţii
 Paralel: Rapid şi costisitor bit 0
◦ dispozitivele A, B sunt simple, dar bit 1
conectica este dificilă bit 2
◦ alertă prin pulsaţii la statutul de bit 3
“data valid” Dispozitiv bit 4 Dispozitiv
A bit 5 B
bit 6
bit 7
puls

• Serial: Încet şi ieftin


– Dispozitivul A şi B trebuie să
convertească între serial/paralel Dispozitiv data Dispozitiv
A B
Portul paralel
 Scop primar drept port de imprimantă la PC
◦ denumire LPTx: line printer
◦ de obicei LPT1
 8 biţi de date
◦ cu alertă prin pulsaţii pentru a semnala validitatea informaţiilor
◦ viteză mare (1 Mbit/sec)
 Alţi biţi de control şi status pentru comunicare communication

Informaţie validă

Informaţia rămâne neschimbată pentru un interval de timp


http://www.beyondlogic.org/index.html#PARALLEL
Portul paralel Port paralel
pin
D0 - D7 D0
2
Data
Port 378 Registru D7
9

ERROR
15

SLCT
Status 13
Reg. PE
12
Port 379 ACK
10
BUSY
11
IRQ7
IRQ EN
STROBE
1
Port 37A
Control AUTO FD
Reg. 14
INIT
16
SLCT IN
17
Portul paralel
D7 D6 D5 D4 D3 D2 D1 D0

13 12 11 10 9 8 7 6 5 4 3 2 1

25 24 23 22 21 20 19 18 17 16 15 14

S7 S6 S5 S4 S3

C3 C2 C1 C0
Pini Port Paralel
Accesul la portul paralel
 Majoritatea PCurilor au un conector
femelă DB-25 Port serial
 De obicei adresa de memorie este port paralel
0x378
 Windows 98 şi anterior, a permis o
comunicare facilă
◦ după aceasta este nevoie de HAL
(hardware-abstraction layer) lucru care
îngreunează accesul
◦ o soluţie este inducerea în eroare a
calculatorului crezând că se foloseşte o
imprimantă, prin legarea pinilor 11 şi 12
la masă.
 Foarte uşor sub Linux
◦ Acces direct la toţi pinii
Comunicarea serială
 Majoritatea PCurilor au o mufă DB9
mascul pentru comunicare asincronă
RS-232
◦ De obicei COM1 pe PC
 În majoritatea cazurilor este
suficientă utilizarea a 2-3 fire pentru
conexiune
◦ masă (pin 5) şi Rx sau Tx (pin 2 şi 3)
 Există şi alte controale, dar sunt rar
folosite
 Informaţia este transmisă bit cu bit,
cu protocoale care specifică modul
de reprezentare a informaţiei
 Înceată (de obicei 9600 biţi/sec)
Importanţa sincronizări
 Cu liniile de clock şi data separate, transmiţătorul oferă receptorului sincronizarea
pe un semnal şi informaţia pe alt semnal
 Neceesită două semnale (clock şi data): poate fi costisitor
 Valorile de Data pot fi arbitrare (nu există restricţii)
 Este utilizat de interfeţele locale: V.35, (sincron) EIA-232, HSSI, etc.
 Cu creşterea distanţei şi/sau vitezei creşte defazajul dintre ceas/informaţie
distrugându-se sincronizarea

eşantion de
clock

clock

Timpi de
eşantionare centraţi
în biţi de informaţie
data

timp
Fără ceas:
unde este informaţia?
• Majoritatea semnalizărilor la distanţă, de viteze ridicate sau ieftine, sunt
autosincronizate: nu există ceas; receptorul recuperând ceasul din semanl
• Receptorul cunoaşte rata nominală a informaţiei, dar necesită tranziţii în
semnal pentru a localiza biţii şi a interpola punctele de eşantionare.
• Două metode generale:
– Asincronă: informaţia este trimisă în blocuri scurte numite cadre
– Sincronă: flux continuu de biţi
• Receptorul urmăreşte în continuu sincronizarea,
• Urmărirea necesită o densitate de tranziţie suficientă în întreg fluxul de informaţie
• Folosită în DSLs, DS1 (T1), DS3, SONET, Ethernets, etc.
tranziţii localizare
informaţie
data

time
Eşantionae de timp interpolate (centrul biţilor)
Asincron
 Asynchronous
◦ Termen tehnic care semnifică “atunci când am chef”
 Bitul Start este întotdeauna 0. Bitul de Stop este întotdeauna 1.
 Linia “inactiv” între byte este în stare de “1”.
 Acest lucru garantează o tranziţie de la 1 la 0 la începutul fiecărui byte
 După muchia de început al bitului de start, dacă se cunoaşte rata de
transfer, se pot depista toţi biţii din byte
Tranziţia
localizează un byte
informaţia
inactiv inactiv
1

bit 5
bit 0

bit 1

bit 2

bit 3

bit 4

bit 6

bit 7
start

stop
0
timp Eşantioane de timp interpolate(centrul biţilor)
Se poate comunica?
ASCII “A” = 0x41
inactiv 9600, 8N1 inactiv

bit 5
bit 0

bit 1

bit 2

bit 3

bit 4

bit 6

bit 7
start

stop
1 bit @ 9600 bps = 1/9600 sec
 Dacă cădem de acord asupra 4 parametri ai comunicării asincrone :
◦ Rata de transfer: viteza cu care sunt trimişi biţii, în biţi pe secundă (bps)
◦ Numărul de biţi de informaţie: biţi de informaţie în fiecare byte; de obicei 8
 În trecut 7
◦ Paritate: o metodă de detecţie a erorii: None, Even, Odd, Mark, Space
◦ Biţi de Stop : numărul de biţi de stop în fiecare byte; de obicei 1.
 Rar 2 sau (şi mai rar) 1.5: doarun timp de aşteptare minim: poate fi nedefinit

inactiv 9600, 7E2 inactiv

stop 1

stop 2
parity
bit 0

bit 3
bit 1

bit 2

bit 4

bit 5

bit 6
start
RS-232: implementare
 RS-232 este o specificţie electrică (fizică) pentru comunicare
◦ Status inactiv, or “mark” este logic 1;
 5 to 15 V (12 V) la transmitere
 3 to 25 V la recepţie
◦ Status “space” este logic 0;
 +5 to +15 V ( ~12 V) la transmitere
 +3 to +25 V la recepţie
◦ Zona moartă este între 3 V şi +3 V (status nedeterminat)
 De obicei folosit în mod asincron
◦ Este inactiv la 12; sare la +12; bit de stop la 12
◦ Deoarece fiecare pachet este încadrat de biţi de start/stop, se
garantează o tranziţie la start
◦ paritatea (dacă se utilizează) funcţionează astfel:
 Paritate pară garantează un număr par de 1 în trenul de impulsuri
 Paritate impară garantează un număr impar de 1 în trenul de impulsuri
GPIB (IEEE-488)
 Magistrală (BUS) pe 8-biţi paralel care permite
conecatra a până la 15 dispozitive la acelaşi port al
unui computer
◦ Adresarea fiecărei maşini (prin meniu sau dip-switch)
determină cine este cine
◦ Se pot concatena conectorii, fiecare cablu 2 m sau mai
puţin
 Protocoale îndelungate de handshaking controlează
terminalul
◦ computerul controlează cine comunică şi cine ascultă
 Există multe echipamente de test dotate cu GPIB
◦ Metodă comună de a controla experimentul: posiţionarea
detectorilor, măsurare sau setaretensiune/curent, etc.
 Poate fi resonabil de rapid (1 Mbit/sec)

31
Achiziţia de date
 O placă de achiziţii pe PCI pentru
colectarea de informaţii este foarte
utilă
 În figură (National Instruments PCI-
6031E) placa deţine:
◦ 64 de cancale analogice de intrare, 16
biţi
◦ 2 ieşiri analogice, DACuri pe 16 biţi
◦ 8 intrări/ieşiri digitale
◦ Rata de eşantionare 100,000
◦ Timere on-board, numărătoare
 Se recomandă placă/carcasă de
conectare
CAMAC
 O interfaţă cu sertare “rack” în care sunt introduse
modulele care execută sarcini specifice
◦ Conversie A/D
◦ Convertoare timp-digital
◦ Generatoare de puls
◦ Măsurare de sarcină
◦ amplificatoare
◦ Generatoare de întârziere
 De obicei sunt utilizate în experimente cronometrate,
ca şi fizică nucleară: detectarea evenimentelor,
generare de semnal, ,ăsurarea puterii, etc.
 Deseori, modulele sunt multiplexate (16 chanale per
card)
Rack CAMAC şi plăci

34
Caracteristici CAMAC
 Cuvinte pe 16-biţi (mai nou 24-biţi)
 Ciclu de comandă în 2 s  8 Mbit/sec
 Intrerupătoare Look-At-Me (LAM) pentru
evenimente
 Commanda urmăreşte secvenţa N.A.F.: număr
slot, addresa, funcţia
◦ se pot adresa module specifice prin nume/poziţie
◦ Valorile A şi F efectuează sarcini definite de module
◦ A se referă la numărul de canal pe un dispozitiv
multiplexat
◦ F poate indica o citire, o scriere, un reset, sau altă
acţiune
Interfatarea prin intermediul
microcontrolerului (µC)

Senzor Microcontroler Actuator


Ecran
μC=Computer simplificat
Computerul simplificat
 Set de intrucţiuni
◦ CISC: Complex Instruction Set Computer
◦ RISC: Reduced Instruction Set Computer

 Tipuri de memorii
◦ Volatile: Random Access Memory (RAM)
◦ Non-volatile: Read Only Memory (ROM)
Computere Von Neumann şi
Harvard
Microcontrolere

De la stânga la dreapta: PIC 12F508, PIC 16F84A,


PIC 16C72, Motorola 68HC05B16, PIC 16F877,
Motorola 68000
Computerul simplificat
 Set de intrucţiuni
◦ CISC: Complex Instruction Set Computer
◦ RISC: Reduced Instruction Set Computer

 Tipuri de memorii
◦ Volatile: Random Access Memory (RAM)
◦ Non-volatile: Read Only Memory (ROM)
Instrumentele necesare pentru un
microprocesor / controler
 CPU: Central Processing Unit
 I/O: Input /Output
 Bus: Address bus & Data bus
 Memory: RAM & ROM
 Timer
 Interrupt
 Serial Port
 Parallel Port
Microprocesor:
Microprocesorul de uz general
 CPU pt computere
 Nu are RAM, ROM, I/O pe chipul CPU
 Exemple:Intel x86, Motorola 680x0

Data Bus Mai multe chipuri pe un sistem


CPU
Microproce
sorul de uz Serial
RAM ROM I/O Timer
general COM
Port
Port

Address Bus

Sistemul cu microprocesor de uz general


Microcontrolerul :
 Un computer mic
 Are RAM, ROM, porturi I/O...
 Exemple: Motorola 6811, Intel 8051, Zilog Z8, PIC 16X

CPU RAM ROM


Un singur chip
Serial
I/O Timer COM
Port
Port
Microcontroler
Microprocesor vs. Microcontroler
Microprocesor Microcontroler
 CPU este de sinestătător, • CPU, RAM, ROM, I/O şi
RAM, ROM, I/O, timer sunt timer sunt pe un singur chip
separate • Cantităţi fixe pe chip de ROM,
 designerul decide cantitatea de RAM, porturi I/O
ROM, RAM şi porturi I/O. • Pentru aplicaţii în care costul,
 costisitor puterea şi spaţiul sunt critice
 versatil • cu un singur scop
 De uz general
Programarea microcontrolerelor
 Limbaj masina/Assembler
 Interpretoare (Java, ...)
 Compilatoare (C, C++, ...)
 Logica Fuzzy şi reţele neuronale.
Unelte de Dezvoltare
 Simulatoare
 Debugger-e
 Emulatoare
Memoria
 Dispozitive de stocare
◦ Adrese
◦ Registri
 Categorii majore
◦ Read/Write Memory
(R/W)
◦ Read-only-Memory
(ROM)

D7 D0

48
Input/Output (I/O)
 Dispozitive de intrare
◦ Întrerupătoare şi tastaturi
◦ Oferă informaţie binară pentru MPU
 Dispozitive de ieşire
◦ LEDuri şi LCDuri
◦ Primeşte informaţie binară de la MPU
Sisteme bazate pe MPU
Arhitectura MPU
 MPU comunică cu memoria şi I / O
folosind magistrala sistemului
◦ Magistrala de adrese
 Unidirecţională
 Adrese de memorie şi I/O
◦ Magistrala de date
 Bidirecţională
 Transferă informaţie binară şi instrucţiuni
◦ Linii de control
 Semnale de citire/scriere cronometrate
Exemplu de sistem bazat pe MPU
Software
 Cod maşină
◦ Instrucţiuni binare
◦ Dificil de descifrat şi scris
 Predispus la erori
◦ Toate programele sunt convertite in limbaj
maşină pentru execuţie
Instructio Hex Mnemonic Description Processor
n
10000000 80 ADD B Add reg B to Acc Intel 8085
00101000 28 ADD A, R0 Add Reg R0 to Acc Intel 8051
00011011 1B ABA Add Acc A and B Motorola 6811
330_01 53
Software
 Limbaj de asamblare
◦ Instrucţiuni cod maşină reprezentate prin
mnemonice
◦ Corespondenţă unu-la-unu
◦ Utilizare a memoriei şi execuţie eficientă
◦ Specific fiecărei maşini în parte
Software
 Limbaje avansate
◦ BASIC, C, C++
◦ Scris în declaraţii ale limbajului vorbit
◦ Independent de maşină
◦ Uşor de scris şi depanat
◦ Memorie suplimentară şi execuţie mai puţin
eficientă

55
Sisteme bazate pe MCU
 Include microprocesor, memorie, porturi I
/ O, şi dispozitive de sprijin (cum ar fi
cronometre), pe un singur cip
semiconductor
 Magistralele nu sunt, în general, disponibile
la un designer de sistem
 Porturile I / O sunt, în general,
multiplexate şi pot fi programate pentru a
efectua diferite funcţii
56
PIC 16F877
PIC 16F877
8 kbytes of FLASH Program Memory
368 bytes of Data Memory (RAM)
256 bytes of EEPROM Data Memory
33 input or output pins
20 MHz operating speed(200 ns instruction cycle)
Max. 25 mA current from an output pin
Programarea PIC 16F877
Assembler (MPLAB)
Basic (Pic Basic Pro)
C (HITEC PICC)

Port Paralel
Port Serial
Circuit minim pentru PIC16F877
Pulsator LED (light emitting diode)

LOOP:
HIGH PORTB.0
PAUSE 500
LOW PORTB.O
PAUSE 500
GOTO LOOP
BUTON

INPUT PORTD.2
LOOP:
IF PORTD.2=1 THEN
HIGH PORTB.O
ELSE
LOW PORTB.0
ENDIF
GOTO LOOP
Sunete
 Generarea sunetelor
În sistemele cu microcontroler, beep-ul este folosit pentru a indica
anumite evenimente, cum ar fi simpla apăsare a unui buton sau o
eroare. Pentru a avea beeper-ul pornit, acesta trebuie să fie primească
un şir de caractere în cod binar - în acest fel, puteţi crea sunete în
funcţie de nevoile dumneavoastră. Conectarea beeper-ul este destul
de simplu: PIN-ul este conectat la o masa, iar celălalt la PIN-ul
microcontroler printr-un condensator, aşa cum se arată în
următoarea imagine.

63
Afişaj 7 segment
 Pentru a produce pe ecran un 4, 5 sau 6, toate cele 7 segmente sunt conectate în paralel. Linia comună (linia catodului
comun) este luată în mod separat şi această linie este luată jos pentru o perioadă scurtă de timp pentru a porni pe
ecran Fiecare afişaj este activat la o rată de peste 100 de ori pe secundă,. Şi va apărea că toate afişajele sunt pornite în
acelaşi timp.

64
LCD
DEFINE OSC 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

LCDOUT 254,1, "MERHABA"


LCDOUT 254,192,"2x16 LCD"

END
ADC
Format: ADCIN Channel,Var

Sample Program:

ABC VAR BYTE


ADCON1 = 2 ' PORTA is
analog

INPUT PORTA.0

LOOP:
ADCIN PORTA.0,ABC
LCDOUT 254,1,#ABC
PAUSE 100
GOTO LOOP
Pulse Width Modulation (PWM)
Format:
HPWM Channel,Dutycycle,Frequency
Program exemplu:

DEFINE CCP1_REG PORTC'Hpwm 1 pin port


DEFINE CCP1_BIT 2 'Hpwm 1 pin bit
HPWM 1,64,1000
' Trimite un ciclu PWM de 25% la 1kHz
END
Placa de dezvoltare Launchpad
Conexiune emulator USB

Emulator integrat

• 16kB Flash 6-pin eZ430


• 512B RAM Connector
• 2 Timer_A3’s
• 8 Ch. Comp_A+ Crystal Pads
• 8 Ch. ADC10
• USCI Chip
Pinouts Part and Socket

P1.3 Button Power Connector

LEDs and Jumpers


P1.0 & P1.6 Reset Button

Lab …
10

S-ar putea să vă placă și

  • Curs09 EMG
    Curs09 EMG
    Document11 pagini
    Curs09 EMG
    Lav Lavi
    Încă nu există evaluări
  • Curs10 EKG
    Curs10 EKG
    Document9 pagini
    Curs10 EKG
    Lav Lavi
    Încă nu există evaluări
  • Curs12 SR
    Curs12 SR
    Document14 pagini
    Curs12 SR
    Lav Lavi
    Încă nu există evaluări
  • Curs07 Termo
    Curs07 Termo
    Document10 pagini
    Curs07 Termo
    Lav Lavi
    Încă nu există evaluări
  • BPB05
    BPB05
    Document13 pagini
    BPB05
    Lav Lavi
    Încă nu există evaluări
  • BPB03
    BPB03
    Document14 pagini
    BPB03
    Lav Lavi
    Încă nu există evaluări
  • CAP4' 1 Final PDF
    CAP4' 1 Final PDF
    Document50 pagini
    CAP4' 1 Final PDF
    Lav Lavi
    Încă nu există evaluări