1. Trang chủ
  2. » Công Nghệ Thông Tin

KĨ THUẬT GHÉP NỐI MÁY TÍNH

128 2,8K 53
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kỹ thuật ghép nối máy tính
Tác giả Nguyễn Tuấn Linh
Trường học Đại học Kỹ thuật Công nghiệp Thái Nguyên
Chuyên ngành Kỹ thuật máy tính
Thể loại Bài giảng
Năm xuất bản 2010
Thành phố Thái Nguyên
Định dạng
Số trang 128
Dung lượng 13,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

sdsafdf

Trang 1

§¹i häc kü thuËt c«ng nghiÖp Th¸i Nguyªn

§¹i häc kü thuËt c«ng nghiÖp Th¸i Nguyªn

Trang 3

Bài giảng môn học: Kỹ thuật ghép nối máy tính

CHƯƠNG 1 ĐẠI CƯƠNG VỀ KỸ THUẬT GHÉP NỐI MÁY TÍNH 6

1.1 Cấu trúc chung của hệ thống 7

1.2 Yêu cầu trao đổi tin của máy vi tính đối với môi trường bên ngoài 8

1.2.1 Yêu cầu trao đổi tin với người điều hành 8

1.2.2 Yêu cầu trao đổi tin với thiết bị ngoài trong hệ đo lường – điều khiển 8

1.2.3 Yêu cầu trao đổi tin trong mạng máy tính 8

1.3 Dạng và các loại tin trao đổi giữa máy vi tính và thiết bị ngoài (TBN) 8

1.3.1 Dạng tin (số) 8

1.3.2 Các loại tin 9

1.4 Vai trò và nhiệm vụ của khối ghép nối (KGN) 9

1.4.1 Vai trò 9

1.4.2 Nhiệm vụ 9

1.5 Cấu trúc chung của một hệ ghép nối máy tính 11

1.5.1 Cấu trúc đường tín hiệu của KGN với Máy tính 11

1.5.2 Cấu trúc chung của một khối ghép nối 11

1.6 Chương trình phục vụ trao đổi tin cho khối ghép nối 12

1.6.1 Lập trình hợp ngữ (assembly) 12

1.6.2 Lập trình Pascal 13

1.6.3 Lập trình C/C++ 13

CHƯƠNG 2 GIAO TIẾP VỚI TÍN HIỆU TƯƠNG TỰ 15

2.1 Khái niệm tín hiệu analog và hệ đo lường điều khiển số 16

2.2 Chuyển đổi tín hiệu số sang tương tự DACs 16

2.2.1 Các tham số chính của một DAC 17

2.2.2 DAC chia điện trở (Resistive Divider DACs) 18

2.2.3 DAC trọng số nhị phân (Binary Weighted DACs) 18

2.2.4 DAC điều biến độ rộng xung (PWM DACs) 19

2.3 Chuyển đổi tín hiệu tương tự - số ADC: 20

2.3.1 Các tham số chính của một ADC 20

2.3.2 Bộ biến đổi AD theo hàm dốc 21

2.3.3 A/D xấp xỉ tiệm cận 22

2.3.4 Tích phân sườn dốc 23

2.3.5 Flash ADC 24

2.3.6 Một số vi mạch ADC thông dụng 25

 Mô tả chức năng của các chân: 27

CHƯƠNG 3 THỦ TỤC TRAO ĐỔI DỮ LIỆU CỦA MÁY TÍNH 30

3.1 Các chế độ trao đổi dữ liệu của máy vi tính 31

3.2 Trao đổi tin ngắt vi xử lý 32

3.2.1 Các loại ngắt của máy PC 32

3.2.2 Xử lý ngắt cứng trong IBM - PC: 35

3.2.3 Lập trình xử lý ngắt cứng: 37

3.3 Trao đổi tin trực tiếp khối nhớ 39

3.3.1 Cơ chế hoạt động: 39

3.3.2 Hoạt động của DMAC: 39

3.3.3 Chip điều khiển truy nhập bộ nhớ trực tiếp DMAC 8237 40

CHƯƠNG 4 GHÉP NỐI QUA RÃNH CẮM MỞ RỘNG 45

4.1 Đặt vấn đề 45

4.2 Bus PC 47

Trang 4

4.3 Bus ISA (16 bit) 47

4.4 Bus PCI 50

4.5 Ghép nối qua khe cắm mở rộng 50

4.5.1 Một số đặc điểm của Card ISA 50

4.5.2 Giải mã địa chỉ và kết nối Bus dữ liệu 50

CHƯƠNG 5 GHÉP NỐI TRAO ĐỔI TIN SONG SONG 53

5.1 Khối ghép nối song song đơn giản 53

5.2 Các vi mạch đệm, chốt (74LS245, 74LS373) 55

5.2.1 Vi mạch đệm 74LS245: 55

5.2.2 Vi mạch chốt 74LS373: 55

5.3 Vi mạch PPI 8255A 56

5.3.1 Giới thiệu chung 56

5.3.2 Các lệnh ghi và đọc các cổng và các thanh ghi điều khiển 57

5.3.3 Các từ điều khiển 57

5.3.4 Ghép nối 8255A với Máy tính và TBN 62

5.4 Ghép nối song song qua cổng máy in 65

5.4.1 Ghới thiệu chung 65

5.4.2 Cấu trúc cổng máy in 66

5.4.3 Các thanh ghi của cổng máy in: 67

5.4.4 EPP - Enhanced Parallel Port 69

CHƯƠNG 6 GHÉP NỐI TRAO ĐỔI TIN NỐI TIẾP 75

6.1 Đặt vấn đề 75

6.2 Yêu cầu và thủ tục trao đổi tin nối tiếp: 76

6.2.1 Yêu cầu: 76

6.2.2 Trao đổi tin đồng bộ: Synchronous 77

6.2.3 Trao đổi tin không đồng bộ - Asynchronous: 77

6.3 Truyền thông nối tiếp sử dụng giao diện RS-232: 78

6.3.1 Quá trình truyền một byte dữ liệu: 79

6.3.2 Cổng nối tiếp RS 232 79

6.4 Giao tiếp USB của máy PC: 96

6.4.1 Giới thiệu chung 96

6.4.2 Mô tả hệ thống USB 97

6.4.3 Giao diện vật lý 99

6.4.4 Sự điểm danh 104

6.4.5 Các kiểu truyền USB 104

6.4.6 Giao thức USB 105

6.4.7 Khuôn dạng các gói tin 108

CHƯƠNG 7 GIAO TIẾP VỚI CÁC THIẾT BỊ NGOẠI VI CƠ BẢN 111

7.1 Giao tiếp với bàn phím và chuột 112

7.1.1 Bàn phím 112

7.1.2 Chuột 117

7.2 Giao tiếp PC Game 118

7.3 Monitor và card giao diện đồ hoạ 120

7.3.1 Nguyên lý hiện ảnh trên monitor 120

7.3.2 Card giao tiếp đồ họa 121

Trang 5

Giới thiệu môn học

Tên môn học:

 Giao tiếp máy tính

 Kỹ thuật ghép nối máy tính

- Thiết kế và xây dựng các hệ thống ghép nối máy tính đáp ứng các yêu cầu cụ thể đặt ra trong thực tế

Tài liệu tham khảo

[1] Ngô Diên Tập, Kỹ thuật ghép nối máy tính, NXB KHKT,

[2] Ngô Diên Tập, Đo lường và điều khiển bằng máy tính, NXB KHKT

[3] Nguyễn Mạnh Giang, Kỹ thuật ghép nối máy vi tính, NXB Giáo dục, 2

tập

[4] Đỗ Xuân Tiến, Kỹ thuật lập trình điều khiển hệ thống, NXB KHKT

[5] Ngô Diên Tập, Lập trình ghép nối máy tính trong Windows, NXB

KHKT

Trang 6

CHƯƠNG 1 ĐẠI CƯƠNG VỀ KỸ THUẬT GHÉP NỐI MÁY TÍNH Mục tiêu:

Hiểu được cấu trúc tổng quan của hệ vi xử lý; Vị trí, chức năng và cấu trúc chung của khối ghép nối trong trong một hệ thống máy tính trong đo lường điều khiển Xác định được yêu cầu, các thành phần và lập trình điều khiển cho khối ghép nối

Tóm tắt chương:

- Cấu trúc chung của hệ thống

- Yêu cầu trao đổi tin của máy vi tính đối với môi trường bên ngoài

- Dạng và các loại tin trao đổi giữa máy vi tính và thiết bị ngoài (TBN)

- Vai trò và nhiệm vụ của khối ghép nối (KGN)

- Cấu trúc chung của một hệ ghép nối máy tính

- Chương trình phục vụ trao đổi tin cho khối ghép nối

Trang 7

1.1 Cấu trúc chung của hệ thống

