Bài giảng Thiết kế hệ thống nhúng - Kiến trúc AVR 8 bits - Nguyễn Quốc Cường

Kiến trúc AVR – 8 bits  
Nguyễn Quốc Cường  
Bộ môn kỹ thuật đo và Tin học công nghiệp  
Trường Đại học Bách khoa Hà Nội  
1
Plan  
§
§
§
§
§
§
§
§
§
§
§
§
Kiến trúc AVR – 8 bits  
Tệp các thanh ghi  
Truy cập bộ nhớ  
Bộ nhớ I/O  
EEPROM  
Cổng I/O  
SRAM  
Timer  
UART  
Interrupt  
Wathdog  
Các chế độ tiết kiệm năng lượng (Power-down)  
2
Kiến trúc  
AVR – 8  
bits  
3
§ Kiến trúc Harvard Bus cho data và chương trình là tách riêng  
§ Data bus của bộ nhớ dữ liệu:  
8 bits  
§ Data bus của bộ nhớ chương trình:  
§ Không gian các bộ nhớ là tuyến tính  
§ Bộ nhớ data có 2 loại  
16 bits  
¢
¢
¢
RAM  
EEPROM  
chia làm 5 kiểu khác nhau  
§ Các lệnh của AVR  
¢
phần lớn có độ dài 16 bit  
¢
thực hiện chủ yếu trong một xung nhịp clock  
4
Bộ nhớ data  
§ 32 thanh ghi 8 bit  
§ Các thanh ghi I/O (maximum 64 thanh ghi 8 bit)  
§ Internal SRAM  
¢
Chứa các biến chương trình  
¢
Ngăn xếp  
§ External RAM (chỉ có ở một số loại như 89S8515)  
§ EEPROM có thể đọc/ghi bởi chương trình (cỡ 100,000 lần)  
5
6
Tệp các thanh ghi  
§ 32 thanh ghi 8 bit dùng cho các mục đích thông thường  
¢
R0 đến R31  
¢
Kết nối trực tiếp với ALU, có thể tham gia hầu hết vào tất cả các phép  
tính số học và logic  
¢
Một số ít lệnh chỉ thực hiện trên các thanh ghi R16 đến R31  
§ Đặc biệt X, Y, Z dùng để làm các con trỏ data trong các lệnh  
truy cập gián tiếp  
7
8
Thanh ghi chỉ số X, Y , Z  
9
Bộ nhớ I/O  
§ Điều khiển tất cả các thiết bị trên AVR  
§ Truy cập  
¢
¢
¢
như là ô nhớ SRAM tại địa chỉ 20h đến 5Fh thông qua các lệnh Load  
và Store  
nh
ư
các thanh ghi I/O t
ạ
i
đị
a ch
ỉ
00h
đế
n 3Fh thông qua các l
ệ
nh IN  
và OUT  
như các bit (chỉ áp dụng cho các thanh ghi 00 đến 1Fh) thông qua các  
lệnh Set Bit và Clear Bit  
10  
Thanh ghi trạng thái - SREG  
11  
12  
§ Khi có Interrupt, Thanh ghi Trạng thái không tự động cất giữ.  
Để đảm bảo cho chương trình hoạt động đúng sau khi kết  
thúc chương trình phục vụ ngắt ISR (Interrupt Service  
Routine)  
¢
cần phải lưu khi vào đầu chương trình ISR  
¢
phục hồi trước khi thoát khỏi ISR  
13  
Stack pointer  
§ Stack là vùng nhớ đặc biệt được đặt trong vùng nhớ SRAM  
(cần phải lớn hơn 60h)  
§ Thanh ghi SP 16 bit  
¢
SH (một số loại có SRAM <256 byte sẽ không có SH)  
¢
SL  
§ Mỗi lần cất một byte vào ngăn xếp, SP sẽ giảm đi một  
14  
Cổng I/O  
§ Các cổng của AVR đều là các cổng bi-direction  
§ Có 3 thanh ghi điều khiển đi kèm với mỗi cổng  
¢
¢
¢
DDRx : định nghĩa chiều của port (0 là input, 1 là output)  
PORTx : lưu giữ giá trị output của port  
PINx  
: dùng để đọc giá trị của port khi làm input  
15  
DDxn là bit thứ n của thanh ghi DDRx  
16  
17  
18  
19  
System  
clock  
20  
System clock  
§ Lấy từ nhiều nguồn khác nhau  
§ Tại một thời điểm chỉ được một clock hoạt động  
§ Để tiết kiệm năng lượng, các module không sử dụng có thể  
được sleep bằng cách cắt nguồn clock đưa đến module đó  
21  
Lựa chọn các nguồn clock  
§ Thông qua các Flash Fuse bits (các bit này được thiết lập  
trong quá trình nạp chương trình)  
22  
Watchdog  
§ Watchdog được thiết kế sử dụng oscillator độc lập với  
System clock với tần số 1MHz  
§ Sử dụng thanh ghi WDTCR để điều khiển thời gian của  
Watchdog  
23  
24  
25  
RESET  
§ Trong khi RESET  
¢
Các thanh ghi được nạp giá trị default  
¢
Chương trình start tại địa Reset Vector, lệnh đặt tại Reset Vector cần  
phải là một lệnh JMP  
§
Có nhi
ề
u ngu
ồ
n có th
ể
t
ạ
o ra reset  
¢
¢
¢
¢
Power-On Reset  
External Reset  
Brown-out detection (option) ( có ở một số AVR ví dụ ATmega32,...)  
Watchdog reset  
§ Có một bộ Delay Counter dùng để tạo một khoảng thời gian  
đủ lớn cho các module ổn định trước khi xóa tín hiệu internal  
reset  
26  
27  
28  
Power-on reset (POR)  
§ Tạo ra bởi On-chip detection circuit  
§ POR sẽ hoạt động khi điện áp VCC nhỏ hơn điện áp VPOT  
29  
External Reset  
§ Tạo ra khi pin RESET có mức logic thấp  
§ Thời gian pin RESET ở mức thấp cần phải lớn hơn minimum  
pulse width  
30  
Watchdog reset  
§ Khi Watchdog timer bị time-out, nó sẽ phát ra một xung (nếu  
Watchdog là enable) để reset hệ thống  
31  
Thanh ghi trạng thái và điều khiển - MCUCSR  
32  
33  
pdf 17 trang Thùy Anh 17840 Free
Bạn đang xem tài liệu "Bài giảng Thiết kế hệ thống nhúng - Kiến trúc AVR 8 bits - Nguyễn Quốc Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_avr_8_bits_nguyen_quoc_cuong.pdf