Documente Academic
Documente Profesional
Documente Cultură
BPB06 PDF
BPB06 PDF
Sisteme de achiziţii
Interfaţarea
Procesul de transformare
Actuatori Senzori
DAC ADC
Computer
Controller
Dispozitive de ieşire Dispozitive de
intrare
Interfaţare prin intermediul
calculatorului personal (PC)
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
Informaţie validă
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
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)
Tipuri de memorii
◦ Volatile: Random Access Memory (RAM)
◦ Non-volatile: Read Only Memory (ROM)
Computere Von Neumann şi
Harvard
Microcontrolere
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
Address Bus
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
END
ADC
Format: ADCIN Channel,Var
Sample Program:
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:
Emulator integrat
Lab …
10