Máy vi tính hay hệ vi xử lý đều có cấu trúc chung do Von Newman đề xuất gồm khối xử lý trung tâm (CPU), bộ nhớ (Memory) và các cổng vào/ra (I/O), như hình 1.1 Ngoài ra, Máy tính còn cần phải trao đổi dữ liệu với môi trường bên ngoài, ví dụ như giao tiếp với người sử dụng qua bàn phím, màn hình, trao đổi dữ liệu với các thiết bị ngoại vi thông dụng, các thiết bị ngoài trong hệ đo – điều khiển, và các Máy tính khác trong mạng Do đó các khối ghép nối (KGN) thiết bị ngoại vi được xây dựng, gồm:

• KGN các thiết bị vào chuẩn như bàn phím, chuột, …

• KGN các thiết bị ra chuẩn như màn hình, máy in, …

• KGN các bộ nhớ ngoài chuẩn như ổ cứng, ổ CD, …

• KGN với các máy tính khác trong mạng nhiều máy tính

• KGN với hệ vi điều khiển, vi xử lý

• KGN với hệ đo – điều khiển

Hình 1.1 Cấu trúc của hệ ghép nối máy tính với thiết bị ngoại vi

Trong đó:

VXL: Vi xử lý

RAM: Random Access Memory – Bộ nhớ trong RAM

ROM: Read-only Memory – Bộ nhớ trong ROM

BGN: Bộ ghép nối, khối ghép nối

Trang 8

Máy tính còn nhận thông tin về trạng thái sẵn sàng hay bận của thiết bị đo

Máy tính sau đó đưa tín hiệu chấp nhận trao đổi dữ liệu với TBNV, thu thập và

xử lý dữ liệu, tính toán các tín hiệu điều khiển đưa ra các cơ cấu chấp hành (các van đóng mở, các rơle trong mạch điện, các mạch động lực điều tốc động cơ điện…), hay đưa ra các thông số kỹ thuật cho thiết bị

Ngoài ra, Máy tính còn cần lưu trữ dữ liệu trên ổ cứng, đĩa compact (CD-ROM)

để tra cứu lúc cần, hiển thị kết quả đo dưới dạng bảng số liệu, dạng đồ thị hay hình

vẽ đồ hoạ trên màn hình

1.2 Yêu cầu trao đổi tin của máy vi tính đối với môi trường bên ngoài 1.2.1 Yêu cầu trao đổi tin với người điều hành

Người điều hành trao đổi thông tin với máy tính thông qua các thiết bị nhập/xuất

cơ bản như chuột, bàn phím, màn hình Việc trao đổi được thực hiện thông qua một giao diện trên màn hình máy tính Trạng thái hoạt động của hệ thống được thể hiện trên giao diện, người sử dụng tác động vào hệ thống qua giao diện này sử dụng các thiết bị nhập như chuột, bàn phím,…

Việc trao đổi thông tin với người sử dụng cần đảm bảo nhanh, chính xác đồng thời phải thuận tiện, an toàn cho người sử dụng

1.2.2 Yêu cầu trao đổi tin với thiết bị ngoài trong hệ đo lường – điều khiển

Trong hệ đo lường – điều khiển, máy tính nhận dữ liệu trạng thái vật lý của hệ thống (nhiệt độ, áp suất, điện áp, dòng điện, ) dưới dạng tín hiệu điện, từ các bộ cảm biến (sensor), bộ chuyển đổi (transducer), bộ phát hiện (detector), và máy tính còn nhận thông tin về trạng thái sẵn sàng hay bận của thiết bị

Máy tính sau đó trao đổi dữ liệu với thiết bị ngoại vi, thu thập và xử lý dữ liệu, tính toán các tín hiệu điều khiển đưa ra các cơ cấu chấp hành (các van đóng mở, các

rơ le trong mạch điện, các mạch động lực điều tốc động cơ điện, ) hay đưa ra các thông số thiết lập chế độ hoạt động cho thiết bị

Ngoài ra máy tính còn làm nhiệm vụ lưu trữ dữ liệu để tra cứu, thống kê hoặc hiển thị kết quả trạng thái hoạt động của thiết bị dưới dạng đồ thị hay các hình vẽ trực quan

1.2.3 Yêu cầu trao đổi tin trong mạng máy tính

Một máy tính trong mạng cần trao đổi tin với nhiều người sử dụng mạng, với nhiều máy vi tính khác, với nhiều thiết bị ngoài như: các thiết bị đầu cuối, các thiết bị nhớ ngoài, các thiết bị lưu trữ và biểu diễn tin

1.3 Dạng và các loại tin trao đổi giữa máy vi tính và thiết bị ngoài (TBN) 1.3.1 Dạng tin

Máy tính chỉ trao đổi tin dưới dạng số với các mức logic 0 và 1

Trang 9

Thiết bị ngoài lại trao đổi tin với nhiều dạng khác nhau như dạng số, dạng ký tự, dạng tương tự, dạng âm tần hình sin tuần hoàn

1.3.2 Các loại tin

Máy tính đưa ra thiết bị ngoài một trong 3 loại tin:

 Tin về địa chỉ: Đó là các tin của địa chỉ TBN hay chính xác hơn, là địa chỉ các thanh ghi (register) của khối ghép nối đại diện cho TBN

 Tin về lệnh điều khiển: Đó là các tín hiệu để điều khiển khối ghép nối hay TBN như đóng mở thiết bị, đọc hoặc ghi một thanh ghi, cho phép hay trả lời yêu cầu hành động, v.v

 Tin về số liệu: Đó là các số liệu cần đưa ra cho thiết bị ngoài

Máy tính nhận tin vào từ TBN về một trong hai loại tin:

 Tin về trạng thái của TBN: Đó là tin về sự sẵn sàng hay yêu cầu trao đổi tin, về trạng thái sai lỗi của TBN

 Tin về số liệu: Đó là các số liệu cần đưa vào Máy tính

1.4 Vai trò và nhiệm vụ của khối ghép nối

1.4.1 Vai trò

Khối ghép nối nằm giữa Máy tính và TBN đóng vai trò biến đổi và trung chuyển tin giữa chúng

1.4.2 Nhiệm vụ

Phối hợp về mức và công suất tín hiệu

- Mức tín hiệu của Máy tính thường là mức TTL (0V – 5V) trong khi TBN có nhiều mức khác nhau, thông thường cao hơn (± 15V, ± 48V) hay mức điện công nghiệp (220V/380V hoặc lớn hơn)

- Công suất đường tín hiệu Máy tính nhỏ (cỡ chục mA), trong khi công suất cần cho TBN thường rất lớn, đặc biệt trong công nghiệp

Nguồn

MVT

Nguồn nhận

Nguồn nhận

TBN

Nguồn phát

Nguồn phát

Nguồn nhận

Nguồn nhận

Nguồn phát

Ghép nối đường dây MVT

Ghép nối đường dây TBN

Vị trí và vai trò của khối ghép nối

Trang 10

- Do đó KGN phải biến đổi điện áp và khuếch đại công suất cho phù hợp giữa máy tính và thiết bị

- Phía máy tính thường dùng các vi mạch 3 trạng thái để ghép nối tín hiệu

vào/ra Đầu vào/ra sẽ ở mức trở kháng cao khi không có trao đổi dữ liệu, để cô lập thiết bị với máy tính, hạn chế tiêu thụ công suất đường tín hiệu và bảo vệ máy tính

Phối hợp về dạng dữ liệu:

Trao đổi tin của Máy tính thường là song song ở dạng số, có thể truyền theo 8, 16 hoặc 32 bit, của TBN đôi khi là nối tiếp hoặc chủ yếu là tín hiệu tương tự

Phối hợp về tốc độ trao đổi tin

Máy tính thường hoạt động với tốc độ cao (tần số lên tới hàng GHz) trong khi thiết

bị thường hoạt động chậm hơn nhiều Do đó cần phải thực hiện đồng bộ về mặt tốc

độ Việc này thường có sự kết hợp giữa phần cứng và phần mềm Trên KGN phải có

bộ nhớ đệm để đệm dữ liệu giữa máy tính và thiết bị KGN nhận từ máy tính và lưu

dữ liệu bộ nhớ đệm rồi truyền cho thiết bị theo nhịp chậm của thiết bị, giải phóng cho máy tính làm nhiệm vụ khác (phục vụ thiết bị khác, xử lý dữ liệu hoặc điều khiển hiển thị, ) Tương tự, KGN nhận dữ liệu từ thiết bị và chờ máy tính đọc dữ liệu vào

Phối hợp về phương thức trao đổi tin

Để đảm bảo trao đổi tin một cách tin cậy giữa Máy tính và TBN, cần có KGN và cách trao đổi tin diễn ra theo trình tự nhất định

Việc trao đổi tin do máy tính khởi xướng

(1) Máy tính đưa lệnh dể khởi động TBN hay khởi động KGN

(2) Máy tính đọc trả lời sẵn sàng trao đổi hay trạng thái sẵn sàng của TBN Nếu

