• Nem Talált Eredményt

Mikrovezérlők Alkalmazástechnikája

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Mikrovezérlők Alkalmazástechnikája"

Copied!
37
0
0

Teljes szövegt

(1)

Gingl Zoltán, 2017, Szeged

Mikrovezérlők Alkalmazástechnikája

(2)
(3)

Analóg jelekből kétállapotú jel

 Két bemeneti feszültség, V

n

,V

p

 Logikai kimenet:

 1, ha V

p

>V

n

0, egyébként

 Hiszterézis (h):

 1, ha V

p

-V

n

> h/2

 0, ha V

p

-V

n

< -h/2

 változatlan állapot, egyébként

Vp

Vn Vp

Vn

(4)

Vp

Vn

t V

p

V

n

OUT

(5)

Vp

Vn

t V

p

V

n

+h/2

OUT

V

n

-h/2

(6)

Vp

Vn

t V

n

+h/2

OUT V

n

-h/2

Tdh

T

Programozható késleltetés (áramfelvétel):

 100ns..10us

 függ a V

p

-V

n

nagyságától is

V

p

(7)

P0.0 P0.2

P2.4 P2.6

P0.1 P0.3

P2.5

D Q C

CR OSSB AR

CP0A

CP0

OR INTERRUPT szinkronizálás

belső órajelhez

(8)

 Különböző logikai szintek konverziója

 Szinuszos jelek logikai jelekké konvertálása

 R vagy C mérése

késleltetés mérése

 feszültségszint digitális jellé alakítása

 időtartam mérése

Késleltetés létrehozása

 RC áramkör kimenő jele

 Változó küszöbszint

(9)

C8051F410

C

R R2R1

PORT BIT

PROCESSING

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 2 1

2 2 1

2 1

1

2 1

1

ln

exp exp 1

exp 1

R R RC R

t

RC t R

R R

RC t R

R R

R R

R RC

t

R1=4k7, R2=2k7  t  RC1,008  RC

(10)

V

p

V

n

Port bit kimeneti feszültség

 

 

 

2 2

ln

1

R R RC R

t

(11)

C8051F410

C R

12-bit D/A converter R DAC

V

in

V

out

digitális jelek feszültségei:

V

in

és V

out

(12)

 Ha V

in

1-re vált, a kondenzátor töltődik

 Ha elérte a szintet, a kimenet 1-re vált

 Adott RC mellett V

n

értékétől függ a késleltetés V

out

V

in

V

n

V

p

(13)
(14)

 ADC, DAC

 Belső vagy külső

 Névleges érték

 1,5V; 2,2V; 2,5V

 Terhelhetőség

 200uA

 10ppm/uA

 Pontosság

 2%

 2mV/V supply rejection

 35ppm/K

 Feléledés:  7ms

C8051Fxxx

4u7 100nF

INTERNAL VREF OPTIONAL

EXTERNAL VREF

12-bit A/D converter

Vdd 4u7 100nF

(15)

 Feléledési idő

 néhány ms lehet

 meg kell várni, mielőtt használatba vesszük (az engedélyezés után várni kell)

 Pontosabb igényekhez külső referencia

 Tápfeszültséget ne használjunk referenciaként

 A külső referencia alacsonyimpedanciás legyen

 Ne terheljük, használjunk erősítőt

(16)
(17)

 Feszültség mérésére

 Digitalizálás

 0..V

ref

 0..N-1, ahol N=2

b

, b=8,10,12,16 vagy 24

 A felbontás V

ref

/N, 1LSB (least significant bit)

 A pontosság általában ennél gyengébb

 INL (integral nonlinearity): 1-2 LSB

 

 

 

N 0 , 5 V

d V

ref

(18)

ANALOG MULTIPLEXER P0.0

P0.1

P2.6 P2.7

12-bit A/D converter TEMP

VDD

ADC0H ADC0L ACCUMULATOR 1,4,8,16 samples

WINDOW COMPARATOR

ADC0LTH ADC0LTL ADC0GTH ADC0GTL Left justified Right justified

INTERRUPT INTERRUPT

(AD0INT)

