intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 2 (Bài 5): Giao diện

Chia sẻ: Thu Minh | Ngày: | Loại File: PDF | Số trang:33

37
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 2 (Bài 5): Giao diện. Những nội dung chính trong bài này gồm có: Khái niệm cơ bản, giao diện vi xử lý, bus phân cấp, thủ tục - Protocols, chức năng của một hệ thống nhúng. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 2 (Bài 5): Giao diện

  1. CHƢƠNG Embedded CẤU TRÚC 2: Systems PHẦN Design: CỨNG A Unified HỆ THỐNG NHÚNG Hardware/Software Introduction Bài 5: Giao diện 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Tổng quan • Khái niệm cơ bản • Giao diện vi xử lý – Địa chỉ I/O – Ngắt – Truy cập bộ nhớ trực tiếp (DMA) • Bus phân cấp • Thủ tục - Protocols – Nối tiếp – Song song – Không dây 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. Giới thiệu • Chức năng của một hệ thống nhúng – Xử lý • Biến đổi dữ liệu • Thực hiện công việc dùng bọ xử lý – Lƣu trữ • Lƣu trữ dữ liệu • Thực hiện dùng bộ nhớ – Truyền thông • Trao đổi dữ liệu giữa bộ xử lý và bộ nhớ • Hực hiện sử dụng bus • Thƣờng đƣợc gọi là giao diện - interfacing 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. Một bus đơn giản • Dây nối: – Đơn hƣớng hay song hƣớng – Một đƣờng truyền có thể có nhiều dây nối rd'/wr • Bus Processor enable Memory – Một nhóm dây nói có chức năng riêng addr[0-11] • Bus địa chỉ, bus dữ liệu data[0-7] – Hoặc, việc tập hợp các dây nối bus • Địa chỉ, dữ liệu và điều khiển bus structure • Thủ tục (protocol): quy tắc cho việc trao đổi thông tin 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. Cổng Processor rd'/wr Memory Cổng enable addr[0-11] data[0-7] bus • Cổng dùng đấu nối thiết bị ngoại vi • Kết nối bus tới bộ xử lý và bộ nhớ • Thƣờng đƣợc gọi là “chân” (pin) – Là chân thực tế của IC cắm vào đế cắm trên mạch in – Đôi khi các điểm tiếp xúc thay cho chân – Ngày nay, các “pads” kim loại kết nối bộ xử lý và bộ nhớ trong một IC • Cổng gồm một đƣờng hoặc nhiêu đƣờng với chức năng riêng – VD: cổng địa chỉ 12-đƣờng 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Giản đồ thời gian • Phƣơng pháp thông thƣờng nhất để mô tả một rd'/wr thủ tục truyền thông trên cổng (hoặc bus) • Thời gian biểu thị trên trục x theo chiều sang enable bên phải addr • Tín hiệu điều khiển: thấp hoặc cao – Có thể tích cực thấp data – Sử dụng thuật ngữ assert (active) và tsetup tread deassert read protocol • Tín hiệu dữ liệu: not valid hoặc valid • Thủ tục đôi khi có các thủ tục con – Chu kỳ bus, VD đọc và ghi rd'/wr – Mỗi thao tác có thể gồm nhiều chu kỳ enable đồng hồ addr • Ví dụ quá trình đọc – rd’/wr ở mức thấp, địa chỉ đặt lên trên data addr trong khoảng thời gian tsetup trƣớc khi chân enable đƣợc tác động, cho phép bộ tsetup twrite nhớ đặt dữ liệu trên chân data trong khoảng thời gian tread write protocol 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. Khái niệm cơ bản về thủ tục • Kiểu tác động: master khởi đầu, slave đáp ứng • Hƣớng truyền: phía gửi, phía nhận • Địa chỉ: kiểu dữ liệu đặc biệt – Quy định một vị trí trên bộ nhớ, một ngoại vi, hoặc một thanh ghi trên ngoại vi • Ghép thời gian – Chia sẻ một bộ kênh truyền cho nhiều dữ liệu khác nhau – Tiết kiệm dây truyền, nhƣng tốn thời gian Time-multiplexed data transfer Master req Servant Master req Servant data(15:0) data(15:0) addr data addr data mux demux mux demux data(8) addr/data req req data 15:8 7:0 addr/data addr data data serializing address/data muxing 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  8. Khái niệm thủ tục đơn giản: các phƣơng pháp điều khiển Chủ Tớ Chủ req Tớ req ack data data req 1 3 req 1 3 ack 2 4 data 2 4 data taccess 1. Chủ phát req để nhận dữ liệu 1. Chủ phát req để nhận dữ liệu 2. Tớ đƣa dữ liệu lên trong khoảng taccess 2. Tớ đƣa dữ liệu lên bus và gửi tín hiệu ack 3. Chủ nhận dữ liệu và kết thúc req 3. Chủ nhận dữ liệu và ngắt req 4. Tớ sẵn sàng cho chu kỳ kế tiếp 4. Tớ sẵn sàng cho chu kỳ kế tiếp Thủ tục “Strobe” Thủ tục “Handshake” 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Thủ tục strobe/handshake có thỏa hiệp Chủ req Tớ wait data req 1 3 req 1 4 wait wait 2 3 data 2 4 data 5 taccess taccess 1. Chủ phát req để nhận dữ liệu 1. Chủ phát req để nhận dữ liệu 2. Tớ đƣa dữ liệu lên bus trong khoảng taccess 2. Tớ không đặt data taccess, đợi wait (đƣờng wait không đƣợc sử dụng) 3. Tớ đặt dữ liệu trên bus và ngắt wait 3. Chủ nhận dữ liệu và kết thúc req 4. Chủ nhận dữ liệu và kết thúc req 4. Tớ sẵn sàng cho chu kỳ kế tiếp 5. Tớ sẵn sàng cho chu kỳ kế tiếp Trường hợp đáp ứng nhanh Trường hợp đáp ứng chậm 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Thủ tục bus ISA bus – truy cập bộ nhớ • ISA: Kiến trúc công Microprocessor Memory I/O Device ISA bus nghiệp tiêu chuẩn memory-read bus cycle – Sử dụng cho các họ CYCLE C1 C2 WAIT C3 CLOCK C4 80x86’s D[7-0] DATA A[19-0] ADDRESS • Đặc điểm ALE /MEMR – Đƣờng địa chỉ 20-bit CHRDY memory-write bus cycle – Điều khiển CYCLE C1 C2 WAIT C3 strobe/handshake thỏa CLOCK D[7-0] C4 DATA hiệp A[19-0] ADDRESS • Mặc định 4 chu kỳ máy ALE /MEMW CHRDY 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Giao tiếp vi xử lý: Địa chỉ I/O • Một bộ vi xử lý giao tiếp với các thiết bị khác qua chân của nó – I/O dựa trên cổng (I/O song song) • Bộ xử lý có một hoặc nhiều cổng N-bit • Chƣơng trình của bộ xử lý đọc và ghi một cổng nhƣ đối với một thanh ghi • VD: P0 = 0xFF; v = P1.2; P0 và P1 là cổng 8-bit – I/O dựa trên bus • Bộ xử lý có cổng địa chỉ, dữ liệu và điều khiển trên một bus đơn • Thủ tục truyền thông đƣợc xây dựng bên trong bộ xử lý • Một lệnh sẽ thực hiện việc ghi hay đọc trên bus 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Thỏa hiệp/mở rộng • Ngoại vi I/O song song Processor Memory – Khi bộ xử lý chỉ có I/O dựa trên bus nhƣng System bus chúng ta muốn I/O song song Parallel I/O peripheral – Mỗi cổng trên ngoại vi kết nối với một thanh ghi trong ngoại vi đƣợc read/written bởi bộ xử lý Port A Port B Port C • I/O song song mở rộng Adding parallel I/O to a bus- based I/O processor – Khi bộ xử lý chỉ có I/O dựa trên cổng nhƣng Processor Port 0 chúng ta cần nhiều cổng hơn Port 1 Port 2 – Một hoặc nhiểu cổng của bộ xử lý giao tiếp với Port 3 ngoại vi I/O song song sẽ mở rộng tổng số cổng Parallel I/O peripheral I/O – VD: mở rộng 4 cổng thành 6 cổng nhƣ hình bên Port A Port B Port C Extended parallel I/O 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. Các kiểu I/O dựa trên bus: I/O bản đồ nhớ và I/O tiêu chuẩn • Bộ xử lý trao đổi với cả bộ nhớ và ngoại vi sử dụng chung bus – có hai cách để trao đổi với ngoại vi – I/O bản đồ nhớ • Thanh ghi của ngoại vi chiếm địa chỉ trong cùng không gian địa chỉ của bộ nhớ • VD: Bus có địa chỉ 16-bit – Địa chỉ 32k vùng thấp dùng cho bộ nhớ – Địa chỉ 32k vùng cao dùng cho ngoại vi – I/O tiêu chuẩn (I/O-mapped I/O) • Các chân bổ sung (M/IO) trên bus biểu thị bộ nhớ hoặc ngoại vi đƣợc truy cập • VD: Bus có địa chỉ 16-bit – Tất cả 64K địa chỉ dùng cho bộ nhớ khi chân M/IO ở mức 0 – Tất cả 64K địa chỉ dùng cho ngoại vi khi chân M/IO ở mức 1 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. So sánh I/O bản đồ nhớ và I/O tiêu chuẩn • I/O bản đồ nhớ – Không yêu cầu lệnh đặc biệt • Lệnh assembly có các lệnh nhƣ MOV và ADD cngx cho phép làm việc với ngoại vi • I/O tiêu chuẩn yêu cầu các lệnh đặc biệt (VD: IN, OUT) để di chuyển dữ liệu giữa thanh ghi của ngoại vi và bộ nhớ • I/O tiêu chuẩn – Không mất địa chỉ nhớ cho ngoại vi – Bộ giải mã địa chỉ đơn giản hơn • Khi số ngoại vi phải nhỏ hơn không gian địa chỉ thì các bit địa chỉ vùng cao có thể bỏ trống – Bộ so sánh nhỏ hơn và/hoặc nhanh hơn 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. Bus ISA • ISA cung cấp I/O tiêu chuẩn – /IOR khác với /MEMR để cho ISA I/O bus read protocol phép đọc từ thiết bị ngoại vi CYCLE C1 C2 WAIT C3 • /IOW sử dụng cho ghi CLOCK C4 DATA – Không gian địa chỉ 16-bit cho D[7-0] ADDRESS I/O vs. không gian địa chỉ 20- A[15-0] ALE bit cho bộ nhớ /IOR – Ngoài ra nó tƣơng tự với thủ CHRDY tục truy cập bộ nhớ 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. Một thủ tục truy cập bộ nhớ đơn giản D P0 Adr. 7..0 Data P0 D Q A /CS P2 Adr. 15…8 /OE ALE G /WE Q Adr. 7…0 74373 CS2 /CS1 8 HM6264 ALE P2 /WR /CS /RD /RD D /PSEN A /OE 8051 27C256 • Giao tiếp 8051 với bộ nhớ ngoài – Cổng P0 và P2 hỗ trợ I/O dựa trên cổng khi bộ nhớ trong của 8051 đƣợc sử dụng – Các cổng này phục vụ nhƣ bus dữ liệu/địa chỉ khi bộ nhớ ngoài đƣợc sử dụng – Địa chỉ 16-bit và dữ liệu 8-bit đƣợc ghép theo thời gian; 8-bits thấp của địa chỉ phải đƣợc chốt nhờ tín hiệu ALE 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. Giao tiếp vi xử lý: ngắt • Giả sử một thiết bị ngoại vi yêu cầu đƣợc thu nhận dữ liệu lập tức bởi bộ xử lý – Bộ xử lý có thể kiểm tra liên tục ngoại vi xem dữ liệu đã đến hay chƣa – rất kém hiệu quả – Ngoại vi có thể ngắt bộ xử lý khi nó có dữ liệu • Yêu cầu phải có thêm chân: Int – Nếu Int là 1, bộ xử lý dừng chƣơng trình đang thực hiện, nhảy tới một Interrupt Service Routine, hoặc ISR – Đƣợc biết nhƣ đầu vào điều khiển ngắt I/O 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. Giao tiếp vi xử lý: ngắt • Địa chỉ của ISR (interrupt address vector) là gì? – Ngắt cố định • Địa chỉ ngắt đƣợc thiết lập sẵn trong bộ xử lý, không thể thay đổi – Ngắt vector • Ngoại vi phải cung cấp địa chỉ • Thƣờng sử dụng khi bộ xử lý có nhiều ngoại vi kết nối chung một bus – Phối hợp: bảng địa chỉ ngắt 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. Truyền thông song song • Nhiều chân dữ liệu, điều khiển, và có thể cả công suất – Mỗi dây một bit • Tốc độ dữ liệu cao, cự ly truyền dẫn ngắn • Thƣờng sử dụng khi kết nối các thiết bị trên cùng IC hoặc trên cùng bo mạch – Bus phải đủ ngắn • Dây dài dẫn đến điện dung ký sinh cao • Nhiễu xuyên kênh tăng khi dây dài • Giá cao hơn 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. Truyền thông nối tiếp • Dây dữ liệu đơn, có thể bao gồm dây điều khiển và công suất • Từ đƣợc truyền đi từng bít một • Truyền dữ liệu tốt hơn với cự ly dài – Điện dung ký sinh ít • Rẻ hơn • Thủ tục truyền thông và giao tiếp linh hoạt hơn – Phía gửi phải tách từ thành các bit – Phía thu làm ngƣợc lại – Tín hiệu điều khiển thƣờng gửi cùng trên một dây với dữ liệu làm cho thủ tục truyền phức tạp hơn 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2