có trạng thái sẵn sàng mới trao đổi tin, nếu không, chờ và đọc lại trạng thái (3) Máy tính trao đổi khi đọc thấy trạng thái sẵn sàng

Việc trao đổi tin do TBN khởi xướng:

(1)Để giảm thời gian chờ đợi trạng thái sẵn sàng của TBN, Máy tính có thể khởi

động TBN rồi thực hiện nhiệm vụ khác Việc trao đổi tin diễn ra khi:

(2)TBN đưa yêu cầu trao đổi tin vào bộ phận xử lý ngắt của KGN, để đưa yêu cầu ngắt chương trình cho Máy tính

(3)Nếu có nhiều TBN đưa yêu cầu đồng thời, KGN sắp xếp theo ưu tiên định sẵn, rồi đưa yêu cầu trao đổi tin cho Máy tính

(4)Máy tính nhận yêu cầu , sửa soạn trao đổi và đưa tín hiệu xác nhận sẵn sàng trao đổi

(5)KGN nhận và truyền tín hiệu xác nhận cho TBN

(6)TBN trao đổi tin với KGN và KGN trao đổi tin với Máy tính (nếu đưa tin vào) (7)Máy tính trao đổi tin với TBN qua KGN (nếu đưa tin ra)

Trang 11

1.5 Cấu trúc chung của một hệ ghép nối máy tính

1.5.1 Cấu trúc đường tín hiệu của KGN với Máy tính

Bất cứ KGN nào cũng nối với Máy tính và TBN có các nhóm sau

 Nhóm đường tín hiệu địa chỉ A0 - An

- Các tín hiệu này được giải mã trong các KGN để chọn các TBN cần liên lạc

với Máy tính

- Tập hợp các tín hiệu này tạo thành bus địa chỉ (Address bus)

 Nhóm đường tín hiệu điều khiển

- Đường tín hiệu đọc, Đường tín hiệu viết để truyền lệnh đọc (RD) hay viết cho

KGN

- Đường tín hiệu hội thoại tổ chức phối hợp hành động giữa Máy tính và KGN,

đảm bảo sự hoạt động nhịp nhàng, tin cậy giữa chúng như:

Hỏi - trả lời

Yêu cầu (từ KGN vào Máy tính) và chấp nhận (từ Máy tính ra KGN) : yêu

cầu ngắt INTR và chấp nhận ngắt INTA

- Đường tín hiệu lệnh điều khiển KGN hay TBN

 Nhóm đường tín hiệu nhịp thời gian

 Nhóm đường tín hiệu điện áp nguồn

1.5.2 Cấu trúc chung của một khối ghép nối

 Khối phối hợp đường tín hiệu Máy tính

- Phối hợp mức và công suất tín hiệu với bus Máy tính Thường dùng vi mạch

chuyển mức, vi mạch công suất

- Cô lập đường tín hiệu khi không có trao đổi tin

Xử lý ngắt

Thanh ghi trạng thái

Yêu cầu A Yêu cầu B

Trang 12

 Khối giải mã địa chỉ - lệnh: Nhận các tín hiệu từ bus địa chỉ, các tín hiệu đọc, ghi, chốt địa chỉ (ALE), … để tổ hợp thành các tín hiệu đọc, ghi và chọn chip cho từng thiết bị của KGN và TBN

 Các thanh ghi đệm

- Thanh ghi điều khiển chế độ

- Thanh ghi trạng thái hay yêu cầu trao đổi của TBN

- Thanh ghi đệm số liệu ghi

- Thanh ghi đệm số liệu đọc

 Khối xử lý ngắt

- Ghi nhận, che chắn yêu cầu trao đổi tin của TBN Xử lý ưu tiên và đưa yêu cầu vào Máy tính

 Khối phát nhịp thời gian

- Phát nhịp thời gian cho hành động ở bên trong KGN hay cho TBN Đôi khi để đồng bộ, khối còn nhận tín hiệu nhịp đồng hồ (clock) từ bus máy tính

 Khối đệm thiết bị ngoài

- Biến đổi mức tín hiệu, công suất và biến đổi dạng tin

 Khối điều khiển : Điều khiển hoạt động của khối như phát nhịp thời gian, chế

độ hoạt động

1.6 Chương trình phục vụ trao đổi tin cho khối ghép nối

Mỗi khối ghép nối cần có một chương trình phục vụ trao đổi tin, các chương trình này thường viết dưới dạng các chương trình con, tập hợp các chương trình con điều khiển thiết bị thường được cung cấp kèm với thiết bị thông qua các thư viện Các thư viện này có thể được đóng gói với nhiều dạng khác nhau như thư viện lập trình (.h, lib), thư viện liên kết động (.dll), các điều khiển ActiveX (.ocx), các device driver Với chương trình phục vụ trao đổi tin, cần có các thao tác sau:

Trang 13

data, address là số nhị phân 16 bit

Đọc/ghi thanh ghi:

1.6.2 Lập trình Pascal

Đọc thanh ghi:

<bi ế n> := port[ ñị a ch ỉ thanh ghi];

Ghi vào thanh ghi

Port[ ñị a ch ỉ thanh ghi] := <Giá tr ị >;

Lập xóa bit:

Lập bit:

Port[$301]:=port[$301] OR $02; {L ậ p C1}

Xóa bit:

Port[$301 ]:=port[$301] AND $EF; {Xóa C4}

Kiểm tra bit:

kt:=port[$300] AND $04; {ki ể m tra bit S2}

<bi ế n> = inp ( ñị a ch ỉ thanh ghi);

Ghi vào thanh ghi

outp (< ñị a ch ỉ thanh ghi>,<Giá tr ị >)

Lập xóa bit:

Trang 14

Lập bit:

Outp (0x301,inp (0x301)||0x02);{L ậ p C1}

Xóa bit:

Outp (0x301,inp (0x301) && 0xEF); {Xóa C4}

Kiểm tra bit:

kt:=inp (0x300) && $04; {ki ể m tra bit S2}

kt = 0 → S2 = “0”

kt ≠ 0 → S2 = “1”

Trang 15

CHƯƠNG 2 GIAO TIẾP VỚI TÍN HIỆU TƯƠNG TỰ

Mục tiêu:

Cung cấp các kiến thức cơ bản về giao tiếp giữa máy tính với tín hiệu tương tự trong các hệ thống đo lường và điều khiển Tìm hiểu cấu trúc, nguyên lý hoạt động của các loại vi mạch biến đổi tín hiệu tương tự -số (ADC/DAC) và ứng dụng của chúng

Tóm tắt chương:

- Khái niệm tín hiệu analog và hệ đo lường điều khiển số

- Chuyển đổi tín hiệu số sang tương tự DACs

- Chuyển đổi tín hiệu tương tự - số ADC:

Trang 16

Khái niệm tín hiệu tương tự và hệ đo lường điều khiển số

Việc sử dụng phương pháp số trong xử lý thông tin và điều khiển đang ngày càng hiệu quả và thuận lợi Tuy nhiên hầu hết các tín hiệu trong thế giới thực lại là tín hiệu

ở dạng tương tự (analog) Do đó bất kỳ hệ thống nào muốn xử lý các tín hiệu thực tế bằng phương pháp số thì nó phải có khả năng chuyển đổi các thông tin tương tự thành dạng số và ngược lại Thao tác đó thường được thực hiện bằng các thiết bị ADC (Analog to Digital Converter) và DAC (Digital to Analog Converter)

Hình 2.1: Mô hình hệ thống xử lý tín hiệu tương tự bằng phương pháp số

Hệ thống xử lý tín hiệu tương tự bằng phương pháp số nói chung là một hệ lai, trong đó số liệu tương tự sẽ được truyền, lưu trữ , hay xử lý bằng phương pháp số nhờ các bộ vi xử lý số Trước khi sử lý, tín hiệu tương tự phải được chuyển thành tín hiệu

số nhờ bộ chuyển đổi tín hiệu tương tự sang số (ADC) Kết quả của phép xử lý sẽ được chuyển ngược lại thành dạng tương tự nhờ bộ

chuyển đổi tín hiệu số thành tương tự (DAC)

2.1 Chuyển đổi tín hiệu số sang tương tự

DACs

Một bộ chuyển đổi tín hiệu số thành tương tự DAC

là một dạng đặc biệt của một bộ giải mã Nó giải mã

tín hiệu số đầu vào và chuyển thành tín hiệu tương tự ở

đầu ra

Bảng chân lý của nó có thể có dạng như sau:

Hình 2.2: Bảng giá trị chân lý của một DAC

Trang 17

2.1.1 Các tham số chính của một DAC

Độ phân giải

(revolution) Bit

Đây là số bit mà DAC xử lý Nếu DAC có n bit thì giá trị điện

áp đầu ra có thể phân thành n trạng thái có giá trị cách đều nhau Mỗi giá trị tương ứng với một mã số đầu vào Số bit n càng cao thì DAC có độ phân giải càng lớn

