Upload
bui-nam-giang
View
226
Download
0
Embed Size (px)
Citation preview
8/2/2019 THAO LUAN VXL
1/29
BO CO VXLNHM 92011
9/5/2011
TRNG I HC IN LC
GV: PHAN TH THANH NGC
Thnh vin nhm:
1. PHM XUN THNG (nhm trng)2. TRNH TH NGC H3. TH TR4. V T UYN5. LNG TH NGUYT6. PHAN NGC TRM
8/2/2019 THAO LUAN VXL
2/29
TNG QUAN VVI IU KHINI Gii thiu khi qut vvi iu khin
B vi x l c khnng vt bc so vi cc h thng khc v tnh nng tnh
ton, x
l, v thayi chng tr
nh linh hot theo m
c ch ngi dng, c bi
thiu qu vi cc bi ton h thng ln. Tuy nhin i vi cc ng dng nh, tm
tnh ton khng i hi khnng tnh ton ln th vic ng dng vi x l cn cnnhc. Bi v h thng d ln hay nh nu dung vi x l th cng i hi cc khimch in giao tip phc tp nh nhau.Cc khi ny bao gm b nh cha dliu v chng tr nh thc hin, cc mch in giao tip ngoi vi xut nhp viu khin trli, cc khi ny kin kt vi vi x l th mi thc hin c cngvic. kt ni cc khi ny i hi ngi thit k phi hiu bit tinh tng v ccthnh phn vi x l, b nh, cc thit b ngoi vi. H thng c to ra kh phc
tp, chim nhiu khng gian, mch in phc tp v vn chnh l trnh ngithit k. Kt qu l gi thnh sn phm cui cng rt cao, khng ph hp pdng cho cc h thng nh.
V mt snhc im trn nn cc nh ch to tch hp mt t b nhv mts mch giao tip ngoi vi cng vi vi s l vo mt IC duy nht c gi lMicrocontroller- Vi iu khin.
Do VK cu to v phn cng v kh nng x l thp hn nhiu so viVXL nn gi thnh ca VXL cng rhn nhiu. Tuy nhin n vn khnng p
ng c tt c yu cu ca ngi tiu dung.
VK c ng dng trong cc dy chuyn tng loi nh, cc robot c chnng n gin trong my git, t v.v
II. Phn loi
1. di thanh ghi
Da vo di ca cc thanh ghi v cc lnh ca VK m ngi ta chia ra ccloi VK 8 bit, 16 bit, hay 32 bit
Cc loi VK 16 bit do c di lnh ln hn nn cc tp lnh cng nhiu hn,phong ph hn. Tuy nhin bt cchng trnh no vit bng VK 16bit chng tau c th vit trn VK bit vi chng trnh thch hp.
2.Kin trc CISC v RISC
8/2/2019 THAO LUAN VXL
3/29
VXL hoc VK CISC l VK c tp lnh phc tp. CcVK ny c mt slng ln cc lnh nn gip cho ngi lp trnh c th linh hot v d dng hn khivit cc chng trnh.
VK RISC l VK c tp lnh n gin. Chng c mt s lng nh cc
lnh n gin. Do , chng i hi phn cng t hn, gi thnh thp hn, vnhanh hn so vi CISC. Tuy nhin n i hi ngi lp trnh phi vit cc chngtrnh phc tp hn, nhiu lnh hn.
3.Kin trc Harard v kin trc Vonneumann
Kin trc Harvard s dng b nhring cho chng trnh v d liu. Bus ach v bus d liu c lp vi nhau nn qu trnh nhn d liu n gin hn.
Kin trc Vonneumann s dng chung b nhcho chng trnh v d liu.iu ny lm cho VK gn nhhn, gi thnh nhhn.
Mt s loi VK c trn thtrng :
- VK MCS-51 : 8031,8032,8051,8052,
- VK ATMEL: 89Cxx, AT89Cxx51
- VK AVR AT90Sxxxx
- VK PIC 16C5x, 17C43
III. Cu trc tng quan ca vi iu khin:1.CPU:
L tri timn ca h thng. L ni qun l tt c cc hot ng ca VK. Bn trongCPU gm:
+ALU l b phn thao tc trn cc d liu.
+B gii m lnh v iu khin, xc nh cc m thao tc m CPU cn thc hin.
+Thanh ghi lnh IR, lu gi opcode ca lnh c thc thi.
+thanh ghi PC, lu gia ch ca lnh k tip cn thc thi.
+Mt tp cc thanh ghi dung lu thng tin tm thi.
2.ROM:
8/2/2019 THAO LUAN VXL
4/29
ROM l b nhdung lu gichng trnh. ROM cn dung cha s liu ccbng, cc tham s h thng, cc s liu cnh ca h thng. Trong qu trnh hotng ni dung ROM l cnh, khng hthay i, ni dung ROM chthay i khiROM ch xa hoc np chng trnh.
3.RAM:
RAM l b nhd liu. B nhRAM dung lm mi trng x l thng tin, lu trcc kt qu trung gian v kt qu cui cng ca cc php ton, x l thng tin. Ncng dng t chc cc vng m d liu, trong cc thao tc thu pht, chuyni d liu.
4.BUS:
BUS l cc ng dn dng di chuyn d liu. Bao gm: bus a ch, bus dliu, v bus iu khin
5.Bnh thi:
c s dng cho cc mc ch chung v thi gian.
6.Watchdog :
B phn dng reset li h thng sau khi h thng gp bt thng
7.ADC:
B phn chuyn tn hiu analog sang tn hiu digital. Cc tn hiu bn ngoi i vothng dng analog. ADC s chuyn tn hiu ny v dng tn hiu digital mVK c th hiu c.
ATMEGA 16
I,GII THIU V ATMEGA16
o ATmega16 l vi iu khin 8 bit da trn kin trc RISC. Vi kh thc hin milnh trong 1 chu k xung clock , c tht c tc triu lnh trn 1 giy.
o
o Di y l s ca atmega
8/2/2019 THAO LUAN VXL
5/29
- c im :
+ C 16KB b nhflash vi khnng c trong khi ghi 512 byte b nhEEPROM, 1KB b nhSRAM , 32 thanh ghi chc nng , 32 ng v ra chung , 3 b nhnh thi/m , ngt ni,ngt ngoi USART , giao tip ni 2 dy ,8 knh ADC 10bit..
+ H try cc chng trnh v cng c pht trin h thng nh: trnh dchC,macro assemblers , chng trnh m phng sa li , kit th nghim
II, CU TRC AVR
1.Cu trc tng qut
8/2/2019 THAO LUAN VXL
6/29
AVR s dng cu trc Harvard, tch ring b nhv cc bus cho chngtrnh v d liu. Cc lnh ch thc hin trong 1 chu k xung clock . B nhchng trnh c lu trong b nhflash .
2.ALU
- ALU lm vic trc tip vi cc thanh ghi chc nng chung . Cc php ton thchin trong 1 chu k xung clock . Hot ng ca ALU c chia lm 3 loi: i s,
logic v theo bit.
3.TRNG THI THANH GHI
- y l thanh ghi trng thi c 8 bit lu tr trng thi ca ALU sau cc phptnh s hc v logic.
8/2/2019 THAO LUAN VXL
7/29
PHN 2. Cu trc nhn AVR
C: Carry Flag ;c nh (Nu php ton c nh c s c thit lp)Z: Zero Flag ;C zero (Nu kt qu php ton bng 0)N: Negative Flag (Nu kt qu ca php ton l m)V: Twos complement overflow indicator (C ny c thit lp khi trn s b 2)V, For signed tests (S=N XOR V) S: NH: Half Carry Flag (c s dng trong mt s ton hng s c ch r sau)
T: Transfer bit used by BLD and BST instructions(c s dng lm ni chunggian trong cc lnh BLD,BST).I: Global Interrupt Enable/Disable Flag (y l bit cho php ton cc ngt. Nu bitny trng thi logic 0 th khng c mt ngt no c phc v.)
2.5. Con tr ngn xp (SP)
L mt thanh ghi 16 bit nhng cng c th c xem nh hai thanh ghi chcnng c bit 8 bit. C a ch trong cc thanh ghi chc nng c bit l $3E(Trong b nh RAM l $5E). C nhim v tr ti vng nh trong RAM cha ngnxp.
8/2/2019 THAO LUAN VXL
8/29
Khi chng trnh phc vu ngt hoc chng trnh con th con trPC clu vo ngn xp trong khi con trngn xp gim hai v tr. V con trngn xp sgim 1 khi thc hin lnh push. Ngc li khi thc hin lnh POP th con trngnxp stng 1 v khi thc hin lnh RET hoc RETI th con trngn xp stng 2.Nh vy con trngn xp cn c chng trnh t trc gi tr khi to ngn
xp trc khi mt chng trnh con c gi hoc cc ngt c cho php phcv. V gi trngn xp t nht cng phi ln hn hoc bng 60H (0x60) v 5FH trli l vng cc thanh ghi.
2.6. Qun l ngt
Ngt l mt c ch cho php thit b ngoi vi bo cho CPU bit v tnh trngsn xng cho i d liu ca mnh.V d:Khi b truyn nhn UART nhn c mtbyte n s bo cho CPU bit thng qua cRXC,hc khi n truyn c mtbyte th cTX c thit lp
Khi c tn hiu bo ngt CPU s tm dng cng vic ng thc hin li vlu vtr ang thc hin chng trnh (con trPC) vo ngn xp sau tr tivector phuc v ngt v thc hin chng trnh phc v ngt ch ti khi gp lnhRETI (return from interrup) th CPU li ly PC tngn xp ra v tip tc thc hinchng trnh m trc khi c ngt n ang thc hin. Trong trng hp m cnhiu ngt yu cu cng mt lc th CPU slu cc cbo ngt li v thc hinln lt cc ngt theo mc u tin .Trong khi ang thc hin ngt m xut hinngt mi th s xy ra hai trng hp. Trng hp ngt ny c mc u tin cao hn
th n sc phc v. Cn n m c mc u tin thp hn th n s b b qua.
B nhngn xp l vng bt k trong SRAM ta ch 0x60 trln. truynhp vo SRAM thng thng th ta dng con trX,Y,Z v truy nhp voSRAM theo kiu ngn xp th ta dng con tr SP. Con tr ny l mt thanh ghi 16bit v c truy nhp nh hai thanh ghi 8 bit chung c a ch :SPL:0x3D/0x5D(IO/SRAM) v SPH:0x3E/0x5E.
Khi chng trnh phc v ngt hoc chng trnh con th con trPC clu vo ngn xp trong khi con trngn xp gim hai v tr.V con trngn xp sgim 1 khi thc hin lnh push. Ngc li khi thc hin lnh POP th con trngnxp stng 1 v khi thc hin lnh RET hoc RETI th con trngn xp stng 2.Nh vy con trngn xp cn c chng trnh t trc gi tr khi to ngnxp trc khi mt chng trnh con c gi hoc cc ngt c cho php phcv. V gi trngn xp t nht cng phi ln hn 60H (0x60) v 5FH tr li l vngcc thanh ghi.
8/2/2019 THAO LUAN VXL
9/29
PHN 3. Cu trc b nh
AVR c 2 khng gian b nhchnh l b nhd liu vo b nhchngtrnh.
Ngoi ra ATmega16 cn c thm b nhEEPROM lu tr d liu.
3.1. B nhchng trnh (B nhFlash)
B nhFlash 16KB ca ATmega16 dng lu trchng trnh. Do cclnh ca AVR c di 16 hoc 32 bit nn b nhFlash c sp xp theo kiu8KX16. B nhFlash c chia lm 2 phn, phn dnh cho chng trnh boot vphn dnh cho chng trnh ng dng.
3.2. B nhdliu SRAM
1120 nhca b nhd liu nh a ch cho file thanh ghi, b nhI/O v bnhd liu SRAM ni. Trong 96 nhu tin nh a ch cho file thanh ghiv b nhI/O, v 1024 nhtip theo nh a ch cho b nhSRAM ni.
8/2/2019 THAO LUAN VXL
10/29
3.3. B nhdliu EEPROM
ATmega16 cha b nhd liu EEPROM dung lng 512 byte, v c sp xp
theo tng byte, cho php cc thao tc c/ghi tng byte mt.
PHN 4. CC CNG VO RA (I/O)
Vi iu khinATmega16c 32 ng vo ra chia lm bn nhm 8 bit mt. Ccng vo ra ny c rt nhiu tnh nng v c th lp trnh c. y ta s xt
chng l cc cng vo ra s. Nu xt trn mt ny th cc cng vo ra ny l cngvo ra hai chiu c thnh hng theo tng bit. V cha cin trpull-up (cth lp trnh c). Mc d mi port c cc c im ring nhng khi xt chng lcc cng vo ra s th dng nh iu khin vo ra d liu th hon ton nh nhau.Chng ta c thanh ghi v mt a ch cng i vi mi cng, l : thanh ghi dliu cng (PORTA, PORTB, PORTC, PORTD), thanh ghi d liu iu khin cng(DDRA, DDRB, DDRC, DDRD) v cui cng l a ch chn vo ca cng (PINA,PINB, PINC, PIND).
4.1. Thanh ghi DDRx
y l thanh ghi 8 bit (ta c thc v ghi cc bit thanh ghi ny) v c tc dngiu khin hng cng PORTx (tc l cng ra hay cng vo). Nu nh mt bittrong thanh ghi ny c set th bit tng ng trn PORTx c nh ngha nhmt cng ra. Ngc li nu nh bit khng c set th bit tng ng trnPORTx c nh ngha l cng vo.
8/2/2019 THAO LUAN VXL
11/29
4.2.Thanh ghi PORTx
y cng l thanh ghi 8 bit (cc bit c thc v ghi c) n l thanh ghi d liuca cng Px v trong trng hp nu cng c nh ngha l cng ra th khi ta ghimt bit ln thanh ghi ny th chn tng ng trn port cng c cng mc logic.
Trong trng hp m cng c nh ngha l cng vo th thanh ghi ny li mangd liu iu khin cng. C th nu bit no ca thanh ghi ny c set (a lnmc 1) th in trko ln (pull-up) ca chn tng ng ca port sc kchhot. Ngc li n strng thi hi-Z. Thanh ghi ny sau khi khi ng Vi iukhins c gi tr l 0x00.
4.3. Thanh ghi PINx
y l thanh ghi 8 bit cha d liu vo ca PORTx (trong trng hp PORTxc
thit lp l cng vo) v n ch c thc m khng thghi vo c.
Tm li:
1. c d liu t ngoi th ta phi thc hin cc bc sau:
- a d liu ra thanh ghi iu khin DDRxn t cho PORTx (hoc bit ntrong
port) l u vo (xa thanh ghi DDRx hoc bit).
- Sau kch hot in trpull-up bng cch set thanh ghi PORTx ( bit).
- Cui cng c d liu ta ch PINxn (trong x: l cng v n l bit).
2. a d liu tvi iu khin ra cc cng cng c cc bc hon ton tngt. Ban u ta cng phi nh ngha l cng ra bng cch set bit tng ng cacng .v sau l ghi d liu ra bit tng ng ca thanh ghi PORTx.
PHN 5. Bnh thi
Bnh thi (timer/counter0) l mt module nh thi/m 8 bit, c cc c imsau:
- Bm mt knh- Xa bnh thi khi trong mode so snh (tng np)- PWM
- To tn s
8/2/2019 THAO LUAN VXL
12/29
- Bm s kin ngoi- B chia tn 10 bit- Ngun ngt trn bm v so snh
S cu trc ca bnh thi:
5.1. Cc thanh ghi
TCNT0 v OCR0 l cc thanh ghi 8 bit. Cc tn hiu yu cu ngt u nm trong
thanh ghi TIFR. Cc ngt c thc che bi thanh ghi TIMSK.
Bnh thi c th s dng xung clock ni thng qua b chia hoc xung clockngoi trn chn T0. Khi chn xung clock iu khin vic bnh thi/bm sdng ngun xung no tng gi tr ca n. Ng ra ca khi chn xung clock cxem l xung clock ca bnh thi (clkT0).
Thanh ghi OCR0 lun c so snh vi gi tr ca bnh thi/bm. Kt qu so
snh c thc s dng to ra PWM hoc bin i tn s ng ra ti chn OC0.
5.2. n vm
Phn chnh ca bnh thi 8 bit l mt n vm song hng c th lp trnh
8/2/2019 THAO LUAN VXL
13/29
c. Cu trc ca n nh hnh di y:
count: tng hay gim TCNT0 1direction: la chn gia m ln v m xungclear: xa thanh ghi TCNT0
clkT0: xung clock ca bnh thi
TOP: bo hiu bnh thi tng n gi tr ln nhtBOTTOM: bo hiu bnh thi gim n gi tr nh nht (0)
5.3. n v so snh ng ra
B so snh 8 bit lin tc so snh gi tr TCNT0 vi gi tr trong thanh ghi sosnh ng ra (OCR0). Khi gi tr TCNT0 bng vi OCR0, b so snh s to mt bohiu. Bo hiu ny st gi tr cso snh ng ra (OCF0) ln 1 vo chu k xungclock tip theo. Nu c kch hot (OCIE0=1), cOCF0 s to ra mt ngt sosnh ng ra v s tng c xa khi ngt c thc thi. COCF0 cng c th
c xa bng phn mm
5.4. M t cc thanh ghi
5.4.1. Thanh ghi iu khin bnh thi/bm TCCR0
8/2/2019 THAO LUAN VXL
14/29
5.4.1.1. Bit 7-FOC0: So snh ng ra bt buc
Bit ny ch tch cc khi bit WGM00 chnh ch lm vic khng c PWM. Khi
t bit ny ln 1, mt bo hiu so snh bt buc xut hin ti n v to dng sng.
5.4.1.2. Bit 6, 3-WGM01:0: Ch to dng sng
Cc bit ny iu khin m th t ca bm, ngun cho gi tr ln nht ca bm (TOP) v kiu to dng sng sc s dng.
5.4.1.3. Bit 5:4-COM01:0: Ch bo hiu so snh ng ra
Cc bit ny iu khin hot ng ca chn OC0. Nu mt hoc c hai bit COM01:0
c t ln 1, ng ra OC0 s hot ng.
5.4.1.4. Bit 2:0: CS02:0: Chn xung ng h
Ba bit ny dng la chn ngun xung cho bnh thi/bm
5.4.2. Thanh ghi bnh thi/bm
Thanh ghi b nh thi/b m cho php truy cp trc tip (c c v ghi) vo b
8/2/2019 THAO LUAN VXL
15/29
m 8 bitThanh ghi ny cha mt gi tr 8 bit v lin tc c so snh vi gi tr ca b
m.5.4.4. Thanh ghi mt n ngtHnh 5.7. Thanh ghi mt n ngt TIMSK5.4.4.1. Bit 1-OCIE0: Cho php ngt bo hiu so snh5.4.4.2. Bit 0-TOIE0: Cho php ngt trn b m5.4.5. Thanh ghi c ngt b nh thi5.4.5.1. Bit 1-OCF0: C so snh ng ra 05.4.5.2. Bit 0-TOV0: C trn b mBit TOV0 c t ln 1 khi b m b trn v c xa bi phn cng khi vectorngt tng ng c thc hin. Bit ny cng c th c xa bng phn mm
PHN 6. USART
B truyn nhn ni tip ng b v bt ng b l mt thit truyn thng ni tipccc chc nng chnh nh sau:-Hot ng song cng (cc thanh ghi truyn v nhn ni tip c lp vi nhau).-Hot ng ng b hoc bt ng b-B to tc baud c chnh xc cao-H tr khung truyn ni tip vi 5, 6, 7, 8, hoc 9 bit d liu v 1 hoc 2 bit stop-Kim tra chn l-Pht hin trn d liu-Pht hin li khung
-Lc nhiu, bao gm pht hin bit start li v b lc thng thp s-Ngt khi kt thc truyn, thanh ghi truyn ht d liu v kt thc nhn-Ch truyn thng a vi x l-Ch truyn ng b tc caoUSART bao gm 3 phn chnh: b to xung clock, b truyn v b nhn. Cc
thanhghi iu khin c s dng chung gia cc phn ny
6.1. To xung clockB to xung clock to ra xung ng h cn bn cho b truyn v b nhn.
USART h tr 4 ch hot ng xung clock: bt ng b, bt ng b tc cao, truyn ng b master v truyn ng b slave. S khi ca b to xungclock nh sau:-txclk: xung ng h b truyn-rxclk: xung ng h b nhn-xcki: tn hiu vo t chn XCK, s dng cho hot ng truyn ng b master-xcko: tn hiu xung clock ng ra ti chn XCK, s dng cho hot ng truyn -ngb slave
8/2/2019 THAO LUAN VXL
16/29
-fosc: tn s t chn XTAL
USART chp nhn tt c 30 t hp ca cc nh dng khung truyn sau y:- 1 bit start- 5, 6, 7, 8, hoc 9 bit d liu- C hoc khng c bit chn l- 1 hoc 2 bit stop
Mt khung truyn bt u vi mt bit start, theo sau l bit c trng s thpnht (LSB) ca d liu (c th ln ti 9 bit), kt thc bng bit c trng s ln nht(MSB) v bit stop.
- St: bit start (mc thp)- (n): bit d liu (0 n 8)- P: bit chn l- Sp: bit stop (mc cao)
- IDLE: khng c d liu truyn (mc cao trong sut thi gian idle)6.3. Khi to USARTQu trnh khi to USART bao gm vic thit lp tc baud, thit lp nh dngkhung v kch hot b truyn v b nhn.
6.4Truyn thng d liu-B truyn USART
B truyn SART c kch hot bng cch thit lp bit TXEN trong thanh ghiUCSRB. Khi b truyn c kch hot, chn TxD hot ng nh ng ra ca btruyn ni tip. Tc baud, ch hot ng v nh dng khung truyn phi
c thit lp trc khi thc hin truyn d liu.6.4.1. Truyn khung 5 n 8 bit d liu
Vic truyn d liu c thit lp bng cch np d liu truyn vo b mtruyn. D liu trong b m s c a vo thanh ghi dch khi thanh ghi dch sn sng gi mt khung mi.
6.4.2. Truyn khung 9 bit d liu
Nu s dng 9 bit d liu, bit th 9 phi c ghi vo bit TXB8 trong thanh ghi
UCSRB trc khi byte cn li c ghi vo UDR.
6.5. Nhn d liu-b nhn USART
B nhn USART c kch hot bng cch t bit RXEN trong thanh ghiUCRSB ln 1. Khi b nhn c kch hot, chn RxD hot ng nh ng vo ca
8/2/2019 THAO LUAN VXL
17/29
b nhn ni tip. Tc baud, ch hot ng v nh dng khung truyn phic thit lp trc khi thc hin truyn d liu.
6.5.1. Nhn khung vi 5 n 8 bit d liu
B nhn bt u nhn d liu khi n pht hin mt bit start hp l. Mi bit theo
sau bit start s c ly mu ti tc baud hoc tc ng h XCK, v cdch vo trong thanh ghi dch ca b nhn cho n khi pht hin mt bit stop utin. Ni dung ca thanh ghi dch sau c a vo b m. B m ca bnhn c th c c bng cch c UDR.
6.5.2. Nhn khung vi 9 bit d liu
Nu nhn d liu 9 bit, bit th 9 phi c c t bit RXB8 trong thanh ghiUCSRB
trc khi c cc bit thp trong UDR.PHN 7. B bin i A/D
Vi iu khinATmega16 c mt b bin i ADC tch hp trong chip vi ccc im:
- phn gii 10 bit- Sai s tuyn tnh: 0.5LSB .- chnh xc +/-2LSB- Thi gian chuyn i:65-260s
- 8 Knh u vo c th c la chn- C hai ch chuyn i free running v single conversion- C ngun bo ngt khi hon thnh chuyn i- Loi b nhiu trong ch ng
Tm u vo ca ADC l tm chn ca PORTA v chng c chn thng quamt MUX
iu khin hot ng vo ra d liu ca ADC v CPU chng ta c 3 thanhghi: ADMUX l thanh ghi iu khin la chn knh u vo cho ADC, ADCSRAl thanh ghi iu khin v thanh ghi trng thi ca ADC, ADCH v ADCL l 2thanh ghi d liu.
8/2/2019 THAO LUAN VXL
18/29
iu khin hot ng vo ra d liu ca ADC v CPU chng ta c 3 thanhghi: ADMUX l thanh ghi iu khin la chn knh u vo cho ADC, ADCSRAl thanh ghi iu khin v thanh ghi trng thi ca ADC, ADCH v ADCL l 2thanh ghi d liu.
7.1. ADMUX: Multiplexer select register
y l thanh ghi iu khin 8 bit
Vi 4 bit c nh ngha l MUX3, MUX2, MUX1,v MUX0, ng vi cc t hplogic ta c th chn knh u vo. C th
8/2/2019 THAO LUAN VXL
19/29
Cc bit REFS1 v REFS0 dng chn gi trin p tham kho cho ADC,nh sauCh : Nu nh ta thay i knh trong thi im m ADC ang chuyn i th khiqutrnh chuyn i hon thnh th knh vo mi c thay i.
7.2. ADCSR-ADC control and status registery l thanh ghi iu khin v lu trng thi ca ADC
7.2.1. Bit 7-ADEN:ADC enable
y l bit iu khin hot ng ca ADC.Khi bit ny c set 1 th ADC c thhot ng v ngc li.Nu nh ta ngng hot ng ca ADC trong khi n angchuyn i th n s kt thc qu trnh chuyn i.Mc d cha chuyn i xong.
7.2.2. Bit 6-ADSC: ADC start conversion
8/2/2019 THAO LUAN VXL
20/29
Trong ch chuyn i n th bit ny phi c set ln 1 bt u chuyni.Trong ch chuyn i t do th bit ny cn c set ln 1 bt u lnchuyni u tin.Bit ny c gi st trong qu trnh chuyn i v c xakhi m chuyn i xong.
7.2.3. Bit 5-ADATE :ADC Auto Trigger enable
Khi bit ny c set th ADC s bt u chuyn i mi khi c mt ngun kchhot xut hin. Vic la chn ngun kch hot c thc hin bng cch set cc bittrong thanh ghi SFIOR.
7.2.4. Bit 4-ADIF: ADC interrupt Flag
Bit ny c set ln 1 bi phn cng khi qu trnh chuyn i hon thnh vthanh ghi d liu c cp nht. Bit ny c xa bng phn cng nu nh ngtny c php v c phc v. Hoc n c th c xa bng cch ghi gi tr logic
0vo c ny. C th khi ngt b cm ta c th s dng cc lnh sbi v cbi tcdng ln bit ny.
7.2.5. Bit 3-ADIE:ACD interrupt EnableNu bit ny set 1 v ngt ton cc c cho php th ngt ny c php phc v(khi chuyn i xong d liu) v nu b xa th ngc li.7.2.6. Bit 2.1.0-ADPS2ADPS0: Bit la chn xung nhp(Tc )Ngun xung c ly t ngun xung ca Vi iu khin(XTAL) v c chia tnthng qua b chia tn.Cc bit ADPS c nhim v chn s chia cho b chia tn theo bng sau:
ADPS2 ADPS1 ADPS0 Division
Factor
0 0 0 2
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128
8/2/2019 THAO LUAN VXL
21/29
7.3. Thanh ghi d liu ACDH v ADCLThanh ghi ny cha d liu chuyn i t tng t sang s, c sp xp nh hnhdi y
15 14 13 12 11 10 9 8
- - - - - - AD ADC ADC
AD AD AD AD AD AD AD ADC ADC
7 6 5 4 3 2 1 0
read R R R R R R R R
R R R R R R R R
intial 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
7.4. Nguyn tc hot ng v lp trnh iu khin
ADC c nhim v chuyn i tn hiu in p tng t thnh tn hiu s c phn gii 10 bit.Vi gi tr nh nht ca in p t chn AGND v gi tr cci ca in p tng t c mc vo chn AREF. Tm knh tng t u voc chn la thng quaADMUX v ADMUX ny c iu khin bi thanh ghiADMUX.
ADC ny c th hot ng c hai ch . l chuyn i n: ch chuyni mt ln khi c lnh chuyn i v ch t chuyn i (Free running mode)y l ch m ADC t ng chuyn i khi c hot ng v cng vicchuyn i c tnh tun hon (ch cn khi ng mt ln).
ADC c php hot ng nh thit lp bit ADEN. Qu trnh chuyn i cbt u bng vic ghi vo bit ADSC mc logic 1 v trong sut qu trnh chuyn ibit ny lun c gi mc cao. Khi qu trnh chuyn i hon thnh th bit nyc xa bng phn cng v c AIDF c bt ln.
D liu sau khi chuyn i c a ra thanh ghi d liu ADCL v ADCH,nhng ch khi c d liu t hai thanh ghi ny th c ADCL trc ri mi c
8/2/2019 THAO LUAN VXL
22/29
ADCH. Nu c ADCH trc th d liu cp nht c th ghi ln ADCL (Vi iukhin ngh rng
c xong d liu). iu khin vo ra d liu vi ADC, cc bc thc hin nh sau:Bc 1:nh ngha cc cng vo cho tn hiu tng tXabit tng ng vi chn trong thanh ghi DDRA. Sau loi b in tr treobng cch xa bit tng ng thanh ghi PORTA
Bc 2: Chn knh tng t vo (chn chn vo cho ADC) thng qua thanh ghiADMUX (c th thay i trong qu trnh hot ng).Bc 3: Thit lp cc thng s cho ADCTc chuyn i thng qua xung nhip chuyn i. Ch chuyn i : n hoc t ng.S dng ngt hoc khng.Bc 4: Bt u chuyn i v c d liu.
GII THIU STM32-ARM CORTEX-M3
Trong vi nm trli y, mt trong nhng xu hng ch yu trong cc thit kvi VK l s dng cc chip ARM7 v ARM9 nh mt VK a dng.
Tp on ST Microelectronic va cho ra mt dng STM32, VK u tin datrn nn li ARM Cortex-M3 th h mi do hng ARM thit k.
I.CORTEX l g?
Dng Cortex c 3 nhm chnh:
*Dng A: cho cc ng dng cao cp
*Dng R:cho ng dng thi gian thc
*dng M: cho cc ng dng VK v chi ph thp
Dng STM32 thit lp cc tiu chun v hiu sut, chi ph, cng nh khnngp ng cc ng dng tiu thnng lng thp v tnh iu khin thi gian thckhc khe.
Dng ARM cortex l mt b x l th h mi a ra mt kin trc chun chonhu cu a dng v cng ngh.
8/2/2019 THAO LUAN VXL
23/29
STM32 c thit k da trn dng Cortex-M3, dng Cortex-M3 c thit kc bit nng cao hiu sut h thng, kt hp vi tiu th nng lng thp,Cortex-M3 c thit k trn nn kin trc mi, do chi ph sn xut thp cnh tranh vi cc dng VK 8 v 6 bit truyn thng.
Dng Cortex l mt li x l hon thin, a ra mt chun CPU v kin trc hthng chung.
Cortex-M3 a ra mt li VK chun nhm cung cp phn tng qut, quan trngnht ca mt VK.
Cortex-M3 gm: mt CPU 32bit, cu trc bus (bus structure), n v x l ngt ch tr tnh nng lng ngt vo nhau (nested interrupt unit), h thng kim li(debug system) v tiu chun b tr b nh(standard memory layout).
Khng gian a ch 4Gbyte ca Cortex-M3 c chia thnh cc vng cho mchng trnh, SRAM, ngoi vi v ngoi vi h thng.
Cortex-M3 c thit k da theo kin trc Harward (b nhchng trnh v bnhd liu tch bit vi nhau), c nhiu bus cho php thc hin cc thao tc songsong vi nhau. Cho php truy cp d liu khng xp hng.
Khi trung tm ca STM32 l mt b x l Cortex-M3.
8/2/2019 THAO LUAN VXL
24/29
Mt trong nhng thnh phn chnh ca li Cortex-M3 l NVIC (Nested VectorInterrupt Controller). NVIC cung cp mt cu trc ngt chun cho tt ccc VKc thit k da trn li Cortex v cch x l ngt c bit (exceptionalinterrupt). NVIC cung cp cc vector ngt chuyn dng ln ti 240 ngun ngt tngoi vi, mi ngun ngt t ngoi vi, mi ngun ngt c thc u tin ha
vi cc mc ring bit. NVIC c thit k x l cc ngt i hi thi gian png cc k nhanh.
II. MT VI C IM NI BT CA STM32:
Gi thnh r: ch gn 1 Euro vi slng ln.
STM32 u tin gm 14 bin thkhc nhau, c chia thnh hai nhm:
*dng Performance: c tn s hot ng ln ti 72MHz
*dng Access : c tn s hot n ln ti 32MHz.
Cc bin thSTM32 trong hai nhm ny tng thch hon ton v cch b trchn (pin) v phn mm, ng thi kch thc b nhFLASH ROM c th ln ti128K v 20K SRAM.
H. kin trc ca STM32 nhnh Performance v Access
III.STINH VI
B ADC 12bit c tch hp mt cm bin nhit tng hiu chnh khi nhitthay i v h trnhiu mode chuyn i.
B timer c 4 khi capture compare, mi khi timer c th lin kt vi cc khitimer khc to ra mt mng cc timer tinh vi.
8/2/2019 THAO LUAN VXL
25/29
Mt timer cao cp chuyn h triu khin ng c, vi 6 u ra PWM vi deadtime lp trnh c v mt ng break input s buc tn hiu PWM sang mttrng thi an ton c ci sn.
Ngoi vi ni tip SPI c mt khi kim tng CRC bng phn cng cho 8 v 16
word h trtch cc cho giao tip th nhSD hoc MMC.STM32 c h tr7 knh DMA.
STM32 l mt VK tiu thnng lng thp v t hiu sut cao. N c thhot ng in p 2V, chy tn s 72MHz v dng tiu th ch c 36mA vi ttc cc khi bn trong VK c hot ng.
STM32 ch tiu th 2uA khi ch standby. Mt b dao ng ni RC 8MHzcho php chip nhanh chng thot khi ch tit kim nng lng khi bdao ngngoi ang khi ng.
IV.SAN TON
Ngy nay, cc ng dng hin i thng phi hot ng trong mi trng khckhe, i hi tnh an ton cao, cng nh i hi sc mnh x l cng nhiu thit bngoi vi tinh vi. p ng cc yu cu , STM32 cung cp mt s tnh nngphn cng h trcc ng dng mt cch tt nht.
Chng bao gm mt b pht hin in p thp, mt h thng bo v xung clockv hai b watchdogs.
Watchdog ca s: watchdog ny phi c lm ti trong mt khung thi gianxc nh. Nu nhn n qu sm, hoc qu mun, th watchdog s kch hot.
Watchdog c lp : c bdao ng
H thng bo v xung nhp c th pht hin li ca bdao ng chnh bn ngoiv tng chuyn sang dng bdao ng ni RC 8MHz.
V.TNH BO MT
B nhFlash ca STM32 c thc kha chng truy cp c Flash thngqua cng debug. Khi tnh nng bo vc c kch hot, b nhFlash cng cbo v chng ghi ngn chn m khng tin cy c chn vo bng vecto ngt.
STM32 cng c mt ng h thi gian thc v mt khu vc nh d liu trnSRAM c nui nhngun pin. Khu vc ny c mt u vo chng gi mo, cth kch hot mt s kin ngt khi c sthay i trng thi u vo ny.
8/2/2019 THAO LUAN VXL
26/29
Ngoi ra, mt s kin chng gi mo s tng xa d liu c lu tr trnSRAM c nui bng ngun pin.
VI.PHT TRIN PHN MM
ST cung cp mt th vin iu khin thit b ngoi vi, mt b th vin phttrin USB nh l mt th vin ANSI C.
c rt nhiu RTOS m ngun m v thng mi v middleware(TCP/IP, hthng g ri hon ton mi gi l CoreSight. Truy cp vo h thng CoreSightthng qua cng truy cp Debug (Debug Access Port), cng ny h tr kt nichun JTAG hoc giao din 2 dy (serial wire-2 Pin), cng nh cung cp trnh iukhin chy gli, h thng CoreSight trn STM32 cung cp mt data wacthpointv mt cng c theo di (instrumentation trace).
VII.DNG PERFORMANCE V ACCESS CA STM32
HSTM32 c hai nhnh u tin ring bit: dng Performance v dng Access.
Dng Performance tp hp y cc thit b ngoi vi v chy vi xung nhp tia 72MHz.
Dng Access c thit b ngoi vi t hn v chy vi xung nhp ti a 32MHz.
Hai dng ny c cch b tr chn v cc kiu ng gi chip l nh nhau.
8/2/2019 THAO LUAN VXL
27/29
S KHC NHAU GIA VI IU KHINV VI X L
Hai khi nim mircoprocessor = vi x l v microcontroller = vi iu
khin c khc nhau. C th ni nm na phn bit hai khi nim nh sau:
I. Vi x l (Microprocessor):
L con chp (TO) ca my tnh, c th gi l b phn u no caCPU ca my tnh tng hp ton b hay gn ton b cc chc nng caCPU my tnh. Vi x l th thng ng dng lm my tnh. chy bvi x l trong my tnh th cn mt h iu hnh (OS) nh Windows XP,Linux, hoc Mac OS. Khi nim vi x l gn lin vi cc th h CPUs
my tnh nh x86 CPU, Pentium CPU v Celeron CPU v.v... Khi ni nvi x l th c cc hng ln nh Intel, Motorola, Toshiba v.v... sdng vi x l phi c cc chp b nh (ROM, RAM), giao din vo/ra(I/O).Vi x l l mt kt cu logic m c th thay i chc nng ca nbng chng trnh ngoi,tc l phn cng ng vai tr th yu,phnmm (chng trnh)ng vai tr ch o i vi cc chc nng cn thchin.nh vy vi x l c s mm do trong cc chc nng ca minh.ngynay vi x l c tc tnh ton rt cao v kh nng x l rt ln. Vi xl c cc khi chc nng cn thit ly d liu, x l d liu v xut
d liu ra ngoi sau khi x l. V chc nng chnh ca Vi x l chnhl x l d liu, chng hn nh cng, tr, nhn, chia, so snh.v.v..... Vix l khng c kh nng giao tip trc tip vi cc thit b ngoi vi, nch c kh nng nhn v x l d liu m thi.
vi x l hot ng cn c chng trnh km theo, cc chngtrnh ny iu khin cc mch logic v t vi x l x l cc d liucn thit theo yu cu. Chng trnh l tp hp cc lnh x l d liuthc hin tng lnh c lu tr trong b nh, cng vic thc hnh lnhbao gm: nhn lnh t b nh, gii m lnh v thc hin lnh sau khi
gii m. thc hin cc cng vic vi cc thit b cui cng, chng hn iu
khin ng c, hin th k t trn mn hnh .... i hi phi kt hp vi xl vi cc mch in giao tip vi bn ngoi c gi l cc thit b I/O(nhp/xut) hay cn gi l cc thit b ngoi vi. Bn thn cc vi x l khing mt mnh khng c nhiu hiu qu s dng, nhng khi l mt phn
8/2/2019 THAO LUAN VXL
28/29
ca mt my tnh, th hiu qu ng dng ca Vi x l l rt ln. Vi x lkt hp vi cc thit b khc c s trong cc h thng ln, phc tpi hi phi x l mt lng ln cc php tnh phc tp, c tc nhanh. Chng hn nh cc h thng sn xut t ng trong cng nghip,cc tng i in thoi, hoc cc robot c kh nng hot ng phc tp
v.v...
II. Vi iu khin (Microcontroller):
Vi iu khin l mt con chp (NH) c chc nng tnh ton bao gmmt phn li nh b x l, b nh v cc phn ngoi vi vo ra c th lptrnh c. Cn vi iu khin th thng ng dng trong cc mch iniu khin. chy vi iu khin trong mt mch iu khin th phi s
dng mt chng trnh np vo n ri cm n vo mch iu khin. Khini n vi iu khin th c my hng nh Microchip (PIC), ATMEL(AVR) v.v...Vi iu khin c kh nng tng t nh kh nng ca vi xl, nhng cu trc phn cng dnh cho ngi dng n gin hn nhiu.Vi iu khin ra i mang li s tin li i vi ngi dng, h khngcn nm vng mt khi lng kin thc qu ln nh ngi dng vi xl, kt cu mch in dnh cho ngi dng cng tr nn n gin hnnhiu v c kh nng giao tip trc tip vi cc thit b bn ngoi. Viiu khin tuy c xy dng vi phn cng dnh cho ngi s dng
n gin hn, nhng thay vo li im ny l kh nng x l b gii hn(tc x l chm hn v kh nng tnh ton t hn, dung lng chngtrnh b gii hn). Thay vo , Vi iu khin c gi thnh r hn nhiuso vi vi x l, vic s dng n gin, do n c ng dng rng rivo nhiu ng dng c chc nng n gin, khng i hi tnh tonphc tp.
Vi iu khin c ng dng trong cc dy chuyn t ng loinh, cc robot c chc nng n gin, trong my git, t v.v...
Hai khi nim u chcon chp, nhiu khi nhn hnh dng bn ngoichng trng ging nhau nn nhiu khi kh phn bit. mt mc no c thhiu nm na l vi xl th TO c lp trnh ri(programmed) cn vi iu khin th NH NHhn v cha c lptrnh - chng ta c thlp trnh c cho n - nay ni cch khc l n
8/2/2019 THAO LUAN VXL
29/29
kh trnh (programmable) i hi ngi dng phi lp trnh v npchng trnh cho n!