thao luan vxl

Upload: bui-nam-giang

Post on 06-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 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!