Giải điện áp tham

chiếu (Vref) FSR V

Chỉ ra mức điện áp lớn nhất và nhỏ nhất có thể được sử dụng như điện áp tham chiếu từ bên ngoài

%Vref

Là độ chênh lệch giữa độ thay đổi giá trị điệp áp ra thực tế với

độ thay đổi điện áp ra lý tưởng trong trường hợp đầu vào số thay đổi một bit LSB , hay dự thay đổi giữa hai giá trị số kề nhau

Là sai số lớn nhất giữa đầu ra với đường thẳng nối giữa điểm 0

và điểm toàn thang (giá trị lớn nhất của thang đo) ngoại trừ sai

số điểm không và sai số toàn thang VD: +/-1 LSB typ.; +/- 4 LSB's max

Giải đầu ra tương

tự hay giải toàn

cao đầu vào, Vih

Là dải điện áp có thể dùng để làm nguồn cung cấp dương cho DAC

VD: +4.75V min.; +5.0V typ.; +13.2V max

Điện áp nguồn âm

Trang 18

2.1.2 DAC chia điện trở

DAC theo phương pháp chia điện trở (Resistive Divider DAC) có lẽ là kiểu DAC đơn giản nhất DAC kiểu này sử dụng một chuỗi điện trở mắc nối tiếp với nhau để tạo

ra một tập các giá trị điện áp cách đều nhau giữa +Vref và –Vref Tín hiệu số đầu vào xác định tín hiệu điện áp nào được nối với bộ khuếch đại thông qua các các bộ chuyển mạch

Mặc dù phương pháp chia điện trở có thể dễ hiểu, nhưng nó trở nên kém hiệu quả với các bộ DAC có độ phân giải cao Mỗi bit thêm vào cho độ phân giải của DAC đòi hỏi tăng gấp đôi số điện trở và công tắc Ví dụ như với DAC 12 bit thì phải cần tới

Trang 19

2.1.4 DAC điều biến độ rộng xung

Phương pháp DAC điều biến độ rộng xung (Pulse width modulation – PWM) là phương pháp rất đơn giản và hầu như hoàn toàn sử dụng phương pháp số, sử dụng rất

ít mạch tương tự

PWM điều chỉnh điện áp đầu ra sử dụng chuỗi xung tần số cao với độ rộng xung

có thể thay đổi được để thay đổi công suất đầu ra

Độ dài xung càng lớn thì điện áp đầu ra càng gần với điện áp tối đa (VOH) của DAC, và ngược lại độ dài xung ngắn nhất tương ứng với điện áp tối thiểu (VOL) Tín hiệu đầu ra sẽ được đưa qua một bộ loc thông thấp để tạo tín hiệu analog

Hình 2.2: DAC điều biến độ rộng xung

DAC dạng PWM cũng khó thu được DAC với độ phân giải cao, bởi vì để có độ phân giải cao, DAC phải điều chỉnh chuỗi xung theo các khoảng thời gian rất nhỏ Điều đó yêu cầu phải có một xung clock (master clock) với tần số rất cao để điều khiển độ rộng xung

Ví dụ với DAC 16 bit, cần có độ phân giải theo thời gian bằng 1/65536 lần chu kỳ chuỗi xung Vì xung tín hiệu còn phải đưa qua bộ lọc thông thấp để tạo ra tín hiệu tương tự, tần số xung đòi hỏi phải gấp nhiều lần ( thông thường là gấp 100 lần) tần số cao nhất của tín hiệu tương tự đầu ra Do đó một bộ DAC 16 bit cho các ứng dụng xử

lý âm thanh có băng thông 20kHz cần có một bộ tạo xung clock có tần số là 65536 x

100 x 20000 = 131 GHz Rõ ràng rằng tần số này là không thể đạt được với công nghệ hiện nay

Trang 20

2.2 Chuyển đổi tín hiệu tương tự - số ADC:

Tín hiệu trong thế giới thực thường ở dạng tương tự (analog), nên mạch điều khiển thu thập dữ liệu từ đối tượng điều khiển về (thông qua các cảm biến) cũng ở dạng tương tự Trong khi đó, bộ điều khiển ngày nay thường là các µP, µC xử lý dữ liệu ở dạng số (digital) Vì vậy, cần phải chuyển đổi tín hiệu ở dạng tương tự thành tín hiệu

ở dạng số thông qua bộ biến đổi AD

Giải pháp thường dùng để đưa tín hiệu tương tự vào để xử lý bằng các bộ xử lý số

là dùng bộ chuyển đổi tín hiệu tương tự sang số (analog-to-digital converter - ADC) Hình dưới là một ví dụ cho một bộ ADC đơn giản Đầu vào cho bộ này là hai tín hiệu: một tín hiệu tham chiếu (reference) và tín hiệu cần chuyển đổi Nó có một đầu ra biểu diễn một từ mã dạng số 8 bit Từ mã này vi xử lý có thể đọc và hiểu được

Có nhiều phương pháp biến đổi AD khác nhau, ở đây chỉ giới thiệu một số phương pháp điển hình

2.2.1 Các tham số chính của một ADC

Độ phân giải

Nếu một ADC có n bit, thì độ phân giải của nó là 2n , có nghĩa là số trạng thái hay số mã có thể sử dụng để chia đầu vào analog Số bit càng cao thì độ phân giải càng lớn và càng phân biệt được nhiều trạng thái

no missing codes)

Với mỗi ADC, tín hiệu số biến đổi theo từng bit LSB

Độ chênh lệch giữa các giá trị lý tưởng được gọi là độ phi tuyến vi phân

Example of an Actual Spec: 10 Bits min

Trang 21

Thời gian chuyển đổi

(Conversion Time) µsec

Thời gian cần thiết để ADC hoàn thành một lần chuyển đổi

VD: 15 µsec min.; 25 µsec typ.; 40 µsec max

Nguồn nuôi dương

VD: +4.5V min.; +5.0V typ.; +7.0V max

Nguồn nuôi âm

- Power Supply (V-) V

Dải điện áp có thể sử dụng làm nguồn nuôi âm cho ADC

VD: -12.0V min.; -15V typ.; -16.5V max

2.2.2 Bộ biến đổi AD theo hàm dốc

Hình 2.3: Biến đổi ADC theo hàm dốc

Đây là bộ biến đổi đơn giản nhất theo mô hình bộ biến đổi tổng quát trên Nó dùng một counter làm thanh ghi và cứ mỗi xung clock thì gia tăng giá trị nhị phân cho đến khi vAX≥ vA Bộ biến đổi này được gọi là biến đổi theo hàm dốc vì dạng sóng vAX

có dạng của hàm dốc, hay nối đúng hơn là dạng bậc thang Đôi khi nó còn được gọi là

bộ biến đổi AD loại counter

Hình trên cho thấy sơ đồ mạch của bộ biến đổi AD theo hàm dốc, bao gồm một counter, một bộ biến đổi DA, một OPAMP so sánh, và một cổng AND cho điều khiển Đầu ra của OPAMP được dùng như tín hiệu tích cực mức thấp của tín hiệu EOC Giả sử vA dương, quá trình biến đổi xảy ra theo các bước :

- Xung Start được đưa vào để reset counter về 0 Mức cao của xung Start cũng ngăn không cho xung clock đến counter

- Đầu vào của bộ biến đổi DA đều là các bit 0 nên áp ra vAX = 0v

- Khi vA > vAX thì đầu ra của OPAMP (EOC) ở mức cao

Trang 22

- Khi Start xuống mức thấp, cổng AND được kích hoạt và xung clock được đưa vào counter

- Counter đếm theo xung clock và vì vậy đầu ra của bộ biến đổi DA, vAX, gia tăng một nấc trong một xung clock

- Quá trình đếm của counter cứ tiếp tục cho đến khi vAX bằng hoặc vượt qua vAmột lượng vT (khoảng từ 10 đến 100µv) Khi đó, EOC xuống thấp và ngăn không cho xung clock đến counter Từ đó kết thúc quá trình biến đổi

- Counter vẫn giữ giá trị vừa biến đổi xong cho đến khi có một xung Start cho quá trình biến đổi mới

Từ đó ta thấy rằng bộ biến đổi loại này có tốc độ rất chậm (độ phân giải càng cao thì càng chậm) và có thời gian biến đổi phụ thuộc vào độ lớn của điện áp cần biến đổi

2.2.3 A/D xấp xỉ tiệm cận

Đây là bộ biến được dùng rộng rãi nhất trong các bộ biến đổi AD Nó có cấu tạo phức tạp hơn bộ biến đổi AD theo hàm dốc nhưng tốc độ biến đổi nhanh hơn rất nhiều Hơn nữa, thời gian biến đổi là một số cố định không phụ thuộc giá trị điện áp đầu vào

Sơ đồ mạch và giải thuật như sau :

