8051 – Address Generation
z Bộ phát sinh địa chỉ là
1 phần của phần cứng
mà tạo ra địa chỉ duy
nhất cho mỗi thiết bị
giao tiếp
z Ví dụ
– F1 = 0x1000
– F2 = 0x4000
– F3 = 0xFFFF
051- Address Map
z Ánh xạ địa chỉ
– Danh sách địa chỉ của tất cả
các thiết bị giao tiếp
– Danh sách các kích thước
của mỗi thiết bị
z Ví dụ
– 4K of Code Rom at 0x0000
– 4K of Code RAM at 0x4000
– 32K of Data RAM at 0x0000
– 16 bytes of Data RAM (LCD)
at 0x 8000
– 2bytes of Data RAM (7 seg
LEDs) at 0xF000
Ví dụ 1 : 2K Memory at 0x0000
z Các chân: địa chỉ - A10 đến A0, dữ liệu – D7 đến
D0,_RD, _WR, _CE
z Địa chỉ cơ sở = 0x0000
z Kích thước = 2k (2 *1024 = 2048 bytes = 0x0800)
z Để ánh xạ địa chỉ trong khoảng 0x0000 đến 0x07FF,
tính theo hệ nhị phân: 0000 - 0000 - 0000 - 0000 đến
0000 - 0111 - 1111 – 1111. Thì 11 bit địa chỉ thấp nhất,
từ A0 đến A0 phải được nối đến các chân địa chỉ trên
bộ nhớ
25 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 482 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Microcontroller - Chương 5: Giao tiếp ánh xạ bộ nhớ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DCE
GIAO TIẾP ÁNH XẠ BỘ NHỚ
Microcontroller
Chapter 5
Ngo Nhu Khoa
Department of Computer Engineering
ThaiNguyen University of Technology
10/1/2005 2 DCE
Giao tiếp của 8051 – Vấn đề chính
z Nhắc lại về các chân ra của 8051 và cơ chế dồn kênh
Bus AD
z Cơ bản về sự giao tiếp bộ nhớ được ánh xạ
z Ánh xạ địa chỉ
z Phát sinh địa chỉ
z Case Study
10/1/2005 3 DCE
1. Chân ra của 8051
z Power - Vcc, Vss
z Reset - RST
z Crystal - XTAL[1,2]
z External device interfacing
– EA, ALE, PSEN, WR, RD
z I/O Port
– P0[7;0], P1[7:0], P2[7:0], P3
z P3 được chia sẻ làm các
đường điều khiển
– Vào/ra nối tiếp RxD, TxD,
– Các ngắt ngoài INT0, INT1
– Điều khiển bộ đếm T0, T1
z P0 và P2 được dồn kênh tạo
thành bus địa chỉ và bus dữ
liệu
10/1/2005 4 DCE
2. Bus địa chỉ đa hợp trong 8051
z ALE – Cho phép chốt địa
chỉ
z 8051 điều khiển nó lên
mức cao khi địa chỉ đã hữu
hiệu trên AD[7,0]
z ALE được sử dụng như là
tín hiệu cho phép “Enable”
chốt đối với vi mạch chốt
ngoài (74LS573 hay 373)
z P0 và P2 không được sử
dụng như các cổng I/O
10/1/2005 5 DCE
3. Giao tiếp với vi điều khiển - Cơ bản
z CPU 8051 có:
– Address bus A[15:0]
– Data bus D[7:0]
– Control lines : PSEN, RD, WR
z Một hệ thống dựa trên đơn chíp có:
z 1 CPU và nhiều thiết bị được giao tiếp với nó
z Chỉ 1 bus địa chỉ và 1 bus dữliệu trong 1 hệ đơn vi xử
lý
– ABUS và DBUS chung cho tất cả các thiết bị giao tiếp và CPU
10/1/2005 6 DCE
3. Giao tiếp với vi điều khiển ...
z Tất cả các thiết bị tương thích vi xử lý đều có các
đường cho phép (CE - Chip Enable or CS – Chip
Select)
– Một hàm của bus địa chỉ f(A[15:0]) được nối đến chân CE của
mỗi thiết bị được giao tiếp
– Hàm này là duy nhất cho mỗi thiết bị được giao tiếp
z CPU truy xuất đến mỗi thiết bị được giao tiếp bằng
cách thiết lập hàm duy nhất này
– Hàm này thường được tham chiếu đến như là địa chỉ của
thiết bị
10/1/2005 7 DCE
3. Giao tiếp với vi điều khiển ...
z Các thiết bị giao tiếp có thể hoặc READ hoặc WRITE
hay cả hai thao tác trên DBUS.
– Chỉ 1 thiết bị có khả năng “độc quyền truy xuất - exclusive
access”
– Đạt được yêu cầu trên nhờ sử dụng các bus 3 trạng thái
z Các thiết bị , mà viết lên DBUS chỉ có đường CE và
RD/OE
z Các thiết bị mà đọc và ghi lên DBUS, có các đường
CE, RD/OE và WR
– Chu kỳ viết: Xác lập CE và sa đó lập WR
– Chu kỳ đọc: Xác lập CE, sau đó lập RD/OE
10/1/2005 8 DCE
4. 8051 Ext. Code Mem Read Cycle
10/1/2005 9 DCE
5. 8051 Ext. Data Mem Read Cycle
10/1/2005 10 DCE
6. 8051 Data Memory Write Cycle
10/1/2005 11 DCE
7. 8051 – Address Generation
z Bộ phát sinh địa chỉ là
1 phần của phần cứng
mà tạo ra địa chỉ duy
nhất cho mỗi thiết bị
giao tiếp
z Ví dụ
– F1 = 0x1000
– F2 = 0x4000
– F3 = 0xFFFF
10/1/2005 12 DCE
8. 8051- Address Map
z Ánh xạ địa chỉ
– Danh sách địa chỉ của tất cả
các thiết bị giao tiếp
– Danh sách các kích thước
của mỗi thiết bị
z Ví dụ
– 4K of Code Rom at 0x0000
– 4K of Code RAM at 0x4000
– 32K of Data RAM at 0x0000
– 16 bytes of Data RAM (LCD)
at 0x 8000
– 2bytes of Data RAM (7 seg
LEDs) at 0xF000
Code RAM 4K
Code ROM 4K
0x500
0x4000
0x1000
0x0000
Code memory
RAM 32K
Led 2b
Led 8b
0xF000
0x8000
0x0000
Data memory
10/1/2005 13 DCE
9. Ví dụ 1 : 2K Memory at 0x0000
z Các chân: địa chỉ - A10 đến A0, dữ liệu – D7 đến
D0,_RD, _WR, _CE
z Địa chỉ cơ sở = 0x0000
z Kích thước = 2k (2 *1024 = 2048 bytes = 0x0800)
z Để ánh xạ địa chỉ trong khoảng 0x0000 đến 0x07FF,
tính theo hệ nhị phân: 0000 - 0000 - 0000 - 0000 đến
0000 - 0111 - 1111 – 1111. Thì 11 bit địa chỉ thấp nhất,
từ A0 đến A0 phải được nối đến các chân địa chỉ trên
bộ nhớ.
10/1/2005 14 DCE
9.Ví dụ 1 ...
z Các bit địa chỉ không sử
dụng là – A15 đến A11
z Địa chỉ cơ sở là 0x0000
z CE phải được phát sinh
nếu tất cả các bit địa chỉ
không sử dụng đang ở
mức logic 0. (CE kích
hoạt ở mức thấp):
_CE = A15 + A14 + A13 +
A12 + A11
z Tiếp sau đó, nối các chân
điều khiển đọc/viết: _RD
và _WR
0
1
1
1
1
1
0
1
X
X
X
X
0
X
1
X
X
X
0
X
X
1
X
X
0
X
X
X
1
X
0
X
X
X
X
1
_CEA11A12A13A14A15
Bảng sự thật cho CE
10/1/2005 15 DCE
10. Vd-2: Same Memory at 0x4000
z Địa chỉ cơ sở là 0x4000
– 0100 0000 0000 0000
z Kích thước 2K
z Các bit địa chỉ không sử
dụng – A15 đến A11
z CE phải được phát sinh
như mô tả trong bảng
chân lý như hình bên
z Biểu thức
1
0
1
1
1
1
1
1
1
X
0
0
1
0
1
X
0
X
X
1
1
X
0
X
X
X
X
on
0
1
1
1
1
1
so
X
0
X
X
X
X
and
_CEA11A12A13A14A15
Bảng chân lý cho CE
10/1/2005 16 DCE
Định địa chỉ đầy đủ và không đầy đủ
z Định địa chỉ đầy đủ:
– Sử dụng tất cả các bít không dùng để tạo ra tín hiệu CE
z Định địa chỉ không hoàn chỉnh
– Sử dụng 1 tập con của các bit địa chỉ không được dùng
– Thường làm giảm mức độ phức tạp cho bộ phát sinh địa chỉ
– Tạo ra các địa chỉ bí danh (1 thiết bị có nhiều địa chỉ)
z Ví dụ
– 2K bộ nhớ ở 0x0000, ta được sử dụng các bit từ A15 đến A11
– Thay vào đó, ta chỉ nối A11 đến _CE
– Cùng kích thước 2K thiết bị nhớ sẽ được định tên cho tất cả
các giá trị địa chỉ khi các bit từ A15 đến A12 tích cực
z 0x0000, 0x1000, 0x2000, 0x3000, . , 0xF000
– Bộ tạo địa chỉ trở nên rất đơn giản, nhưng chúng ta bị lãng phí
một không gian địa chỉ lớn
10/1/2005 17 DCE
Bộ giải mã và phát sinh địa chỉ 74138
z Bộ giải mã 3 to 8, được đóng gói
trong 1 đơn chip.
z Phát sinh tín hiệu địa chỉ đầy đủ theo
3 đường địa chỉ đầu vào.
z Ví dụ
– Các đầu vào của bộ giải mã được nối với
các chân A15, A14, A13
– Đầu ra của bộ giải mã nhận được các địa
chỉ cơ sở: 0x0000, 0x2000, 0x4000,
0x6000, 0x8000, 0xA000, 0xC000,
0xE000
z Đối với những bộ giải mã phức tạp
hơn thì có thể dùng các thiết bị khả
lập trình như PALs, PLDs hay FPGAs
10/1/2005 18 DCE
Bộ nhớ mã lệnh ngoài
z Có thể dùng RAM hoặc ROM
z Sự phát sinh địa chỉ bởi 1 thủ tục chuẩn
z Nối _PSEN đến _OE của thiết bị nhớ
_RD và _WR không cần quan tâm – Không nối các chân này của
8051 đến thiết bị nhớ
z Nối các bit dữ liệu D7-D0 của bộ nhớ và 8051
10/1/2005 19 DCE
Bộ nhớ dữ liệu ngoài
z Có thể dùng RAM hoặc ROM
z Sự phát sinh địa chỉ bởi 1 thủ tục chuẩn
z Nối _RD từ 8051 đến OE của bộ nhớ
z Nối _WR từ 8051 đến WR của bộ nhớ
z Bỏ qua _PSEN
z Nối các bit dữ liệu D7-D0 của bộ nhớ và 8051
10/1/2005 20 DCE
Bộ nhớ mã lệnh + dữ liệu
z Có thể dùng RAM hoặc ROM
z Sự phát sinh địa chỉ bởi 1 thủ tục chuẩn
z AND logic giữa _PSEN và _RD, sau đó nối với chân
OE của bộ nhớ
z Nối _WR từ 8051 đến WR của bộ nhớ
z Nối các bit dữ liệu D7-D0 của bộ nhớ và 8051
10/1/2005 21 DCE
Các thiết bị ngoài không có nhớ
z Thủ tục kết nối giống như trong giao tiếp với bộ nhớ
z Chỉ có sự khác biệt là các thiết bị đó chiếm 1 không
gian địa chỉ rất nhỏ.
z Ví dụ:
– 8 LEDS được nối đến 1 bộ đệm chốt 8bit. Bộ đệm chốt
được ánh xạ địa chỉ ở 0xF000, kích thước 1byte
– Thiết bị I/O 8255 được ánh xạ bộ nhớ ở địa chỉ 0xD000,
kích thước 4 bytes
2210/1/2005
Case Study - Sample 8051 System
10/1/2005 23 DCE
Case study – Sample 8051 System
z 8031 based
– No on-chip ROM, 128 bytes on-chip RAM, 18.432MHz
oscillator, 74HC373 based ADBUS demuxer
– 8Kx8 external code memory in 28C64 EEPROM
– Code memory at 0x0000
– 32Kx8 external code+data overlapped in 62256 SRAM.
– SRAM mapped at 0x8000
z SRAM and EEPROM share code memory space. So
decoding needed.
– A15 line is used for the purpose
– A15 = 0 EEPROM is selected (hence 0x0000)
– A15 = 1 SRAM is selected (hence 0x8000)
10/1/2005 24 DCE
Kỹ thuật dò ngược
z Nhận được 1 hệ thống với tình trạng thiếu hoặc không
có tài liệu đi kèm, cần phải xác định chức năng, sơ đồ ,
của hệ thống
z Nhà cung cấp không hỗ trợ đáng kể về tài liệu.
z Kỹ thuật dò ngược là rất có giá trị!
z Thường là không có sơ đồ nguyên lý
z Phần mềm cũng không được công bố!
z Mã lệnh trong On-chip có thể được bảo vệ chống
copy!!
10/1/2005 25 DCE
Thanks
z Next Class
– IO Interfacing
– 8255 IO device
– IO mapped Interfacing of ADC, LCD
– Timing considerations for interfacing
Các file đính kèm theo tài liệu này:
- bai_giang_microcontroller_chuong_5_giao_tiep_anh_xa_bo_nho.pdf