Dựa vào tiêu chí nào để lựa chọn một mô hình ghép nối cho phù hợp ? Cho ví dụ ?

Một phần của tài liệu [Giải Ngân Hàng]Hệ Thống Nhúng PTIT (Trang 28)

A.Có mấy kỉ thuật để triển khai ghép nối do CPU chủ động ? B.Thế nào là ghép nối do ngoại vi chủ động ? Cho ví dụ ?

C.Có mấy kỉ thuật để triển khai ghép nối do ngoại vi chủ động ?

D. Dựa vào tiêu chí nào để lựa chọn một mô hình ghép nối cho phù hợp ? Choví dụ ? ví dụ ?

A.Ghép nối CPU chủ động

Khi các ứng dụng chủ động kích hoạt các trao đổi dữ liệu với thiết bị, CPU thực hiện Ví dụ ứng dụng: Khi kiểm soát nhiệt độ, thiết bị nhiệt luôn có số liệu để đo và xử lý. Trong

trường hợp này ghép nối với thiết bị nhiệt trở nên đơn giản.

B. Kĩ thuật để triển khai ghép nối do CPU chủ động

1.Vào/ra số liệu bằng chƣơng trình không điều kiện Đầu vào :

Lệnh thực hiện: IN [port_in] hoặc IN , [địa chỉ_ port_in] Các bước thực hiện:

- CPU đưa ra BUS địa chỉ địa chỉ cổng port_in cho giải mã, tạo CS/ mở port_in. - CPU đưa ra BUS đ/k tín hiệu IORD

- Số liệu từ vi mạch 3-state chuyển vào BUS dữ liệu và dƣới tác động của tín hiệu IORD/ và được đưa vào ACC của CPU qua port_in 3 trạng thái.

- Thực hiện chuyển ACC vào RAM. Đưa ra:

Lệnh thực hiện: OUT [ port_out] hay OUT [ port_out], AL Các bước thực hiện:

- CPU đưa ra BUS địa chỉ địa chỉ cổng port_out cho giải mã, tạo CS/ mở port_out. - CPU đưa dữ liệu cần ghi ra BUS dữ liệu

- CPU đưa tín hiệu IOWR/ để chốt dữ liệu, dƣới tác động của tín hiệu IOWR/ số liệu được

ghi vào thanh ghi chốt, từ đó thiết bị nhận dữ liệu với tín hiệu RD/ của thiết bị. 2.Vào/ra số liệu bằng chương trình có điều kiện (handshaking-đối thoại)

Các bước thực hiện:

- CPU đưa địa chỉ port_status ra BUS địa chỉ, vào giãi mã, tạo CS0, đọc STATUS, giá trị ở bit READY tại D0. (IN port_status)

- CPU kiểm tra giá trị của READY. - Nếu READY=0, quay lại đọc STATUS

NếuREADY=1, CPU đọc dữ liệu vào ACC (IN port_in) - Thực hiện lệnh cất dữ liệu vào RAM

Một phần của tài liệu [Giải Ngân Hàng]Hệ Thống Nhúng PTIT (Trang 28)