Sơ đồ mạch tương tự như bộ biến đổi AD theo hàm dốc nhưng không dùng counter cung cấp giá trị cho bộ biến đổi DA mà dùng một thanh ghi Đơn vị điều khiển sửa đổi từng bit của thanh ghi này cho đến khi có giá trị analog xấp xỉ áp vào theo một độ phân giải cho trước

- Chuyển đổi n bit cần n bước

- Cần có tín hiệu Start và End

.

Start

START Xóa tất cả các bit Bắt đầu ở MSB

Trang 23

- Thời gian chuyển đổi thông thường: 1 to 50 ms

- Độ phân giải thông thường 8 to 12 bits

2.2.4 Tích phân sườn dốc

Bộ biến đổi loại này là một trong những bộ có thời gian biến đổi chậm nhất (thường là từ 10 đến 100ms) nhưng có lợi điểm là giá cả tương đối rẻ không dùng các thành phần chính xác như bộ biến đổi AD hoặc bộ biến đổi áp sang tần số

Nguyên tắc chính là dựa vào

quá trình nạp và xả tuyến tính của

tụ với dòng hằng Đầu tiên, tụ

được nạp trong một khoảng thời

gian xác định từ dòng điện không

đổi ứng với điện áp vào vA Vì

vậy, ở cuối thời điểm nạp, tụ sẽ có

một điện áp tỷ lệ với điện áp vào

Cũng vào lúc này, tụ được xả

tuyến tính với một dòng hằng rút

ra từ điện áp tham chiếu chính xác vref Khi điện áp trên tụ giảm về 0 thì quá trình xả kết thúc Trong suốt khoảng thời gian xả này, một tần số tham chiếu được dẫn đến một counter và bắt đầu đếm Do khoảng thời gian xả tỷ lệ với điện áp trên tụ lúc trước khi xả nên ở cuối thời điểm xả, counter sẽ chứa một giá trị tỷ lệ với điện áp trên tụ trước khi xả, tức là tỷ lệ với điện áp vào vA

Hình 2.4: ADC tích phân theo sườn dốc

Ngoài giá thành rẻ thì bộ biến đổi loại này còn có ưu điểm chống nhiễu và sự trôi nhiệt Tuy nhiên thời gian biến đổi chậm nên ít dùng trong các ứng dụng thu thập dữ liệu đòi hỏi thời gian đáp ứng nhanh Nhưng đối với các quá trình biến đổi chậm (có quán tính lớn) như lò nhiệt thì rất đáng để xem xét đến

Start Conversion

Start

Conversion

0 2 4 6 8 10 12 14 16 18 20

Trang 24

2.2.5 Flash ADC

- Biên độ tín hiệu được so sánh

với một tập 2n giá trị tham

Bộ biến đổi loại này có tốc độ nhanh nhất và cũng cần nhiều linh kiện cấu thành nhất

Có thể làm một phép so sánh: flash AD 6-bit cần 63 OPAMP, 8-bit cần 255 OPAMP,

và 10-bit cần 1023 OPAMP Vì lẽ đó mà bộ biến đổi AD loại này bị giới hạn bởi số bit, thường là 2 đến 8-bit

Ví dụ một flash AD 3-bit :

Mạch trên có độ phân giải là 1V, cầu chia điện áp thiết lập nên các điện áp so sánh (7 mức tương ứng 1V, 2V, …) với điện áp cần biến đổi Đầu ra của các OPAMP được nối đến một priority encoder và đầu ra của nó chính là giá trị digital xấp xỉ của điện

áp đầu vào

Các bộ biến đổi có nhiều bit hơn dễ dàng suy ra theo mạch trên

Trang 25

2.2.6 Một số vi mạch ADC thông dụng

Hiện nay, trên thị trường có rất nhiều loại IC chuyên dụng cho bộ biến đổi ADC Dưới đây là loại IC rất hữu dụng và được sử dụng nhiều trong thực tế

3.1 Bộ biến đổi ADC 0809

Đây là loại bi mạch ADC chế tạo dựa trên kỹ thuật ADC xấp xỉ liên tiếp

Sơ đồ chân:

Đặ c điểm cấu tạo:

Thang điện trở 256 R với ngõ chuyển mạch

Tất cả những vi mạch trên được tích trên

một chip CMOS đơn khối và không đòi hỏi

các linh kiện phụ khác mắc thêm bên ngoài

Tại mỗi thời điểm chỉ có thể mẫu

1 trong 8 kênh analog vào qua mạch phân kênh 3 sang 8

Sơ đồ khối:

Address Latch enable

Tri-state output Latch buffer

256 Register Ladder

8 chanel multiplexing analog switch

17 14 15 8 18 19 20 21 25 24 23 6 22

IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 REF+

CLK OE EOC

REF-D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 START ALE

Trang 26

Đặ c điểm kỹ thuật của ADC 0809:

ADC0809 có tốc độ biến đổi nhanh, sai số lượng hóa thấp và công tiêu tán thấp Nguồn cung cấp 5v DC, điện áp chuẩn 5v DC

Thời gian chuyển đổi là 100µs

Có 8 kênh analog ngõ vào

dữ liệu ở trạng tổng trở cao

Sau khoảng thời gian 100µs, quá trình chuyển đổi kết thúc, tín hiệu analog được chuyển thành 8 bit dữ liệu số ở ngõ ra Lúc này xung EOC bật lên 1 và dữ liệu được đưa vào vùng đệm Để đưa dữ liệu từ vùng đệm lên bus, phải đặt xung OE lên 1

Nhờ bộ đệm 3 trạng thái nên dễ dàng kết nối với data bus của CPU

Giản đồ thời gian:

Trang 27

Các số liệu kỹ thuật:

Độ phân giải : K = 5/256 = 0.196V

Dãy động điện trở vào :

Trong điều kiện :

Vcc = Vref (+) = 5V

CLK = 640 KHz thì tổng trở vào từ 1 ÷ 2.5 KΩ

Mức logic của tín hiệu ra :Trong điều kiện 4.75V ≤ Vcc ≤ 5.5V thì mức điện áp logic 1 là V ≥ Vcc – 0.4 và mức điện áp logic 0 là V ≤0.45v

- Ghép trực tiếp vào bus : thông qua chân chọn

chip, hai chân cho phép xuất byte cao, byte

thấp

- Ghép theo chuẩn công nghiệp UART : được

ứng dụng trong truyền nhận dữ liệu từ xa, ngõ

ra được biến đổi và đưa đến một UART trong

chế độ bắt tay, trao đổi dữ liệu nối tiếp

ICL7109CPL có độ chính xác cao, độ trôi nhiệt

nhỏ hơn 1µV/0C Được ứng dụng trong nhiều trong

những hệ thống thu thập dữ liệu do giá thành thấp, công

suất tiêu tán và dòng phân cực nhỏ Các đặc điểm chủ

yếu như sau :

- Pha zero-integrator giúp khôi phục quá tải

nhanh

- Loại bỏ vòng trễ và nhiễu

- Cải tiến khả năng lái bus

- Ngõ ra 3 trạng thái

- UART ở chế độ bắt tay để giao tiếp nối tiếp

- Có sẳn nguồn tham chiếu chuẩn

- 30 lần biến đổi trong 1 giây

- Khối đơn, công nghệ CMOS có công suất thấp

 Mô tả chức năng của các chân:

GND : Nối đất

STATUS : ngõ ra Khi ở mức cao, bộ biến đổi đang ở trong pha integrate hoặc

pha de-integrate cho đến khi dữ liệu được chốt Khi ở mức thấp, bộ biến đổi đang

ở pha auto-zero hoặc de-integrate sau khi dữ liệu được chốt

POL : bit chỉ cực tính (polarity), nếu ở mức cao, chỉ ra rằng tín hiệu vào là áp

dương

Trang 28

OR : bit chỉ quá thang (over-range), nếu ở mức cao, chỉ ra rằng ngõ vào đã vượt

quá giới hạn cho phép

B1÷÷÷÷B12 : ngõ ra ba trạng thái, là các bit dữ liệu tương ứng

TEST : ngõ vào, khi TEST = 1 thì ADC hoạt động bình thường, TEST = 0 thì tất

cả bit dữ liệu ra đều ở mức cao, còn khi không kết nối thì các chốt ngõ ra bộ đệm được cho phép Trong hoạt động bình thường : nối TEST lên +5v

LBEN : ở chế độ trực tiếp (MODE = 0 và CE/LOAD = 0) thì LBEN là ngõ vào,

khi ở mức tích cực sẽ cho phép xuất byte thấp; ở chế độ bắt tay (MODE = 1) thì LBEN là ngõ ra, có chức năng là cờ byte thấp

HBEN : ở chế độ trực tiếp (MODE = 0

và CE/LOAD = 0) thì HBEN là ngõ

vào, khi ở mức tích cực sẽ cho phép

