Bài giảng Vi điều khiển - Chương 5: Giao tiếp ánh xạ bộ nhớ

pdf 25 trang phuongnguyen 2500
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Vi điều khiển - Chương 5: Giao tiếp ánh xạ bộ nhớ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_vi_dieu_khien_chuong_5_giao_tiep_anh_xa_bo_nho.pdf

Nội dung text: Bài giảng Vi điều khiển - Chương 5: Giao tiếp ánh xạ bộ nhớ

  1. GIAO TIẾP ÁNH XẠ BỘ NHỚ Microcontroller Chapter 5 Ngo Nhu Khoa Department of Computer Engineering DCE ThaiNguyen University of Technology
  2. Giao tiếpcủa8051 –Vấn đề chính z Nhắclạivề các chân ra của 8051 và cơ chế dồnkênh Bus AD z Cơ bảnvề sự giao tiếpbộ nhớđượcánhxạ z Ánh xạđịachỉ z Phát sinh địachỉ z Case Study 10/1/2005 2 DCE
  3. 1. Chân ra của8051 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 đượcchiasẻ làm các đường điềukhiển – Vào/ra nốitiếpRxD, TxD, – Các ngắt ngoài INT0, INT1 – ĐiềukhiểnbộđếmT0, T1 z P0 và P2 đượcdồn kênh tạo thành bus địachỉ và bus dữ liệu 10/1/2005 3 DCE
  4. 2. Bus địachỉđahợp trong 8051 z ALE – Cho phép chốt địa chỉ z 8051 điềukhiểnnólên mứccaokhiđịachỉđãhữu hiệutrênAD[7,0] z ALE đượcsử dụng như là tín hiệu cho phép “Enable” chốt đốivớivi mạch chốt ngoài (74LS573 hay 373) z P0 và P2 không đượcsử dụng như các cổng I/O 10/1/2005 4 DCE
  5. 3. Giao tiếpvớivi điềukhiể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ộthệ thống dựatrênđơnchípcó: z 1 CPU và nhiềuthiếtbịđượcgiaotiếpvớinó z Chỉ 1 bus địachỉ và 1 bus dữliệu trong 1 hệđơnvi xử lý – ABUS và DBUS chung cho tấtcả các thiếtbị giao tiếpvàCPU 10/1/2005 5 DCE
  6. 3. Giao tiếpvớivi điềukhiển z Tấtcả các thiếtbị tương thích vi xử lý đềucócác đường cho phép (CE - Chip Enable or CS – Chip Select) – Một hàm của bus địachỉ f(A[15:0]) đượcnối đến chân CE của mỗithiếtbịđượcgiaotiếp – Hàm này là duy nhất cho mỗithiếtbịđượcgiaotiếp z CPU truy xuất đếnmỗithiếtbịđượcgiaotiếpbằng cách thiếtlập hàm duy nhất này – Hàm này thường đượcthamchiếu đếnnhư là địachỉ của thiếtbị 10/1/2005 6 DCE
  7. 3. Giao tiếpvớivi điềukhiển z Các thiếtbị giao tiếpcóthể hoặc READ hoặcWRITE hay cả hai thao tác trên DBUS. – Chỉ 1 thiếtbị có khả năng “độcquyềntruyxuất - exclusive access” – Đạt đượcyêucầutrênnhờ sử dụng các bus 3 trạng thái z Các thiếtbị , mà viếtlênDBUS chỉ có đường CE và RD/OE z Các thiếtbị mà đọc và ghi lên DBUS, có các đường CE, RD/OE và WR – Chu kỳ viết: Xác lậpCE vàsađólậpWR – Chu kỳđọc: Xác lậpCE, sauđólậpRD/OE 10/1/2005 7 DCE
  8. 4. 8051 Ext. Code Mem Read Cycle 10/1/2005 8 DCE
  9. 5. 8051 Ext. Data Mem Read Cycle 10/1/2005 9 DCE
  10. 6. 8051 Data Memory Write Cycle 10/1/2005 10 DCE
  11. 7. 8051 – Address Generation z Bộ phát sinh địachỉ là 1 phầncủaphầncứng mà tạorađịachỉ duy nhấtchomỗithiếtbị giao tiếp z Ví dụ – F1 = 0x1000 – F2 = 0x4000 – F3 = 0xFFFF 10/1/2005 11 DCE
  12. 8. 8051- Address Map z Ánh xạđịachỉ – Danh sách địachỉ củatấtcả các thiếtbị giao tiếp Led 2b 0xF000 – Danh sách các kích thước củamỗithiếtbị z Ví dụ Led 8b 0x500 0x8000 – 4K of Code Rom at 0x0000 Code RAM 4K 0x4000 – 4K of Code RAM at 0x4000 – 32K of Data RAM at 0x0000 RAM 32K – 16 bytes of Data RAM (LCD) 0x1000 at 0x 8000 Code ROM 4K – 2bytes of Data RAM (7 seg 0x0000 0x0000 LEDs) at 0xF000 Code memory Data memory 10/1/2005 12 DCE
  13. 9. Ví dụ 1 : 2K Memory at 0x0000 z Các chân: địachỉ -A10 đếnA0, dữ liệu–D7 đến D0,_RD, _WR, _CE z Địachỉ cơ sở = 0x0000 z Kích thước = 2k (2 *1024 = 2048 bytes = 0x0800) z Để ánh xạđịachỉ 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 địachỉ thấpnhất, từ A0 đếnA0 phải đượcnối đến các chân địachỉ trên bộ nhớ. 10/1/2005 13 DCE
  14. 9.Ví dụ 1 z Các bit địachỉ không sử Bảng sự thậtchoCE dụng là – A15 đếnA11 A15 A14 A13 A12 A11 _CE z Địachỉ cơ sở là 0x0000 0 0 0 0 0 0 z CE phải được phát sinh nếutấtcả các bit địachỉ X X X X 1 1 không sử dụng đang ở X X X 1 X 1 mức logic 0. (CE kích X X 1 X X 1 hoạt ở mứcthấp): X 1 X X X 1 1 X X X X 1 _CE = A15 + A14 + A13 + A12 + A11 z Tiếpsauđó, nối các chân điềukhiển đọc/viết: _RD và _WR 10/1/2005 14 DCE
  15. 10. Vd-2: Same Memory at 0x4000 z Địachỉ cơ sở là 0x4000 Bảng chân lý cho CE – 0100 0000 0000 0000 A15 A14 A13 A12 A11 _CE z Kích thước2K X 0 X X X 1 z Các bit địachỉ không sử 0 1 0 0 0 0 dụng–A15 đếnA11 X 1 X X 0 1 z CE phải được phát sinh X 1 X X 1 1 như mô tả trong bảng X 1 X 1 0 1 chân lý như hình bên X 1 X 1 1 1 z Biểuthức and so on 1 1 1 10/1/2005 15 DCE
  16. Định địachỉđầy đủ và không đầy đủ z Định địachỉđầy đủ: – Sử dụng tấtcả các bít không dùng để tạoratínhiệuCE z Định địachỉ không hoàn chỉnh – Sử dụng 1 tậpcon củacácbit địachỉ không được dùng – Thường làm giảmmức độ phứctạpchobộ phát sinh địachỉ – Tạoracác địachỉ bí danh (1 thiếtbị có nhiều địachỉ) z Ví dụ – 2K bộ nhớở 0x0000, ta đượcsử dụng các bit từ A15 đếnA11 – Thay vào đó, ta chỉ nốiA11 đến_CE – Cùng kích thước2K thiếtbị nhớ sẽđược định tên cho tấtcả các giá trịđịachỉ khi các bit từ A15 đến A12 tích cực z 0x0000, 0x1000, 0x2000, 0x3000, . , 0xF000 – Bộ tạo địachỉ trở nên rất đơngiản, nhưng chúng ta bị lãng phí một không gian địachỉ lớn 10/1/2005 16 DCE
  17. Bộ giảimãvàphátsinhđịachỉ 74138 z Bộ giải mã 3 to 8, được đóng gói trong 1 đơnchip. z Phát sinh tín hiệu địachỉđầy đủ theo 3 đường địachỉđầu vào. z Ví dụ – Các đầuvàocủabộ giảimãđượcnốivới các chân A15, A14, A13 – Đầuracủabộ giảimãnhận đượccácđịa chỉ cơ sở: 0x0000, 0x2000, 0x4000, 0x6000, 0x8000, 0xA000, 0xC000, 0xE000 z Đốivớinhững bộ giảimãphứctạp hơn thì có thể dùng các thiếtbị khả lập trình như PALs, PLDs hay FPGAs 10/1/2005 17 DCE
  18. Bộ nhớ mã lệnh ngoài z Có thể dùng RAM hoặcROM z Sự phát sinh địachỉ bởi1 thủ tụcchuẩn z Nối _PSEN đến_OE củathiếtbị nhớ _RD và _WR không cần quan tâm – Không nối các chân này của 8051 đếnthiếtbị nhớ z Nốicácbit dữ liệuD7-D0 củabộ nhớ và 8051 10/1/2005 18 DCE
  19. Bộ nhớ dữ liệungoài z Có thể dùng RAM hoặcROM z Sự phát sinh địachỉ bởi1 thủ tụcchuẩn z Nối _RD từ 8051 đếnOE củabộ nhớ z Nối_WR từ 8051 đếnWR củabộ nhớ z Bỏ qua _PSEN z Nốicácbit dữ liệuD7-D0 củabộ nhớ và 8051 10/1/2005 19 DCE
  20. Bộ nhớ mã lệnh + dữ liệu z Có thể dùng RAM hoặcROM z Sự phát sinh địachỉ bởi1 thủ tụcchuẩn z AND logic giữa _PSEN và _RD, sau đónốivới chân OE củabộ nhớ z Nối_WR từ 8051 đếnWR củabộ nhớ z Nốicácbit dữ liệuD7-D0 củabộ nhớ và 8051 10/1/2005 20 DCE
  21. Các thiếtbị ngoài không có nhớ z Thủ tụckếtnốigiống như trong giao tiếpvớibộ nhớ z Chỉ có sự khác biệtlàcácthiếtbịđóchiếm 1 không gian địachỉ rấtnhỏ. z Ví dụ: – 8 LEDS đượcnối đến1 bộđệmchốt 8bit. Bộđệmchốt được ánh xạđịachỉở 0xF000, kích thước1byte – Thiếtbị I/O 8255 được ánh xạ bộ nhớở địachỉ 0xD000, kích thước 4 bytes 10/1/2005 21 DCE
  22. Case Study - Sample 8051 System 10/1/2005 22
  23. 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 23 DCE
  24. Kỹ thuậtdòngược z Nhận được1 hệ thống với tình trạng thiếuhoặc không có tài liệu đikèm, cầnphảixácđịnh chứcnăng, sơđồ, củahệ thống z Nhà cung cấp không hỗ trợđáng kể về tài liệu. z Kỹ thuậtdòngượclàrấtcógiátrị! z Thường là không có sơđồnguyên lý z Phầnmềmcũng không được công bố! z Mã lệnh trong On-chip có thểđượcbảovệ chống copy!! 10/1/2005 24 DCE
  25. Thanks z Next Class – IO Interfacing – 8255 IO device – IO mapped Interfacing of ADC, LCD – Timing considerations for interfacing 10/1/2005 25 DCE