START CONVERSION

B0B1B2B3B4B5B6B7B8B9B10B11 B0B1B2B3B4B5B6B7B8B9B10B11

Vref

(19)

C8051F410

 Belső RC áramkör, Rext/Cext jelforrás impedancia

 Minden konverzió kisüti a kondenzátort

 Még DC jelek esetén is idő kell a beálláshoz

 Cext tipikusan pár nF (3n3, 4n7, 10n)

 Rext tipikusan pár száz Ohm legyen

RMUX

Cs

12-bit A/D converter

Rext

TRACK CONVERT

IL Cext

(20)

 Fokozatos közelítés: 13 ciklus a 12 bithez

 ADC clock: 3MHz maximum

TRACK CONVERT TRACK CONVERT TRACK

TRACK CONVERT IDLE TRACK CONVERT

IDLE

TRACK CONVERT TRACK TRACK CONVERT

TRACK CONVERT START

PRE

TRACKING POST

TRACKING DUAL

TRACKING

13 ADC CLOCKS

(21)

 A timer túlcsordulási pulzus (nem flag) vezérli

 A megszakítást az AD0INT vezérli

WRITE 1 TO AD0BUSY

TIMER 3 OVERFLOW CNVSTR (P0.6) TIMER 2 OVERFLOW

START CONVERSION

(22)

Parameter Min Typ Max Units

Resolution 12 bits

Integral nonlinearity 1 LSB

Differential nonlinearity 1 LSB

Offset error 3 10 LSB

Full scale error 3 10 LSB

SAR conversion clock (13 clocks/conversion) 3 MHz

Acquisition time 1 us

Throughput rate 200 kSPS

Signal-to-noise plus distortion 66 68 dB

Total harmonic distortion -75 dB

Input voltage range 0 Vref

Supply current 650 1000 uA

(23)

P0MDIN = 0xFE; // P0.0 analog input

P1MDIN = 0xFB; // P1.2 analog input (VREF) P0SKIP = 0x01; // skip P0.0

P1SKIP = 0x04; // skip P1.2

REF0CN = 0x13; // enable internal VREF ADC0CF = 0x00; // 191406Hz ADC clock

ADC0CN = 0x80; // enable ADC (conversion: AD0BUSY) unsigned int GetADC(unsigned char channel)

{

ADC0MX = channel; // set the multiplexer

AD0INT=0; // clear the end of conversion flag AD0BUSY=1; // start A/D conversion

while (!AD0INT); // wait for end of conversion

AD0INT=0; // clear the end of conversion flag return (ADC0H << 8)+ADC0L;

}

(24)

TMR2RLL = 0x60;

TMR2RLH = 0xFF; // 100Hz overflow rate TMR2CN = 0x04; // enable Timer 2

P0MDIN = 0xFE; // P0.0 analog input

P1MDIN = 0xFB; // P1.2 analog input (VREF) P0SKIP = 0x01; // skip P0.0

P1SKIP = 0x04; // skip P1.2

REF0CN = 0x13; // enable internal VREF ADC0CF = 0x00; // 191406Hz ADC clock

ADC0CN = 0x83; // enable ADC (conversion: TIMER2) EIE1 = 0x08; // enable ADC interrupt

IE = 0x80; // enable interrupts

