datasheet atmega 128 (tieng viet )

377
 Hanoi University of Industry Datasheet ATMEGA 128 [email protected]  1 Bn dch Datasheet ca vi điu khin AVR Atmega 128 Created by Le Duy Khanh Date : 16/02/2010 I . Đặc đim , tính năng ( Features ) : + Hiu sut cao , ti ết kim đin + Hoàn thi n cu trúc RISC - 133 lnh hiu qu - thc thi tt c các chu kì đồng h đơ n - 32 *8 thanh ghi ch ung đa năng + các thanh ghi điu khin ngoi vi - Đầy đủ các quá trình điu khin t  ĩ nh - Nâng lên 16 MIPS d  liu ti 16 MHz - Chip 2 nhân + Độ bn , sc chu đựng cao , không thay đổi phân vùng nhớ  - 128 K Bytes b nhở  Flash có th  lp trình đượ c trong h thng - 4K Bytes EEPROM - 4K Bytes b nhớ  SRAM bên trong - Chu kì ghi/ xóa : 10000 Flash / 100000 EEPROM - Độ bn d liu 20 năm ở  85 độ / 100 năm ở  25 độ - Đon mã la chn chế độ khở i động vớ i các bít khóa độc lp trong chươ ng trình h thng bở i chươ ng trình khở i động đọc tht trong khi quá trình ghi di n ra - Ti đa 64K Bytes không gian nh ớ  bên ngoài l a chn - Lp tr ình khóa cho phn mm bo mt - Giao din SPI cho lp trình trong h thng + giao din JTAG ( phù hợ p vớ i tiêu chun IEEE 1149.1 - Kh năng quét biên theo tiêu chu n JTAG - H trợ  chế độ sa tm ( debug ) trên chip - Lp trình ca Flash , EEPROM , b  bo v ( FUSE) và Bit khóa ( Lock Bits) thông qua giao din JTAG + Đặc đim ngoi vi - 2 b Timer /counter 8 bit v ớ i b đếm gp trướ c riêng bit và chế độ so sánh mu - 2 b timer /counter 16 bit mở  rng vớ i b đếm gp trướ c chế độ so sánh mu và chế độ thu thp ( bt d liu ) - B counter thờ i gian thc vớ i b dao động ( oscillator ) riêng bit - 2 kênh PWM 8 bit - 6 kênh PWM vớ i kh năng lp trình chính xác t  2 đến 16 bit - B điu chế so sánh tín hiu ra

Upload: to-thanh-vo

Post on 21-Jul-2015

591 views

Category:

Documents


5 download

TRANSCRIPT

Hanoi University of Industry B n d ch Datasheet c a vi i u khi n AVR Atmega 128 Created by Le Duy Khanh Date : 16/02/2010

Datasheet ATMEGA 128

I.

c i m , tnh nng ( Features ) :+ Hi u su t cao , ti t ki m i n + Hon thi n c u trc RISC - 133 l nh hi u qu - th c thi t t c cc chu k ng h n - 32 *8 thanh ghi chung a nng + cc thanh ghi i u khi n ngo i vi y cc qu trnh i u khi n tnh - Nng ln 16 MIPS d li u t i 16 MHz - Chip 2 nhn + b n , s c ch u ng cao , khng thay i phn vng nh - 128 K Bytes b nh Flash c th l p trnh c trong h th ng - 4K Bytes EEPROM - 4K Bytes b nh SRAM bn trong - Chu k ghi/xa : 10000 Flash / 100000 EEPROM b n d li u 20 nm 85 / 100 nm 25 o n m l a ch n ch kh i ng v i cc bt kha c l p trong chng trnh h th ng b i chng trnh kh i ng c th t trong khi qu trnh ghi di n ra - T i a 64K Bytes khng gian nh bn ngoi l a ch n - L p trnh kha cho ph n m m b o m t - Giao di n SPI cho l p trnh trong h th ng + giao di n JTAG ( ph h p v i tiu chu n IEEE 1149.1 - Kh nng qut bin theo tiu chu n JTAG - H tr ch s a t m ( debug ) trn chip - L p trnh c a Flash , EEPROM , b b o v ( FUSE) v Bit kha ( Lock Bits) thng qua giao di n JTAG + c i m ngo i vi - 2 b Timer /counter 8 bit v i b m g p tr c ring bi t v ch so snh m u - 2 b timer /counter 16 bit m r ng v i b m g p tr c ch so snh m u v ch thu th p ( b t d li u ) - B counter th i gian th c v i b dao ng ( oscillator ) ring bi t - 2 knh PWM 8 bit - 6 knh PWM v i kh nng l p trnh chnh xc t 2 n 16 bit - B i u ch so snh tn hi u ra

[email protected]

1

Hanoi University of Industry

Datasheet ATMEGA 128

- 8 knh , 10 bit ADC : 8 knh u cu i n , 7 knh khc nhau ( vi phn ) , 2 knh khc nhau v i b khuych i l p trnh c t i 1x , 10x ,200x - Bit nh h ng v i 2 dy giao di n n i ti p - L p trnh kp cc USARTs n i ti p - Giao di n n i ti p SPI ch t - L p trnh timer Watchdog v i b dao ng trn chip - B so snh tng t trn chip + cc tnh nng c bi t c a b vi x l - thi t l p b t l i ngu n v l p trnh l i khi pht hi n ngu n y u (brown-out) - hi u ch nh b dao ng RC bn trong - Ng t ngu n trong v ngoi - 6 ch ch ( sleep ) : Idle ngh , gi m n ADC , ti t ki m i n ( power saver) , ng t i n , ch ch ( standby ) , ch ch m r ng - Ph n m m l a ch n t n s xung nh p - L a ch n ch so snh Atmega 103 b i b c u ch Fuse - V hi u ha d ng l i ton b + c ng vo ra v d ng ng gi - 53 ng vo ra l p trnh c - 64 chn TQFP v 64 kh i QFN/MLF + i n p ho t ng - 2,7 5,5 V Atmega 128L - 4,5 5,5 V Atmega 128 + M c t c xung nh p - 0 8 MHz Atmega 128L - 0 16 Mhz Atmega 128

[email protected]

2

Hanoi University of Industry

Datasheet ATMEGA 128

II . C u hnh chn ( pin configurations )

Hnh 1 : chn ra c a Atmega 128 Atmega 128 l m t b vi x l CMOS i n p th p d a trn n n ki n trc AVR RISC nng cao . B ng cch thi hnh cc l nh m t cch m nh m trong m t chu k ng h duy nh t , Atmega128 c th cho php t c t u c l 1 MPIS trn 1 MHz t n gip ng i thi t k h th ng c kh nng t i u ho i n nng s d ng so v i t c s l.

[email protected]

3

Hanoi University of Industry S kh i ( Block Diagram)

Datasheet ATMEGA 128

[email protected]

4

Hanoi University of Industry

Datasheet ATMEGA 128

Li AVR bao g m 1 t p h p cc l nh ci t v i 32 thanh ghi chung a nng . T t c 32 thanh ghi th c n i tr c ti p v i kh i s h c v logic (ALU ) n cho php 2 thanh ghi c l p c truy c p trong 1 l nh th c thi trong m t chu k qut xung ng h . k t qu c a c u trc ny l c nhi u ki u ch hi u qu hn trong khi v n t c t c t i a nhanh hn 10 l n cc b vi s l CISC thng th ng . Atmega 128 cng cung c p cc tnh nng sau y : 128K bytes c a b nh l p trnh Flash trong h th ng v i kh nng c trong khi ang ghi , 4 K bytes EEPROM , 4 K bytes SRAM , 53 ng vo ra a nng , 32 thanh ghi chung a nng , b m th i gian th c , 4 b timer /counter ti n d ng v i ki u so snh v PWM , 2 USART , 1 bit nh h ng 2 dy giao di n n i ti p , 8 knh , 10 bit ADC v i cc l a ch n cc c ng vo ring bi t v i kh nng l p trnh khuych i , l p trnh timer Watchdog v i b t o dao ng bn trong , 1 c ng SPI n i ti p , ph h p v i chu n IEEE 1149.1 , giao di n ki m tra JTAG , cng s d ng truy c p vo ch s a t m h th ng trn chip v h tr l p trnh , v 6 ph n m m c th l a ch n ch ti t ki m i n . Ch r i IDLE d ng CPU trong khi cho php SRAM , Timer/counter , c ng SPI , v cc ng t h th ng ti p t c v n hnh . Ch t t ngu n ti t ki m dung l ng c a thanh ghi nhng n lm ng bng b t o dao ng (oscillator ) bn trong , v hi u ha t t c cc ch c nng c a chip cho n khi c ng t k ti p ho c l reset l i ph n c ng (reset hardware ) . Trong ch ti t ki m i n timer d b v n ti p t c ch y , i u ny cho php ng i s d ng b o d ng trong m t th i gian trong khi ph n cn l i c a thi t b ang trong qu trnh ngh ( ng ) sleeping. Ki u gi m nhi u ADC d ng CPU v t t c cc modul vo ra tr cc timer d b v ADC , lm c c ti u nhi u chuy n m ch trong su t qu trnh chuy n i ADC . Trong ch ch Standby b t o dao ng th ch anh v c ng h ng ang ch y trong khi ph n cn l i c a thi t b ang trong tr ng thi ng . i u ny cho php r t nhi u cc kh i t o nhanh c ng th i tiu th i n th p . Trong ch ch m r ng , c hai b t o dao ng chnh v cc timer d b v n ti p t c ch y Thi t b ny c s n xu t d a trn cng ngh chp nh c cao c a ATMEL . B nh flash ISP trn chip cho php b nh chng trnh c l p trnh l i trong h th ng thng qua 1 giao di n ISP n i ti p , b ng m t chng trnh l p trnh b nh c nh thng th ng ho c b ng m t chng trnh kh i ng ang ch y trong li c a AVR . Chng trnh kh i ng c th s d ng b t c giao di n no t i cc chng trnh ng d ng vo trong b nh cc chng trnh ng d ng ( Flash ) . Ph n m m trong ph n vng kh i ng c a b nh Flash s ti p t c ch y trong khi cc ng d ng trong phn vng ny c c p nh t , cung c p ho t ng c trong khi ghi . B ng vi c k t h p 1 CPU- c u trc 8 bit RISC v i b nh flash l p trnh h th ng trn 1 chip n , Atmega 128 l m t vi s l m nh , n cung c p 1 s linh ho t cao v mi tr ng lm vi c c ch cho r t nhi u cc ng d ng i u khi n nhng . Atmega 128 c h tr v i 1 s thch h p y c a chng trnh v cc cng c pht tri n h th ng bao g m : trnh bin d ch C , cc macro Asemmbler , cc chng [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128 nh gi so

trnh ch y th v m ph ng , 1 b m ph ng m ch i n , v cc cng c snh S tng thch v i Atmega 103 v Atmega 128

Atmega 128 l m t vi x l c ph c t p cao m s u vo ra c tch h p r t nhi u ln n 64 a ch vo ra c d tr s n trong cc l nh ci t . m b o tng thch v i Atmega 103 th t t c cc a ch vo ra hi n nay trong Atmega 103 u gi ng a ch c a Atmega 128 . T t c cc a ch I/O thm vo th c thm vo trong m t khng gian a ch I/O m r ng b t u t $60 n $FF ( trong Atmega 103 th ch a trong khng gian c a RAM trong ) . Nh ng a ch ny c th c g i b ng vi c ch s d ng cc l nh LD/LDS/LDD v ST/STS/STD , khng ph i s d ng cc l nh IN ho c OUT . Vi c t l i cc a ch trong RAM c a Atmega 103 c th v n l m t v n cho ng i s d ng . Ngoi ra , s gia tng v s l ng cc vecto ng t c th l m t v n n u cc m s d ng l a ch tuy t i . gi i quy t v n ny , m t s tng thch c a Atmega 103 c th c l a ch n b i vi c l p trnh cho Fuse M103C . Trong ch ny , khng c ch c nng no trong khng gian I/O m r ng c s d ng , v v y RAM trong c t a ch nh c a Atmega 103 . Ngoi ra , cc vecto ng t m r ng c g b . Atmega 128 th thch h p 100 % v i Atmega 103 , v c th thay th cho Atmega 103 trn cng m t bo m ch in hi n hnh . ch ng d ng s thay th Atmega 103 b ng Atmega 128 m t ci m ng i s d ng nn nh n bi t s thay th c a Atmega 103 b ng Atmega 128 . Ch tng thch c a Atmega 103

B ng vi c l p trnh M130C , Atmega 128 s tng thch v i Atmega 103 RAM , chn I/O v cc vecto ng t c miu t nh d i y . Tuy nhin , m t vi c i m Atmega 128 th khng c ch trong ch tng thch ny , nh ng c i m c li t k d i y . - M t USART thay v 2 , ch trong ch d b . Ch c 8 bt c ngha nh nh t c a thanh ghi Baud Rate l c ch . - Giao di n 2 dy n i ti p th khng c h tr . - C ng C ch l c ng ra - C ng G ch ph c v ch c nng xoay chi u ( lun phin ) - C ng F ph c v ch nh l m t u vo k thu t s thm vo u vo tng t t i b chuy n i ADC - B t i kh i ng ( Boot Loader ) khng c h tr - Khng th i u ch nh t n s c a b hi u ch nh dao ng k RC ( oscillator ) bn trong .

[email protected]

6

Hanoi University of Industry

Datasheet ATMEGA 128

- Giao di n b nh bn ngoi c th khng gi i phng b t c chn a ch cho c ng I/O chung , khng ph i c u hnh cc ch ch khc nhau n cc khu v c a ch nh bn ngoi . Thm vo , c m t vi i m khc bi t nh lm nn kh nng tng thch v i Atmega 103 - ch EXTRF v PORF ra trong MCUCSR - k t qu th i gian th khng c n thi t cho timer vWatch dog chuy n i th i gian ch - chn ng t ngoi 3 0 ph c v ch cc m c ng t - USART khng c b m FIFO , nhng d li u v n v t qua n s m hn - Nh ng bt I/O khng s d ng trong Atmega 103 nn c vi t l O b o m r ng ho t ng gi ng nh Atmega 128 M t ngha cc chn ( Pin descipsions ) - VCC : chn c p ngu n - GND : Chn n i t - Port A (PA7...PA0) : C ng A l m t c ng vo ra hai hng 8 bit v i i n tr hm bn trong ( c l a ch n cho m i bit ). B m u ra c a c ng A c c tnh i x ng v i c 2 t n nhi t ngu n c p . - Port B (PB7...PB0) : c ng B l m t c ng vo ra 2 h ng v i i n tr hm ( l a ch n cho m i bit ). B m c ng B c tnh i x ng v i 2 t n nhi t v ngu n c p . - Port C (PC7...PC0) : c ng C l m t c ng vo ra 2 hng . B m u ra c a c ng C c tnh i x ng - Port D (PD7...PD0) : c ng D tng t nh c ng D - Port E tng t nh c ng E - Port F : tr gip ging nh nh ng c ng vo tong t analog cho b chuy n i A/D . c ng F cng l m t c ng vo ra 2 h ng n u nh b chuy n i A/D khng c s d ng . Cc chn c a c ng ny c cc tr khng hm oc l a ch n cho m i bit. Chn TDO l chn c 3 ch tr khi ch TAP xu t tn hi u ra c b t. . C ng F cng tr gip ch c nng c a giao di n JTAG - Port G (PG4...PGO) : c ng G l m t c ng vo ra 5 bit 2 h ng v i i n tr hm ( c l a ch n cho t ng bit ). B m c ng G c tnh i x ng v i t n nhi t v ngu n c p . C ng G cng cung c p nh ng tnh nng c bi t . Cc chn c a c ng G l cc c ng c 3 ch khi m i u ki n reset c kch ho t d l ng h khng ch y - RESET : u ra reset . c p cho php trn chn ny th di hn di xung t i thi u s pht ra tn hi u reset , cho d ng h khng ch y . - XTAL1 : u vo b khuy ch i dao ng v u vo cho cc ng h m bn trong m ch i n i u khi n [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

- XTAL2 u ra cho b khuy ch i dao ng - AVCC : l chn ngu n p c p cho c ng F v cc b chuy n i A/D . N nn l chn n i v i VCC , d l ADC khng c s d ng . N u ADC c s d ng , n nn c n i v i chn VCC thng qua 1 b l c th p t n - AREF : l chn tham kh cho b chuy n i A/D - PEN : l chn c kch ho t trnh cho ki u l p trnh n i ti p SPI , v cc tn hi u vo c ko ln cao . B ng vi c gi chn ny m c th p trong su t qu trnh kh i ng l i ngu n ( Power on Reset ) , thi t b ny s nh p vo c ng l p trnh n i ti p SPI . PEN khng c ch c nng g trong qu trnh i u khi n . S duy tr d li u K t qu c a s th m nh b n ch ra r ng t c h ng d li u th nh hn 1 PPM trn 20 nm nhi t 85 C ho c 100 nm 25 C V cc v d m u : datasheet ny bao g m cc v d code m u theo m t cch ng n g n ch ra cch s d ng cc ph n khc nhau c a thi t b ny. Cc o n code m u ny gi thi t r ng cc ph n xc nh tiu c a file th c ci t s n tr c khi c bin d ch . nh n bi t r ng khng ph i t t c cc trnh bin d ch C c cung c p bao g m cc bit c xc nh tiu c a file v cc qu trnh ng t trong C th ph thu c vo trnh bin d ch .xem thm trong ti li u c a trnh bin d ch C bi t thm chi ti t. S xc nh cc v tr c a cc thanh ghi vo ra trong b n I/O , IN , OUT , SBIC , CBI, v SBI cc l nh ph i c thay th v i cc l nh c cho ph p truy c p trong ph n I/O m r ng . Thng th ng , LDS v STS c k t h p v i SBRS , SBRC, SBR , CBR.

[email protected]

8

Hanoi University of Industry

Datasheet ATMEGA 128

III .AVR CPU core : Li CPU c a AVRGi i thi u : Ph n ny gi i thi u v c u trc chung c a li AVR . Ch c nng chnh c a li CPU l m b o th c hi n ng chng trnh . CPU v v y ph i c th truy c p , qu n l b nh , ti n hnh tnh ton , i u khi n ngo i vi v x l cc ng t T ng quan c u trc : hnh 3 l s kh i c u trc c a AVR

c c hi u nng cao nh t v kh nng lm vi c song song , AVR s d ng c u trc Harvard v i s phn chia b nh v cc bus cho chng trnh v d li u . Cc l nh trong b nh chng trnh th c th c thi v i 1 c p s l lin l nh n . Trong khi l nh c ang c x l th l nh ti p theo c n p ti p t b nh chng trnh . Khi ni m ny kch ho t l nh th c thi trong m i chu k xung nh p ng h . B nh chng trnh l b nh flash c th l p trnh l i c trong h th ng . S truy c p nhanh vo file c a thanh ghi th bao g m 32*8 bt thanh ghi a nng v i 1 chu k xung nh p qu n l th i gian . i u ny cho php i u khi n trong m t chu k n c a n v s l s h c ALU . Thng th ng trong ho t ng c a ALU , 2 ton h ng a ch c xu t ra t file thanh ghi , qu trnh i u khi n c th c thi v k t qu c lu tr l i trong thanh ghi file trong m i chu k xung nh p . 6 trong 32 thanh ghi c th c s d ng nh l 3 a ch 16 bit gin ti p cho vng d li u a ch - kch ho t a ch c hi u l c trong tnh ton . 1 trong nh ng con tr a ch ny c th c s d ng nh l m t con tr a ch cho vi c tm ki m cc b ng trong b nh chng trnh Flash . Cc thanh ghi ch c nng c thm vo l thanh ghi 16 bit thanh ghi X , Y , Z s c miu t sau trong ph n ny . [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

n v s l s h c v logic ALU h tr qu trnh i u khi n s h c v logic gi a cc thanh ghi ho c gi a cc i l ng khng i v cc thanh ghi . Cc thanh ghi i u khi n qu trnh n c th cng c thi hnh trong ALU . Sau m t qu trnh i u khi n s h c , tr ng thi c a cc thanh ghi c c p nh t ph n nh thng tin v k t qu c a qu trnh i u khi n . Dng chng trnh th c cung c p b i cc l nh nh y c i u ki n v khng c i u ki n v cc l nh g i (call instructions ) , c th l cc a ch tr c ti p trong ton b khng gian a ch . H u h t cc l nh c a AVR u c nh d ng l 16 bit t n . M i b nh a ch chng trnh th bao g m 16 ho c 32 bit l nh Khng gian nh Flash c chia ra lm 2 ph n ., ph n chng trnh kh i ng v ph n chng trnh ng d ng . C 2 ph n ny u c cc bit kha ring cho s b o v ghi v c/ghi . L nh SPM c vi t vo trong b nh ng d ng Flash ph i c th ng ch trong khu v c kh i ng chng trnh . Trong su t qu trnh ng t v g i cc chng trnh con, s hon tr a ch c a b m chng trnh c lu trong ngn x p (Stack ) . Ngn x p ( stack ) c cch gn hi u qu trong SRAM d li u chung , v hi u qu c a ngn x p ( stack ) th ch b gi i h n b i l n c a SRAM v s s d ng c a SRAM . T t c cc chng trnh s d ng ph i c kh i t o SP trong chng trnh con reset ( tr c khi chng trnh con ho c cc ng t c th c thi ) . Con tr ngn x p ( SP- stack pointer ) l qu trnh truy c p c/ghi trong khng gian a ch I/O. SRAM d li u c th d dng c truy c p n thng qua 5 kiu a ch khc nhau c h tr trong c u trc c a AVR . Khng gian nh trong c u trc c a AVR th u tuy n tnh v u l cc vng nh thng th ng . M t module ng t linh ho t c cc thanh ghi i u khi n c a n trong khng gian I/O v i 1 bit ng t kch ho t chung c thm vo trong thanh ghi tr ng thi . T t c cc ng t u c m t vc t phn chia ng t trong cc b ng vecto ng t . Cc ng t th c quy n u tin ph h p v i v tr cc vecto ng t c a chng . cc vecto ng t m c th p , cc vecto ngt m c cao c u tin hn . Vng khng gian a ch nh I/O bao g m 64 a ch ci m c th c truy c p tr c ti p ,ho c cc v tr lu d li u theo cc thanh ghi t $20- $5F ,. Thm vo Atmega 128 cn c thm khng gian a ch I/O m r ng t $60 - $FF trong SRAM ni m ch c cc l nh nh ST/STS/STD ho c LD/LDS/LDD c th c s d ng . ALU n v s l s h c v logic Hi u su t cao c a n v s l logic c a AVR i u khi n m t cch tr c ti p vi c k t n i v i t t c 32 thanh ghi a nng chung . Trong vng m t chu k xung nh p ng h , qu trnh i u khi n s h c gi a cc thanh ghi a nng t ng h p ho c gi a cc thanh ghi v 1 s ki n ang c th c thi ngay lc . Qu trnh i u khi n ALU th c chia ra lm 3 nhm s h c , logic , v bit ch c nng ( bit functions ) . Vi ci t c a c u trc cng cung c p nh ng s tr gip a nhi m m nh m cho c 2 lo i tn [email protected]

Hanoi University of Industry hi u/khng tn hi u php nhn v c miu t chi ti t hn .

Datasheet ATMEGA 128 nh d ng phn s . xem thm ph n ci t l nh

Thanh ghi tr ng thi status registers Thanh ghi tr ng thi bao g m nh ng thng tin v k t qu c a t t c cc l nh s h c c th c thi g n nh t . Thng tin ny c th c s d ng cho s thay i cc dng chng trnh m th c hi n cc i u ki n c a qu trnh i u khi n . Ch r ng thanh ghi tr ng thi c c p nh t sau qu trnh i u khi n ALU nh l c xc nh trong ph n tham kh o ci t l nh . i u ny s c g b trong nhi u tr ng h p khi c n thi t ph i s d ng cc l nh so snh ring , k t qu c a vi c ny l ta c cc o n m nhanh hn v ch t ch hn . Thanh ghi tr ng thi khng t ng lu khi nh p vo 1 chng trnh con ng t v s khi ph c khi ph n h i t 1 ng t . i u ny ph i c i u khi n b i ph n m m Thanh ghi tr ng thi SREG- c xc nh nh l :

- Bit 7- I Bit ng t kch ho t chung: ph i c ci t cho cc ng t c kch ho t . S i u khi n kch ho t cc ng t ring l sau c s d ng trong 1 thanh ghi i u khi n s phn chia . N u ton b thanh ghi kch ho t ng t b xa , th khng c b t c ng t no c kch ho t c l p trong s cc ng t ring r c ci t kch ho t . Bt I b xa b ng ph n c ng sau khi 1 ng t g p s c , v c ci t b ng l nh RETI kch ho t l i cc chng trnh con ph c v ng t . Bit I cng c th c ci t ho c b xa trong ph n m m v i l nh SEI v CLI nh l c m t trong ph n tham kh o l nh ci t - Bt 6 T : bit sao chp kho d li u Bt l nh copy BLD (bit LoaD ) v BST ( bit STore) s d ng Bit T nh l ngu n ho c ch n c a bit i u khi n . M t bit t m t thanh ghi trong file thanh ghi c th c sao chp vo trong Bit T b ng l nh BST , v m t bit trong T c th c sao chp vo trong m t bit trong thanh ghi c a thanh ghi file b ng l nh BLD - Bit 5 H : c bo 1 n a ( half carry flag ) Bt c bo 1 n a H hi n th 1 n a s nh trong vi qu trnh tnh ton s h c . bit ny th r t l h u d ng trong i s BCD ( xem ph n m t ci t l nh bi t thm chi ti t ) - Bit 4 S : bt bo hiu ( sign bit ) , S = N+V Bit S th lun lun l ring bi t ho c gi a 2 c m N v dng trn b sung c a c V . xem ph n m t l nh ci t bi t thm chi ti t . - Bit 3 V : c bo trn b sung c a 2 11 [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

C bo trn b sung 2 V h tr ph n b s h c c a 2 . xem ph n m t l nh bi t thm chi ti t - Bit 2 N : c bo m C bo m N hi n th 1 k t qu m trong m t qu trnh tnh ton s h c ho c logic . xem thm ph n m t l nh bi t thm chi ti t . - Bit 1 Z : c khng ( zero ) C khng Z hi n th m t k t qu zro trong m t qu trnh tnh ton logic ho c s h c . xem ph n m t ci t l nh bi t thm chi ti t - Bit 0 C c mang : C mang C hi n th m t s mang trong 1 qu trnh tnh ton logic v s h c File ng k a nng dng chung ( general purpose register file ) File ng k c t i u ha cho AVR c tng c ng nh vi c ci t l nh RISC. t c hi u su t v linh ho t c n thi t , cc gi n u vo ra (input/output ) sau y dng h tr file ng k : - 1 ton h ng u ra 8 bit v 1 k t qu u vo 8 bit - 2 ton h ng u ra 8 bit v 1 k t qu u vo 8 bit - 2 ton h ng u ra 8 bit v 1 k t qu u vo 16 bit - 1 ton h ng u ra 16 bit v 1 k t qu u vo 16bit Hnh 4 ch ra c u trc c a 32 thanh ghi a nng dng chung trong CPU

H u h t cc l nh i u khi n trong file ng k u c th truy c p tr c ti p vo t t c thanh ghi v h u h t cc l nh trong chng u th c hi n trong m t chu k xung nh p. Nh l c ch ra trong hnh 4 m i thanh ghi cng c gn a ch vng nh d li u , s s p x p tr c ti p vo trong 32 v tr u tin c a khng gian d li u ng i dng . M c d thi t b v t l nh l c nh v trong SRAM , s t ch c vng nh ny cung c p s linh ho t trong truy c p vo cc thanh ghi , Nh l cc con tr thanh ghi X, Y ,Z c th c ci t trong b ng c a b t c thanh ghi no trong file [email protected]

Hanoi University of Industry Thanh ghi X , thanh ghi Y , thanh ghi Z

Datasheet ATMEGA 128

Thanh ghi R26...R31 c m t vi ch c nng c thm vo cc vng nh a nng c a chng . Cc thanh ghi l cc con tr a ch 16 bit cho vi c t a ch m t cch gin ti p trong vng d li u . C 3 thanh ghi a ch gin ti p X, Y , Z th c miu t trong hinh 5

Trong cc ki u t a ch khc nhau c nhi u thanh ghi a ch c cc ch c nng nh l s thay th c nh , t ng gia tng ,v t ng gi m ( xem thm ph n tham kh o ci t l nh bi t thm chi ti t ) Stack pointer : con tr ngn x p Ngn x p th c s d ng chnh cho vi c lu tr d li u t m th i , cho vi c lu tr cc bi n a phng v vi c lu tr cc a ch ph n h i sau khi g i cc chng trnh ng t v cc chng trnh con. Thanh ghi con tr ngn x p lun lun ghi trn nh c a ngn x p (Stack ). Ch r ng Ngn x p c ci t nh l pht tri n t nh ng v tr nh cao hn n cc v tr nh th p hn . i u ny g i r ng Ngn x p y cc l nh c rt ng n xu ng con tr ngn x p Con tr ngn x p ch vo ngn x p d li u SRAM ni m cc chng trnh con v cc ngn x p ng t c t . Khng gian ngn x p trong SRAM ph i c xc nh b ng chng trnh tr c khi b t c l nh g i chng trnh con no c th c thi ho c l cc ng t c kch ho t . Con tr ngn x p ph i c ci t i m trn $60 . Con tr ngn x p b suy gi m b ng 1 khi d li u b y ln ngn x p khi dng l nh PUSH , v suy gi m b ng 2 khi s ph n h i a ch b y vo trong ngn x p v i s g i cc chng trnh con ho c cc ng t. Con tr ngn x p tng ln b ng 1 khi d li u b trn ra kh i ngn x p v i l nh POP , v n tng ln 2 khi d li u b trn kh i ngn x p v i s ph n h i t chng trnh con RET ho c ph n h i t ng t RETI Con tr ngn x p c a AVR c ci t nh l 2 thanh ghi 8 bit trong khng gian vo ra I/O . S cc bit th c s c dng th ph thu c vo s ci t tr c . Ch [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

r ng khng gian d li u trong m t vi s ci t tr c c a c u trc c a AVR th nh n n i m ch c n SPL. Trong tr ng h p ny , thanh ghi SPH s khng c trnh by

Thanh ghi l a ch n RAM page Z - RAMPZ

- Bit 7...1 RES : bit d tr ( Reserved Bits ) C cc bt d tr v s lun lun c c l 0 . Khi vi t vo cc v tr a ch ny vi t nh ng bit l khng cho s tng thch v i cc thi t b trong tng lai. - Bit 0 RAM PZ0 : extended RAM page Z pointer Thanh ghi RAMPZ th ng c s d ng ch n l a ci m 64K RAM page c truy c p b ng con tr Z . V Atmega 128 khng h tr nhi u hn 64K c a b nh SRAM , thanh ghi ny ch c s d ng l a ch n ci trang m trong b nh chng trnh c truy c p vo khi m l nh ELMP/SPM c s d ng. S ci t khc nhau c a Bit RAMPZ0 cho ta cc hi u ng d i y : RAMPZ0 = 0 a ch nh chng trnh l t $0000 - $7FFF ( th p hn 64K bytes ) c truy c p b i ELPM/SPM RAMPZ0 = 1 a ch nh chng trnh t $8000 - $FFFF ( cao hn 64K bytes) th c truy c p b iELPM/SPM Ch r ng LPM th khng c nh h ng b ng vi c ci t RAMPZ L nh th c thi nh th i (instruction execution timing)

Ph n ny miu t khi ni m v s qu n l truy c p b nh th i cho s th c thi cc l nh . CPU c a AVR c i u khi n b ng b nh th i trong CPU , n c sinh ra tr c ti p t ngu n pht xung ng h c ch n n chip . Khng c s chia b m th i gian bn trong no c s d ng . Hnh 6 ch ra cc l nh truy c p ng th i v cc l nh th c thi c kch ho t b ng c u trc Havard v khi ni m file ng k truy c p nhanh . y l khi ni m x l lin l nh c b n thu c trn 1 MIPS trn MHz v i k t qu duy nh t tng thch v i 14 [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

cho ch c nng trn gi thnh , ch c nng trn 1 xung nh p v ch c nng trn n v ngu n i n Hnh 6 : l nh truy c p ng th i v l nh th c thi

Hnh 7 ch ra khi ni m b nh th i bn trong cho file ng k . Trong m t chu k xung nh p n c a 1qua trnh tnh ton ALU th c 2 thanh ghi c th c thi , v k t qu c lu l i trong thanh ghi ch n

Qu trnh i u khi n ALU trong m t chu k n Kh i ng l i v i u khi n ng t

AVR cung c p a d ng cc ngu n ng t khc nhau . Cc ng t ny v m i vecto phn chia ng t c m t vecto chng trnh ng t trong vng nh chng trnh . T t c cc vecto ng t u c gn v i cc bit ring r ci m ph i c vi t l m c logic 1 cng v i cc bit kch ho t ng t chung trong thanh ghi tr ng thi m kch ho t cc ng t . Ph thu c vo gi tr c a b m chng trnh , cc ng t c th t ng v hi u ha khi m bt kha kh i ng BLB02 ho c BLB12 c l p trnh . c i m c i thi n tnh b o m t c a ph n m m . xem thm ph n b nh chng trnh trang 286 bi t thm chi ti t . M c a ch th p nh t trong vng nh chng trnh th c t l m c nh nh l RESET v cc vecto ng t . M t danh sch y c a cc vecto ng t c ch ra trang 60 . Danh sch cng xc nh r cc c p u tin c a cc ng t khc nhau. Cc a ch th p hn cc a ch cao th l cc c p u tin . RESET c m c u tin cao nh t v ti p theo l INT0 truy v n ng t ngoi . Cc vec to ng t c th c di chuy n b t u cho vng Flash kh i ng b ng vi c ci t bit IVSEL trong thanh ghi i u khi n MCU (MCUCR) . Tham kh o ph n ng t trang 60 bi t thm thng tin . Vecto reset c th cng c di chuy n b t u vng Flash kh i ng b ng cch l p trnh BOOTRST fuse , xem thm ph n h tr t i qu trnh kh i ng trang 273 [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

Khi m t ng t xu t hi n , Bit I kch ho t ng t chung b xa v t t c cc ng t b v hi u ha . Ph n m m ng i s d ng c th vi t m c logic 1 vo bit I kch ho t kh i ng t . T t c cc ng t kch ho t c th ng t chng trnh con ph c v ng t hi n hnh . Bt I t ng ci t khi c m t ph n h i t l nh ng t RETI c th c thi . y l c s c a 2 lo i ng t . Lo i th nh t th c kh i ng b ng m t s ki n ci m ci t c bo ng t . V i nh ng ng t ny , b m chng trnh c vecto ha n cc vecto ng t th c s m th c thi vi c i u khi n cc chng trnh con ph c v ng t , v ph n c ng xa cc c ng t tng ng . C ng t cng c th c xa b ng vi c vi t m c logic 1 ln bit v tr c ng t b xa . N u 1 i u ki n ng t xu t hi n trong khi bit kch ho t ng t tng ng b xa ,c ngt s ci t v c ghi nh cho n khi qu trnh ng t c kch ho t , ho c c ng t b xa b ng ph n m m . Tng t , n u m t ho c nhi u i u ki n ng t xu t hi n trong khi bit kch ho t ng t chung b xa, c bo ng t tng ng s c ci t v ghi nh cho n khi bt kch ho t ng t chung c ci t v s th c thi sau b ng th t u tin . Lo i th 2 c a cc ng t s kh i ng ch c n i u ki n ng t c a ra . Nh ng ng t ny khng c n thi t ph i c c bo ng t . N u i u ki n ng t bi n m t tr c khi cc ng t ny c kch ho t cc ng t ny s khng kh i ng . Khi AVR thot ra t m t ng t , n s lun lun ph n h i t chng trnh chnh v th c hi n 1 ho c nhi u l nh tr c khi b t c ng t ang tr hon no c x l . Ch r ng thanh ghi tr ng thi th khng t ng lu tr khi nh p vo m t chng trnh con ph c v ng t ho c c khi ph c l i khi s ph n h i t m t chng trnh con ph c v ng t . i u ny ph i c i u khi n b ng ph n m m . Khi s d ng l nh CLI lm bi n m t cc ng t , cc ng t s bi n m t ngay l p t c . khng c ng t no s c th c thi sau khi c l nh CLI , d l n xu t hi n ng th i v i l nh CLI . V d d i y ch ra cch ny c th s d ng trnh cc ng t trong su t dy ghi th i gian c a EEPROM

[email protected]

16

Hanoi University of Industry

Datasheet ATMEGA 128

Khi vi c s d ng l nh SEI kch ho t cc ng t , cc l nh SEI d i y s th c thi tr c khi b t c ng t b tr hon nh l c ch trong v d ny

Th i gian p ng cc ng t p ng cc ng t th c thi cho t t c cc ng t c a AVR t i thi u trong 4 chu k xung nh p ng h . Sau 4 xung nh p ng h , vec to a ch chng trnh c a cc chng trnh con ph c v ng t c th c thi . Trong su t 4 chu k xung nh p ny , b m chng trnh b y vo trong ngn x p . Vecto ny th ng c nh y trong cc chng trnh con ph c v ng t , v cc l nh nh y ny t o ra 3 chu k xung nh p. N u 1 ng t xu t hi n trong su t qu trnh th c thi c a m t l nh nhi u chu k , l nh ny s hon thnh sau tr c khi ng t c x l . N u 1 ng t xu t hi n khi MCU trong ch ng Sleep mode , th i gian p ng th c thi ng t th c gia tng b ng 4 chu k xung nh p . S gia tng ny d n n thm vo th i gian kh i ng t qu trnh ng l a ch n Sleep mode M t s ph n h i t vi c i u khi n chng trnh con ph c v ng t t o ra 4 chu k xung nh p . Trong su t 4 chu k xung nh p, b m chng trnh ( 2 Bytes) c trn ra t ngn x p , con tr ngn x p c gia tng b ng 2 ,v Bit I trong SREG c ci t.

[email protected]

17

Hanoi University of Industry

Datasheet ATMEGA 128

IV . Cc b nh c a AVR Atmega 128Ph n ny miu t cc b nh khc nhau trong Atmega 128. C u trc AVR c 2 khng gian nh chnh , b nh d li u v b nh chng trnh . Thm vo , c i m c a Atmega 128 l m t b nh EEPROM cho kho lu tr d li u . T t c 3 vng nh th u di v n nh B nh chng trnh flash co th l p trnh l i trong h th ng Atmega 128 bao g m 128K bytes b nh chng trnh c th l p trnh l i trn chip dng lu tr chng trnh . T khi t t c cc l nh c a AVR c r ng l 16 v 32 bit , b nh Flash c t ch c nh l 64K*16 . b o m t ph n m m , khng gian b nh chng trnh Flash c chia thnh 2 ph n , l ph n chng trnh kh i ng v ph n chng trnh ng d ng B nh Flash c m t b n lu l trn 10000 chu k ghi xa . B m chng trnh (PC )c a Atmega 128 l 16 bit di , vi c t a ch ny cho 64K c nh v trong b nh chng trnh . Ho t ng c a khu v c chng trnh kh i ng cn c k t h p v i cc bit kha qu trnh kh i ng v s b o v ph n m m c m t m t cch chi ti t trong ph n h tr t i qu trnh kh i ng trang 273 v l p trnh b nh trang 286. b o g m nh ng m t chi ti t v l p trnh cho b nh Flash trong SPI , JTAG , ho c ki u l p trnh song song. B ng h ng s c th c gn bn trong khng gian a ch b nh chng trnh( xem thm LPM load program memory v ELPM Extended load program Memory instruction description ) Gi n th i gian cho vi c ci t l nh v th c thi l nh c gi i thi u trong ph n l nh th c thi th i gian trang 14 . Hnh 8 : b n b nh chng trnh

[email protected]

18

Hanoi University of Industry B nh d li u SRAM : SRAM Data Memory

Datasheet ATMEGA 128

Atmega 128 h tr 2 c u hnh khc nhau cho b nh d li u SRAM nh c li t k trong b ng 1

Hnh 9 : ch ra cch m b nh SRAM c a Atmega 128 c t ch c Atmega 128 l 1 vi x l linh ho t v i r t nhi u n v ngo i vi hn nn c th h tr 64 v tr d tr trong m ho t ng c a cc l nh IN v OUT . V khng gian a ch I/O m r ng t $60 n $FF trong SRAM , ch cc l nh ST/STS/STD v LD/LDS/LDD m i c th c s d ng . Khng gian a ch I/O khng th xu t ra khi m Atmega 128 trong tr ng thi tng thch v i Atmega 103 Trong ch thng th ng a ch v tr d li u u tin 4352 c hai file ng k , b nh u vo ra I/O v d li u trong SRAM . 32 v tr a ch u tin c a thanh ghi file , ti p theo l 64 v tr b nh I/O tiu chu n , sau l 160 v tr c a cc vng nh I/O m r ng v ti p theo l 4096 v tr a ch c a SRAM d li u . Trong ch tng thch v i Atmega 103 , u tin l 4096 v tr a ch vng d li u c hai file ng k , vng nh I/O v SRAM d li u bn trong . u tin l 32 v tr a ch c a file ng k , ti p theo l 64 v tr c a vng nh I/O chu n , v ti p theo l 4000 v tr a ch c a SRAM bn trong . M t ty ch n SRAM d li u bn ngoi n a c th c s d ng v i Atmega 128 . SRAM ny s chi m m t vng trong vung a ch cn l i c a khng gian a ch 64K. Vng ny b t u a ch bn d i trong SRAM . Thanh ghi file , I/O , I/O m r ng v SRAM trong chi m cc bit th p nh t 4352 bytes ch bnh th ng , v chi m 4096bytes th p nh t trong ch tng thch v i Atmega 103 (I/O m r ng khng c c p y ) , v v y khi s d ng 64KB(65536 Bytes ) c a b nh ngoi , 61184 Bytes c a b nh ngoi s d trong ch bnh th ng , v 61440 Bytes trong ch tng thch v i Atmega 103. xem ph n giao di n b nh bn ngoi trang 26 thm chi ti t Khi s truy c p a ch trong b nh SRAM v t qu v tr b nh d li u bn trong , SRAM d li u bn ngoi c truy c p s d ng cc l nh gi ng nhau v ph n truy c p b nh d li u bn trong . Khi cc b nh d li u bn trong c truy c p , cc chn phn tch qu trnh c v ghi (PG0 v PG1) th khng ho t ng trong khi t t c truy c p 1 chu k . Qu trnh i u khi n SRAM ngoi th c kch ho t b ng vi c ci t cc bit SRE trong thanh ghi MCUCR S truy c p SRAM ngoi t o ra 1chu k xung nh p thm vo trn 1byte c so snh v i s truy c p vo SRAM trong . C ngha l cc l nh LD , ST , LDS , STS , LDD , STD , PUSH, v POP t o thm 1 chu k xung nh p n a . N u ngn x p c t [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

trong SRAM ngoi, cc ng t , s g i cc chng trnh con , v cc ph n h i t o ra 3 xung nh p b xung , b i v b m chng trnh 2 bytes b y ln v trn ra , v vi c truy c p vo b nh ngoi khng t o ra s thu n l i cho s truy c p b nh pipe-line bn trong .Khi giao di n SRAM ngoi c s d ng v i tr ng thi ch ( wait- state ) , s truy c p 1 byte ngoi t o ra 2 , 3 , 4 xung nh p thm vo cho 1 , 2 , 3 tr ng thi ch tng ng . Cc ng t , cc chng trnh con , v ph n h i s c n 5 , 7 , 9 xung nh p nhi u hn l c xc nh trong h ng d n ci t l nh cho 1 ,2, 3 tr ng thi ch . Nm ki u t a ch cho b nh d li u bao g m : tr c ti p , gin ti p km thay th , gin ti p , gin ti p km ti n gi m b t , v gin ti p km post increment . Trong B ghi file , thanh ghi R26 v R31 c c i m l thanh ghi con tr a ch gin ti p . Cch nh a ch tr c ti p h ng t i khng gian a ch tr n v n Cch nh a ch gin ti p km theo thay th h ng t i 63 v tr a ch t cc i ch c s c a ra b i thanh ghi Y v Z Khi s d ng ki u nh a ch thanh ghi gin ti p km theo t ng thay th v post increment , a ch thanh ghi X , Y , Z c gia tng ho c gi m b t 32 thanh ghi lm vi c a nng chung , 64 thanh ghi I/O v 4096 Bytes c a SRAM d li u ngoi trong Atmega 128 u c truy c p thng qua t t c cc ki u t a ch trn . b ghi file c miu t trong b ghi file a nng dng chung trang 12 Hnh 9 b n b nh d li u

[email protected]

20

Hanoi University of Industry Th i gian truy c p d li u b nh

Datasheet ATMEGA 128 : Data memory Access Times

Ph n ny miu t khi ni m th i gian truy c p ni chung c a s truy c p b nh trong . S truy c p b nh d li u trong SRAM c bi u th trong 2 xung cklCPU nh l c miu t trong hnh 10

B nh d li u EEPROM Atmega 128 bao g m 4K bytes c a b nh d li u EEPROM . N c t ch c nh l s phn chia khng gian d li u , trong m i bit n c th c c v ghi . B nh EEPROM c b n l trn 100000 chu k ghi xa . Qu trnh truy c p gi a EEPROM v CPU c miu t d i y , vi c xc nh a ch thanh ghi a ch EEPROM , thanh ghi d li u EEPROM , v cc thanh ghi i u khi n EEPROM L p trnh b nh trang 286 bao g m nh ng miu t chi ti t v l p trnh EEPROM trong SPI , JTAG , ho c ki u l p trnh ng th i . Truy c p c v ghi c a EEPROM

Cc thanh ghi qu n l vi c truy c p EEPROM c qu n l trong khng gian I/O . Th i gian truy c p ghi cho EEPROM c a ra trong B ng 2 . ch c nng t nh th i , tuy nhin , ph n m m ng i dng t d khi byte k ti p c ghi . N u m m ng i dng bao g m cc l nh m c vi t vo EEPROM , th m t vi s phng ng a ph i c a ra . Trong b ngu n cung c p c l c k , VCC c kh nng tng ho c gi m ch m khi b t ho c t t ngu n . V nguyn nhn ny nn thi t b trong vi chu trnh th i gian ch y 1 i n p th p hn c xc nh v t n s xung nh p c s d ng . Xem thm ph n gi i thi u s sai h ng EEPROM trang 25 bi t thm chi ti t trnh cc v n c th x y ra trong cc tr ng h p . m trnh s ngn c n v tnh EEPROM vi t , 1 bi n php vi t xc nh ph i c tun theo . Tham kh o ph n miu t v thanh ghi i u khi n EEPROM bi t thm chi ti t . Khi m EEPROM c c , CPU t m d ng trong kho ng 4 chu k xung nh p tr c khi l nh c th c thi

[email protected]

21

Hanoi University of Industry Thanh ghi a ch EEPROM EEARH v EEARL

Datasheet ATMEGA 128

Bit 15...12 Res : bt d tr y l cc bt v lun lun c c l 0 . Khi vi t n cc v tr a ch ny , vi t cc bit ny l 0 tng thch v i cc thi t b trong tng lai Bt 11...0 EEAR11..0 : a ch EEPROM Thanh ghi a ch EEPROM EEARH v EEARL xc nh cc a ch c a EEPROM trong khng gian 4K bytes EEPROM . Bytes d li u c a EEPROM c nh a ch thu c trong kho ng gi a 0 v 4096. Gi tr ban u c a EEAR th khng c xc nh . Gi tr chnh xc ph i c vi t tr c khi EEPROM c th c truy c p. Thanh ghi d li u EEPROM EEDR

Bt 7...0 EEDR7.0 . d li u EEPROM ph c v cho qu trnh ghi EEPROM , thanh ghi EEDR bao g m d li u c vi t vo EEPROM cc a ch c a b i thanh ghi EEAR . ph c v qu trnh c EEROM , thanh ghi EEDR bao g m cc d li u a ra t EEPROM t i a ch c a ra b i EEAR. Thanh ghi i u khi n EEPROM EECR

Bt 7...4 Res : cc bit d tr Cc bit ny l cc bit d tr trong Atmega 128 v s lun lun c Bt 3 EERIE : s n sng kch ho t cc ng t EEPROM [email protected]

c l 0 .

22

Hanoi University of Industry

Datasheet ATMEGA 128

Vi c vi t EERIE kch ho t m t ng t s n sng c a EEPROM n u bt I c a SREG c ci t . Vi t EERIE l 0 v hi u ha ng t . thanh ghi ng t s n sng c a EEPROM sinh ra 1 ng t khng i khi EEWE b xa Bt 2 EEMWE : bt kch ho t vi t chnh c a EEPROM Bt EEMWE quy t nh c ci t EEWE l 1nguyn nhn gy ra EEPROM c ghi d li u vo. Khi m EEMWE c vi t l 1 , vi c vi t EEWE l 1 trong vng 4 chu k xung nh p s vi t d li u vo EEPROM cc a ch c l a ch n . N u EEMWE l 0 , vi c vi t EEWE l 1 s khng c hi u l c . Khi EEMWE c vi t l 1 b i ph n m m, th ph n c ng s xa bit v 0 sau 4 chu k xung nh p. Xem thm ph n miu t c a bit EEWE cho 1 quy trnh vi t vo EEPROM Bit 1- EEWE : Kch ho t vi c vi t EEPROM Tn hi u EEWE kch ho t vi c ghi vo EEPROM th c phn tch trong EEPROM. Khi a ch v d li u c ci t chnh xc , bit EEWE ph i c ci t vi t gi tr vo trong EEPROM . Bit EEMWE ph i c ci t khi m c logic 1 c vi t vo bit EEWE , theo cch khc th vi c vi t vo EEPROM khng x y ra . Quy trnh d i y nn c tun theo khi ghi vo EEPROM ( th t c a b c 3 v 4 l khng c n thi t ) 1. i cho n khi EEWE tr thnh 0 2. i cho n khi bit SPMEN trong thanh ghi SPMCSR tr thnh 0 3. Vi t a ch m i c a EEPROM t i EEAR ( l a ch n ) 4. Vi t d li u m i c a EEPROM t i EEDR ( l a ch n ) 5. Vi t m c logic 1 t i bit EEMWE trong khi vi t m c logic 0 t i bit EEWE thanh ghi EECR 6. Trong 4 chu k xung nh p sau khi ci t EEMWE , vi t m c logic 0 vo EEWE B nh EEPROM khng th b l p trnh trong su t qu trnh m CPU ghi vo trong b nh Flash . Ph n m m ph i ki m tra xem chng trnh trong b nh Flash c hon thi n tr c khi kh i u 1 l n ghi EEPROM . B c 2 ch th c s c n thi t n u nh ph n m m bao g m 1 b t i qu trnh kh i ng (boot loader ) ang cho php CPU l p trnh vo trong b nh Flash. N u nh b nh Flash khng bao gi c c p nh t b i CPU th b c 2 c th c b qua . xem ph n h tr t i qu trnh kh i ng trang 273 bi t thm chi ti t v s l p trnh kh i ng C nh bo : m t s gin o n gi a b c 5 v b c 6 s lm h ng 1 chu k ghi , t khi bit kch ho t qu trnh ghi chnh c a EEPROM s b h t th i gian ch . N u nh 1chng trnh con ph c v ng t ang truy c p vo ang c ng t b i m t s truy c p vo EEPROM khc , thanh ghi EEAR v thanh ghi EEDR s b s a i , nguyn nhn c a qu trnh ng t EEPROM b h ng . N th c ngh ph i c c bo ng t chung c xa trong su t 4 b c cu i trnh cc v n trn . Khi th i gian truy c p vi t tri qua , bit EEWE b xa b i ph n c ng . Ph n m m ng i dng c th thm d bit ny v i n khi l 0 tr c khi vi t byte k ti p . Khi [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

EEWE c ci t , CPU b d ng l i trong 2 chu k xung nh p tr c khi l nh ti p theo c th c thi. Bit 0 EERE : kch ho t qu trnh c EEPROM Tn hi u EERE kch ho t vi c c EEPROM th c qu trnh c phn tch trong EEPROM . Khi a ch chnh xc c ci t trong thanh ghi EEAR , bit EERE ph i c vi t l m c logic 1 t i b kch ho t trong qu trnh c EEPROM . Qu trnh c EEPROM t o ra m t l nh , v c truy v n d li u c gi tr ngay l p t c . Khi EEPROM c c, CPU b d ng l i trong 4 chu k xung nh p tr c khi l nh k ti p c th c thi Ng i s d ng nn thm d bit EEWE tr c khi b t u qu trnh c . N u 1 qu trnh vi t ang c ti n hnh , n cng khng th c c b i EEPROM , v cng khng thay i thanh ghi EEAR S i u ch nh b t o dao ng th ng c s d ng trong qu trnh truy c p EEPROM . B ng 2 li t k cc thi gian chng trinh thng th ng cho s truy c p EEPROM t CPU

Cc o n code m u d i y ch dng cc hm c a C v ASSEMBLY vi t vo EEPROM. Cc v d ny th a nh n r ng cc ng t c i u khi n ( v d b ng cch v hi u ha cc ng t 1 cch chung )v th m khng c ng t no xu t hi n trong su t qu trnh th c thi cc hm trn . Cc v d ny cng th a nh n r ng khng c b t i qu trnh kh i ng no b ngn c n trong ph n m m . N u nh o n code b ngn c n , th hm vi t EEPROM cng ph i i trong khi b t c l nh SPM no ang di n ra hon thnh

[email protected]

24

Hanoi University of Industry

Datasheet ATMEGA 128

Cc v d m u k ti p ch ra cc hm C v assembly dng cho qu trnh c EEPROM . Cc v d ny cng th a nh n r ng cc ng t c i u khi n v th m khng c ng t no xu t hi n trong su t qu trnh th c thi c a cc hm trn.

[email protected]

25

Hanoi University of Industry Qu trnh vi t trong su t ch down Sleep Mode )

Datasheet ATMEGA 128 ng ng t i n (EEPROM Write During Power-

Khi ng nh p vo trong ch ng ng t i n trong khi 1 qu trnh vi t EEPROM ang ho t ng , qu trnh vi t EEPROM v n ti p t c v s hon thnh tr c th i gian s truy c p ghi c chuy n ti p . Tuy nhin , khi qu trnh vi t c hon thnh , b t o dao ng v n ti p t c ch y , v nh 1 h qu , thi t b ny khng truy nh p vo ch ng t ngu n m t cch tr n v n . V v y n c ngh ki m tra l i r ng qu trnh vi t EEPROM c hon thnh tr c khi c s truy nh p vo ch ng t ngu n . S ngn c n vi c sai h ng EEPROM Trong su t qu trnh VCC m c th p , d li u c a EEPROM c th b h h ng b i v i n p ngu n c p th qu th p cho CPU v EEPROM lm vi c bnh th ng . Nh ng k t qu ny th gi ng nh l v ph n EEPROM s d ng cc b c trong bo m ch h th ng , v gi i php thi t k nn c p d ng . M t s h h ng d li u c a EEPROM c th b gy ra trong hai tr ng h p khi m i n p qu th p . u tin , m t qu trnh ghi lin t c thng th ng t i EEPROM c n c 1 i n p c c ti u i u khi n ng . Th 2 , b n thn CPU th c hi n cc l nh khng ng , n u nh ngu n cung c p qu th p . S h h ng d li u c a EEPROM c th d dng trnh c b ng cc khuy n co trnh by d i y : Gi cho ho t ng RESET (low) c a AVR trong su t giai o n thi u i n p ngu n c p . i u ny c th lm c b ng vi c kch ho t b d s t p bn trong (BOD) . N u 1 tn hi u RESET xu t hi n trong khi 1 qu trnh ghi ang ti n hnh , qu trnh ghi s c hon thnh v i i u ki n l i n p ngu n c p ang b thi u h t . B nh vo/ra : I/O Memory Vng nh I/O xc nh trong Atmega 128 th c ch ra trong ph n chi ti t thanh ghi trang 362 T t c cc c ng vo ra v cc ngo i vi c a Atmega 128 u c t trong vng khng gian nh I/O . T t c cc v tr I/O c th c truy c p b ng l nh LD/LDS/LDD v ST/STS/STD , s chuy n d li u gi a 32 thanh ghi a nng lm vi c chung v khng gian I/O . Thanh ghi I/O trong ph m vi cc c p a ch $00 - $1F u l cc bit c th truy c p tr c ti p b ng vi c s d ng l nh SBI v CBI . Trong cc thanh ghi , gi tr c a cc bit n c th c ki m tra b ng cch s d ng cc l nh SBIS v SBIC . Tham kh o ph n ci t l nh bi t thm chi ti t . Khi s d ng I/O xc nh l nh IN v OUT th cc a ch I/O $00 - $3F ph i c s d ng. Khi vi c t a ch thanh ghi cng nh l vng d li u s s d ng cc l nh LD v ST , $20 ph i c thm vo cc a ch . Atmega 128 l m t vi s l linh ho t v i r t nhi u n v ngo i vi c n c [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

h tr trong ph m vi 64 v tr d tr trong m ho t ng (opcode )cho cc l nh IN v OUT . Cho ph n vng nh I/O m r ng t $60 - $FF trong SRAM, ch cc l nh ST/STS/STD v LD/LDS/LDD m i c th c s d ng . Vng khng gian I/O m r ng th c thay th v i cc v tr c a SRAM khi m Atmega 128 trong ch tng thch v i Atmega 103 tng thch v i cc thi t b trong tng lai , cc bt d tr nn c vi t l 0 n u c truy nh p. Cc a ch I/O d tr khng bao gi nn vi t vo M t vi tr ng thi c a c bo b xa b ng vi c vi t m c logic 1 ln chng . Ch r ng cc l nh CBI v SBI s i u khi n t t c cc bit trn thanh ghi I/O, s vi t 1 li vo trong b t c c c c no nh l c ci t , do c s xa cc c . Cc l nh CBI v SBI ch lm vi c v i cc thanh ghi t $00 n $1F. Cc thanh ghi ngo i vi v cc thanh ghi i u khi n ngo i vi th c di n gi i trong cc ph n sau .

Giao di n b nh ngoi : External Memory Interface V i t t c cc tnh nng m b nh ngoi cung c p , n th r t ph h p i u khi n nh l m t giao di n n cc b nh thi t b nh l SRAM ngoi v b nh Flash , v cc ngo i vi nh l b hi n th LCD , chuy n i A/D , D/A . Cc tnh nng chnh l - Ci t 4 ch ch khc nhau ( bao g m No wait state ) - Khng ph thu c vo vi c ci t cc tr ng thi ch cho cc ph n b nh ngoi ( c u hnh cc c c a sector ) - S c a cc bit ring n cc a ch c a cc bit cao c l a ch n - B gi cc bus trn ng d li u t i s tri t tiu cc dng i n c c ti u ( l a ch n) T ng quan : Overview Khi cc b nh ngoi (XMEM ) c kch ho t , khng gian a ch bn ngoi c a SRAM trong tr thnh vi c s d ng c ch cc chn ring c a b nh ngoi ( xem hnh 1 trang 2 , b ng 27 trang 73 v b ng 33 trang 77 , b ng 45 trang 85 . C u hnh b nh th c ch ra trong hnh 11 >

[email protected]

27

Hanoi University of Industry

Datasheet ATMEGA 128

Ch : Atmega 128 khng trong ch tng thch v i Atmega 103 : c u hnh b nh A l kh d ng ( c u hnh b nh B N/A ) Atmega 128 trong ch tng thch v i Atmega 103 : c u hnh b nh B l kh d ng ( c u hnh b nh A N/A) Ch tng thch v i Atmega 103

C hai thanh ghi i u khi n b nh ngoi ( XMCRA v XMCRB ) u c t trong khng gian I/O m r ng . Trong ch tng thch v i Atmega 103 , cc thanh ghi ny khng c kh d ng , v tnh nng ny c l a ch n b i cc thanh ghi khng kh d ng . Thi t b ny v n trong ch tng thch v i Atmega 103 , gi ng nh nh ng tnh nng ny khng thot ra trong Atmega 103 . S gi i h n trong ch tng thch v i Atmega 103 l - ch c ci t 2 tr ng thi ch ( wait state ) l kh d ng (SRW1n = 0b00 v SRW1n = 0b01) - S c a cc bit m c truy c p n cc a ch byte cao c s a ch a . - Ph n b nh bn ngoi khng th b phn chia vo trong cc ph n nh sector v i s ci t cc tr ng thi ch khc nhau - Bus keeper th khng kh d ng - Cc chn RD , WR v ALE ch l u ra ( c ng G trong Atmega 128 )

[email protected]

28

Hanoi University of Industry

Datasheet ATMEGA 128

Vi c s d ng giao di n b nh ngoi : Using the External Memory Interface Giao di n bao g m : - AD7:0 nhi u bus a ch th p v bus d li u - A15:8 Bus a ch cao ( c th c u hnh th t c a bit ) - ALE : kch ho t a ch then ch t - RD : Phn tch s c - WR: phn tch s ghi Bt i u khi n c a giao di n b nh ngoi c t trong3 thanh ghi , thanh ghi i u khi n MCU MCUCR , thanh ghi i u khi n b nh ngoi A XMCRA , v thanh ghi i u khi n b nh bn ngoi B XMCRB Khi giao di n XMEM c kch ho t , giao di n XMEM s ghi ln qu trnh ci t trong thanh ghi nh h ng d li u ci m tng ng v i cc c ng ring t i giao di n XMEM . bit thm chi ti t v ph n c ng ghi xem ph n ch c nng lun phin c a c ng I/O trang 86 . Giao di n XMEM s t ng d m t s truy c p l vo trong hay ra ngoi d c hay khng . N u nh s truy c p ny l bn ngoi th giao di n XMEM s xu t a ch ra , d li u , v cc tn hi u i u khi n trn cc c ng theo hnh 13 ( hnh ny ch ra d ng sng thi u tr ng thi ch vWait state ) . Khi ALE i t cao n th p c 1 gi tr a ch trn AD7:0. ALE th p trong su t qu trnh truy n d li u . Khi giao di n XMEM c kch ho t cng c 1 s truy c p vo trong s l gy ra ho t ng trn a ch , d li u , v c ng ALE , nhng s phn tch RD v WR khng b d ch chuy n trong su t qu trnh truy nh p vo trong .Khi giao di n b nh ngoi b v hi u ha , cc chn bnh th ng v vi c ci t bit nh h ng d li u c s d ng . Ch r ng khi m giao di n XMEM b v hi u ha , khng gian a ch bn d i c a b SRAM nh phn bn trong khng c v vo trong SRAM bn trong . Hnh 12 minh h a cch k t n i m t SRAM ngoi v i AVR b ng vi c s d ng 1 bit then ci 8 bit (an octal latch ) ( th ng l 74*573 ho c l ng tng ng ) ci m trong su t khi c ng G m c cao S c n thi t c a Ch t a ch ( Address Latch Requirements )

Do qu trnh i u khi n c a giao di n XRAM c t c cao , s ch t a ch ph i c l a ch n c n th n cho cc t n s c a h th ng d i 8 MHz @4V v 4MHz @ 2.7V . Khi qu trnh i u khi n d i cc t n s trn , cc series ch t 74HC c thng th ng tr nn khng ph h p. Giao di n b nh ngoi c thi t k ph h p v i cc series ch t 74HC . Tuy nhin , h u h t cc latch c th c s d ng ch c n chng tun theo cc tham s th i gian chnh , cc tham s th i gian chnh cho cc ch t a ch l : - D n Q lan truy n tr ( tPD) - Ci t d li u th i gian tr c khi G th p ( tSU ) - Th i gian treo d li u ( a ch ) sau khi G th p (TH) [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

Giao di n b nh ngoi c thi t k m b o th i gian treo a ch nh nh t sau khi G c xc nh n m c th p c a th = 5 ns . Tham kh o thm tLAXX_LD /tLLAXX_ST trong ph n bi u b nh d li u ngoi b ng 137 n b ng 144 trang 328 -330. S lan truy n tr t D n Q ( tPD ) ph i c a vo xem xt khi m s tnh ton th i gian truy c p l c n thi t c a cc thnh ph n bn ngoi . Th i gian ci t d li u tr c khi G th p (tSU ) ph i khng c v t qu gi tr a ch ALE th p (tAVLLC ) gi tr PCB m c a s tr hon qu trnh vi t ( ph thu c vo dung l ng c a t i )

Hnh 12 : SRAM ngoi c kt n i v i AVR

S d ng l i v b gi Bus ( Pull up and Bus keeper ) Cc b d ng trn c ng AD7:0 c th c ho t ng n u thanh ghi c ng tng ng c vi t l 1 . gi m l ng tiu th i n trong ch Sleep mode , n c khuy n co v hi u ha b d ng pull up b ng vi c vi t thanh ghi c ng l 0 tr c khi ng nh p vo ch ng sleep . Giao di n XMEM cng cung c p 1 b gi Bus keeper trn cc ng AD7:0 . B Bus keeper ny c th b v hi u ha v kch ho t b ng ph n m m , nh l c miu t trong ph n External Memory Control Register B XMCRB trang 33 . Khi c kch ho t , b gi bus keeper s b o m1 c p logic xc nh (0 ho c 1 ) trn bus AD7:0 khi m cc ng ny s khc 3 tr ng thi b i giao di n XMEM B nh th i

Cc thi t b nh bn ngoi c nh ng i h i cc b nh th i khc nhau . p ng cc i h i ny giao di n XMEM c a Atmega 128 cung c p 4 tr ng thi ch khc nhau c ch ra trong b ng 4 . N th r t quan tr ng v c coi nh l b ng c tnh c ab nh th i c a cc thi t b nh ngoi tr c khi qu trnh l a ch n cc tr ng thi ch . Cc tham s quan tr ng nh t l th i gian truy c p cho b nh bn ngoi c so [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

snh v i th t c ci t c a Atmega 128 . Th i gian truy c p b nh ngoi c xc nh b ng th i gian t lc chip nh n tn hi u n l a ch n/ nh a ch cho n khi d li u c a cc a ch th c ny c i u khi n trn Bus . Th i gian truy nh p ny khng th v t qu th i gian t khi xung ALE ph i c xc nh n th p cho n khi d li u n nh trong su t 1 qu trnh c lin t c (xem tLLRL + tRLRH tDVRH trong b ng 137 144 trang 328- 330 ) . Cc tr ng thi ch khc nhau c ci t b ng ph n m m . Nh l m t tnh nng c thm vo , n c th phn chia b nh ngoi thnh 2 ph n nh v i s ci t cc tr ng thi ring . i u ny lm n c kh nng k t n i v i 2 thi t b nh khc nhau v i cc yu c u v nh th i khc nhau gi ng nh giao di n XMEM . bi t thm chi ti t v b nh th i c a giao di n XMEM , tham kh o b ng 137 -144 v hnh 157-160 trong ph n b nh th i b nh d li u g n ngoi trang 328 Ch r ng giao di n XMEM l d b v d ng sng trong hnh d i y th c lin h v i ng h xung nh p bn trong h th ng . l ch gi a xung nh p trong v xung nh p ngoi (XTAL 1 ) th c b o m ( s khc nhau gi a nhi t c a cc thi t b v ngu n c p ) . K t qu c a vi c ny , giao di n XMEM khng c thch h p v i qu trnh i u khi n d b .

Hnh 13 : chu k xung nh p b nh d li u ngoi thi u ch

ch

[email protected]

31

Hanoi University of Industry

Datasheet ATMEGA 128

[email protected]

32

Hanoi University of Industry

Datasheet ATMEGA 128

Miu t thanh ghi XMEM (XMEM register Description ) Thanh ghi i u khi n MCU MCUCR ( MCU Control Register )

Bit 7 SRE : kch ho t SRAM/XMEM bn ngoi B ng vi c vi t SRE l 1 kch ho t giao di n b nh ngoi . Cc chn ch c nng AD7:0 , A15:8 , ALE , WR , v RD c kch ho t nh l cc chn ch c nng lun phin . Bt SRE ghi ln b t c s ci t chn nh h ng trong cc thanh ghi nh h ng d li u tng ng. Vi c vi t SRE l 0 , v hi u ha giao di n b nh ngoi v cc chn thng th ng v s ci t nh h ng d li u c s d ng . Bit 6 SRW10 : bit l a ch n tr ng thi ch c m t miu t chi ti t khng ph i trong ch tng thch v i Atmega 103 , xem ph n m t chung cho cc bit SRWn bn d i (XMCRA miu t ) . Trong ch tng thch v i Atmega 103 , vi c vi t SRW10 l 1 kch ho t tr ng thi ch v m t chu k xung nh p c thm vo trong su t qu trnh phn tch c /vi t nh l c ch ra trong hnh 14

[email protected]

33

Hanoi University of Industry Thanh ghi i u khi n b nh ngoi A XMCRA

Datasheet ATMEGA 128

Bit 7 RES : bit d tr y l m t bit d tr v s lun lun c c l 0 . Khi vi c vi t vo v tr a ch ny , vi t bit ny l 0 tng thch v i cc thi t b trong tng lai Bt 6..4 SRL2 , SRL1 , SRL0 : gi i h n vng tr ng thi ch N c th dng c u hnh cc tr ng thi ch khc nhau cho cc a ch b nh bn ngoi . Khng gian a ch b nh bn ngoi c th c phn chia vo trong 2 khu v c ci m v a phn chia cc bit tr ng thi ch . Cc bit SLR2 , SLR1 , v SLR0 c t l 0 v khng gian a ch b nh bn ngoi nguyn c s l nh l m t khu v c . Khi ton b khng gian a ch c a SRAM c c u hnh nh l m t khu , cc tr ng thi ch c c u hnh bang cc bit SRW11 v SRW10.

Bit 1 v bit 6 MCUCR SRW11 , SRW10 : cc bit l a ch n tr ng thi ch cho cc khu v c cao Cc bit i u khi n SRW11 v SRW10 i u khi n th t c a cc tr ng thi ch cho cc khu v c cao hn trong khng gian a ch b nh ngoi , xem b ng 4 . Bit 3..2 SRW01 , SRW00 : bit l a ch n cc tr ng thi ch cho cc khu v c th p hn Cc bit SRW01 v SRW00 i u khi n th t c a cc tr ng thi ch cho cc khu v c th p c a khng gian a ch b nh bn ngoi , xem b ng 4

[email protected]

34

Hanoi University of Industry

Datasheet ATMEGA 128

Bt 0 Res : bit d tr y l cc bit d tr v s lun lun c c l 0 . Khi c cc v tr ny, vi t cc bit ny l 0 tng thch v i cc thi t b trong tng lai Thanh ghi i u khi n b nh bn ngoi B - XMCRB

a ch

Bt 7 XMBK : kch ho t bus- keeper b nh bn ngoi Vi c vi t XMBK l 1 kch ho t cc Bus-keeper trn ng AD7:0 . Khi cc Bus keeper c kch ho t , n s m b o 1 m c logic xc nh ( 0 ho c 1 )trn AD7:0 khi chung s khc 3 tr ng thi . Vi c vi t XMBK l 0 v hi u ha Bus keeper . XMBK th khng i u ki n v i SRE , v v y d l giao di n XMEM b v hi u ha , bus keeper th v n ho t ng ch c n bit XMBK l 1 Bt 6..4 Res : cc bit d tr y l cc bit d tr v s lun lun c c l 0 . Khi c cc v tr a ch ny, vi t cc bit ny l 0 tng thch v i cc thi t b trong tng lai Bit 2..0 XMM2 , XMM1, XMM0 : b ch n m c cao b nh ngoi Khi b nh ngoi c kch ho t , t t c cc chn c ng C th c m c nh s d ng cho cc byte a ch cao . N u nh khng gian a ch 60KB y th khng c n thi t truy c p vo cc b nh ngoi , m t vi ho c t t c , cc chn c ng C c th c gi i phng cho ch c nng cc chn c ng thng th ng nh l c m t trong b ng 5. Nh c miu t trong ph n s d ng t t c 64KB v tr c a b nh ngoi trang 35 , n c kh nng s d ng cc bit XMMn truy c p t t c 64KB v tr c a b nh ngoi

[email protected]

35

Hanoi University of Industry

Datasheet ATMEGA 128

Vi c s d ng t t c cc v tr c a b nh ngoi nh hn 64KB K t khi b nh ngoi c v b n sau b nh trong nh l c ch ra trong b ng11 , b nh ngoi th khng c nh a ch khi vi c nh a ch 4352bytes u tin c a khng gian d li u . C th xu t hi n 4352 bytes a ch u tin c a b nh ngoi th khng c truy c p ( cc a ch c a b nh ngoi l 0x0000 n 0x10FF ) . Tuy nhin , khi k t n i v i 1 b nh ngoi nh hn 64KB, v d nh 32 KB , cc v tr ny th d dng c truy c p 1 cch n gi n b ng vi c nh a ch t cc a ch 0x8000 n 0x90FF . V r ng cc bit a ch A15 c a b nh ngoi th khng c k t n i n cc b nh ngoi , cc a ch t 0x0000 n 0x90FF s xu t hi n nh l cc a ch 0x0000 n 0x10FF c a b nh ngoi . Vi c nh cc a ch bn trn a ch 0x90FF th khng c khuy n ngh ., v r ng i u ny s xu t hi n 1 v tr b nh ngoi ci m s n sng c truy c p b i cc a ch (th p hn ) khc. n cc ph n m m ng d ng , 32 KB b nh bn ngoi s xu t hi n nh l 1 khng gian a ch 32 KB t 0x1100 n 0x90FF . i u ny c minh h a trong hnh 17 . C u hnh b nh B tham kh o trong ch tng thch v i Atmega 103 , c u hnh A th khng c ch tng thch . Khi m thi t b c ci t trong ch tng thch v i Atmega 103 , cc khng gian a ch bn trong l 4096 bytes . i u ny ko theo 4096 bytes a ch u tin c a b nh ngoi c th b c truy c p cc a ch 0x8000 n 0x8FFF . v ph n Cc ph n m m ng d ng , b nh ngoi 32 KB s xu t hi n nh l 1 khng gian a ch t 0x1000 n 0x8FFF

[email protected]

36

Hanoi University of Industry

Datasheet ATMEGA 128

S d ng t t c 64KB v tr c a b nh ngoi V r ng B nh ngoi c v b n sau b nh trong nh l c ch ra trong hnh 11 , ch c 60KB c a b nh ngoi th c s d ng 1 cch m c nh (khng gian a ch 0x0000 n 0x10FF c d tr cho b nh trong ) Tuy nhin n c th t o u th cho ton b b nh ngoi b ng vi c gi u cc bit a ch cao l 0 . i u ny c th th c hi n b ng cch s d ng cc bit XMMn v i u khi n b ng ph n m m cc bit c gi tr cao nh t c a vng a ch . B ng vi c ci t c ng C xu t ra 0x00 , v s gi i phng cc bit c gi tr cao nh t cho qu trnh i u khi n chn c ng bnh th ng , giao di n b nh s l a ch 0x0000 n 0x1FFF . xem o n m m u bn d i bi t thm chi ti t

[email protected]

37

Hanoi University of Industry

Datasheet ATMEGA 128

Ph i th c hnh m t cch c n th n vi c s d ng l a ch n ny nh h u ht cc b nh c che ch n theo cc cch khc nhau .

[email protected]

38

Hanoi University of Industry

Datasheet ATMEGA 128

V. Xung nh p h th ng v l a ch n xung nh pXung nh p h th ng v s phn b c a chng Hnh 18 gi i thi u cc xung h th ng c b n trong AVR v s phn b c a chng . T t c cc xung nh p u c n c kch ho t t i m t th i i m c a ra . gi m s suy gi m i n p ngu n , b nh th i v cc modules ang khng c s d ng c th c d ng b ng cch s d ng cc ch ng khc nhau nh l c m t trong ph n s qu n l ngu n v cc ch ng trang 45 b t o xung nh p h th ng c m t chi ti t nh d i y :

Xung nh p CPU clkCPU Xung nh p CPU th c nh v t i 1 ph n c a h th ng c ha h p v i qu trnh i u khi n c a li AVR . V d c a nh ng module ny l cc file thanh ghi a nng dng chung , thanh ghi tr ng thi v b nh d li u ang gi trong con tr ngn x p . Vi c d ng xung nh p CPU s ngn c n li kh i qu trnh tnh ton v i u khi n chung ang c ti n hnh .

[email protected]

39

Hanoi University of Industry Xung nh p I/O clkI/O

Datasheet ATMEGA 128

Xung nh p I/O c s d ng b i a s cc module I/O , gi ng nh Timer/Counter , SPI v USART . Xung nh p I/O cng c s d ng b i cc module ng t ngoi , nhng ch r ng 1 vi ng t ngoi c d b i cc logic d b , s cho php cc ng t nh v y c tm ki m cho d cc xung nh p I/O b t m d ng . Cng ch r ng cc s nh n bi t cc a ch trong module TWI c ti n hnh m t cch khng ng b khi m clkI/O b t m d ng , ang kch ho t s thu nh n a ch TWI trong t t c cc ch sleep . Xung nh p Flash clkFLASH Qu trnh i u khi n xung nh p Flash c a giao di n Flash . Xung nh p Flash th th ng ho t ng cng lc v i xung nh p CPU . Xung nh p c a Timer d b - clkASY Xung nh p c a timer d b cho php cc b timer/counter d b c gi nh p 1 cch tr c ti p t m t b t o xung nh p th ch anh 32 kHz bn ngoi. Vng xung nh p xc nh ny cho php vi c s d ng Timer/counter ny nh l 1 b m th i gian th c ngay c khi thi t b ny trong ch ng . Xung nh p ADC clkADC ADC c cung c p v i 1 vng xung nh p ring . i u ny cho php qu trnh d ng CPU v cc xung nh p I/O m lm gi m nhi u sinh ra b i m ch i n k thu t s . N a ra c nhi u k t qu ng n hn trong qu trnh chuy n i ADC Thanh ghi i u khi n chia XTAL XDIV Thanh ghi i u khi n phn chia XTAL c s d ng phn chia t n s xung nh p c a ngu n b ng 1 s trong kho ng 2-129 . Tnh nng ny c th c s d ng lm gi m s s t p khi m c s c n thi t cho ngu n ang tnh ton th th p .

Bt 7 XDIVEN : Kch ho t phn chia XTAL Khi bit XDIVEN c vi t l 1 , t n s xung nh p c a CPU v t t c cc ngo i vi ( clkI/O , clkADC , clkCPU , clkFLASH ) c phn chia b ng vi c xc nh cc h s b ng vi c ci t c a XDIV6 XDIV0 . Bit ny c th c vi t trong th i gian thi hnh lm thay i t n s xung nh p thch h p v i ng d ng . 40 [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

Bt 6..0 XDIV0 : Bit 6..0 l a ch n chia XTAL Cc bit ny xc nh h s c a s chia ci m c p d ng khi bit XDIVEN c t l 1 . N u gi tr c a cc bt c k hi u l d , cng th c d i y xc nh k t qu t n s xung nh p c a CPU v cc ngo i vi fCLK : fCLK = xung nh p ngu n 129 d Gi tr c a cc bit ny c th ch b thay i khi m bit XDIVEN c t l 0 . Khi m XDIVEN c vi t l 1 , gi tr ny c vi t ng th i vo trong XDIV6 ...XDIV0 c chia theo h s chia . Khi m XDIVEN c ghi l 0 , gi tr ny c vi t ng th i vo XDIV6..XDIV0 c lo i b . Nh v y b chia chia xung u vo chnh n MCU , t c c a t t c cc ngo i vi c lm gi m xu ng khi m 1 qu trnh chia theo h s c s d ng Khi xung nh p h th ng b chia , timer/counter 0 c th c ch s d ng v i xung nh p khng ng b ny . T n s c a xung nh p d b ny ph i th p hn1/4 c a t n s c a xung nh p ngu n khi (scaled down ) . Theo cch khc , cc ng t c th b m t , v s truy c p vo thanh ghi timer/counter 0 c th b h ng . Xung nh p ngu n Thi t b ny c cc l a ch n xung nh p ngu n d i y , c th l a ch n b ng bt c u ch Flash (Flash Fuse ) nh l c ch ra d i y . Xung nh p t ngu n c l a ch n nh p vo b pht xung nh p c a AVR , c nh h ng n cc module tng thch .

C nhi u s l a ch n khc nhau cho m i s l a ch n xung nh p khc nhau c a ra ph n d i y . Khi m CPU th c d y t ch ng t i n ho c ch ti t ki m i n , ngu n xung nh p c l a ch n th c s d ng cho th i gian kh i ng , b o m s ho t ng n nh c a b t o dao ng tr c khi l nh c b t u . Khi m CPU kh i ng t ch Reset cho php 1 kho ng th i gian tr thm vo ngu n ti n n c p n nh tr c khi b t u qu trnh ho t ng bnh th ng . B t o dao ng Watchdog c dng nh th i cho ph n th i gian th c c a th i gian kh i ng . S [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

l ng c a cc xung nh p c a b dao ng WDT c s d ng cho m i kho ng th i gian ch c ch ra trong b ng 7 . T n s c a b t o dao ng watchdog l i n p ph thu c nh l c ch ra trong ph n cc ch s thng d ng trang 333

Ngu n t o xung m c nh v n chuy n b i CKSEL = 0001 v SUT = 10. S ci t ngu n t o xung l m c nh v v y b t o dao ng RC bn trong v i kho ng th i gian kh i ng l di nh t . S ci t m c nh ny b o m r ng ng i s d ng c th t o ra ngu n t o xung nh p theo mong mu n c a h b ng cch s d ng m t ng d ng trong h th ng (in-system ) ho c l m t ph n m m l p trnh song song . B t o dao ng th ch anh

XTAL1 v XTAL2 l u vo v u ra , tng thch , c a m t b khuych i ng c ci m c th c c u hnh s d ng nh l 1 b t o dao ng trn chip , nh l c ch ra trong hnh 19 . M t b n tinh th th ch anh ho c 1 b c ng h ng g m c th c s d ng . C u ch CKOPT l a ch n gi a 2 ki u khuych i t o dao ng khc nhau . Khi m CKOPT c l p trnh , u ra c a b t o dao ng s dao ng v 1 dao ng rail-to-rail u ra . Ki u ny th thch h p khi i u khi n trong 1 mi tr ng nhi u nhi u ho c khi m u ra t XTAL2 i u khi n 1 b m xung nh p th 2 . Ch ny c m t kho ng t n s r ng. Khi m CKOPT khng c l p trnh b t o dao ng c m t bin dao ng u ra nh . i u ny lm gi m m c tiu th c a ngu n c th c xt n . Ch ny c m t d i t n s gi i h n v n khng th c s d ng i u khi n cc b m xung nh p khc . V b c ng h ng , t n s t i a l 8 MHz v i CKOPT khng c l p trnh v 16 MHz v i CKOPT c l p trnh . C1 v C2 nn lun lun c tnh ton cho c hai ,b t o dao ng th ch anh v b c ng h ng . Gi tr t t nh t c a t i n ph thu c vo b t o dao ng th ch anh v b c ng h ng c s d ng , l n c a i n dung , v nhi u i n t c a mi tr ng . M t vi ng d n ban u cho s l a ch n t i n s d ng v i cc b t o dao ng th ch anh c a ra trong b ng 8 . V b c ng h ng g m , cc gi tr c a t c a ra b i nh s n xu t nn c s d ng.

[email protected]

42

Hanoi University of Industry

Datasheet ATMEGA 128

cc b t o dao ng c th c i u khi n trong 3 ch khc nhau , m i ch th t i u cho mt d i t n s xc nh . Cc ch i u khi n th c l a ch n b ng c u ch CKSEL3..1 nh l c ch ra trong b ng 8

B ng 9

B t o dao

ng th ch anh t n s th p

s d ng 1 ng h th ch anh 32768 kHz nh l b t o xung nh p cho thi t b th b t o dao ng th ch anh t n s th p ph i c l a ch n b ng vi c ci t cc c u ch CKSEL n 1001. B t o dao ng th ch anh nn c k t n i nh hnh 19 . B ng vi c l p trnh c u ch CKOPT , ng i s d ng c th kch ho t cc t bn trong trn XTAL1 v XTAL2 , nh v y s g b cc t bn ngoi l c n thi t . Cc t bn trong c m t gi tr danh nh l 36pF. Khi b t o dao ng ny c l a ch n , th i gian kh i ng th c xc nh r b ng c u ch SUT nh b ng 10

[email protected]

43

Hanoi University of Industry

Datasheet ATMEGA 128

B t o dao

ng RC bn ngoi

nh th i cc ng d ng khng nh y , b t o dao ng RC c c u hnh nh hnh 20 c th c s d ng . T n s c c l ng m t cch i khi b ng cng th c f=1/(3RC) . C nn trn 22pF . B ng vi c l p trnh c u ch CKOPT , ng i s d ng c th kch ho t t 36pF bn trong gi a XTAL1 v GND . V v y vi c g b b t bn ngoi l c n thi t . bi t thng tin v qu trnh i u khi n b t o dao ng v chi ti t cch ch n R , C , tham kh o ch ng d ng b t o dao ng RC bn ngoi .

B t o dao ng c th ho t ng trong 4 ch khc nhau , m i 1 ch th t i u cho1 kho ng t n s xc nh . Ch i u khi n th c l a ch n b ng c u ch CKSEL3..0 trong b ng 11

Khi b t o dao ng ny c l a ch n , th i gian kh i c u ch SUT nh b ng 12

ng th c xc

nh r b ng

[email protected]

44

Hanoi University of Industry

Datasheet ATMEGA 128

B t o dao

ng bn trong hi u ch nh

B t o dao ng bn trong hi u ch nh cung c p 1 xung nh p n nh 1.0, 2.0 ,4.0 , 8.0 MHz . T t c cc t n s l gi tr danh nh 5V v 250C . Xung nh p ny c th c l a ch n nh xung nh p h th ng b ng cch l p trnh c u ch CKSEL nh trong b ng 13 . N u c ch n l a , n s ho t ng m khng c b ph n bn ngoi no . C u ch CKOPT nn lun lun khng l p trnh khi s d ng l a ch n xung nh p ny . Trong su t qu trnh Reset , ph n c ng t i cc byte hi u ch nh ny cho 1 b t o dao ng 1 MHz trong thanh ghi OSCCAL v do t ng hi u ch nh b t o dao ng RC . 5V , 25 v t n s b t o dao ng1.0MHz c l a ch n , qu trnh hi u ch nh ny a ra 1 t n s trong kho ng 3% c a t n s danh nh . Vi c s d ng phng php hi u ch nh ny nh c miu t trn vWWW.atmel.com l c th t c chnh xc 1% b t c i n p , v nhi t no . Khi b t o dao ng ny c s d ng nh l m t xung nh p c a chip , b t o dao ng Watchdog s v n c s d ng cho Timer Watchdog v cho th i gian ch reset ( Reset Time- out ) . bi t thm thng tin chi ti t v gi tr hi u ch nh ti n l p trnh , xem ph n calibration Byte trang 289

Khi m b t o dao ng c l a ch n , th i gian kh i ng c xc nh r b ng c u SUT nh b ng 14 . XTAL1 v XTAL2 nn c cho php khng k t n i .

[email protected]

45

Hanoi University of Industry

Datasheet ATMEGA 128

Thanh ghi hi u ch nh b t o dao

ng OSCCAL

Ch : thanh ghi OSCCAL th khng kh d ng trong ch tng thch v i Atmega103 Bt 7..0 CAL7..0 : gi tr i u ch nh c a b t o dao ng Vi c vi t byte hi u ch nh vo a ch ny s hon thi n b t o dao ng trong g b ti n trnh bi n thin kh i t n s b t o dao ng Oscillator . Trong su t qu trnh Reset , 1 gi tr hi u ch nh 1 MHz ci m c nh v trong dng k hi u byte cao ( a ch 0x00 ) th c t i t ng vo trong thanh ghi OSCCAL . N u b t o dao ng bn trong c s d ng t i cc t n s khc , gi tr hi u ch nh ph i c t i 1 cch th cng b ng tay . i u ny c th c th c hi n tr c tin b ng vi c c cc dng tn hi u b i 1 l p trnh vin , v sau lu cc gi tr hi u ch nh trong b nh Flash v EEPROM . Sau cc gi tr ny c th c c b ng ph n m m v c t i vo trong thanh ghi OSCCAL . Khi OSCCAL l khng , t n s c ch th p nh t c ch n . Vi c vi t cc gi tr khng ph i b ng khng vo thanh ghi ny s lm tng t n s c a c a b t o dao ng bn trong . Vi c vi t $FF vo thanh ghi s a ra t n s kh d ng cao nh t . B t o dao ng c hi u ch nh th c s d ng trong th i gian truy c p b nh Flash v EEPROM . N u EEPROM v Flash c ghi , khng c i u ch nh l n hn 10% trn t n s danh nh . Ni cch khc , s ghi EEPROM v Flash c th b h ng . Ch r ng b t o dao ng nh m m c ch i u ch nh 1.0 , 2.0 , 4.0 , ho c 8.0 MHz . Vi c i u ch nh sang cc gi tr khc th khng c b o m , nh l c bi u di n b ng 15

[email protected]

46

Hanoi University of Industry Xung nh p bn ngoi

Datasheet ATMEGA 128

i u khi n cc thi t b t m t ngu n t o xung nh p bn ngoi , XTAL1 nn c i u khi n nh c ch ra trong hnh 21 . ch y thi t b ny trn 1 xung nh p ngoi , c u ch CKSEL ph i c l p trnh l 0000 . B ng vi c l p trnh c u ch CKOPT , ng i s d ng c th kch ho t 1 b t 36pF bn trong gi a XTAL1 v GND

Khi m b t o dao SUT nh b ng 16 .

ng c l a ch n , th i gian kh i

ng c xc

nh r b ng c u

Khi p d ng 1 xung nh p bn ngoi , c n thi t trnh cc thay i t ng t trong qu trnh p d ng t n s xung nh p m b o ho t ng n nh c a MCU . M t s thay i t n s l n hn 2% t 1 chu k xung nh p n xung k ti p c th d n n cc tr ng thi khng th tin on tr c . i u ny l c n thi t m b o r ng MCU c gi ch Reset trong su t qu trnh thay i trong t n s xung nh p . B t o dao ng Timer/Counter

Vi i u khi n AVR v i cc chn c a b t o dao ng Timer/Counter (TOSC1 v TOSC2) , b dao ng th ch anh c n i tr c ti p gi a cc chn . Khng c cc t ngoi no l c n thi t . B t o dao ng th t i u cho vi c s d ng v i b t o dao ng theo di th ch anh 32.768kHz . Vi c p d ng 1 ngu n xung nh p ngoi n TOSC1 th khng c khuy n co . Ch : b dao ng Timer/Counter s d ng b dao ng th ch anh gi ng nh b dao ng t n s th p v cc t bn trong c cng cc gi tr danh nh l 36pF [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

VI . Qu n l ngu n i n v cc ch

sleep

Ch ch sleep kch ho t chng trnh ng d ng t t cc module khng s d ng trong MCU , so v y ti t ki m c ngu n i n . AVR cung c p nhi u ch sleep cho php ng i dng i u ch nh s t n hao ngu n i n p ng i h i c a cc chng trnh ng d ng . truy nh p vo b t c ch no trong s 6 ch ch , bit SE trong thanh ghi MCUCR ph i c ghi v i bi n logic l 1 v 1 l nh SLEEP ph i c th c thi . Cc bit SM2 , SM1 , v SM0 trong thanh ghi MCUCR l a ch n ch ch (Idle , gi m nhi u ADC , t t ngu n , ti t ki m i n , ch , ho c ch ch m r ng ) s c kch ho t b ng l nh SLEEP . xem b ng 17 bi t thm chi ti t . N u m t ng t kch ho t xu t hi n trong khi MCU ang trong ch ch , MCU c nh th c. MCU sau c t m d ng trong 4 chu k xung nh p trong th i gian kh i ng c thm vo , n th c thi chng trnh con ph c v ng t , v khi ph c l i qu trnh th c thi t cc l nh k ti p l nh SLEEP . Thnh ph n c a thanh ghi file v SRAM th khng b thay i khi m thi t b c nh th c t ch ch . N u nh tn hi u reset xu t hi n trong su t ch ch , MCU c nh th c v c th c thi t cc vecto Reset . Hnh 18 trn trang 36 gi i thi u cc xung nh p h th ng khc nhau trong Atmega 128 , v s phn b c a chng . Hnh ny cng r t h u d ng trong vi c l a ch n 1 ch ch thch h p. Thanh ghi i u khi n MCU Thanh ghi i u khi n MCU bao g m cc bit i u khi n cho s qu n l ngu n i n

Bit 5 SE : kch ho t ch ch Bt SE ph i c ghi m c logic 1 truy nh p vo MCU trong ch Ch khi m l nh SLEEP c th c thi . trnh vi c truy nh p vo MCU trong ch ch tr phi n l 1 b l p trnh a nng , khuy n ngh vi t bit kch ho t ch Ch SE l 1 tr c khi qu trnh th c hi n l nh SLEEP v xa n ngay l p t c khi th c d y Bit 4..2 SM2..0 : Bit 2 ,1 ,0 l a ch n ch ch Cc bit ny l a ch n gi a 6 tr ng thi kh d ng nh l c ch ra trong b ng 17

[email protected]

48

Hanoi University of Industry

Datasheet ATMEGA 128

Idle mode Khi m cc bit SM2..0 c vi t l 000 , l nh ng lm cho MCU truy nh p vo ch Idle , vi c d ng CPU nhng cho php SPI , USART , b so snh tng t , chuy n i ADC giao di n 2 dy n i ti p , Timer/Counter , Watchdog , v cc ng t h th ng ti p t c ho t ng . Ch ng ny c b n d ng clkCPU v clkFLASH trong khi cho php cc xung nh p khc ch y . Ch Idle kch ho t MCU th c d y t cc b ng t kh i ng bn ngoi th t t nh l 1 b ph n bn trong gi ng nh timer trn v cc ng t hon thnh qu trnh chuy n i USART .N u n th c d y t cc ng t c a b so snh tng t Analog th khng c n thi t , b so snh Analog c th t t ngu n b ng cch ci t cc bit ACD trong b i u khi n so snh analog v thanh ghi tr ng thi ASCR . N s gi m nhu c u dng i n trong ch Idle . N u ADC c kch ho t , 1 qu trnh chuy n i b t ut ngkhi m ch ny c truy nh p. Ch gi m nhi u ADC

Khi m bit SM2..0 c t l001 , l nh SLEEP lm cho MCU truy nh p vo ch gi m nhi u ADC , vi c d ng CPU nhng cho php ADC ,cc ng t ngoi , b theo di a ch giao di n 2 dy n i ti p , Timer/Counter 0 v Watchdog ti p t c ho t ng ( n u c kch ho t). Ch ng ny c b n d ng clkI/O , clkCPU v clkFLASH trong khi cho php cc xung nh p khc ch y . i u ny c i t o mi tr ng nhi u cho ADC , v lm cho chnh xc c a cc php o cao hn . N u nh b chuy n i ADC c kch ho t th , m t s chuy n i b t ut ng khi m ch ny c truy nh p . M t ph n ng t b sung c a b chuy n i ADC , ch c 1Reset ngoi , 1Reset Watchdog , 1 Reset t t ngu n ,1 a ch giao di n 2 dy n i ti p tng ng v i cc ng t , 1ng t Timer/Counter0 1 SPM/EEPROM s n sng ng t , 1 c p ng t bn ngoi trn INT7:4 , ho c 1 ng t ngoi trn INT3:0 c th nh th c MCU t ch gi m nhi u ADC

[email protected]

49

Hanoi University of Industry Ch ng t ngu n

Datasheet ATMEGA 128

Khi m cc bit SM2..0 c vi t l 010, l nh SLEEP lm cho MCU truy nh p vo ch T t ngu n Power down . Trong ch ny , b t o dao ng bn ngoi b d ng l i , trong khi cc ng t ngoi , ng h a ch giao di n 2 dy n i ti p , v 1 Watchdog v n ti p t c ho t ng (n u c kch ho t ) . Ch c 1 Reset ngoi , 1 Reset Watchdog , 1 Reset Brown-out , 1 ng t tng ng a ch giao di n 2 dy n i ti p , 1 c p ng t ngoi trn INT7:4 , ho c 1 ng t ngoi trn INT3:0 c th nh th c MCU. Ch ng ny d ng 1 cch c b n t t c cc ngu n pht xung nh p , ch cho php cc module d b ho t ng Ch r ng n u 1 ng t kh i ng c p c s d ng cho vi c nh th c t ch ng t ngu n Power-down , s thay i c p ph i c gi trong vi giai o n nh th c MCU . Tham kh o cc ng t ngoi trong trang90 bi t thm chi ti t . Khi s nh th c t ch ng t ngu n Power-down , c 1 s ch m tr t tr ng thi nh th c xu t hi n cho n khi s nh th c tr nn c hi u l c . i u ny cho php b nh th i kh i ng v tr nn n nh sau khi hon thnh qu trnh d ng l i. Chu k nh th c c nh ngha b i cc c u ch CKSEL gi ng nhau m xc nh chu k Reset Time-out , nh c miu t trong Clock Sourse trang 37 Ch ti t ki m i n Power-save

Khi m cc bit SM2..0 c vi t l 011 , l nh SLEEP lm cho MCU ng nh p vo ch ti t ki m i n Power save . Ch ny gi ng v i ch ng t ngu n Powerdown , v i 1 i m khc sau : N u Timer/Counter 0 b kha 1 cch khng ng b , v d Bt AS0 trong thanh ghi ASSR c ci t , Timer/Counter0 s ch y trong su t qu trnh ng . Thi t b ny c th c nh th c t 1 s trn Timer ho c 1 s ki n so snh u ra t Timer/Counter0 n u 1 bt kch ho t ng t Timer/Counter tng ng c ci t trong TIMSK , v cc bt kch ho t ng t chung trong thanh ghi SREG c ci t N u Timer d b khng b kha d b , ch ngt ngu n Power-down c khuy n co thay th cho ch ti t ki m i n PoWer save b i v thnh ph n c a cc thanh ghi trong Timer d b nn c coi nh l khng xc nh sau khi nh th c trong ch ti t ki m i n n u AS0 l 0. Ch ng ny d ng c b n t t c cc b pht xung nh p tr clkASY ,s cho php ho t ng ch trong cc module d b , bao g m cc Timer/Counter 0 n u b kha d b . Ch ch Standby

Khi m cc bit SM2..0 c t l 110 v xung nh p c a cc b t o dao ng thach anh v b c ng h ng bn ngoi c l a ch n , l nh SLEEP lm cho MCU ng nh p vo ch ch Stand by . Ch ny tng t nh ch ng t ngu n [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

down v i ngo i l l cc b pht dao ng Oscillator c gi trong qu trnh ch y . T ch ch Standby , thi t b c nh th c trong 6 chu k xung nh p ng h Ch ch m r ng

Khi m cc bit SM2..0 c t l 111 v 1 xung nh p c a b t o dao ng th ch anh/b c ng h ng c l a ch n , l nh SLEEP lm cho MCU truy nh p vo ch ch m r ng. Ch ny th gi ng nh ch ti t ki m i n v i 1 ngo i l l b t o dao ng th c gi trong khi ang ch y . T ch ch m r ng Extended Standby , cc thi t b ny c nh th c trong 6 chu k xung nh p.

S t i thi u ha t n hao cng su t ngu n C r t nhi u y u t ph i xem xt khi c g ng lm c c ti u t n hao cng su t ngu n trong 1 h th ng c i u khi n b i AVR . Ni chung ,cc ch ng Sleep nn c s d ng t i a c th ,v ch ch nn c l a ch n v v y m t vi ch c nng c a thi t b ang ho t ng . T t c cc ch c nng khng c n thi t th nn b v hi u ha . c bi t , cc module d i y c th c n s xem xt c bi t khi c g ng t c s t n hao ngu n th p nh t c th B chuy n i t Analog sang Digital

N u c kch ho t , b chuy n i ADC s c kch ho t trong cc ch ng Sleep . ti t ki m ngu n , b ADC nn c v hi u ha tr c khi truy nh p vo b t c ch ng Sleep no . Khi b ADC c t t v b t tr l i , s chuy n i ti p [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128 i t tng t sang

theo s l 1 s chuy n i m r ng . Tham kh o ph n b chuy n s trang 230 bi t thm chi ti t ho t ng c a ADC . B so snh tng t

Khi truy nh p vo ch Idle , b so snh tng t nn c v hi u ha n u c s d ng . Khi truy nh p vo ch gi m nhi u ADC , b so snh Analog nn c v hi u ha . Trong cc ch ng khc , b so snh Analog b v hi u ha 1 cch t ng . Tuy nhin , n u b so snh Analog c ci t s d ng nh l m t i n th trong tham chi u nh l u vo , b so snh Analog nn c v hi u ha trong t t c cc ch ng . Ni cch khc , i n p trong tham chi u s c kch ho t , ph thu c vo ch ng . Tham kh o b so snh Analog trang 227 bi t thm chi ti t v cch c u hnh b so snh Analog B d s y u ngu n Brown-out N u b d Brown-out l khng c n thi t trong ng d ng , module nn c t t . N u b d Brown-out c kch ho t b ng c u ch BODEN , n s c kch ho t trong t t c cc trong t t c cc ch ng , v do , lun lun tiu hao ngu n . Trong cc ch ng su hn ( deeper sleep ) , i u ny s ng gp ng k vo t ng t n hao cng su t trong m ch. Tham kh o thm ph n Brown-out Detector bi t thm chi ti t v cch c u hnh b d s y u ngu n i n p chu n bn trong ( Internal Voltage Reference ) i n p chu n bn trong s c kch ho t khi c n b i B d s y u ngu n, b so snh tng t , v b chuy n i ADC . N u cc module ny b v hi u ha nh l c m t trong ph n trn , i n p tham kh o (Internal Voltage Reference ) s b v hi u ha v n s lm t n hao ngu n . Khi c b t tr l i , ng i s d ng ph i cho php truy xu t kh i ng tr c khi u ra c s d ng . N u s truy xu t ny b gi l i trong ch ng th u ra c th c s d ng ngay l p t c . Tham kh o thm ph n Internal Voltage Reference trang 54 bi t thm chi ti t v th i gian kh i ng Timer Watchdog N u timer watchdog khng c n thi t trong chng trnh ng d ng th module ny nn c t t . N u nh Timer watchdog c kch ho t, n s c kch ho t trong t t c cc ch ng , v do n lun lun tiu hao cng su t ngu n , . Trong cc ch ng su hn , i u ny s gp ph n ng k vo t ng t n hao c a m ch i n . Tham kh o ph n Timer watchdog trang 55 bi t thm chi ti t v cch c u hnh Timer watchdog. [email protected]

Hanoi University of Industry Cc chn c ng

Datasheet ATMEGA 128

Khi truy nh p vo 1 ch ng , t t c cc chn c ng nn c c u hnh t i thi u ha cng su t s d ng . i u quan tr ng nh t l sau b o m r ng khng c chn no i u khi n cc t i thu n tr . Trong cc ch ng khi c 2 xung nh p I/O (clkI/O) v xung nh p ADC (clkADC) b d ng l i th b m u vo c a thi t b s b v hi u ha . i u ny m b o r ng khng c cng su t ngu n b tiu hao b i u vo logic khi khng c n thi t. Trong m t vi tr ng h p, c ng vo logic l c n thi t cho vi c d tm i u ki n th c d y (wake-up conditions) v sau n s c kch ho t l i . Tham kh o thm ph n u vo s v cc ch ng trang70 bi t thm chi ti t v cc chn no c kch ho t . N u b m u ra c kch ho t v cc tn hi u u vo c g b di ng (floating) ho c c 1 c p tn hi u tng t ng vo chn VCC/2 , th b m u vo s s d ng ngu n th a . Giao di n JTAG v h th ng d l i trn chip N u nh h th ng d l i trn chip c kch ho t b ng c u ch OCDEN v chip truy nh p vo ch ng t ngu n (Power down) ho c ch ng ti t ki m i n , ngu n pht xung nh p chnh cn l i c kch ho t . Trong cc ch ng khc , i u ny s ng gp ng k vo t ng hao h t dng i n . C 3 cch khc nhau trnh i u ny : - v hi u ha C u ch OCDEN - V hi u ha c u ch JTAGEN - Vi t 1 vo bit JTD trong thanh ghi MCUCSR Chn TDO th c r i thay i khi m giao di n JTAG c kch ho t trong khi b i u khi n JTAG TAP ang khng chuy n d li u . N u ph n c ng c k t n i v i chn TDO khng d ng l i m t m c logic , s t n hao cng su t ngu n s tng ln . Ch r ng chn TDI cho thi t b ti p theo trong 1 chu i qut bao g m 1 s d ng l i trnh cc v n ny . Vi c vi t bit JTD trong thanh ghi MCUCSR l 1 ho c di chuy n c u ch JTAG khng c l p trnh v hi u ha giao di n JTAG

[email protected]

53

Hanoi University of Industry

Datasheet ATMEGA 128

VII . i u khi n h th ng v Reset ( System Control and Reset )Qu trnh Reset c a AVR Trong su t qu trnh Reset , t t c cc thanh ghi I/O c ci t n cc gi tr kh i u c a chng , v chng trnh b t u th c thi t cc vcto Reset c a chng . Cc l nh c t trong Vecto Reset ph i l m t JMP b c nh y hon ton ch d n n cc chng trnh con i u khi n qu trnh Reset . N u nh chng trnh khng bao gi kch ho t m t ngu n ng t , vc t ng t khng c s d ng , v o n m chng trnh bnh th ng c th c t t i cc v tr khc nhau . y cng l tr ng h p n u nh vecto Reset ang trong khu v c ng d ng trong khi cc vecto ng t ang trong khu v c kh i ng (Boot Section) ho c vice versa . M ch i n hnh 22 ch ra m c logic Reset . b ng 19 xc nh cc tham s i n c a m ch reset Cc c ng I/O c a AVR th reset ngay l p t c v tr ng thi ban u c a chng khi m ngu n reset ti n hnh ho t ng . Khng c n thi t b t c ngu n pht xung no ch y Sau khi ngu n Reset v a d ng ho t ng , m t b m tr c g i ra , ko di Reset bn trong . i u ny cho php ngu n h ng t i c p n nh tr c khi ho t ng c b t u . Chu k nh gi c a b m tr c xc nh b ng ng i s d ng thng qua cc c u ch CKSEL . Cc l a ch n khc cho cc chu k tr c gi i thi u trong clock Sourse trang 37 Cc ngu n Reset Atmega 128 c 5 ngu n Reset : - Reset b t ngu n (Power On Reset). MCU th Reset khi m i n p ngu n c p th p hn ng ng Reset b t ngu n (Power On Reset) - Reset ngoi . MCU th Reset khi 1 m c th p c a ra trn chn RESET di hn di xung t i thi u - Reset Watchdog . MCU th Reset khi m chu k Timer watchdog h t h n (expires ) v watchdog c kch ho t - Reset Brown-out .MCU s reset khi i n p ngu n c p VCC d i ng ng Reset y u i n p Brown-out (VBOT) v b d y u i n p (Brown-out Detector ) c kch ho t - Reset JTAG AVR . MCU th Reset ch c n c 1 m c logic 1 trn thanh ghi Reset , 1 trong chu i qut c a h th ng JTAG . Tham kh o ph n IEEE 1149.1 (JTAG) Boundary scan trang 252 thm chi ti t

[email protected]

54

Hanoi University of Industry

Datasheet ATMEGA 128

[email protected]

55

Hanoi University of Industry

Datasheet ATMEGA 128

Reset Power on 1 xung reset b t ngu n (POR) (Reset Power on) s c pht ra b i m ch d trn chip . C p pht hi n c nh ngha b ng 19 . Xung POR c kch ho t b t c uVCC c p pht hi n th p . M t m ch POR c th c s d ng kh i ng Reset Start-up , nh l pht hi n 1 s h ng hc i n p ngu n c p . M t m ch Reset b t ngu n (Reset Power on) (POR) b o m r ng cc thi t b c reset t lc b t ngu n . Kho ng ng ng c a i n p Reset b t ngu n c a ra trong b m tr , ci m xc nh kho ng th i gian bao lu thi t b c gi trong ch RESET sau khi m VCC tng ln . Tn hi u Reset c kch ho t tr l i , m khng c b t c tr no , khi m VCC gi m d i m c pht hi n (detection level )

[email protected]

56

Hanoi University of Industry

Datasheet ATMEGA 128

Reset ngoi ( External Reset ) M t tn hi u Reset ngoi c pht ra b i 1 m c th p trong chn Reset . Xung Reset th di hn r ng xung c c ti u (xem b ng 19 ) s pht ra tn hi u Reset d l b nh th i khng ho t ng . Cc xung ng n hn th khng b o m pht ra tn hi u Reset . Khi tn hi u t ti n d n n ng ng i n p ng ng Reset VRST trn s n dng c a n , b m tr kh i ng MCU sau khi chu k th i gian ch tTOUT v a h th n.

[email protected]

57

Hanoi University of Industry S d y u i n p

Datasheet ATMEGA 128

Atmega 128 c m t m ch d y u i n p trn chip theo di m c VCC trong su t qu trnh ho t ng b ng vi c so snh n v i m c kh i ng . M c kh i ng cho BOD c th c l a ch n b i c u ch BODLEVEL l 2,7 V (BODLEVEL khng c l p trnh ) ho c 4.0V n u BODLEVEL c l p trnh ) . C p kh i ng s c 1 tr b o m u c l p c a b d i n p th p . tr trn c p d nn c di n d ch nh l VBOT+ = VBOT + VHYST/2 va VBOT- = VBOT VHYST/2 M ch BOT c th c kch ho t ho c v hi u ha b ng c u ch BODEN . Khi m c u ch BOD c kch ho t ( BODEN c l p trnh ) , v VCC gi m v gi tr bn d i m c kh i ng (VBOT- trong hnh 26 ) , Reset y u i n p ngay l p t c c ho t ng . Khi m VCC tng trn c p kh i ng (VBOT+ trong hnh 26 ) , b m th i gian tr kh i ng MCU sau chu k th i gian ch tTOUT v a h t h n M ch BOD s ch d 1 s s t gi m i n p VCC n u nh i n p d i c p kh i ng lu hn tBOD c a ra trong b ng 19

Reset watchdog Khi watchdog h t th i gian ch , n s pht ra 1 xung Reset ng n c a 1 kho ng th i gian 1 chu k xung nh p CK.. Trn s n xu ng c a xung ny th i gian tr b t u vi c m chu k th i gian ch tTOUT . Tham kh o trang 55 bi t thm chi ti t v ho t ng c a Timer watchdog

[email protected]

58

Hanoi University of Industry Thanh ghi tr ng thi v i u khi n MCU MCUCSR

Datasheet ATMEGA 128

Thanh ghi tr ng thi v i u khi n MCU cung c p thng tin v ngu n xung Reset no l nguyn nhn c a m t tn hi u Reset

Ch r ng ch EXTRF v PORF l kh d ng trong ch tng thch v i Atmega 103 Bit 4 JTRF : c Reset JTAG Bit ny c ci t n u 1 tn hi u reset ang b gy ra b i m t m c logic1 trn thanh ghi Reset JTAG c l a ch n b i l nh JTAG AVR_RESET . Bit ny c Reset b ng 1 tn hi u Reset b t ngu n ( power on ) , ho c b ng vi c vi t m c logic 0 ln c Bit 3 WDRF : c reset Watchdog Bit ny c ci t n u tn hi u Reset Watchdog xu t hi n . Bit ny c Reset b i1 tn hi u Reset b t ngu n (power on) , ho c vi t m c logic 0 ln c Bit 2 BORF c Reset y u i n p Brown-out Bit ny c reset n u 1 tn hi u reset Brown-out xu t hi n . Bit ny c Reset b i1 tn hi u Reset b t ngu n (power on) , ho c vi t m c logic 0 ln c Bit 1 EXTRF : c Reset ngoi Bit ny c ci t n u 1 tn hi u reset ngoi xu t hi n . Bit ny c Reset b i1 tn hi u Reset b t ngu n (power on) , ho c vi t m c logic 0 ln c Bit 0 PORF : c Reset b t ngu n (Power-on ) Bit ny c ci t n u tn hi u Reset Power-on xu t hi n . bit ny c reset ch b ng vi c vi t m c logic 0 ln c hi u cch s d ng c a cc c Reset v i 1 i u ki n Reset gi ng nhau , ng i s d ng nn c v sau reset thanh ghi MCUCSR d dng trong l p trnh . N u nh thanh ghi b xa tr c 1 tn hi u reset khc xu t hi n , ngu n c a tn hi u reset c th c tm th y b ng vi c kh o st cc c reset S tham kh o i n p bn trong Atmega 128 c 1 vng tham kh o bn trong (internal bandgap reference ) . i m chu n ny c s d ng cho s d y u i n p (Brown-out Detection) , v n c th c s d ng nh l 1 u vo n b so snh tng t ho c b chuy n i ADC . M c chu n 2.56 V n b chuy n i ADC c sinh ra t Vng tham kh o bn trong (internal bandgap reference) Tn hi u kch ho t i n p tham kh o v th i gian kh i Enable Signals and Start-up Time ) [email protected] ng ( Voltage Reference59

Hanoi University of Industry

Datasheet ATMEGA 128

Chu n i n p c 1 th i gian kh i ng ci m c th nh h ng n phng php n nn c s d ng . Th i gian kh i ng c a ra trong b ng 20 . ti t ki m i n , i n p chu n th khng lun lun c b t . i n p chu n th c b t trong su t cc tr ng h p d i y : - Khi m BOD c kch ho t ( b ng cch l p trnh c u ch BODEN ) - Khi m vng i n p chu n c k t n i t i b so snh analog ( b ng vi c ci t bit ACBG trong thanh ghi ACSR ) - Khi m b chuy n i ADC c kch ho t Nh v y , khi m BOD khng c kch ho t , sau khi ci t bit ACBG ho c kch ho t ADC , ng i s d ng ph i lun lun cho php m c chu n (reference ) kh i ng tr c khi u ra t b so snh tng t ho c b chuy n i ADC c s d ng . gi m t n hao cng su t trong ch t t ngu n , ng i s d ng c th trnh 3 i u ki n bn d i m b o r ng m c chu n c t t tr c khi truy nh p vo ch t t ngu n Power- down

Timer watchdog Timer watchdog th b kha t 1 b t o dao ng trn chip ring bi t ci m ch y 1 MHz . y l gi tr i n hnh t i VCC = 5V . Xem d li u m t c tnh cho cc gi tr i n hnh cc m c VCC khc nhau . B ng vi c i u khi n b m g p tr c c a Timer watchdog , kho ng Reset watchdog c th c i u ch nh nh c ch ra trong b ng 22 trang 57 . Bit WDR Watchdog Reset h ng d n reset Timer watchdog . Timer watchdog cng c reset khi m n b v hi u ha v khi 1 tn hi u reset chip xu t hi n. 8 chu k xung nh p khc nhau c th c l a ch n xc nh chu k reset . N u chu k reset h t h n m khng c tn hi u Reset watchdog khc , Atmega 128 reset v th c thi t vecto reset . V chi ti t b nh th i trn Reset watchdog , tham kh o trang 54 ngn c n s v hi u ha v tnh c a watchdog ho c v tnh thay i chu k time-out ,3 c p an ton khc nhau c l a ch n b ng c u ch M103C v WDTON c ch ra trong b ng 21 . M c an ton 0 tng ng ci t trong Atmega 103 . Khng c h n ch no trong vi c kch ho t WDT trong b t c c p an ton no . Tham kh o timed Sequences for Changing the Configuration of the watchdog Timer trang 58 bi t thm chi ti t

[email protected]

60

Hanoi University of Industry

Datasheet ATMEGA 128

Thanh ghi i u khi n Timer watchdog WDTCR

Bit 7..5 Res : cc bit d tr Cc bit ny l cc bit d tr trong Atmega 128 v lun lun c c l 0 . Bit 4 WDCE : kch ho t thay i watchdog Bit ny ph i c ci t khi m bit WDE c ghi m c logic 0 . Ni cch khc , watchdog s khng b v hi u ha . m i l n vi t l 1 , ph n c ng s xa bit ny sau 4 chu k xung nh p. Tham kh o ph n miu t c a bit WDE cho v th t c v hi u ha 1 watchdog .Trong cc c p an ton 1 v 2 bit ny cng ph i c ci t khi m s thay i cc bit c a b m g p tr c (prescaler ) . Xem thm ph n timed Sequences for Changing the Configuration of the watchdog Timer) trang 58 bi t thm chi ti t Bit 3 WDE : kch ho t watchdog Khi m WDE c vi t l 1, Timer watchdog c kch ho t , v n u WDE c vi t m c logic 0 , th cc ch c nng c a Timer watchdog b v hi u ha . WDE c [email protected]

Hanoi University of Industry

Datasheet ATMEGA 128

th ch b xa n u nh WDCE c m c logic l 1 . v hi u ha 1 Timer watchdog c kch ho t , cc quy trnh d i y ph i c tun theo 1. trong s ho t ng gi ng nhau , vi t m c logic 1 ln WDCE v WDE . 1 m c logic 1 ph i c vi t ln WDE cho d n c ci t tr c khi ho t ng v hi u ha b t u 2. Trong vng 4 chu k xung nh p k ti p , vi t m c logic 0 ln WDE . i u ny v hi u ha watchdog Trong c p an ton 2 , n khng th th c hi n v hi u ha Timer watchdog , th m ch v i thu t ton c m t bn d i . xem timed Sequences for Changing the Configuration of the watchdog Timer trang 58 . Bit 2..0 WDP2, WDP1 , WDP0 : B m g p tr c 2,1,0 c a Timer watchdog Cc bit WDP2, WDP1 , WDP0 xc nh vi c m g p tr c c a Timer watchdog khi m Timer watchdog c kch ho t . Gi tr vi c m g p tr c khc nhau v cc chu k th i gian ch tng ng c a chng c ch ra trong b ng 22

o n code v d d i y ch ra 1 hm assembly v C cho vi c t t WDT . V d ny gi nh r ng cc ng t c i u khi n ( v d b ng cch v hi u ha cc ng t chung ) v v y s khng c ng t no xu t hi n trong su t qu trnh th c thi cc hm ny .

[email protected]

62

Hanoi University of Industry

Datasheet ATMEGA 128

Cc chu i c

nh th i cho vi c thay

i c u hnh c a Timer watchdog

Cc chu i cho vi c thay i c u hnh khc bi t khng ng k gi a 3 c p an ton . Phng php phn chia th c miu t cho m i c p C p an ton 0 Ch ny th tng thch v i ho t ng c a Timer watchdog c tm th y trong Atmega 103 . Timer watchdog th b v hi u ha t u , nhng khng th c kch ho t b ng vi c ghi bit WDE l 1 m khng c b t c s h n ch no .Chu k th i gian ch c th b thay i t i b t c th i gian no gi i h n . v hi u ha m t 1 Timer watchdog kch ho t , th quy trnh c miu t trang 56 (s miu t Bit WDE) ph i c tun theo . C p an ton 1 Trong ch ny , Timer watchdog b v hi u ha t u , nhng c th kch ho t b ng vi c vi t bit WDE l 1