xuất byte cao; ở chế độ bắt tay

(MODE = 1) thì HBEN là ngõ ra, có

chức năng là cờ byte cao

CE/LOAD : ở chế độ trực tiếp, là ngõ

vào, khi tích cực sẽ cho phép xuất ra 12

bit dữ liệu B1÷B12, POL, OR nếu

LBEN, HBEN tích cực Ơ chế độ bắt

tay, là ngõ ra strobe

MODE : ngõ vào, khi ở mức thấp :

ADC hoạt động ở chế độ trực tiếp, còn

khi ở mức cao : ADC hoạt động ở chế độ bắt tay

OSC IN : ngõ vào của bộ dao động

OSC OUT : ngõ ra của bộ dao động

OSC SEL : ngõ vào, dùng để chọn bộ dao động ICL 7109 có một bộ dao động

với 3 ngõ, nó có thể hoạt động với bộ dao động RC hay dao động thạch anh, cũng

có thể hoạt động với nguồn xung clock bên ngoài

Nếu chân OSC SEL để hở (có pullup kéo lên) hay nối với mức cao thì xung clock sẽ lấy từ bộ dao động RC bên ngoài Khi đó, xung clock sẽ cùng pha, cùng tần

số với tín hiệu trên chân BUF OSC OUT và tần số xung clock tính theo công thức :

RC

f =0.45Điện trở nên chọn là 100K, tụ chọn sao cho khoảng thời gian của 2048 chu kỳ xung clock gần với một bội số tích phân của 50Hz để loại trừ nhiễu 50Hz, nhưng không nên nhỏ hơn 50pF

Nếu chân OSC SEL được kéo xuống mức thấp thì xung clock lấy từ dao động thạch anh bên ngoài có tần số từ 1MHz đến 5MHz Tần số xung clock bên trong khi

đó sẽ bằng tần số của tín hiệu trên chân BUF OSC OUT chia cho 58

BUF OSC OUT : ngõ ra của bộ dao động được đệm, tiện dụng làm nguồn xung

clock cho các IC khác

Trang 29

RUN/HOLD : sau khi pha autozero hoàn tất trong khoản thời gian nhỏ nhất, cần

có một xung lên cao ít nhất 200ns tác động vào chân RUN/HOLD để bắt đầu một quá trình biến đổi Tuy nhiên cần chú ý rằng nếu có bất kỳ xung nào xuất hiện trong quá trình biến đổi hay trong vòng 2048 chu kỳ xung clock sau khi chân STATUS xuống thấp sẽ bị bỏ qua Nếu ICL 7109 đang ở vào thời điểm kết thúc pha autozero, một quá trình biến đổi sẽ được bắt đầu và chân STATUS sẽ lên cao trong vòng 7 chu kỳ xung clock sau khi RUN/HOLD lên cao

Thêm vào đó, để bắt đầu và kết thúc một quá trình biến đổi, chân này cũng có thể được sử dụng để cực tiểu thời gian biến đổi Bởi vì một quá trình biến đổi bình thường sẽ tốn mất 8192 chu kỳ xung clock, trong đó riêng pha de-integrate đã lấy mất

4096 chu kỳ xung clock và độc lập với điện áp vào Nhưng nếu sau khi STATUS xuống thấp, RUN/HOLD xuống thấp theo thì ICL 7109 sẽ nhảy tức thời đến pha autozero hơn là phải mất toàn bộ 4096 chu kỳ xung clock cho pha de-integrate

SEND : ngõ vào, báo hiệu rằng thiết bị bên ngoài đã chấp nhận dữ liệu khi ADC

hoạt động ở chế độ bắt tay Nối lên +5v nếu không sử dụng

V- : nguồn âm cho ICL 7109, thường nối đến -5v

REF OUT : ngõ ra điện áp tham chiếu, thường nhỏ hơn V+ là 2,8v

BUF : ngõ ra bộ khuếch đại đệm

AZ : được nối đến tụ CAZ

INT : được nối đến tụ CINT

COMMON : chân chung của tín hiệu tương tự

IN LO : cực âm của điện áp vào vi sai

IN HI : cực dương của điện áp vào vi sai

REF IN+ : ngõ vào dương của điện áp tham chiếu

REF CAP+ : cực dương của tụ tham chiếu

REF CAP- : cực âm của tụ tham chiếu

REF IN- : ngõ vào âm của điện áp tham chiếu

V+ : Vcc (5v)

Trang 30

CHƯƠNG 3 THỦ TỤC TRAO ĐỔI DỮ LIỆU CỦA MÁY TÍNH

Mục tiêu:

Trình bày các kiến thức cơ bản về các thủ tục trao đổi dữ liệu sử dụng giữa máy tính và các thiết bị ngoại vi Nguyên lý, ưu nhược điểm và ứng dụng của mỗi loại thủ tục trao đổi dữ liệu Lập trình khởi tạo và điều khiển cho mỗi thủ tục

Tóm tắt chương:

- Các chế độ trao đổi dữ liệu của máy vi tính

- Trao đổi tin ngắt vi xử lý

- Trao đổi tin trực tiếp khối nhớ

Trang 31

3.1 Các chế độ trao đổi dữ liệu của máy tính

Chế độ trao đổi tin của Máy tính với thiết bị ngoài

• Trao đổi tin theo chế độ chương trình

Sự trao đổi tin được VXL điều khiển theo một trong hai loại lệnh sau

 Các lệnh vào (IN) hay ra (OUT)

 Các lệnh chuyển (MOV) giữa thanh ghi A và thanh ghi đệm số liệu của KGN

có địa chỉ nhớ xác định

• Trao đổi tin trực tiếp bộ nhớ

Sau khi VXL được khởi động, sự trao đổi tin hoàn toàn do KGN điều khiển thay cho VXL và các cổng vào ra của VXL ở trạng thái điện trở cao (VXL bị cô lập) Lúc này, KGN điều khiển mọi hoạt động của bộ nhớ M và KGN, cụ thể là:

 Phát địa chỉ cho khối nhớ hoặc TBN

 Phát lệnh đọc (/RD) hay ghi (/WR) số liệu

 Các số liệu đọc, ghi được trao đổi giữa khối nhớ M va TBN thông qua các

thanh ghi đệm của KGN

Thủ tục trao đổi tin trong chế độ chương trình

Ở chế độ trao đổi tin theo chương trình, có thể trao đổi tin

theo một trong ba phương pháp sau:

- Trao đổi đồng bộ

- Trao đổi không đồng bộ hay hỏi trạng thái (Polling)

- Trao đổi theo ngắt chương trình

1 Trao đổi đồng bộ

Sau khi khởi động TBN, Máy tính không cần quan tâm

tới TBN có sẵn sàng trao đổi tin hay

không mà đưa luôn các lệnh trao đổi tin (

đọc vào, ghi ra hay truyền số liệu )

Phương pháp trao đổi tin này chỉ được

thực hiện khi:

- TBN luôn sẵn sàng trao đổi tin

- Tốc độ trao đổi tin của Máy tính và

TBN luôn phù hợp nhau hoặc TBN

trao đổi tin nhanh

Trình tự trao đổi diễn ra như sau:

- Máy tính đưa tin điều khiển TBN

Trao đổi tin Chương trình

Trang 32

- Máy tính chờ và kiểm tra trạng thái sẵn sàng trao đổi tin của TBN bằng cách:

o Đọc tin về trạng thái sẵn sàng của TBN

o Kiểm tra trạng thái sẵn sàng Nếu chưa, Máy tính lại đọc và kiểm tra trạng thái sẵn sàng

- Máy tính trao đổi tin với TBN

Phương pháp trao đổi này thực hiện khi tốc độ trao đổi tin của TBN chậm so với Máy tính

3.2 Trao đổi tin ngắt vi xử lý

Phương pháp trao đổi tin này khắc phục nhược điểm của các

phương pháp trên Trình tự như sau:

(1)Máy tính đang thực hiện chuỗi lệnh của một chương

trình nào đó

(2)TBN có yêu cầu trao đổi tin, sẽ gửi tín hiệu yêu cầu

trao đổi tin ( yêu cầu ngắt INTR)

(3)Máy tính (cụ thể là VXL ) đưa tín hiệu chấp nhận (xác

nhận ngắt INTA)

(4)Chương trình chính bị ngắt, Máy tính chuyển sang

chương trình con phục vụ ngắt tức là chương trình con

trao đổi tin cho TBN đã yêu cầu

(5)Chương trình chính lại tiếp tục thực hiện ở chỗ bị ngắt

3.2.1 Các loại ngắt của máy PC

Các loại ngắt

Người ta chia ngắt thành hai loại: ngắt cứng và ngắt mềm

Ngắt cứng: còn gọi là ngắt ngoài vì do nguyên nhân bên ngoài VXL có các lối