void ADC_interrupt(void) interrupt ADC_VECTOR {

AD0INT=0; // clear flag

adc_data=(ADC0H<<8) | ADC0L; // retrieve data }

(25)
(26)

 Egész számokkal arányos

 áramot vagy

 feszültséget ad

 A kimeneti feszültség írások között változatlan

 A kivehető áram pár mA

 Felépítés:

 R-2R hálózat

 2 hatványa szerint súlyozott áramok

(27)

 Pontos, szoftveresen hangolható áram vagy feszültség

 Analóg jelekkel való vezérléshez

 PWM helyett

 Szenzorok gerjesztésére (pl. ellenállás)

 Speciális időfüggő jelek generálására

 Hangfrekvenciás jelek előállítására

(28)

C8051F410

 A kimeneti áram tartománya:

 I

max

: 2mA, 1mA, 0,5mA vagy 0,25mA

 A kimeneti áram

 I=I

max

 N/4096

12-bit D/A converter

R

max 12

2 I N

R

V

out

 

(29)

C8051F120

 A kimeneti áram tartománya:

 0..V

ref

(tipikusan 2,5V)

 A kimeneti feszültség

 V

out

=V

ref

 N/4096

12-bit D/A

converter 12

2 V N

V

out

ref

(30)

WRITE TO IDA0H TIMER 0 OVERFLOW

CNVSTR P0.6

TIMER 2 OVERFLOW

12-bit D/A converter

TIMER 1 OVERFLOW

TIMER 3 OVERFLOW

IDA0LIDA0H LATCH

Az IDA0H és IDA0L SFR regiszterekben tárolt adat ütemezetten kerül a D/A konverterre

OR

(31)

Parameter Min Typ Max Units

Resolution 12 bits

Integral nonlinearity 10 LSB

Differential nonlinearity 1 LSB

Offset error 0 LSB

Gain error 0,05 2 %

Output compliance range Vdd-1,2 V

(32)

IDA0CN = 0xF2; // enable DAC0, update by write to IDA0H // 1mA full scale, left justified data IDA0L = 0;

IDA0H = 128; // half scale, 0,5mA

(33)

P0MDIN = 0xFE; // P0.0 analog input P0SKIP = 0x01; // skip P0.0

IDA0CN = 0xB2; // enable DAC0, update: Timer3 overflow // 1mA full scale, left justified data TMR2RLL = 0x60;

TMR2RLH = 0xFF; // 100Hz overflow rate TMR2CN = 0x04; // enable Timer2

IE = 0xA0; // enable Timer2 and global interrupts void Timer2_interrupt(void) interrupt TIMER2_VECTOR

{

TF2H=0;

IDA0L=dac_data;

IDA0H=dac_data>>8;

(34)
(35)

 Az ADC bemeneteként választható

 Lineáris szenzor

 Tipikus adatok:

 2,95mV/ ⁰C érzékenység

 900mV, ha T=0 ⁰C

 0,2 ⁰C linearitáshiba

 Kalibrálás nélkül akár 5 ⁰C hiba

 A chip hőmérsékletét méri

 Ha a chip önfűtése kicsi, akkor a panel hőmérsékletét

(36)

0,6 0,8 1 1,2

-50 0 50 100

Feszültség [V]

Hőmérséklet [⁰C]

(37)

 A követelmények tisztázása fontos!

 Kritikus alkalmazásoknál csak garantált

specifikációkban bízhatunk (min, max oszlopok)

 A külső perifériák gyakran precízebbek

 nem feltétlen

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

 A megszakítási alprogram egy kimenő jelet rövid ideig logikai magas értékre állít.  Ez oszcilloszkópon jól megfigyelhető (kék színű

Szólalj meg, mondd, hogy még mindig itt vagy, látni akarom, hogy élsz, nem pedig csak figyelni az emelkedő mellkasod, és arra várni, mikor hagyod abba a levegővételt.. Hiányzol,

Hogy egyik nap olyan, mint a másik, hogy nincs marakodás, egyenetlenség, nincs semmi, ami elválasszon... — Várni fogom

Szinte minden együtt áll, ami inspiráló lehet számomra, nem kell sokáig várni az ihletre, és arra sem, hogy más csatornák is kinyíljanak bennem, és olyan fantasztikus

s el is hittem már, hogy tudnám, csak várni kell.. Közben az évek

A mozdony késik, lehet csak mostan szerelik össze egy gyárcsarnokban, és várni kell még az engedélyre, hogy kifusson egy!. állomásba, várni kell,

Érdemes felfigyelni Posgay Ildikó következı véleményére: „Mivel az el kell menjek szerkezet megvan az erdélyi értelmiségiek nyelvében és nagyon gyakori a magyarországi

Most már csak várni kellett, hogy mire harapnak rá a Kepler irányí- tói: mi az, ami megvalósítható, illetve mi az, ami elad- ható majd a NASA értékelô bizottságának.. A