[r]
(1)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
GHÉP NỐI VÀ ðIỀU KHIỂN THIẾT BỊ NGOẠI VI
Người soạn: TS Nguyễn Văn Minh Trí
ThS Lâm Tăng ðức
(2)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi TÀI LIỆU LƯU HÀNH NỘI BỘ
LỜI NÓI ðẦU
Ngày nay, máy vi tính (MVT) cải tiến, nâng cấp thị trường hố đểđạt tốc
độ xử lý cực nhanh, giá thành rẻ Trong thập niên qua, MVT ñã ñược áp dụng khắp nơi, thay cho hệ thống cũ nhiều nhược ñiểm ðặc biệt, hệ thống
điện, điện cơng nghiệp, MVT ñược ứng dụng ngày nhiều, mang lại nhiều tính ưu việt cho hệ thống Do u cầu phát triển lý thuyết hệ thống có sử dụng MVT ñã mở nhiều lĩnh vực học
Một ví dụ cụ thể việc ứng dụng MVT cơng nghiệp hệ thống đo lường ñiều khiển sử dụng MVT Trong hệ thống này, MVT nhận liệu ño ñạt trạng thái vật lý hệ thống, vi dụ nhiệt ñộ, áp suất, điện áp …, tính tốn để đưa định, tín hiệu điều khiển trở lại hệ thống, nhằm ñạt ñược yêu cầu ñiều khiển ñề hệ thống
Muốn thiết kế, vận hành bảo quản tốt hệ đo-điều khiển cơng nghiệp, người kỹ sư
cần nắm vững kỹ thuật máy tính, cách viết chương trình, kỹ thuật ghép nối thiết bị
ngoại vi, việc xử lý số liệu, lý thuyết điều khiển số…
Mơn học ghép nối ñiều khiển thiết bị ngoại vi (TBNV) nhằm cung cấp kiến thức việc tìm hiểu, thiết kế mạch ghép nối ngoại vi với MVT Các mạch
(3)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
MỤC LỤC
CHƯƠNG 1: CƠ SỞ GHÉP NỐI THIẾT BỊ NGOẠI VI
1.1.Giới thiệu chung
1.1.1 Cấu trúc hệ thống
1.1.2 Nhiệm vụ ghép nối
1.1.3 Thủ tục trao ñổi liệu máy vi tính 1.2.Giới thiệu số vi mạch dùng ghép nối
1.2.1 Các mạch logic 1.2.2 Các mạch lật
1.2.3 Các mạch ghi ñệm 1.2.4 Các mạch giải mã ñịa
1.2.5 Các mạch truyền liệu
CHƯƠNG 2: GHÉP NỐI VÀO RA SONG SONG ðIỀU KHIỂN BẰNG CHƯƠNG TRÌNH
2.1Các lệnh vào liệu
2.1.1 Các lệnh vào hợp ngữ
2.1.2 Các lệnh vào Turbo C 2.1.3 Các lệnh vào Turbo Pascal
2.2Ghép nối song song đơn giản: có hay khơng có đối thoại 2.2.1 Cửa vào đơn giản khơng đối thoại
2.2.2 Cửa đơn giản khơng đối thoại 2.2.3 Cửa vào đơn giản có đối thoại 2.2.4 Cửa đơn giản có ñối thoại
2.3Ghép nối song song ñiều khiển chương trình 2.3.1 Sơđồ khối chức khối 8255A
2.3.2 Các chếñộ làm việc 8255A 2.3.3 Ghép nối với 8255A
2.3.4 Lập trình cho 8255A
CHƯƠNG 3: GHÉP NỐI TRAO ðỔI DỮ LIỆU NỐI TIẾP 3.1Giới thiệu chung trao ñổi liệu nối tiếp
(4)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi 3.1.3 Thủ tục trao ñổi liệu nối tiếp
3.2 Mạch thu phát dị vạn UART 8250
3.2.1 Sơñồ khối chức khối UART 8250 3.2.2 Ghép nối với UART 8250
3.2.3 Lập trình cho UART 8250
CHƯƠNG 4: GHÉP NỐI ðIỀU KHIỂN NGẮT
4.1Khái niệm phân loại ngắt 4.1.1 Khái niệm 4.1.2 Phân loại ngắt
4.2Xử lý ngắt nhiều thiết bị ngoại vi 4.2.1 Cho phép cấm ngắt 4.2.2 Sắp xếp ưu tiên ngắt
4.2.3 Xác ñịnh nguồn gây ngắt 4.2.4 Tạo vector ngắt
4.3Vi mạch ñiều khiển ngắt 8259A
4.3.1 Sơñồ khối chức khối 8259A 4.3.2 Cấu trúc hoạt ñộng vi mạch 8259A 4.3.3 Ghép nối với 8259A
4.3.4 Lập trình cho 8259A
CHƯƠNG 5: GHÉP NỐI VÀO RA ðIỀU KHIỂN BẰNG DMA 5.1 Khái niệm DMA
5.1.1 Khái niệm DMA
5.1.2 Hoạt ñộng DMAC (DMA Controller) 5.1.3 Các chếñộ trao ñổi liệu DMA
5.2 Bộñiều khiển DMA – 8237A
5.2.1 Sơñồ khối chức khối DMAC 8237A 5.2.2 Ghép nối với 8237A hệ vi xử lý 8088
5.2.3 Lập trình cho 8237A
CHƯƠNG 6: GHÉP NỐI TƯƠNG TỰ-SỐ VÀ SỐ-TƯƠNG TỰ
6.1 Giới thiệu số mạch khuếch đại thuật tốn
6.1.1 Các tham số mạch khuếch đại thuật tốn 6.1.2 Các sơđồ khuếch đại thuật tốn 6.2 Bộ chuyển ñổi số-tương tự DAC
6.2.1 Hoạt ñộng DAC
6.2.2 Các tham số chuyển ñổi DA
6.2.3 Các mạch DAC điển hình 6.2.4 Ghép nối với DAC
(5)Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi 6.3.1 Nguyên tắc làm việc ADC
6.3.2 Các tham số chuyển ñổi AD 6.3.3 Các phương pháp chuyển ñổi AD
6.3.4 Ghép nối với ADC
6.3.5 Lập trình nhận liệu từ ADC
CHƯƠNG 7: ỨNG DỤNG MÁY VI TÍNH TRONG ðO LƯỜNG VÀ
ðIỀU KHIỂN
7.1 Giới thiệu cấu trúc máy tính
(6)Tài liệu mơn học: Ghép nối ñiều khiển thiết bị ngoại vi
CHƯƠNG 1: CƠ SỞ GHÉP NỐI THIẾT BỊ NGOẠI VI
1.1. Giới thiệu chung
1.1.1 Cấu trúc hệ thống
Máy vi tính hay hệ vi xử lý có cấu trúc chung Phơn Nơi-Man đề xuất gồm khối xử lý trung tâm (CPU), nhớ (M) cửa vào/ra (I/O), hình 1.1 Ngồi ra, MVT cịn cần phải trao đổi liệu mơi trường bên ngồi, ví dụ giao tiếp với người sử
dụng qua bàn phím-màn hình, trao đổi liệu với thiết bị ngồi thơng dụng, thiết bị ngồi hệ đo-điều khiển, MVT khác mạng Do ghép nối thiết bị ngoại vi (BGN TBNV) ñược xây dựng, gồm:
• BGN thiết bị vào chuẩn bàn phím, chuột… • BGN thiết bị chuẩn hình, máy in… • BGN nhớ ngồi chuẩn nhưổ cứng, ổ CD-ROM… • BGN với MVT khác mạng nhiều MVT
• BGN với hệ vi ñiều khiển, hệ vi xử lý • BGN hệđo lường - điều khiển:
Hình 1.1: Cấu trúc hệ GN trao ñổi dữ liệu tin giữa MVT TBNV Trong đó: VXL viết tắt vi xử lý
RAM random-access memory ROM read-only memory BGN ghép nối
CD-ROM compact disk read-only memory CN công nghiệp
ðK ñiều khiển V
X L
RAM ROM
BGN Bàn phím Màn hình
BGN
Máy in bộBGN nhớ
ngoài
BGN Song song /nối tiếp
BGN Vào/ra
Ổ cứng CD-ROM
BGN Song song /nối tiếp
MVT /Vi ðK
Cảm biến
ño lường
BGN Vào/ra
Cơ cấu chấp hành
Thiết bị
CN
ðường dây liệu ñịa MVT
ðường dây
(7)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
ðặt biệt hệ ño lường - ñiều khiển, MVT nhận liệu trạng thái vật lý hệ
thống (nhiệt độ, áp suất, điện áp, dịng điện…) dạng tín hiệu điện, từđầu dị
cảm biến (sensor), chuyển ñổi (tranducer), phát (detector) Và MVT cịn nhận thơng tin trạng thái sẵn sàng hay bận thiết bịđo
MVT sau đưa tín hiệu chấp nhận trao ñổi liệu với TBNV, thu thập xử lý
liệu, tính tốn tín hiệu điều khiển đưa cấu chấp hành (các van đóng mở, rơle mạch điện, mạch ñộng lực ñiều tốc ñộng cơñiện…), hay ñưa thông số kỹ thuật cho thiết bị
Ngồi ra, MVT cịn cần lưu trữ liệu ổ cứng, ñĩa compact (CD-ROM) ñể tra
cứu lúc cần, hiển thị kết quảño dạng bảng số liệu, dạng đồ thị hay hình vẽđồ hoạ
trên hình
1.1.2 Nhiệm vụ của bộ ghép nối
TBNV ñược ghép nối với MVT thơng qua phần thích ứng cơng nghệ thích
ứng logic hình 1.2 GN cơng nghệ làm nhiệm vụđiều chỉnh mức tín hiệu cơng nghệ sản xuất TBNV công nghệ sản xuất mạch cấu trúc nên BUS MVT GN logic làm nhiệm vụ tạo tín hiệu điều khiển TBNV từ tín hiệu BUS hệ
thống Nhiệm vụ BGN phối hợp trao ñổi liệu MVT TBNV
1. Phối hợp mức công suất tín hiệu
- Mức tín hiệu MVT thường mức TTL (0V, 5V), TBNV có mức
điện thoại (±15V, ±48V) hay mức điện cơng nghiệp (220V/380V)
- Cơng suất đường dây MVT nhỏ (cỡ chục mA), công suất cần cho
TBNV lớn tùy theo hệ thống
Do BGN phải biến đổi điện áp khuếch đại cơng suất cho phù hợp MVT TBNV Thường dùng vi mạch trạng thái ñể ñưa dữ`liệu ra, đưa liệu vào Do vi mạch trạng thái trở kháng cao khơng có trao đổi liệu, để lập TBNV với MVT, ñể không tiêu thụ chút công suất ñường dây ñể bảo vệ MVT
2. Phối hợp dạng liệu
- Dữ liệu trao đổi MVT ln song song dạng số nhị phân, truyền theo bit, 16 bit, 32 bit, 64 bit
- Dữ liệu TBNV song song bit 16 bit, nối tiếp tín hiệu liên tục Do BGN chuyển ñổi dạng liệu cho phù hợp MVT TBNV, ví dụ
chuyển đổi từ tín hiệu liên tục sang tín hiệu số 3. Phối hợp tốc ñộ trao ñổi liệu
- MVT thường hoạt ñộng với tốc ñộ cao (tần số lên tới hàng trăm MHz) TBNV thường hoạt ñộng chậm nhiều
Do ñó BGN nhận lưu liệu từ MVT truyền cho TBNV theo phịp chậm TBNV, giải phóng cho MVT làm nhiệm vụ khác (phục vụ TBNV khác, chạy chương trình xử lý số liệu hay hiển thị hình) Tương tự, BGN nhận liệu TBNV chờ MVT ñọc liệu vào
4. Phối hợp phương thức trao ñổi liệu - Việc ñọc/xuất liệu MVT khởi xướng:
(8)Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi
Nếu TBNV trạng thái sẵn sàng, MVT tiến hành ñọc/xuất liệu - Việc ñọc/xuất liệu TBNV khởi xướng:
Khi đó, TBNV đưa u cầu trao đổi liệu tới phận xử lý ngắt BGN Nếu có nhiều TBNV ñồng thời ñưa yêu cầu, BGN xếp theo thứ tựưu tiên ñịnh sẵn,
ñưa yêu cầu tới MVT MVT sau nhận tín hiệu u cầu, chuẩn bị đưa tín hiệu xác nhận sẵn sàng trao ñổi ðến lược BGN nhận truyền tín hiệu sẵn sàng đến cho TBNV Sau đó, MVT TBNV trao đổi liệu qua trung gian BGN
Hình 1.2: GN giữa MVT TBNV 1.1.3 Thủ tục trao ñổi dữ liệu của máy vi tính
MVT trao đổi liệu với TBNV theo hai chếñộ: - Chếđộ chương trình:
Gồm lệnh VÀO, RA CHUYỂN liệu ghi - Chếñộ truy cập thẳng tới nhớ:
BGN lúc ñiều khiển trao ñổi TBNV nhớ qua trung gian BGN Các vào VXL trạng thái trở kháng cao BGN ñiều khiển hoạt ñộng
nhớ TBNV, bao gồm:
Phát ñịa cho nhớ TBNV Phát lệnh ñọc RD hay ghi WR số liệu
Các số liệu ñọc, ghi ñược trao ñổi nhớ TBNV thông qua ghi ñệm BGN
Ở chếñộ trao ñổi liệu theo chương trình, việc thực theo ba phương pháp sau (hình 1.3):
- ðồng hay khơng đối thoại - Khơng đồng hay có đối thoại - Ngắt chương trình
1 Trao ñổi ñồng bộ:
Sau khởi động TBNV, MVT khơng cần quan tâm tới TBNV có sẵn sàng trao đổi liệu hay khơng mà đưa ln lệnh trao đổi liệu Do TBNV phải ln sẵn sàng trao đổi liệu Phương pháp trao đổi liệu có ưu điểm nhanh, khơng tốn thời
gian chờđợi Tuy nhiên có nhược ñiểm thiếu tin cậy, ñôi bị liệu có cố làm TBNV chưa sẵn sàng trao đổi
2 Trao đổi khơng ñồng bộ: Trình tự trao ñổi diễn sau:
- MVT đưa tín hiệu điều khiển tới BGN
- MVT chờ kiểm tra trạng thái sẵn sàng trao ñổi TBNV Nếu chưa sẵn sàng đọc kiểm tra lại trạng thái
MVT
BGN
TBNV
ñiều khiển
số liệu
ñiều khiển
số liệu GN
(9)Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi - MVT trao ñổi liệu với TBNV ñã sẵn sàng
Phương pháp thường dùng tốc độ trao đổi liệu TBNV chậm so với MVT Phương pháp trao ñổi liệu có ưu ñiểm tin cậy, lại tốn thời gian sử dụng MVT
Trao đổi theo ngắt chương trình:
Phương pháp khắc phục ñược nhược ñiểm phương pháp Trình tự
sau:
- MVT thực chuỗi lệnh chương trình
- TBNV có u cầu trao đổi liệu, gởi tín hiệu u cầu trao đổi (u cầu ngắt - INTR )
- MVT đưa tín hiệu chấp nhận (xác nhận ngắt – INTA)
- Chương trình bị ngắt, MVT chuyển sang chương trình phục vụ ngắt, tức chương trình trao đổi liệu cho TBNV ñã yêu cầu
- Chương trình lại tiếp tục thực chỗ bị ngắt
a) ðồng b) Khơng đồng c) Ngắt chương trình Hình 1.3 : Trao đổi dữ liệu theo chương trình
Chương trình
Trao đổi liệu
Chương trình
Trao ñổi liệu TBNV sẵn sàng ?
Chương trình Chưa
Rồi
(10)Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi
1.2. Giới thiệu một số vi mạch dùng bộ ghép nối
Thơng thường BGN có chốt liệu, bộñệm trạng thái ñể nối với BUS mạch lật tạo tín hiệu ñối thoại
1.2.1 Các mạch logic cơ bản
Mạch AND
- SN7408 Bảng trạng thái
- SN7409
A B Y
L L L
H L L
L H L
H H H
Mạch OR
- SN7432 Bảng trạng thái
A B Y
L L L
H L H
L H H
H H H
Mạch NOT
- SN7404: Bảng trạng thái:
- SN7405 - SN7406
A Y
L H
H L
Mạch EX-OR Bảng trạng thái - SN74136
A B Y
L L L
H L H
L H H
H H L
14 13 12 11 10
1 Vcc 6A 6Y 5A 5Y 4A 4Y
GND 1A 1Y 2A 2Y 3A 3Y 14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y
14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y
14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
(11)Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi Mạch NAND
- SN7400 Bảng trạng thái: - SN7401
- SN7403
A B Y
L L H
H L H
L H H
H H L
Mạch NOR Bảng trạng thái
- SN7402 - SN7428
A B Y
L L H
H L L
L H L
H H L
Mạch EX-NOR Bảng trạng thái
- SN74HC266
A B Y
L L H
H L L
L H L
H H H
Mạch ñệm trạng thái kích hoạt mức thấp
- SN74125 Bảng trạng thái - SN74425
C A Y
H X Z∞
L L L
L H H
Trong Z∞ trạng thái trở kháng cao
Mạch ñệm trạng thái kích hoạt mức cao
14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y 14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y 14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y 14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y
GND 1A 1B 1Y 2A 2B 2Y 14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1A 1B 1Y 2A 2B 2Y 14 13 12 11 10
1 Vcc 4B 4A 4Y 3B 3B 3A 3Y
GND 1C 1A 1Y 2C 2A 2Y 14 13 12 11 10
(12)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
- SN74126 Bảng trạng thái - SN74426
C A Y
L X Z∞
H L L
H H H
1.2.2 Các mạch lật:
- SN7474 Bảng trạng thái
PR CLR CK D Q Q
L H X X H L
H L X X L H
L L X X H* H*
H H ↑ H H L
H H ↑ L L H
H H L X Q0 Q Trong Q0 trạng thái cũ trước đó, H* trạng thái cấm
1.2.3 Các mạch ghi ñệm
- SN74LS373, SN74LS374 loại vi mạch chốt truyền qua bits ñệm trạng thái Ðệm chốt ñược ñiều khiển ñộc lập ñầu vào ñiều khiển khác là:
OE (Output Enable): Mở cổng-ñệm
LE (Latch Enable): ñiều khiển mở chốt
CP (Clock Input) : ðầu vào xung sườn lên
GND
CLR 1D CK 1Q 1Q
PR
14 13 12 11 10
1 Vcc CLR 2D
2 CK
2
PR 2Q 2Q
PR D CK CLR Q Q PR DCK CLR Q Q GND 1C 1A 1Y 2C 2A 2Y 14 13 12 11 10
(13)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
Bảng thật 74LS373 MODE Hoạt ñộng Ðầu vào Thanh
ghi nội
Ðầu
OE LE Di Oi
Kích hoạt đọc ghi
L
L H
H L
H
L
H
L
H
Chốt ñọc ghi L L x Q0 Q0
Chốt không cho H x x x Z∞
Bảng thật 74LS373 MODE Hoạt ñộng Ðầu vào Thanh
ghi nội
Ðầu
OE CP Di Oi
Kích hoạt ñọc ghi
L
L
L
H
L
H
L
H
Chốt ñọc ghi L L x Q0 Q0
Chốt không cho H x x x Z∞
(14)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
Bảng thật 82C82
STB OE DI DO
X H X Z∞
H L L L
H L H H
↓ L X Q0
Trong đó: H logic L logic
X Z∞ trạngthái trở kháng cao
↓ sườn xung âm Q0 chốt giá trị liệu sau
1.2.4 Các mạch giải mã ñịa chỉ
Một số vi mạch ñược dùng nhiều hệ thống giải mã VXL SN74LS138 (mạch giải mã 3-8), SN74LS139 (hai giải mã 2-4)
(15)Tài liệu mơn học: Ghép nối điều khiển thiết bị ngoại vi
Bảng sự thật của 74LS138
Ðầu vào Output
Enable Select
(16)Tài liệu môn học: Ghép nối điều khiển thiết bị ngoại vi
Hình 1.4: Mạch giải mã chọn ROM dùng 74LS138
1.2.5 Các mạch truyền dữ liệu
- SN74LS245
Các chân A1÷A8, B1÷B8 chân gửi/ nhận liệu hướng tương ứng Chân 19 (G) chân chọn IC (Chip Enable)
Chân (DIR) chân chọn hướng gửi/ nhận liệu (Direction)
Bảng sự thật của 74LS245
G DIR Hoạt ñộng
L L Dữ liệu vào B, A
L H Dữ liệu vào A, B
(17)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
CHƯƠNG 2: GHÉP NỐI VÀO RA SONG SONG ðIỀU KHIỂN BẰNG
CHƯƠNG TRÌNH
2.1. Các lệnh vào dữ liệu
2.1.1 Các lệnh vào bằng hợp ngữ:
Lệnh ñể nhận liệu từ thiết bị vào/ra INputvà lệnh ñể gửi số liệu thiết bị
vào/ra OUTput Có bốn cách dùng khác lệnh này: hai loại chuyển
liệu hay 16 bít thơng qua cổng vào/ra bít, hai chuyển liệu hay 16 bít thơng
qua cổng 16 bít
Ví dụ hai lệnh sau ñây sẽñọc byte ñường dẫn liệu từ cổng LPT1:
MOV DX,378H ; nạp ñịa ghi liệu vào DX
IN AL,DX ; đọc thơng tin đường dẫn liệu (D0 ñến D7) LPT1 sang ghi AL
Bảng 2.1: Bảng lệnh vào
Instruction Data
Width Comment
IN AL,d8 IN AL,DX IN AX,d8 IN AX,DX OUT d8,AL OUT DX,AL OUT d8,AX OUT DX,AX
8 16 16 8 16 16
Ðọc byte từ cổng vào/ra bít
Ðọc byte từ cổng vào/ra xác ñịnh ghi DX Ðọc word từ cổng vào/ra bít
Ðọc word từ cổng vào/ra xác ñịnh ghi DX Gửi byte cổng vào/ra bít
Gửi byte cổng vào/ra xác ñịnh ghi DX Gửi word cổng vào/ra bít
Gửi word cổng vào/ra xác ñịnh ghi DX
(18)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
2.1.2.Các lệnh vào bằng Turbo C
Bảng 2.2: Bảng lệnh vào
Instruction Data
Width Comment
outportb(addr_port,data_var) Data_var=inportb(addr_port) outport(addr_port,data_var) Data_var=inportb(addr_port) outp(addr_port,data_var) Data_var=inp(addr_port) outpw(addr_port,data_var) Data_var=inp(addr_port)
8 16 16 8 16 16
Gửi byte cổng vào/ra bít xác định địa addr_port Ðọc byte từ cổng vào xác ñịnh ñịa addr_port Gửimột word cổng vào/ra, bít thấp xác định ñịa
addr_port, bít cao xác ñịnh ñịa addr_port+1 Ðọc word từ cổng vào/ra, bít thấp xác định địa
addr_port, bít cao xác định địa addr_port+1
Gửi byte cổng vào/ra bít xác định ñịa addr_port Ðọc byte từ cổng vào xác ñịnh ñịa addr_port Gửi byte cổng vào/ra, bít thấp xác định địa
addr_port, bít cao xác định địa addr_port+1 Ðọc word từ cổng vào/ra, bít thấp xác ñịnh ñịa
addr_port, bít cao xác ñịnh ñịa addr_port+1
Ví dụ lệnh sau xuất (8 bít 00000101) qua ghi liệu LPT1 #include <dos.h>
#define Dat_reg 0x378 char data_var=5;
outport(Dat_reg,data_var);
2.1.3 Các lệnh vào bằng Turbo Pascal
Bảng 2.3: Bảng lệnh vào
Instruction Data
Width Comment
Port[addr] := var1; Var := port[addr];
8
Gửi byte cổng vào/ra bít xác định địa addr Ðọc byte từ cổng vào xác ñịnh ñịa addr
(19)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
Port[$378] := X; Xuất giá trị biến X lên ñường dẫn liệu (D0 ñến D7) cổng LPT1
Y := port[$379]; ðọc nội dung ghi trạng thái LPT1 vào biến Y Chú ý: Một chữ sốở hệ 16 phải thêm dấu: 0x vào trước sốđó ngơn ngữ C,
$ vào trước sốđó ngơn ngữ Pascal
2.1.4 Giản ñồ thời gian lệnh ñọc/ghi dữ liệu:
Bus hệ thống, bao gồm bus liệu (data bus), bus ñiều khiển (control bus) bus ñịa
(address bus), đường dẫn truyền thơng vi xử lý TBNV
Các VXL bit liệu thường có đường dây data bus, 16 ñường dây tương ứng 16
ñường ñịa chỉở address bus Hai tín hiệu RD, WR control bus thường ñược sử dụng
ñể xác ñịnh thời ñiểm liệu ổn định data bus Hình 1.5 giản đồ thời gian tín hiệu bus hệ thống
Hình 1.5: Giản đồ thời gian tín hiệu bus hệ thống
Mỗi chu kỳ bus (bus cycle) bao gồm việc chuyển từ liệu VXL với nhớ TBNV Mỗi chu kỳ bus bắt ñầu VXL xuất ñịa chỉñể chọn vị trí nhớ cổng vào Trong giản ñồ này, bus ñịa liệu ñược biểu diễn cặp ñường thẳng ñể thơng tin bus ổn định Khi đường sơñồ cắt ngang diễn tả liệu ñã thay ñổi ðường nét ñứt trạng thái thả khơng có thiết bị lái
address bus data bus
RD
WR
Dữ liệu ñược
ñọc vào VXL
Chu kỳñọc Chu kỳ ghi
Dữ liệu ñược ghi TBNV
Dữ liệu từ
(20)Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi
2.2 Ghép nối song song đơn giản: có hay khơng có đối thoại
2.2.1 Cửa vào đơn giản khơng đối thoại
Hình 2.1 mơ tả cửa vào đơn giản khơng cần tín hiệu đối thoại Tín hiệu vào từ
cảm biến (BCB) ñược nối với bus liệu MVT thơng qua bộđệm ba trạng thái Khi lập trình đoạn lệnh:
C: data1 = inport(addrport); Pascal: data1 := port(addrport);
Trình biên dịch chuyển đoạn lệnh thành mã máy, chạy ñoạn mã máy này, VXL tạo tín hiệu:
- A0…A15 từ addrport - RD kích hoạt mức
Bộ giải mã so sánh giá trị ñường ñịa với ñịa cổng cho trước,
trùng ñịa chỉ, ñầu giải mã kích hoạt mức Do đầu mạch OR sẽở mức 0, kích hoạt cho bộđệm ba trạng thái mở ra, liệu từ TBNV sẽñổ vào bus liệu VXL Lúc này, VXL nhận
- D0, ,D7 gán vào cho biến data1 Kết thúc chu kỳ lệnh, RD trở mức
Hình 2.1: Cửa vào đơn giản, khơng có đối thoại Giải mã
ðịa
A0…A15
RD
1 D
7 D
BCB BCB
BCB
Bus MVT BGN TBNV