vào dành cho ngắt ngoài Khi có tín hiệu vào lối vào này, chương trình VXL đang thực hiện sẽ bị dừng

 Ngắt NMI ( Non maskable Interrupt) - Ngắt không che được : Khi có ngắt này,

VXL dừng chương trình sau lệnh đang thực hiện, thanh ghi địa chỉ lệnh (IP) và thanh ghi chỉ thị flag được lưu giữ, 2 bit IF (Interrupt Flag) va TF (Trap Flag)

bị xoá về 0 để cấm ngắt ngoài tiếp theo và không có bẫy Muốn cho phép hay không cho phép ngắt này xảy ra, chúng ta dùng một triger (flip – flop) để mắc lối vào ngắt trước khi đưa vào lối vào ngắt NMI

 Ngắt INTR:

o Ngắt này được cho phép hay cấm ngắt bằng cách lập hay xoá bit IF của thanh ghi flag Lập bởi lệnh STI (Set Interrupt), xoá bởi lệnh CLI (Clear interupt)

o Thường được nối với lối ra yêu cầu ngắt của vi mạch xử lý ưu tiên ngắt (8214, 8259)

Trang 33

Ngắt mềm: (hay ngắt bên trong do lệnh của chương trình) do VXL gặp các lệnh

gây ra ngắt hoặc tình huống đặc biệt khi thực hiện lệnh (ngắt logic) và ngắt của hệ điều hành

- Ngắt do lệnh: đó là ngắt khi thực hiện các lệnh CALL, HLT, INT

- Ngắt logic hay các ngoại trừ: xảy ra khi gặp các tình huống đặc biệt sau:

o Chia một số cho 0

o Tràn nội dung thanh ghi hay bộ nhớ

o Thực hiện từng bước (vector 1)

o Điểm dừng ( Break point) chương trình do người dung chương trình sử dụng định trước (Vectơ 3)

- Ngắt của hệ điều hành: đó là các ngắt do hệ điều hành quy định để phục vụ trao đổi tin của các TBN (bàn phím, máy in, vv) như INT 10, INT 16, INT 21, v.v )

Ví dụ như vector ngắt đầu tiên giữ địa chỉ của ngoại lệ Divide by Zero (lỗi chia cho 0) Khi xuất hiện lỗi này VXL nhảy sang địa chỉ 0000:0000 và thực hiện chương trình

có địa chỉ lưu ở đây

0B Hardware IRQ3 Serial Comms COM2/COM4 0C Hardware IRQ4 Serial Comms COM1/COM3 0D Hardware IRQ5 Reserved/Sound Card

0E Hardware IRQ6 Floppy Disk Controller 0F Hardware IRQ7 Parallel Comms

70 Hardware IRQ8 Real Time Clock

Trang 34

71 Hardware IRQ9 Redirected IRQ2

75 Hardware IRQ13 Math's Co-Processor

76 Hardware IRQ14 Hard Disk Drive

77 Hardware IRQ15 Reserved

 VXL gửi tín hiệu xác nhận hay cho phép ngắt – INTA và đọc vector ngắt

 Chuyển sang chương trình phục vụ ngắt

 Trở về chỗ chương trình chính bị ngắt và tiếp tục thực hiện chương trình đó

Lưu giữ tin về chỗ bị ngắt chương trình:

Ở cuối mỗi chu trình lệnh, VXL 8086 ( cũng như 80286) kiểm tra xem có yêu cầu ngắt nào gửi tới không Nếu có yêu cầu, VXL tiến hành lưu trữ tin về nơi bị ngắt chương trình ( dùng lệnh PUSH vào vùng nhớ ngăn xếp mà địa chỉ chỉ thị bởi thanh ghi SP)

Các tin đó là:

- Thanh ghi cờ Flag FR (Flag Register)

- Con trỏ lệnh IP (Instruction Pointer)

- Thanh ghi đoạn lệnh CS (Code Segment register)

Gửi tín hiệu cho phép (xác nhận ) ngắt và đọc vector ngắt:

Sau khi đã lưu trữ tin về vị trí bị ngắt của chương trình chính, VXL gửi tín hiệu xác nhận ngắt INTA (Interrupt Acknowledge) cho KGN của TBN Tuỳ cách tổ chức ngắt và tạo vector ngắt, VXL sử dụng tín hiệu này để đọc vector ngắt tương ứng của KGN vào thanh ghi chứa A VXL đọc nội dung của ô nhớ có địa chỉ là vector ngắt để biết được địa chỉ đầu tiên của chương trình con phục vụ ngắt ( chương trình trao đổi tin)

Thực hiện chương trình con phục vụ ngắt

Đó là chương trình mà địa chỉ lệnh đầu tiên nằm trong ô nhớ có địa chỉ là vector ngắt Kết thúc chương trình con này, có lệnh trở về (RET - return) để VXL tiếp tục thực hiện chương trình chính

Tiếp tục thực hiện chương trình chính:

Trang 35

Sau khi gặp lệnh trở về (RET), VXL tiến hành đọc và hồi phục các tin của VXL lúc bị ngắt chương trình đã ghi nhớ ở chỗ ngắt chương trình (bằng lệnh POP các ô nhớ ngăn xếp) Qua trình đọc ra này xảy ra ngược lại với quá trình ghi vào (o quy luật LIFO – Last In First Out) và nội dung của:

 Thanh ghi con trỏ lệnh (IP) trỏ về độ lệch (offset) của địa chỉ lệnh tiếp theo của chương trình chính bị ngắt trong mảng nhớ lệnh (CS)

 Thanh ghi mảng lệnh (CS) về địa chỉ đoạn đầu tiên của vùng nhớ dành cho

chương trình chính bị ngắt

 Thanh ghi flag lúc bị ngắt chương trình

3.2.2 Xử lý ngắt cứng trong IBM - PC:

VXL 80x86 có 3 chân dùng cho ngắt cứng đó là:

INTR: Interrupt Request

NMI: NonMaskable Interrupt

/INTA: Interupt Acknowledge

INTR là tín hiệu đầu vào yêu cầu ngắt của VXL và nó có thể che hay cho phép thông qua lệnh CLI (Clear Interrupt) và STI (Set Interrupt)

NMI tương tự INTR nhưng không che được bằng lệnh

INTR và NMI có thể được kích hoạt từ bên ngoài bằng cách nối vào điện áp 5V vào chân tương ứng của VXL

Như vậy VXL chỉ có khả năng phục vụ một yêu cầu ngắt cứng từ TBN Để mở rộng khả năng phục vụ ngắt ngoài IBM - PC sử dụng thêm vi mạch xử lý ngắt cứng lập trình được PIC (Programmable Interrupt Controller) 8259 Sử dụng PIC 8259 nối vào chân INTR có thể mở rộng số lượng ngắt cứng lên đến 64

ROM

/INTA

NMI Reset

C ơ ch ế th ự c hi ệ n ng ắ t c ứ ng

System bus

Trang 36

Vi mạch xử lý ngắt 8259

Sơ đồ khối:

Các chân:

IR0 – IR7 (Chân 18 – 25) : Các lối vào yêu cầu ngắt

D0 – D7 (Chân 11 – 4) : Các bit số liệu (2 chiều)

A0 (chân 27) : Địa chỉ chọn thanh ghi lệnh

CS (Chân 11) : Chọn vi mạch (chip select)

CAS0 – 2 (Chân 12,13,15) : Lối vào mắc nối tầng

SP (chân 16) : Trong chế độ không đệm, nếu SP = 1 thì 8259

là chủ (Master)

SP = 0 thì là tớ (Slave)

INTA (chân 26) : Lối vào xác nhận ngắt

INT (chân 17) : Lối ra yêu cầu ngắt chương trình

 Thanh ghi mặt nạ ngắt IMR (Interrupt Mask Register)

 Mạch logic giải quyết ưu tiên PR (Priority Resolver)

Bộ so sánh

và nối tầng

Logic điều khiển

Thanh ghi phục vụ (ISR)

Giải quyết

ưu tiên (PR)

Thanh ghi yêu cầu ngắt

Thanh ghi che ngắt (IMR)

Trang 37

 Khối logic điều khiển: xử lý ngắt, đưa yêu cầu (INT) và xác nhận ngắt (INTA)

 Bộ đệm đường tín hiệu số liệu: để đệm ghi vào các thanh ghi và đệm đọc các

số liệu từ các thanh ghi

 Logic điều khiển đọc/ghi: tạo các tín hiệu ghi và đọc các thanh ghi đệm

 Bộ đệm nối tầng/so sánh: để chọn các vi mạch 8259 tớ trong một vi mạch 8259 chủ

Đối với IBM - PC, 2 PIC được sử dụng để mở rộng ra 15 ngắt cứng PIC1 để quản

lý đầu vào ngắt IRQ0 - 7, PIC2 dành cho IRQ8 - 15 PIC2 được nối tầng ?lên PIC1 qua đường IRQ2 (Do đó nếu ta chặn ngắt IRQ2 thì toàn bộ IRQ 8 - 15 cũng bị che

3.2.3 Lập trình xử lý ngắt cứng:

Trong máy IBM - PC có 2 PIC được định vị tại các địa chỉ là PIC1 - 20H, PIC2 - A0H Các PIC được khởi tạo bởi BIOS, do đó ta chỉ cần quan tâm tới 2 lệnh khi làm việc với chúng

 Lệnh thứ nhất tác động vào từ điều khiển OCW1 để thiết lập việc che ngắt

Nếu muốn che ngắt nào thì ta xoá bit tương ứng với ngắt đó về 0 Từ điều

khiển OCW1 được gửi tới địa chỉ base + 1

 Lệnh thứ 2 là lệnh End of Interrupt (EOI) Lệnh này được gửi tới PIC khi kết thúc chương trình con xử lý ngắt để reset PIC Lệnh EOI được gửi tới PIC

bằng cách ghi giá trị 20H vào thanh ghi có địa chỉ base

Cấu trúc chung của một chương trình có sử dụng phương pháp vào ra bằng ngắt viết bằng Pascal như sau:

program <Tên chương trình>;

MPU

IR0 IR1 IR2 IR3

IR7

INT

/INT

IR0 IR1 IR2

IR7

INT

/INT CAS0-2

INT

/INT

CAS0-2 Pri PIC

Sec PIC

IRQ0 IRQ1

IRQ3

IRQ7

IRQ8 IRQ9 IRQ1

Trang 38

GetIntVec ($0C,@OldVector); {Lưu vector ngắt cũ}

SetIntVec ($0C,Addr (MyISR)); {Thay vector ngắt}

Port[MasterOCW1] := Port[MasterOCW1] and $EF;{cho phép ngắt IRQ3}

END

Trang 39

3.3 Trao đổi tin trực tiếp bộ nhớ

Phương pháp trao đổi dữ liệu theo chương trình sẽ chậm do:

- VXL phải giải mã và thực hiện lệnh

- Trao đổi dữ liệu thực hiện từng byte thông qua thanh ghi AX của VXL

Kỹ thuật vào/ra DMA (Direct Memory Access) là phương pháp truy nhập trực tiếp tới bộ nhớ

3.3.1 Cơ chế hoạt động:

 VXL khởi tạo TBN

 TBN khởi xướng việc truyền số liệu bằng cách sử dụng các thông tin cung cấp bởi VXL thông qua quá trình khởi tạo

 Khối dữ liệu được truyền trực tiếp giữa TBN và bộ nhớ thông qua sự điều

khiển của bộ điều khiển DMA (DMAC)

3.3.2 Hoạt động của DMAC:

Khởi tạo: Trước khi đưa DMAC vào hoạt động, Phải có chương trình khởi tạo

cho nó Quá trình khởi tạo sẽ cung cấp cho DMAC thông tin cần thiết để hoạt động

Đó là các thông tin như: địa chỉ bắt đầu của khối dữ liệu, kích thước khối dữ liệu, chiều đọc/ghi dữ liệu, số hiệu cổng của TBN

Hoạt động:

Xét trường hợp truyền một khối dữ liệu từ bộ nhớ ra TBN

(1)Bước 1: TBN yêu cầu DMA bằng cách đặt tín hiệu DREQ lên mức cao

(2)Bước 2: DMAC đặt tín hiệu mức cao vào chân HRQ (Hold Request) gửi tín hiệu yêu cầu treo bus cho VXL, báo cho VXL biết DMAC cần sử dụng bus

Data Bus

Address Bus Control Bus (IOR, IOW, MEMR, MEMW) Hoạt động của DMAC

Trang 40

(3)Bước 3: VXL kết thúc chu kỳ bus hiện tại, chuyển các cổng ghép nối với bus sang mức trở kháng cao và trả lời yêu cầu DMA bằng tín hiệu mức cao ở chân HDLA ( Hold Acknoledge) báo cho DMAC được quyền sử dụng bus (4)Bước 4: DMAC kích hoạt tín hiệu DACK báo cho TBN biết nó sẽ bắt đầu điều khiển việc truyền dữ liệu

(5)Bước 5: DMAC bắt đầu truyền dữ liệu từ bộ nhớ tới TBN như sau:

- DMAC đặt địa chỉ của byte đầu tiên của khối dữ liệu lên bus địa chỉ

- Kích hoạt tín hiệu /MEMR để đọc byte dữ liệu từ bộ nhớ lên bus dữ liệu

- Đặt địa chỉ của cổng TBN lên bus địa chỉ

- Kích hoạt tín hiệu IOW để ghi byte dữ liệu đang có trên bus dữ liệu ra TBN

- Giảm giá trị đếm và tăng giá trị địa chỉ

- Lặp lại quá trình trên cho tới khi giá trị đếm bằng 0

(6)Sau khi quá trình DMA kết thúc, DMAC xoá giá trị HRQ xuống mức thấp, trả quyền điều khiển bus cho VXL

3.3.3 Chip điều khiển truy nhập bộ nhớ trực tiếp DMAC 8237

DMAC 8237 có thể thực hiện truyền dữ liệu theo 3 kiểu: kiểu dọc (từ bộ nhớ ra thiết bị ngoại vi), kiểu ghi (từ thiết bị ngoại vi đến bộ nhớ) và kiểu kiểm tra

Khối Timing and Control (định thời và điều khiển):

Tạo các tín hiệu định thời và điều khiển cho bus ngoài

(external bus) Các tín hiệu này được đồng bộ với xung

clock đưa vào DMAC (tần số xung clock tối đa là 5 MHz)

Khối Priority encoder and rotating priority logic (mã

hoá ưu tiên và quay mức ưu tiên):

DMAC 8237A có 2 mô hình ưu tiên: mô hình ưu tiên

cố định (fixed priority) và mô hình ưu tiên quay (rotating

priority) Trong mô hình ưu tiên cố định, kênh 0 sẽ có mức

ưu tiên cao nhất còn kênh 3 có mức ưu tiên thấp nhất Còn

đối với mô hình ưu tiên quay thì mức ưu tiên khi khởi

dộng giống như mô hình ưu tiên cố định nhưng khi yêu

cầu DMA tại một kênh nào dó được phục vụ thì sẽ được

đặt xuống mức ưu tiên thấp nhất

Khối Command Control (điều khiển lệnh):

Giải mã các thanh ghi lệnh (xác định thanh ghi sẽ được

truy xuất và loại hoạt động cần thực hiện)

Ngày đăng: 27/11/2013, 16:53

HÌNH ẢNH LIÊN QUAN

Hình  1.1. Cấu trúc của hệ ghép nối máy tính với thiết bị ngoại vi - KĨ THUẬT GHÉP NỐI MÁY TÍNH
nh 1.1. Cấu trúc của hệ ghép nối máy tính với thiết bị ngoại vi (Trang 7)
Hình 2.3: DAC chia điện trở - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Hình 2.3 DAC chia điện trở (Trang 18)
Hình  2.1DAC trọng số nhị phân - KĨ THUẬT GHÉP NỐI MÁY TÍNH
nh 2.1DAC trọng số nhị phân (Trang 18)
Hình  2.2: DAC điều biến độ rộng xung - KĨ THUẬT GHÉP NỐI MÁY TÍNH
nh 2.2: DAC điều biến độ rộng xung (Trang 19)
Sơ đồ mạch và giải thuật như sau : - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Sơ đồ m ạch và giải thuật như sau : (Trang 22)
Hình  2.4: ADC tích phân theo sườn dốc - KĨ THUẬT GHÉP NỐI MÁY TÍNH
nh 2.4: ADC tích phân theo sườn dốc (Trang 23)
Hình  2.5: ADC flash - KĨ THUẬT GHÉP NỐI MÁY TÍNH
nh 2.5: ADC flash (Trang 24)
Sơ đồ chân: - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Sơ đồ ch ân: (Trang 25)
Sơ đồ khối: - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Sơ đồ kh ối: (Trang 36)
Sơ đồ ghép nối nối tầng PIC trong IBM - PC - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Sơ đồ gh ép nối nối tầng PIC trong IBM - PC (Trang 37)
Sơ đồ cửa vào đơn giản - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Sơ đồ c ửa vào đơn giản (Trang 54)
Sơ đồ khối của PPI 8255AReset - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Sơ đồ kh ối của PPI 8255AReset (Trang 56)
Bảng 1 Sự sắp xếp các chân của EPP. - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Bảng 1 Sự sắp xếp các chân của EPP (Trang 70)
Bảng 1: D Type 9 Pin and D Type 25 Pin Connectors - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Bảng 1 D Type 9 Pin and D Type 25 Pin Connectors (Trang 84)
Hình 2: Sơ đồ nối dây Loopback Plug - KĨ THUẬT GHÉP NỐI MÁY TÍNH
Hình 2 Sơ đồ nối dây Loopback Plug (Trang 85)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w