You are on page 1of 215

Môn học:

Thiết bị ngoại vi và Kỹ thuật ghép nối


Bộ môn Điện tử Máy tính
Khoa: ĐTVT – HVKTMM

1
Mục đích môn học
 Nghiên cứu cấu trúc và hoạt động của các hệ vi xử lý
nói chung.

 Kỹ thuật ghép nối thiết bị ngoại vi với máy vi tính và


hệ vi xử lý. Nghiên cứu các chuẩn giao tiếp cơ bản:
giao tiếp song song và nối tiếp.

 Nghiên cứu cách chuyển đổi dữ liệu A/D, D/A

 Xây dựng các hệ thống giao tiếp giữa MVT và các thiết
bị ngoại vi
Đề Cương Môn Học

Chương 1: Cơ sở ghép nối và thiết bị ngoại vi

Chương 2: Ghép nối qua cổng song song

Chương 3: Ghép nối qua cổng nối tiếp

Chương 4: Ghép nối số tương tự (DAC)


tương tự số (ADC)
CHƯƠNG 1: CƠ SỞ GHÉP NỐI THIẾT BỊ NGOẠI VI

Nội Dung:

 Cấu trúc hệ thống

 Chức năng của khối ghép nối

 Thủ tục trao đổi dữ liệu


1.1. CẤU TRÚC HỆ THỐNG
RAM ROM

Vi Bus dữ liệu và địa chỉ MVT


Xử

Bus điều khiển
BGN
BGN
Bàn BGN
BGN song BGN BGN
phím, Bộ nhớ
Máy in song, Vào - ra Vào - ra
Màn ngoài
nối tiếp
hình

Ổ BGN
Cơ cấu Thiết bị
cứng, Song Cảm chấp công
CD song, biến đo hành nghiệp
rom nối tiếp lường

MVT/VĐK
THIẾT BỊ NGOẠI VI
 Thiết bị ngoại vi: là các thiết bị bên ngoài cấu trúc cơ bản của
máy tính, được kết nối thông qua các cổng giao tiếp; có chức
năng xuất, nhập, lưu trữ thông tin.

Thiết bị đầu vào: chuột,


bàn phím, touch screen,
modem…

Thiết bị
ngoại vi

Thiết bị lưu trữ: đĩa


Thiết bị đầu ra: màn
mềm, đĩa quang,
hình, máy in, máy
đĩa cứng, bộ nhớ
chiếu…
flash
KHỐI GHÉP NỐI
 Khối ghép nối (khối giao tiếp – interface): Làm nhiệm vụ kết
nối Hệ trung tâm (CS) với Thiết bị ngoại vi.
 Lý do cần có các interface:
• Sự khác nhau giữa CS với các thiết bị ngoại vi: mức tín hiệu,
tốc độ, chế độ làm việc đồng bộ hay không đồng bộ,…
 Để thực hiện giao tiếp, cần có:
• Mạch điện tử thích ứng và chương trình điều khiển
(device driver).
• Mạch điện tử: Cổng vào-ra, Controller, các bộ chuyển đổi
AD-DA.
Mô hình ghép nối máy tính và thiết bị ngoại vi

Điều khiển Điều khiển

MVT BGN TBNV


Số liệu Số liệu
Các khả năng lựa chọn ghép nối
máy tính và thiết bị ngoại vi:

 Ghép nối qua cổng máy in hay còn gọi là cổng song song
 Ghép nối qua cổng RS 232 hay còn gọi là cổng nối tiếp.
 Ghép nối qua rãnh cắm mở rộng trên bản mạch chính.
 Ghép nối qua cổng USB.

Nhiệm vụ của khối ghép nối:

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


 Phối hợp về dạng dữ liệu.
 Phối hợp về tốc độ trao đổi dữ liệu.
 Phối hợp về phương thức trao đổi dữ liệu.
Chức năng khối ghép nối:

 Nhận tín hiệu (listener): Nhận thống báo địa chỉ từ máy
tính; nhận thông báo về trạng thái từ thiết bị ngoại vi; Nhận
lệnh điều khiển từ máy tính.

 Nguồn tín hiệu (talker): Phát địa chỉ cho khối chức năng
của thiết bị ngoại vi; Phát lệnh cho thiết bị ngoại vi; Phát
yêu cầu trạng thái của thiết bị ngoại vi cho may tính; Phát
số liệu cho thiêt bị ngoại vi hay cho máy tính.
1.2. Thủ tục trao đổi dữ liệu
 Chế độ trao đổi dữ liệu của máy tính:
• Xác định xem có thiết bị nào sẵn dàng trao đổi thông tin với CPU
hay không?
• Nếu có thì xác định xem đó là thiết bị nào?
• Giải quyết tranh chấp nếu có nhiều thiết bị cùng muốn trao đổi
thông tin với CPU.
• Phát ra các tín hiệu điều khiển và đồng bộ để trao đổi dữ liệu.

 Các phương pháp trao đổi dữ liệu:


• Đồng bộ hay không điều kiện (không hội thoại).
• Không đồng bộ hay có điều kiện sẵn sàng của ngoại vi (có hội thoại).
• Ngắt chương trình
 Trao đổi đồng bộ:
• Phương pháp chỉ được thực hiện khi:
ngoại vi luôn sẵn sàng trao đổi tin.
Tốc độ trao đổi tin giữa máy tính và
ngoại vi luôn phù hợp nhau.
Trao đổi tin
• Ưu điểm: nhanh không tốn thời gian
chờ.

• Nhược điểm: thiếu tin cậy, có thể bị Đồng bộ


(không hội thoại)
mất tin hoặc sự cố làm cho ngoại vi
chưa sẵn sàng trao đổi.
 Trao đổi đồng bộ hay hỏi trạng
thái: Chương trình liên tục kiểm
tra trạng thái của các ngoại vi để
xem có yêu cầu nào cần trao đổi Chương trình
dữ liệu không. Nếu có ngoại vi
nào đó yêu cầu phục vụ thì Chưa
chương trình cấp một chương (0)
Ngoại vi đã
trình con để phục vụ rồi tiếp tục sẵn sàng
kiểm tra ngoại vi kế tiếp. Quá
Rồi
trình này được thực hiện cho (1)
đến ngoại vi cuối cùng và sẽ
được lặp lại Trao đổi tin
• Ưu điểm: đơn giản có độ tin cậy.
• Nhược điểm: Tốn thời gian sử Đồng bộ
dụng máy tính khi số lượng (có hội thoại)
ngoại vi tăng đồng thời khả năng
đáp ứng tực thời các yêu cầu
phục vụ rất thấp.
 Trao đổi theo phương pháp ngắt:
Máy tính đang thực hiện chuỗi Chương trình
lệnh của chương trình nào đó,
nếu ngoại vi có yêu cầu trao đổi
tin, sẽ gửi tín hiệu yêu cầu ngắt
(INTR) tới CPU. CPU sẽ thực

Chương trình con


hiện nốt lệnh hiện tại và đưa tín

Phục vụ ngắt
Ngắt
hiệu chấp nhận (xác nhận ngắt -
INTA). Chương trình chính bị Trở về
ngắt, máy tính chuyển sang chươn
chương trình con phục vụ ngắt g trình
chính
tức thì. Sau khi xong việc
chương trình chính lại được tiếp
Ngắt chương trình
tục thực hiện ở chỗ bị ngắt
Các loại ngắt:

NGẮT

NGẮT MỀM NGẮT CỨNG

Ngắt
Ngắt hệ Ngắt Ngắt
người
thống trong ngoài
sử dụng

Có cấm Không
DOS BIOS
cấm
 Ngắt cứng (Hard Interupt): yêu cầu ngắt do mạch phần cứng bên
ngoài gửi đến.
 Ngắt cứng NMI (None Maskable Interupt): có yêu cầu ngắt thì bắt
buộc phải ngắt.
 Ví dụ: có sự cố nguồn, lỗi bộ nhớ.
 Ngắt Reset: Thực sự không phải là ngắt, chỉ là treo chương trình tạm
thời.
 Ngắt INTR: Ngắt này hoạt động khi IF = 1, cấm hoạt động khi IF = 0.
- INTR được xóa về 0 nhờ lệnh CLI.
- INTR được xác lập lên 1 nhờ lệnh STI.
- INTR có 16 mức ưu tiên ngắt giảm dần.
Các mức ngắt của ngắt INTR:

IRQ0 Lối ra bộ đệm thời gian IRQ8 Ngắt nhịp thời gian thực

IRQ1 Bàn phím (bộ đệm ra) IRQ9 Phần mềm định hướng tới INT
0Ah (IRQ 2)
IRQ2 Ngắt từ 8259A thứ 2 IRQ10 Dành riêng (dự trữ)

IRQ3 Cổng nối tiếp 2 không đồng bộ IRQ11 Dành riêng (dữ trữ)

IRQ4 Cổng nối tiếp 1 không đồng bộ IRQ12 Dành riêng (dữ trữ)

IRQ5 Cổng song song 2 trong máy AT IRQ13 Đồng xử lý

IRQ6 Điều khiển đĩa mềm IRQ14 Điều khiển đĩa cứng

IRQ7 Cổng song song 1 (máy in) IRQ15 Dành riêng


Ngắt mềm: Ngắt bên trong do lệnh của chương trình
Ngắt của hệ điều hành và ngắt logic:

Các loại ngắt để điều khiển ngoại vi:


Các loại ngắt DOS
Xử lý ngắt của nhiều thiết bị ngoại vi:
 Cho phép ngắt và cấm ngắt: VXL 8086
Cho phép ngắt: IF = 1.
Cấm ngắt: IF = 0.
 Cho phép ngắt và cấm ngắt bằng mạch: Với các lối vào ngắt
không che được NMI hay các lối vào yêu cầu ngắt bất kì của
ngoại vi người ta dùng các trigơ cho phép ngắt và cấm ngắt. Khi
xác lập 1 (cho phép) và xóa về 0 (cấm ngắt).
 Sắp xếp ưu tiên ngắt: Khi có nhiều hơn 1 yêu cầu ngắt thì cầm
sắp xếp ưu tiên ngắt
 Các phương pháp sắp xếp ưu tiên:
+ phương pháp hỏi vòng Polling.
+ phương pháp ngắt cứng.
+ Phương pháp xử lý ưu tiên bằng mạch cứng: ưu tiên theo
vị trí đặt gần VXL và ưu tiên trùy ý dùng mạch so sánh
DI0÷DIr
1
INTR

VXL
BGN1 BGN2 BGN3
INTA
DI0÷DIn
INTA

INTA 0

Sơ đồ ưu tiên ngắt theo vị trí và vecto ngắt


Mạch điều khiển ngắt ưu tiên 8259A

 Khi hệ vi xử lý có nhiều ngoại vi được ghép nối và làm việc theo cơ


chế ngắt thì phải mở rộng các đầu ngắt để đáp ứng về số lượng ngắt.
Khi số lượng ngắt tăng lên thì vấn đề quy định mức ưu tiên phải
được đặt ra vì bộ vi xử lý tại một thời điểm chỉ có thể phục vụ cho
một đầu ngắt.

 Trong trường hợp như vậy, giải pháp đúng đắn hơn cả là sử dụng
chip IC chuyên dụng cho phép mở rộng bảng vectơ ngắt cứng lên số
lượng cần thiết. Chip 8259A được gọi là mạch điều khiển ngắt ưu
tiên (priority interupt controller-PIC). Đó là vi mạch cỡ lớn lập trình
được. Nó có thể xử lý được 8 yêu cầu ngắt với mức ưu tiên khác
nhau để tạo ra một yêu cầu ngắt đưa đến đầu vào chung là INTR
(yêu cầu ngắt che được) của bộ vi xử lý.
Cấu trúc của 8259A
Các chân tín hiệu 8259A
Hoạt động của 8259A

 Để mạch PIC 8259A có thể hoạt động được theo yêu cầu. Sau
khi bật nguồn cấp điện, PIC cần phải được lập trình bằng cách
ghi vào thanh ghi (tương đương với các cổng IO) bên trong nó
các từ điều khiển khởi đầu (ICW) và tiếp sau đó là các từ điều
khiển hoạt động (OCW).

 Các từ điều khiển ICW dùng để tạo nên các Mode làm việc cơ
bản cho PIC
 Các từ điều khiển OCW sẽ quyết định cách thức làm việc cụ
thể của PIC. Từ điều khiển OCW sẽ được ghi khi ta muốn thay
đổi hoạt động của PIC
Các từ điều khiển khởi đầu ICW
 ICW1: Xác định cách thức làm việc cơ bản đầu tiên của
8259A, và còn quy định cả sự tồn tại của các từ điều khiển
sau và được phân biệt bằng bit A0
A0 D7 D6 D5 D4 D3 D2 D1

0 X X X 1 LTIM ADI SNGL IC4

Không dùng tới với hệ 16-32bit

1: Cần ICW4
0: bỏ ICW4
Các tác động của xung yêu cầu ngắt
1: theo mức dương
0: theo mức 1 1: chỉ có 1 PIC
0: có nhiều PIC

Khoảng cách giữa các vecto ngắt:


1: cách 4 byte. 0: cách 8 byte
 ICW2: Cho phép chọn kiểu ngắt (số hiệu ngắt) ứng cho các
đầu vào yêu cầu ngắt. Tổ chức từ mã khởi đầu ICW2 có dạng
sau:

A0 D7 D6 D5 D4 D3 D2 D1 D0

1 OFF7 OFF6 0FF5 0FF4 0FF3 T2 T1 T0

Chọn số hiệu ngắt (kiểu ngắt)


cho mạch 8259A. Ứng với các yêu cầu
ngắt từ IR0 – IR7
Thứ tự điều khiển ghi các từ điều khiển khởi đầu.
CHƯƠNG 2: GHÉP NỐI QUA CỔNG
SONG SONG
2.1. Giới thiệu chung về cổng song song (LPT)

 Cổng song song: Dữ liệu được truyền qua cổng này theo cách
song song, cụ thể dữ liệu được truyền 8 bít đồng thời hay còn
gọi là byte nối tiếp bit song song.
 Cổng máy in: Lí do là hầu hết các máy in đều được nối với
máy tính qua cổng này.
 Cổng Centronic: Đây là tên của một công ty đã thiết kế ra
cổng này. Centronic là tên một công ty chuyên sản xuất máy in
kiểu ma trận đứng hang đầu thế giới. Chính công ty này đã
nghĩ ra kiểu thiết kế cổng ghép nối máy in với máy tính.
 Cổng máy in là giao diện thường được sử dụng nhiều nhất
trong các ứng dụng ghép nối máy tính đơn giản, do tính
phổ cập và đơn giản trong việc ghép nối và điều khiển
cộng với yêu cầu tối thiểu về thiết bị phần cứng thêm vào.
Cổng này cho phép đưa vào tới 13 bit và đưa ra 12 bit
song song, trong đó có 4 đường điều khiển, 5 đường báo
trạng thái và 8 đường dữ liệu. Trong hầu như bất kỳ PC
nào ta cũng có thể tìm thấy cổng máy in ở phía sau. Đầu
nối này có dạng DB 25 chân (giắc cái – female).
2.1.1. Mức điện áp cổng:
 Các cổng song song đều sử dụng mức điện áp tương thích TTL từ 0
đến 5V.
 Khi ghép nối máy tính với ngoại vi thì phải yêu cầu mức điện áp
tương tích là TTL. Trường hợp ngoại vi không đáp ứng được yêu
cầu thì phải áp dụng biện pháp ghép mức hoặc ghép cách li qua bộ
ghép nối quang.

2.1.2. Khoảng cách ghép nối:


 Khoảng cách ghép nối là khoảng cách cực đại giữa thiết bị ngoại vi
và máy tính ghép qua cổng song song
 Khoảng cách giới hạn cực đại là 8m, thông thường chỉ 1.5 đến 2m
vì lí do an toàn dữ liệu.

2.1.3. Tốc độ truyền dữ liệu


 Tốc độ truyền dữ liệu qua cổng song song phụ thuộc vào phần cứng
được sử dụng. Trên lý thuyết tốc độ có thể đạt đến 1Mb/s nhưng với
khoảng cách truyền trong phạm vi 1m
2.2. Các lệnh vào ra dữ liệu
2.2.1. Các thanh ghi ở cổng song song
Tên tín hiệu Số chân trên
STROBE đầu nối PC 1
D0 2
D1 3
D2 4
D3 5
D4 6
D5 7
D6 8
D7 9
Máy tính ACK 10
Máy in
Busy 11
Paper Empty 12
Select 13
Auto line Feed 14
Error 15
Reset 16
Select Input 17
Ground 18-25
Thanh ghi dữ liệu
Thanh ghi trạng thái:
D7 D6 D5 D4 D3 D2 D1 D0

Error (CHÂN 5)

Select (CHÂN 13)


Paper Emty
(CHÂN 12)
Acknowledge
(CHÂN 10)
Busy
(CHÂN 11)

BSY /ACK PAP OFON /FEH x x x


11 10 12 13 15 Không sử dụng
Thanh ghi điều khiển:
D7 D6 D5 D4 D3 D2 D1 D0

STROBE (CHÂN 1)

Auto feed (CHÂN 14)

Reset (CHÂN 16)


Select input
(CHÂN 17)
Interrup Enable

x x x IRQ /DSL /INI /ALF /STR


Không sử dụng (‘=1’) 17 16 14 1
2.2.2 Các lệnh vào ra dữ liệu:
a. Lệnh vào ra bằng hợp ngữ:
- Nhận dữ liệu từ thiết bị vào/ra: INPUT.
- Gửi số liệu ra thiết bị vào/ra: OUTPUT.
Ví dụ: Lệnh đọc các byte đường dữ liệu từ cổng LPT1:
MOV DX,378H
IN AL,DX
CẤU TRÚC LỆNH SỐ BIT DỮ CHỨC NĂNG
LIỆU
IN AL,D8 8 Đọc 1 byte từ cổng vào/ra 8 bit
IN AL,DX 8 Đọc 1 byte từ cổng vào/ra xác định bởi thanh ghi DX
IN AX,D8 16 Đọc một word từ cổng vào/ra 8 bit
IN AX,DX 16 Đọc 1 word từ cổng vào/ra xác định bởi thanh ghi DX
OUT D8,AL 8 Gửi 1 byte ra cổng vào/ra 8 bit
OUT DX,AL 8 Gửi 1 byte ra cổng vào/ra xác định bởi thanh ghi DX
OUT D8,AX 16 Gửi 1 word ra cổng vào/ra xác định bởi thanh ghi DX
OUT DX,AX 16 Gửi 1 word ra cổng vào/ra xác định bởi thanh ghi DX
2.2.2 Các lệnh vào ra dữ liệu:
b. Lệnh vào ra bằng Turbo C:
- Xuất ra dữ liệu: outportb (cổng, giá trị).
- Nhập vào dữ liệu: x =inportb (cổng) .
Ví dụ: các lệnh sau xuất 5 (8 bít 00000101) qua thanh ghi dữ liệu của
LPT1
#include <dos.h>
#define Dat_reg 0x378
char data_var=5;
outport(Dat_reg,data_var);
2.3. Khối ghép nối song song đơn giản:
2.3.1. Cửa vào ra đơn giản không đối thoại:
a. cửa vào đơn giản:

Đoạn lệnh:
data1 = inport(addport)
2.3.1. Cửa vào ra đơn giản không đối thoại:
b. cửa ra đơn giản:
Đoạn lệnh:
outportb(addrport,data2)
2.3.2. Cửa vào ra đơn giản có đối thoại:
a. cửa vào đơn giản có đối thoại:

Đoạn lệnh:
#define BIT0 0x01;
#define addrport1 0x00F8;
#define addrport3 0x00F9;
do
data3 = inportb(addrport1);
while (data3&BIT0!=BIT0);
data4 = inportb(addrport2);
2.3.2. Cửa vào ra đơn giản có đối thoại:
a. Cửa ra đơn giản có đối thoại:

Đoạn lệnh:
#define BIT0 0x01;
do
data5 = inportb(adrport);
while (data5&BIT0 != BIT0);
outportb(adrport,data6);
2.4. Ghép nối song song điều khiển bằng chương trình:
2.4.1. Sơ đồ chức năng và chân tín hiệu của 8255
PA0-PA7

Nhóm A
Cổng A

Điều khiển
Nhóm A PC4-PC7
Nhóm A
Cổng C
Nửa cao

D0-D7 Đệm
số liệu

PC0-PC3
Nhóm B
Cổng C
Nửa thấp

Điều khiển
Nhóm B
Logic điều PB0-PB7
khiển
Nhóm B
đọc/ghi
Cổng B
 PA, PB, PC: Là 3 cổng vào/ra, đây thực chất là những thanh
ghi 8 bit để đọc/ghi dữ liệu. Trong đó PA, PB là loại 8 bit 2
chiều. Cổng PC được chia thành 2 nửa tín hiệu bắt tay cho
cổng PA, PB tùy theo mode làm việc.
 Thanh ghi điều khiển (CWR): ghi từ điều khiển quá trình làm
việc của 8255A.
 Khối đệm bus: ghép nối với bus hệ thống.
 Khối logic điều khiển: Nhận các tín hiệu từ hệ vi xử lý, tạo tín
hiệu để điều khiển hoạt động các khối. Việc lựa chọn các
thanh ghi cổng và thanh ghi từ điều khiển CWR được thực
hiện bằng các bit địa chỉ A1 và A0.
Sơ đồ chân tín hiệu của 8255

 Các chân PA0-PA7, PB0-PB7, PC0-PC7:


Tương ứng với thanh ghi cổng PA, PB,
PC được nối với các đường dữ liệu hay
với các tín hiệu điều khiển ngoại vi.
 Chân D0-D7: là các chân tín hiệu vào/ra
3 trạng thái, được nối với 8 bit dữ liệu hệ
thống.
 Chân A1,A0: là các chân tín hiệu vào để
chọn các cổng vào/ra của 8255.
 Chân CS: chọn chip, CS = 0 cho phép
8255A làm việc.
 Các chân RD, và WR: chân tín hiệu vào
mức tích cực âm, được nối trực tiếp với
các chân điều khiển quá trình đọc hay ghi
của CPU với các thanh ghi trong 8255A.
 Chân Reset: phải được nối với tín hiệu
Reset chung của toàn hệ.
Bảng chức năng của 8255A
A1 A0 Chức năng
0 0 Cổng A
0 1 Cổng B
1 0 Cổng C
1 1 CWR

Bảng điều khiển đọc/viết của 8255A


A1 A0 /RD /WR Chức năng
0 0 0 1 Đọc cổng A vào bus dữ liệu
0 1 0 1 Đọc cổng B vào bus dữ liệu
1 0 0 1 Đọc cổng C vào bus dữ liệu
1 1 0 1 Đọc từ điều khiển vào bus dữ
liệu
0 0 1 0 Viết từ bus số liệu vào cổng A
0 1 1 0 Viết từ bus số liệu vào cổng B
1 0 1 0 Viết từ bus số liệu vào cổng C
1 1 1 0 Viết từ bus số liệu vào từ điều
khiển
 8255 là vi mạch giao tiếp song song rất thông dụng trong các hệ
thống ghép nối máy tính. Vi mạch này có 24 đầu của 3 cổng
vào/ra 8 bít 2 hướng. Cổng A, B, C là các cổng vào ra 8 bít.
Cổng C được chia làm 2 nhóm.
PPI 8255A

 Các chế độ làm việc :


• Tuỳ thuộc vào nội dung của thanh ghi điều khiển mà 8255 sẽ
làm việc ở các chế độ khác nhau:
• Nếu bit D7 = 1 thì nội dung của các bit còn lại
được dùng để định nghĩa cấu hình các cổng.
• Nếu bit D7 = 0 thì nội dung của các bit còn lại
được dùng để đặt/xóa các bit của cổng C.
Chế độ định nghĩa cấu hình
Ví dụ 1: Tìm từ điều khiển sao cho các nhóm làm việc ở chế độ 0.
Cổng A : vào ; Cổng B : ra ; Cổng C cao : vào;Cổng C thấp : ra

Ví dụ 2: Tìm từ điều khiển sao cho các nhóm làm việc ở chế độ 0.
Cổng A :vào ; Cổng B:vào ; Cổng C cao: vào;Cổng C thấp : vào
 8255A có 4 chế độ làm việc:
• Chế độ 0: Vào/ra cơ sở(vào/ra đơn giản):
Các cổng A,B,CH, CL đều có thể được sử dụng làm các cổng
vào hoặc ra.
Có 16 khả năng cấu hình các cổng làm vào hoặc ra.
• Chế độ 1: Vào/ra có xung cho phép (Strobed Input/Output) :
A,B đều có thể được sử dụng làm các cổng vào hoặc ra
CH, CL được dùng làm các tín hiệu bắt tay (handshaking)
khi A, B trao đổi dữ liệu
• Chế độ 2: Vào ra 2 chiều:
• Chỉ có cổng A có thể được sử dụng làm cổng vào hoặc ra.
• Các tín hiệu bắt tay do các bit của cổng C đảm nhiệm.
• PB chỉ làm việc như trong chế độ 0 hoặc 1.
• Chế độ Lập/ xóa các bit PCi.
Chế độ 1: Vào/ra với xung cho phép

 Vào dữ liệu trong chế độ 1(/RD= 0):


• /STBA,/STBB(Strobe): là tín hiệu
đi vào 2 bit của cổng C: PC4(),
PC2().
Tích cực ở mức 0 .Khi dữ
liệu sẵn sàng để được đọc vào
bởi PA,PB, thiết bị ngoại vi
truyền cho 8255 biết.
Chế độ 1: Vào/ra với xung cho phép

 IBFA, IBFB (Input Buffer Full):


• Đệm vào cổng A hoặc B đầy.
Sau khi 8255 nhận được dữ liệu
từ một thiết bị ngoại vi nào đó
vào các cổng A, B, nó báo lại
thiết bị ngoại vi bằng tín hiệu
này cho biết đã nhận hết dữ liệu.

64
Chế độ 1: Vào/ra với xung cho phép

 Ra dữ liệu trong chế độ 1 (/WR = 0):


• /ACKA,/ACKB: (Acknowlege):
tbnv báo đã nhận được dữ liệu. Hai
tín hiệu này được truyền tới cổng A,
B tại bit 6 và bit 2 của cổng C.
Chế độ 1: Vào/ra với xung cho phép

 /OBFA,/OBFB (Output Buffer


Full): đệm vào cổng A hoặc B đầy.
 Sau khi 8255 nhận được dữ liệu
từ bộ vi xử lý và sẵn sàng cho
ra các cổng A, B, nó báo với
thiết bị ngoại vi bằng tín hiệu
này cho biết đã sẵn sàng truyền
dữ liệu.

66
Chế độ 1: Vào/ra với xung cho phép

 Trong chế độ 1: PA, PB có thể được cấu hình để thành các cổng
vào/ra riêng biệt.

67
Chế độ 1: Vào/ra với xung cho phép

 A –ra, B-vào
Chế độ 2: Chế độ bus hai chiều

 Trong chế độ này chỉ riêng cổng A được định nghĩa để làm
việc như một cổng 2 chiều có các tín hiệu móc nối do một
số bit của cổng C đảm nhiệm
 Cổng B thì có thể làm việc ở chế độ 1 hoặc 0 tùy theo các bit
điều khiển trong CWR. Các chân tín hiệu còn lại của cổng C
có thể được định nghĩa để làm việc như các chân vào hoặc ra,
hoặc phục vụ cho cổng B.
Chế độ 2: Chế độ bus hai chiều
Chế độ 2: Chế độ bus hai chiều

71
Chế độ đặt/xóa các bit cổng C

 Tìm từ điều khiển để lập bit PC5 = 1: CW=0 000


101 1= 0Bh
Chế độ đặt/xóa các bit cổng C

 Tìm từ điều khiển để lập bit PC2 = 1


CW=0 000 010 1= 05h
Chế độ đặt/xóa các bit cổng C

 Tìm từ điều khiển để lập bit PC7 = 0


? CW=0 000 111 0= 0Eh
Chế độ đặt/xóa các bit cổng C

 Tìm từ điều khiển để lập bit PC3 = 0


? CW=0 000 011 0= 06h
Chế độ đặt/xóa các bit cổng C

 Tìm từ điều khiển để lập bit PC4 = 1


? CW=0 000 100 1= 09h
Chế độ đặt/xóa các bit cổng C

 Tìm từ điều khiển để lập bit PC1 = 1


? CW=0 000 001 1= 0Eh
Nối ghép và lập trình cho 8255A
 Chỉ xét với trường hợp nối ghép 8255A với 8088 theo kiểu vào-ra
cách biệt với số bit địa chỉ là 8 bit
Ví dụ 1:
a) Nối ghép 8255A với hệ 8088 như sau :
Cổng A có địa chỉ là 50h
Cổng B có địa chỉ là 51h
Cổng C có địa chỉ là 52h
Thanh ghi điều khiển có
địa chỉ là 53h
b) Lập trình để định nghĩa chế độ 0 cho 8255A với cấu hình các cổng
như sau:
Cổng A: Vào
Cổng B: Ra
Cổng C: Ra
c) Lập trình
nhận 100 dữ
Nối ghép và lập trình cho 8255A
Lời giải: a)Giải mã địa chỉ:
Cổng A 50h; Cổng B 51h; Cổng C 52h Thanh
ghi điều khiển có địa chỉ là 53h
Nối ghép và lập trình cho 8255A
Nối ghép và lập trình cho 8255A

b) Lập trình để định nghĩa chế độ 0 cho


8255A với cấu hình các cổng như
sau:
Cổng A: Vào Cổng B:
Ra Cổng C: Ra
Tìm từ điều khiển: 1 00 1 0
0 0 0= 90h
Lập trình:
MOV AL, 90h
OUT 53h, AL

81
Nối ghép và lập trình cho 8255A

C) Lập trình nhận 100 dữ liệu từ cổng A và lần lượt đưa ra


cổng B và C.

MOV CX, 100 ; nhận 100 liệu


LAP : dữ
IN AL, 50H ; từ cổng A
OUT 51H, đưa ra cổng B
AL ;
OUT 52H, AL ; và cổng C
LOOP LAP
82
Nối ghép và lập trình cho 8255A
Ví dụ 2:
Cho mạch nối ghép giữa hệ VXL 8088 với PPI 8255 như hình vẽ.
a) Tìm địa chỉ của các cổng.
b) Tìm từ điều khiển sao cho cổng:
A : cổng ra
B : cổng vào
Cthấp : cổng vào
Ccao : cổng ra
c) Lập trình cho 8255 để nhận dữ liệu từ cổng B và gửi ra cổng A
sau đó nhận dữ liệu từ cổng Cthấp và gửi ra cổng C cao.
Nối ghép và lập trình cho 8255A
Nối ghép và lập trình cho 8255A

85
Nối ghép và lập trình cho 8255A
b)A : cổng ra B :
cổng vào
Cthấp : cổng vào Ccao :
cổng ra
=>từ điều khiển 10000011
= 83h

86
Nối ghép và lập trình cho 8255A
c)Lập trình cho 8255 để nhận dữ liệu từ cổng B và gửi ra cổng A sau
đó nhận dữ liệu từ cổng Cthấp và gửi ra cổng Ccao.
Lập trình:
MOV AL, 83H ; lấy từ điều khiển
OUT 7FH, ; nạp cho thanh ghi điều khiển
IN AL, 7DH ; nhận dữ liệu từ cổng B
AL
OUT 7CH, AL ; đưa ra cổng A
IN AL, 7EH ; nhận dữ liệu từ cổng C thấp
MOV CL, 4 ; quay
ROL AL, CL ; trái AL 4 bit
OUT 7EH, AL ; đưa ra cổng C cao
Nối ghép và lập trình cho 8255A

Bài tập 3:
Cho mạch nối ghép giữa hệ VXL 8088 với PPI 8255A như sau:
a) Thiết lập PC2 = 1
b)Tạo xung có dạng sau đây ở PC6 ; Giả sử có ctc
tạo trễ 20ms DELAY20
T = 60ms

2T/3
Nối ghép và lập trình cho 8255A
Nối ghép và lập trình cho 8255A

Giải:
a) Thiết lập PC2 = 1:
Địa chỉ của thanh ghi điều khiển:

khiển để PC2 = 1

Từ điều khiển để PC6 = 1

Từ điều khiển để PC6 =

0
Nối ghép và lập trình cho 8255A

b) Lập trình:để tạo xung

LAP:
MOV AL, 0DH ; nạp từ điều khiển
OUT 93H, AL ; để PC6 = 1
CALL DELAY20 ; trễ 20ms
CALL DELAY20 ; trễ 20ms
MOV AL, 0CH ; nạp từ điều khiển
OUT 93H, AL ; để PC6 = 0
CALL DELAY20 ; trễ 20ms
JMP LAP ; lặp lại
Ví dụ: GN 8255A với máy in, máy đọc băng ở chế độ 0.
 Nửa thấp cửa C là cửa vào, dùng để đọc các trạng thái:
- PC1 cho trạng thái bận của máy in.
- PC0 cho trạng thái sẵn sàng của máy đọc băng.
 Nửa cao cửa C là cửa ra, dùng để đưa ra tín hiệu điều khiển:
- PC5 đưa tín hiệu chốt số liệu cho máy in (qua bộ đảo).
- PC4 để dịch chuyển băng giấy đi 1 vị trí về bên phải (qua
bộ khuếch đại đảo).
viết chương trình điều khiển đưa số liệu ra máy in như trên
hình vẽ, và địa chỉ cao dành cho máy in xác định là 3FE18h.
Lưu đồ thuật toán:
Xác định các thanh ghi chế độ và chiều của cửa:
3FE18H  A19 A18 …….A1 A0.
Ta có địa chỉ các cổng và thanh ghi điều khiển như sau:
Cổng PA: 3FE18H
Cổng PB: 3FE19H
Cổng PC: 3FE1AH
Thanh ghi điều khiển CWR: 3FE1BH.
Từ điều khiển: 81H.
Từ trạng thái cho các cổng PC:
PC5: 00100000 = 20H.
PC1: 00000010 = 02H.
CHƯƠNG 3: GHÉP NỐI QUA CỔNG NỐI TIẾP

NỘI DUNG

GIỚI THIỆU CHUNG VỀ TRAO ĐỔI DỮ LIỆU NỐI TIẾP

BỘ TRUYỀN NHẬN KHÔNG ĐỒNG BỘ VẠN NĂNG 8250

CHUẨN GHÉP NỐI RS 232

CHUẨN GIAO TIẾP USB

ĐO ĐẠC THỜI GIAN CHÍNH XÁC BẰNG PIT 8253/54


3.1.GIỚI THIỆU CHUNG VỀ TRAO ĐỔI DỮ LIỆU NỐI TIẾP

 Trao đổi thông tin theo phương thức truyền nối tiếp là truyền
liên tiếp từng bit một trên một đường truyền. Cách truyền nhận
thông tin theo cách này được thực hiện thông qua cổng giao
tiếp nối tiếp hay còn được gọi là cổng Com trên máy tính.
3.1.1. Các phương pháp trao đổi dữ liệu nối tiếp

 Phương pháp truyền dữ liệu nối tiếp đồng bộ (Synchronous


transmission) đồi hỏi giữa phía truyền và phía nhận phải được
đồng bộ bởi tín hiệu xung clock.

 Phương pháp truyền dữ nối tiếp không đồng bộ (asynchronous


transmission) không sử dụng xung clock để đồng bộ mà sử dụng
bít chẵn lẻ (parity bit) để bảo toàn tính toàn vẹn của dữ liệu,
những quy ước thuộc về phần cứng giữa hai phía truyền nhận
Truyền dữdữ
a. Truyền liệu nốinối
liệu tiếp đồng
tiếp bộ:bộ:
đồng

 Dữ liệu được truyền một lần gồm 1 khối nhiều byte, được chặn
đầu và cuối bởi kí tự SYNC

SYNC SYNC

Dữ liệu

 Các phương pháp đồng bộ xung clock:

Phát Thu Phát Thu

Đồng Đồng
bộ bộ
Đồng bộ cả thu và phát Đồng bộ phía thu
b. Truyền dữ liệu nối tiếp không đồng bộ:

 Các byte được đặt trong một khung truyền độc lập với nhau.
 Dạng thông tin truyền được sắp xếp theo thứ tự sau:

 Với khoảng cách gần dưới 300m, quá trình thu phát thường
được nối trực tiếp giữa bên thu và bên phát.
 Với những khoảng cách lớn dùng Modem để tạo xung đồng
bộ cho cả máy phát và máy thu
3.1.2. Sơ đồ mạch trao đổi dữ liệu nối tiếp

MODEM

MODEM
TBĐC
RS-232

RS-232
BGN BGN
VXL Ss-nt Ss-nt
(VXL)
ss
3.1.3. Thủ tục trao đổi dữ liệu nối tiếp

 Thủ tục phát dữ liệu TxD (Tranceiver Data)


 Thiết bị đầu cuối gửi tín hiệu DTR ở mức 0 để Modem báo
tín hiệu sẵn sàng. Modem trả lời thiết bị đầu cuối bằng tín
hiệu DSR ở mức 0.
 Khi có một tín hiệu sẵn sàng: TBĐC gửi tín hiệu RTS đến
Modem. Modem gửi tín hiệu CD cho TBĐC báo liên lạc đã
thông.
 Modem phát xung và tín hiệu CTS khi sẵn sàng phát số liệu.
 TBĐC nâng tín hiệu RTS lên mức cao để báo cho Modem
biết là đã phát xong. CTS ở mức cao để báo hoàn thành việc
truyền tin
 Thủ tục nhận dữ liệu RxD:
 Thiết bị đầu cuối thu gửi DTR mức thấp cho Modem báo nó
đã sẵn sàng nhận. Modem thu gửi tín hiệu trả lời bằng DSR.
 Modem thi nhận tín hiệu CD từ đường dây và kích gửi tín
hiệu nhịp Modem cho thiết bị đầu cuối. Thiết bị đầu cuối
phát tín hiệu RTS.
 Modem gửi tín hiệu CTS mức thấp cho thiết bị đầu cuối để
báo Modem sẵn sàng nhận tin. Modem nhận TxD trên đường
dây, rồi điều chế bit 0/1 và lần lượt gửi chuỗi tín hiệu RxD
cho thiết bị đầu cuối.
 Khi thu xong, thiết bị đầu cuối nâng tín hiệu RTS lên cao báo
cho Modem đã thu xong. Modem trả lời bằng việc nâng tín
hiệu CTS lên cao để báo đã nhận xong.
3.2. CHUẨN GHÉP NỐI RS 232

 Cổng RS232 hay V24.232 là một tiêu


chuẩn quy định các đặc tính cho cổng
nối tiếp, còn V.24 là tên của cổng này
được áp dụng ở các nước Tây Âu.

 Ghép nối qua cổng RS232 mục đích để


ghép nối thiết bị ngoại vi với máy tính.

 RS232 dùng định dạng không đồng bộ,


nối nhiều nhất 2 thiết bị, chiều dài kết
nối lớn nhất cho phép để đảm bảo dữ
liệu là 12.5 đến 25.4m, tốc độ 20kbit/s
đôi khi là tốc độ 115kbit/s với một số
thiết bị đặc biệt.
3.2.1. Ưu nhược điểm của RS232:

 Ưu điểm:
 Khả năng chống nhiễu của các cổng nối tiếp cao.
 Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy
tính đang được cấp điện.
 Các mạch đơn giản có thể nhận được điện áp nguồn
nuôi qua cổng nối tiếp.
 Nhược điểm:
 Tốc độ truyền dữ liệu bị hạn chế.
 Chiều dài đường truyền hạn chế.
3.2.2. Đặc điểm của chuẩn RS232:
- Mức giới hạn trên và dưới là 12V.
- Tốc độ truyện nhận dữ liệu cực đại là 100kb/s.
- Các lối vào phải công điện dung nhỏ hơn 2500ps.
- Trở kháng tải phải lớn hơn 3000 nhưng nhỏ hơn
7000.
- Độ dài của cáp nối giữa máy tính và thiết bị ngoại
vi ghép nối qua cổng nối tiếp RS232 không vượ quá
15m nếu chúng ta không sử dụng model.
- Các giá trị tốc độ truyền dữ liệu chuẩn:50, 75, 110,
750, 300, 600, 1200, 2400, 4800, 9600, 19200,
28800, 38400, …56600, 115200bps.
CÁC THIẾT BỊ GHÉP NỐI

DTE
Là các thiết bị tiếp DCE
nhận dữ liệu như máy Là thiết bị trung gian như
tính PLC, VĐK, Modem

Việc trao đổi tín hiệu thông thường qua 2 chân RxD (nhận) và TxD
(truyền). Các tín hiệu còn lại có chức năng hỗ trợ để thiết lập và
điều khiển quá trình truyền, được gọi là các tín hiệu bắt tay
(handshake). Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là
có thể kiểm soát đường truyền.
3.2.3. Các phương thức nối giữa DTE và DCE:
- Đơn công (simplex connection): dữ liệu chỉ được truyền theo 1
hướng.
- Bán song công ( half-duplex): dữ liệu truyền theo 2 hướng, nhưng
mỗi thời điểm chỉ được truyền theo 1 hướng.
- Song công (full-duplex): số liệu được truyền đồng thời theo 2
hướng.
- Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:

Start D0 D1 D2 D3 D4 D5 D6 D7 P Stop
Tín hiệu truyền của kí tự ‘A’
3.2.4. Cấu hình RS232

Hai dạng cấu


trúc chân của
RS232
Bảng mô tả ý nghĩa các chân
Chức năng các chân:
3.2.5. THỦ TỤC TRAO ĐỔI DỮ LIỆU CỦA RS232.
 Quá trình truyền dữ liệu:
 Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không
đồng bộ (Asychronous).
 Khung truyền gồm 4 thành phần
- 1 Start bit (Mức logic 0): bắt đầu một gói tin, đồng bộ xung nhịp
clock giữa DTE và DCE
- Data (5,6,7,8 bit): dữ liệu cần truyền
- 1 parity bit (chẵn (even), lẻ (odd), mark, space): bit cho phép
kiểm tra lỗi
- Stop bit (1, 1.5 hoặc 2 bit): kết thúc một gói tin
 Tốc độ truyền
• Tính bằng đơn vị bit/giây: bps (bit per second)
• Thuật ngữ khác: baud
- Đơn vị đo dùng cho modem
- Số lần thay đổi tín hiệu trong một giây
- Đối với modem, mỗi lần thay đổi tín hiệu, có thể truyền
được nhiều bit : tốc độ baud <= tốc độ bit
• Tốc độ tối đa = Tần số xung nhịp clock / hằng số
• VD: trong máy PC, tần số 1.8432MHz, hằng số =16 -> tốc
độ tối đa: 115,200 bps
• Bên trong UART hỗ trợ các thanh ghi cho phép xác định
các tốc độ làm việc khác, vd: 1200, 2400, 4800, 9600,
19200, 38400… bp
 Khuôn dạng khung truyền:

Bit Bit
start stop
12V LOW
D0 D1 D2 D3 D4 D5 D6 D7
-12V HIGH

Khung truyền cho dữ liệu 61h theo khung: (8, N, 1)


- 8 bit dữ liệu
- 1 bit stop
- Không có bit parity
Xác định thời điểm truyền và nhận dữ liệu
Thiết bị ngoại vi và Kỹ thuật ghép nối

Chuẩn RS232
Quá trình truyền và nhận dữ liệu dưới tác động của các
xung nhịp đồng hồ tại bên truyền và bên nhận
 Kịch bản truyền
- Quá trình truyền và nhận các ký tự

Bộ đệm truyền Các kí tự được Bộ đệm nhân Bộ nhân


truyền đọc từ
bộ đệm

Bộ truyền Bộ nhân
 Kịch bản truyền
• Không có bắt tay (none-handshaking): máy thu có khả năng đọc các
ký tự thu trước khi máy phát truyền ký tự tiếp theo.

Kết nối không cần bắt tay giữa hai thiết bị


(cùng mức điện áp)
Ghép nối không bắt tay giữa hai thiết bị
(Khác nhau về mức điện áp)
3.2.6 Một số chuẩn ghép nối

Chuẩn RS422: Là tiêu


chuẩn đầu tiên được cải Cải tiến: Vẫn truyền theo kiểu nối tiếp
tiến từ tiêu chuẩn nhưng cách truyền thay đổi.
RS232C trong đó đặc + Mức logic của tín hiệu không được
điểm về khoảng cách và tính theo đường Mas (0v) mà được tính
tốc độ đều được cải tiến theo điện áp vi sai.
cụ thể. Cho phép tăng + Bộ đệm đường dẫn tạo ra một điện áp
tốc độ cỡ vài Mbit/s, vi sau gần bằng 5v và truyền trên 2 sợi
khoảng cách truyền dây xoắn.
được cải thiện từ 15m + RS422 quy định một cặp tín hiệu
đến 1200m. được sử dụng để truyền chứ không phải
một tín hiệu như trong RS232: Cặp này
bao gồm tín hiệu không đảo A và tín
hiệu đao B
Chuẩn RS423A: Đặc
điểm của chuẩn này là
người ta sử dụng điện RS485: Cải tiến từ chuẩn RS422 theo
áp không cân bằng hướng nhiều thành viên được tham gia
(không đối xứng). Sử vào cuộc truyền dữ liệu. Bộ đệm đường
dụng một đường dẫn dẫn của chuẩn này tạo ra một điện áp vi
nhưng được cải tiến để sai 5V trên 2 đượng dẫn/truyền dữ liệu
có tốc độ cao hơn và và mức điện áp được tính theo phương
đường truyền dài hơn. pháp vi sai.
Cụ thể mức điện áp Ứng dụng RS485: theo dõi số lượng
giảm xuống chỉ còn từ 0 xuất nhập ở các kho xăng dầu.
đến 6V
So sánh các chuẩn ghép nối:
V24/RS232C RS422 RS485
Bản chất liên kết Điểm – điểm Điểm – điểm Bus
Loại giao diện Điện áp không Điện áp đối Vi phân điện áp không đối
đối xứng xứng xứng với khả năng 3 trạng thái
Khả năng chống nhiễu Thấp Cao Cao
Số bộ đệm cực đại 1 1 32
Số bộ nhận cực đại 1 1 32
Độ dài cực đại của đường 15m 1200m 1200m
truyền
Tốc độ truyền cực đại 100kBaud 10MBaud 10Mbaud
Điện áp lối ra của bộ đệm 15V, 15V 5V 5V
không có tải và có tải
2V 1.5V

Điện trợ lối ra của bộ 3k7k 100 5464k


đệm
Điện trở lối vào của bộ 3k7k > 4k 12k
đệm
Độ nhậy của bộ phận 3V 200mV 200mV
3.3.7. Lập trình cho cổng RS232
Dữ liệu được gửi đi dọc theo đường truyền TxD và nhận bằng
đường truyền RxD với đường trở về đất chung. Các đường dẫn khác
được sử dụng để bắt tay và chia thành 2 loại vào và ra
Các đường bắt tay lối vào:
+ RI (Ring Indicate): báo chuông.
+ DSR (Data Set Ready): Dữ liệu sẵn
sàng.
+ CTS (Clear to send): Xóa để truyền.

Các đường dẫn bắt tay lối ra:


+ RTS (Request to send): báo chuông.
+ DTR (Data Terminal Ready): Đầu cuối dữ
liệu sẵn sàng.
+ CTS (Clear to send): Xóa để truyền.
3.3. Bộ truyền nhận không đồng bộ vạn năng 8250:

Chức năng chính:


+ Chuyển đổi tín hiệu song song từ CPU thành tín hiệu nối
tiếp để truyền ra khỏi máy tính, chuyển tín hiệu nối tiếp từ
ngoại vi thành song song để chuyển tới CPU.
+ Bổ sung các bit: Start, chẵn/lẻ và stop vào mỗi ký tự để
hình thành khung truyền, đồng thời tách các bit đó ra từ
khung truyền nhận được.
+ Duy trì trạng thái các bit riêng biệt được phát ra với tốc độ
truyền dữ liệu thích hợp, tính toán các bit chẵn/lẻ trên từng kí
tự nhận.
+ Thiết lập các tín hiệu bắt tay phần cứng thích hợp và thông
báo trạng thái của các mạch đó.
3.3.1. Sơ đồ chân tín hiệu 8250:
- D0-D7: được sử dụng để truyền dữ liệu với hệ vi xử lý.

- RCLK (Receiver clock) [I]: tín hiệu vào dao động có tần số gấp 16 lần chu kỳ baud thu.

- SIN (Serial in) [I]: đầu vào dữ liệu nối tiếp.

- SOUT (Serial out)[O]: đầu ra dữ liệu nối tiếp.

- CS0 , CS1, CS2: là các chân tín hiệu chọn chip.

- BAUDOUT:[O] chân ra xung nhịp 16 lần chu kì baud phát. Nếu chân này nối với chân RCLK thì thu phát cùng nhịp.

- XTAL1, XTAL2 [I]: các lối vào của phần tử dao động thạch anh.
-
- A2 –A0 [I]: các tín hiệu địa chỉ để địa chỉ hoá các thanh ghi bên trong.
OUT2, OUT1:dành cho người sử dụng trong các ứng dụng không phải chuẩn RS232.
-
Trong PC OUT2 được sử dụng để cho phép ngắt của mạch 3 trạng thái.
(Data carrier detect) [I]: tín hiệu vào mức tích cực thấp để phát hiện sóng
DCD -
mang.

RST
(Request to send): yêu cầu
phát(Data terminal ready): thiết bị đầu cuối sẵn
DTR -
sàng-
(clear to send): sẵn sàng
CTS
nhận (Data set ready): thiết bị truyền thông sẵn
DSR
- sàng
RI
(Ring indicator): Chỉ thị
-
chuông.
3.3.2. Sơ đồ khối của 8250:
Các cổng com trong PC:
- PC có 4 cổng com nối tiếp là COM1 – COM4.
- Phân biệt qua các vị trí địa chỉ trong vùng vào ra của PC
và các số ngắt tương ứng.

Bảng địa chỉ cơ sở

Name Port address IRQ


COM1 3F8H IRQ4
COM2 2F8H IRQ3
COM3 3E8H IRQ4
COM4 2E8H IRQ3
3.3.3. Các thanh ghi trong UART8250

Thanh ghi điều khiển: Dùng


để nhận và thực hiện các
lệnh từ CPU

PHÂN LOẠI Thanh ghi trạng thái: Dùng


CÁC THANH GHI để thông báo cho CPU biết
UART 8250 UART đang làm gì

Thanh ghi đệm: Dùng để


giữ kí tự trong lúc truyền
hoặc xử lý
Bảng mô tả các thanh ghi của UART

DLAB A2 A1 A0 ĐỌC/GHI THANH GHI ĐỊA CHỈ


0 0 0 0 Đọc/ghi Đệm thu (RBR) và đệm phát 3F8, 2F8 Đ/c cơ
(THR) sở
0 0 0 1 Đọc/ghi Cho phép yêu cầu ngắt IER 3F9, (2F9) ĐCCS+1
1 0 0 0 Đọc/ghi Chốt chia phần thấp LSB 3F8, (2F8) ĐCCS
1 0 0 1 Đọc Chốt chia phần cao (MSB) 3F9, (2F9) ĐCCS+1
X 0 1 0 Đọc/ghi Nhận dạng ngắt (IIR) 3FA (2FA) ĐCCS+2
X 0 1 1 Đọc/ghi Điều khiển dòng(LCR) 3FB, (2FB) ĐCCS+3
X 1 0 0 Đọc/ghi Điều khiển Modem (MC) 3FC, (2FC) ĐCCS+4
X 1 0 1 Đọc/ghi Trạng thái dong (LSR) 3FD, (2FD) ĐCCS+5
X 1 1 0 Đọc/ghi Trạng thái modem MSR 3FE, (2FE) ĐCCS+6
X 1 1 1 Đọc/ghi Nhớ nháp (DM) 3FF, (2FF) ĐCCS+7
Mỗi thanh ghi trong 8250 tương ứng với một địa chỉ cổng,
trong đó có 2 thanh ghi đặc biệt, nó có chức năng có thể thay
thế tùy thuộc vào giá trị bit DLAB – bít truy nhập chốt –
DLAB là bit D7 của thanh ghi dạng số liệu.
+ DLAB = 1: thì thanh ghi thực hiện chốt chia phần cao.
+ DLAB = 0: Thì 2 thanh ghi dùng để đệm và nhận dữ liệu,
IER.
Thanh ghi đệm thu (RBR – Receiver Buffer Register)

Đặc điểm:
 DLAB = 0, địa chỉ 3F8 (COM1) hay 2F8 (COM2)
 Khi 8250 nhận được kí tự qua chân SIN (chân 10), kí tự
được chuyển vào thanh ghi dịch, tại đây nó được tháo
khung và nạp song song vào thanh ghi đệm thu.
 CPU chỉ đọc dữ liệu trong thanh ghi này vì nó thao tác với
BUS dữ liệu song song tối thiểu 1 lần.
Thanh ghi đệm phát (THR – Transmitter Holding Register)

Đặc điểm:
 DLAB = 0, địa chỉ 3F8 (COM1) hay 2F8 (COM2)
 Kí tự cần phát đi phải được ghi từ thanh ghi vào và thanh
ghi này nằm chờ cho đến khi kí tự trước nó được phát đi,
sau đó nó đưa vào thanh ghi dịch của bộ phát
 Tại thanh ghi dịch này nó được tháo khung và đưa ra từng
bit một vào chân SOUT (chân 11) của 8250. Dữ liệu tại
đầu ra ở dạng nối tiếp.
Thanh ghi điều khiển đường truyền
(LCR – Line Control Register) - DLAB

Đặc điểm:
 Thanh ghi này lưu giữ các tham số được người lập trình
thiết lập và xác định khuôn mẫu khung truyền của cuộc
trao đổi thông tin.

C7 C6 C5 C4 C3 C2 C1 CO
Đặt các bit mỗi từ
00=5bit,01=6bit,10=7bit,11=8bit
Các bit Stop: 0 = 1bit, 1 = 1.5 bit
Các bit parity: 0 = không parity, 1 = parity.

Loại bit parity: 0 = parity lẻ, 1 = parity chẵn


Stick bit: 0: không có stick bit, 1: stick bit
Đặt break: 0 = lối ra, 1 = gửi break
Bộ lựa chọn địa chỉ thanh ghi
Thanh ghi tốc độ Baud

Đặc điểm:
 Thanh ghi không giữ giá trị của tốc độ baud mà chỉ chứa
số chia 16 bit, số này suy ra tốc độ baud.
 Tốc độ baud được đặt bằng cách nạp số chia 16 bit đặt ở
địa chỉ bộ đệm TX/RX.
 Giá trị cất giữ trên 2 thanh ghi này phục thuộc vào tần số
của bộ cộng hưởng thạch anh của 8250 (chân 16,17):
18432MHz; 24576MHz, 3072MHz.
 Bộ chia = tần số nhịp chuẩn/16 x tốc độ baud mong muốn.
Bảng chuyển đổi giữa giá trị Baud và số chia

Baud Số chia Baud Số chia


50 0900 1200 0060
110 0417 2400 0030
150 0300 4800 0018
300 0180 9600 000C
600 00C0 11520 0001
Thanh ghi trạng thái đường truyền LSR – Line Status Resgister

Đặc điểm:
 Gồm 8 bit chứa thông tin về quá trình truyền dữ liệu qua
cổng nối tiếp cần cung cấp cho bộ VXL. Địa chỉ 3FD (2FD)

0 S6 S5 S4 S3 S2 S1 S0

=1 khi dữ liệu nhận được


Tín hiệu làm dừng được phát hiện
Lỗi chẵn lẻ
Lỗi khung truyền
Lỗi tràn
=1 ký tự được nạp vào bộ đệm truyền
= 1 khi bộ đệm truyền trống rỗng
Truy cập các chốt số chia
Thanh ghi cho phép ngắt – IER: Interrupt Enable Resgister

0 S6 S5 S4 S3 S2 S1 S0

=1 ngắt được tạo ra

=1 bộ đệm truyền trống


và ngắt mới xuất hiện

Cho phép có sự thay đổi trong trạng thái đường


Truyền bộ nhận theo cách gây ra ngắt.
Cho phép có sự thay đổi trong trạng thái MODEM
=0 để ngắt bộ xử lý
=0
=0
=0
Thanh ghi nhận dạng ngắt – IIR: Interrupt Identification
Resgister

Đặc điểm:
 Thanh ghi này chứa đựng mã, nhận dạng điều kiện (ngắt).
 VXL xóa các bít D0, D1, D2 về giá trị 0 sau các thao tác:
 Đọc thanh ghi trạng thái chuỗi.
 Đọc dữ liệu từ thanh ghi đệm thu.
 Ghi vào bộ phát hoặc đọc thanh ghi nhận dạng ngắt.
 Đọc trạng thái thanh ghi thao tác MODEM (RS232 – C)

0 0 0 0 0 D2 D1 D0

D0 =1: không có yêu cầu ngắt


Mã hóa các yêu cầu ngắt có mức ưu D0 = 0: có yêu cầu ngắt
tiên cao nhất đang chờ phục vụ.
Thanh ghi điều khiển Modem – MCR:Modem Control register

Đặc điểm:
 Địa chỉ thanh ghi 3FCh. Thanh ghi này còn gọi là thanh ghi
điều khiển các chân tín hiệu ra của MODEM vì nó cho phép
điều khiển các tín hiệu tại các chân DTR và DTS của 8250
Bit Chức năng
7-5 Dự trữ, luôn được thiết lập về 0
4 D4 = 1: Cho phép 8250 làm việc ở chế độ nối vòng cục bộ để kiểm tra các
chức năng.
D4 = 0: làm việc ở chế độ thường.
3 D3 =1 kích hoạt OUT2
2 D2 = 1 kích hoạt OUT1
1 D1 =1: Tín hiệu tại chân RTS của 8250 được truyền về mức 0, máy tính phát
chuyển tín hiệu RTS tới Modem để báo hiệu nó sẵn sàng phát dữ liệu
0 D0 = 1: Tín hiệu tại chân DTR của 8250 được chuyển về mức 0, máy tính
phát chuyển tín hiệu DTR tới Modem để báo hiệu nó đã sẵn sàng làm việc.
Thanh ghi trạng thái Modem – MSR:Modem Status Register
Đặc điểm:
 Địa chỉ thanh ghi 3FEh. Thanh ghi này còn được gọi là
thanh ghi trạng thái RS232C vì nó cho biết trạng thái hiện
thời của các tín hiệu điều khiển MODEM
Bit Chức năng
7 D7 = 1: DCD hoạt động
6 D6 = 1: RI đang hoạt động
5 D5 = 1: Modem hoặc máy tính gửi DSR về máy tính để cho biết sẵn sàng
nhận dữ liệu
4 D4 = 1: Modem (hoặc máy tính) gửi CTS về máy tính để cho biết sẵn sàng
nhận dữ liệu
3 D3 = 1: D7 vừa đổi trạng thái
2 D2 = 1: D6 vừa đổi trạng thái
1 D1 = 1: D5 vừa đổi trạng thái
0 D0 = 1: D4 vừa đổi trạng thái
3.3.4. Lập trình cho UART 8250A/16450:
 Địa chỉ các cổng COM và ngắt 14h-dịch vụ BIOS cho cổng COM
 Các chức năng của ngắt 14h – dịch vụ BIOS dành cho các cổng COM:
 Hàm 0h:
Ý nghĩa: Khởi tạo cổng COM.
Đầu vào: AH=0
DX=số hiệu cổng COM (0-3)
AL= tham số khởi tạo trong đó định dạng của AL như sau.
Int 14h
Đầu ra: AH = trạng thái của cổng vừa khởi tạo.
 Hàm 1h:
Ý nghĩa: Ghi một kí tự ra cổng COM
Đầu vào: AH=1
DX=số hiệu cổng COM (0-3)
AL= Mã ASCII của kí tự
Int 14h
Đầu ra: AH = trạng thái lỗi của cổng. Bít 7=1: có lỗi, bít 7=0
không có lỗi.

 Hàm 2h:
Ý nghĩa: Nhận một kí tự ra cổng COM
Đầu vào: AH=2
DX=số hiệu cổng COM (0-3)
Đầu ra: AL= Mã ASCII của kí tự nhận được. AH = trạng thái lỗi
của cổng. Bít 7=1: có lỗi, bít 7=0 không có lỗi.
Hàm 3h:
Ý nghĩa: Đọc trạng thái cổng COM
Đầu vào: AH=3
DX=số hiệu cổng COM (0-3)
Đầu ra: AH = trạng thái cổng COM
AL = trạng thái modem.
Dạng thức của AH: Dạng thức của AL

Bit 7 Lỗi qua thời gian Bit 7 Phát hiện vật mang dữ liệu

Bit 6 Thanh ghi phát rỗng Bit 6 Chỉ thị chuông

Bit 5 Thanh ghi nhận rỗng Bit 5 Sẵn sàng thiết lập dữ liệu

Bit 4 Cho phép ngắt Bit 4 Xóa gửi

Bit 3 Lỗi khung truyền Bit 3 Phát hiện sóng mang dữ liệu delta

Bit 2 Lỗi Parity Bit 2 Chỉ thị chuông

Bit 1 Lỗi đường truyền Bit 1 Sẵn sàng thiết lập dữ liệu delta

Bit 0 Dữ liệu đã có trong bộ đệm Bit 0 Xóa gửi delta.


 Ví dụ 1:Khởi tạo chế độ làm việc cho cổng COM3 với các thông
số: 6 bít mã kí tự truyền, tốc độ truyền 2400 bits/ giây, parity
chẵn, một bít stop.

 Ví dụ 2:Khởi tạo chế độ làm việc cho cổng COM1 với các thông
số: 7 bít mã kí tự truyền, tốc độ truyền 4800 bits/ giây, parity
chẵn, một bít stop không điều khiển gián đoạn ở Sout.
Mov AL,80 ; đưa vào LCR để tạo ra DLAB=1
Mov DX,3FBH ; địa chỉ LCR
Out DX,AL
Mov AL,24 ; đưa vào LSB của số chia
Out DX,AL
Mov AL,0 ; đưa vào MSB của số chia
Mov DX,3F9H ; địa chỉ MSB của số chia
Out DX,AL
Mov AL,1AH ; qui định khuôn dạng dữ liệu
Mov DX,3FBH ; địa chỉ LCR
Out DX,AL

Ví dụ 3: 8050 cần trao đổi 8 bit tốc độ 9600 baud, không kiểm
tra chẵn/ lẻ, 2 bit Stop, địa chỉ làm việc đầu 03F8H.
a. Tìm địa chỉ cho thanh ghi điều khiển trạng thái – LCR.
b. Tìm địa chỉ cho thanh ghi chốt bộ chia – LS.
c. TÌm địa chỉ cho thanh ghi cho phép ngắt – IER.
d. Tìm địa chỉ cho thanh ghi nhận dạng ngắt – IIR.
e. Tìm địa chỉ cho thanh ghi điều khiển MODEM – MCR.
f. Tìm địa chỉ cho thanh ghi trạng thái MODEM – MSR.
g. Tìm địa chỉ cho thanh ghi trạng thái đường truyền – LSR.
Ví dụ 4: Đặt 8250 (COM1) ở chế độ truyền 1200 baud, 8 bít
dữ liệu, 1 bit Stop, không bit chẵn lẻ. Hãy lập đoạn chương
trình để:
a. Đặt các thông số cho cổng nối tiếp.
b. Kiểm tra bộ đệm truyền THR.
c. Kiểm tra thanh ghi trạng thái đường truyền LSR.
3.3.5. Sơ đồ ghép nối 8250
Lưu đồ thuật toán:
Đặc điểm:
 Khởi phát vi mạch theo trình tự sau:
 Ghi vào thanh ghi dạng số liệu theo:
 D7 = DLAB = 1 để chuẩn bị ghi chốt cho bộ chia tốc độ.
 Khung tin với số bit Stop.
 Số bit của tin.
 Ghi giá trị bộ chia tần số vào các thanh ghi chốt chia LSB,
MSB tùy theo tốc độ Baud.
 Ghi các phép yêu cầu ngắt vào thanh ghi yêu cầu ngắt.
Phát số liệu nối tiếp:
Đặc điểm:
 Đọc thanh ghi nhận dạng ngắt để biết bộ đệm rỗng , có thể
phát tin.
 Ghi vào thanh ghi điều khiển Modem để kiểm tra các bit
DSR (bit D0, D1) điều khiển Modem chuẩn phát.
 Đọc thanh ghi trạng thái Modem để kiểm tra các bit DSR
(D5), RI (D6), DCD (D7) xem đã chuẩn bị phát chưa? Giá
trị = 1.
 Đọc thanh ghi trạng thái dòng để xem có sai số không và 2
thanh truyền và đệm có trống không? (để đưa tin ra)
 Ghi tin ra vào thanh ghi đếm phát từ máy tính.
 Ghi lệnh RTS (D1 = 1) vào thanh ghi điều khiển Modem để
điều khiển phát số liệu.
Nhận số liệu nối tiếp:
Đặc điểm:
 Ghi lệnh DTR (D0 = 1) vào thanh ghi điều khiển MODEM.
 Đọc trạng thái MODEM DSR, RI, DCD ở trạng thái
MODEM.
 Đọc thanh ghi trạng thái dòng để biết đã có số liệu thu chưa
(D0 = 1); hoặc đọc thanh ghi nhận diện ngắt để biết thêm số
liệu thu.
 Đọc số liệu vào từ thanh ghi đệm số liệu vào.
Mạch thu phát không đồng bộ vạn năng UART 8250:

 UART 8250 là IC thu phát không đồng bộ có thể lập trình


được thực hiện chức năng giao tiếp giữa máy tính và thiết bị
ngoại vi.
 Trong các máy PC/AT hiện nay dùng UART16450. Trong các
máy AT đời mới sử dụng UART 16550 vì 8250 và 16450
không đạt tốc độ 115200 baud.
 Tốc độ baud kết nối với các thiết bị công nghiệp ngoại vi là
9600 baud.
3.4. BUS nối tiếp đa năng USB

 USB là một giao tiếp cho


phép dữ liệu truyền giữa máy
tính chủ (host) với một hay nhiều
loại thiết bị ngoại vi đồng thời.
Thiết bị ngoại vi được cắm vào
máy tính, chia sẻ băng thông của
USB thông qua giao thức dựa
trên cơ chế lập lịch và dùng thẻ
bài (token).
3.4.1. Ưu điểm của USB

 Dễ dàng mở rộng các thiết bị đầu cuối của PC.


 Cung cấp giải pháp chi phí thấp song vẫn hỗ trợ
truyền dẫn với tốc độ đến 480Mb/s.
 Hỗ trợ ứng dụng thời gian thực.
 Giao thức linh hoạt cho các chế độ hỗn hợp.
 Tích cực công nghệ thiết bị tiện nghi.
 Đang năng do có nhiều thiết bị có thể ghép nối với
PC qua công USB
3.4.2. Mô tả hệ thống USB

Kết nối USB Các thiết bị


(usb USB
interconnect) (USB devices)

Chủ USB
(USB host)
Kết nối USB
 Kết nối USB: cho biết phương thức mà các thiết bị kết nối và
truyền thông với máy chủ (host).
 Các thành phần trong kết nối USB:
 Cấu trúc liên kết bus (Bus Topology): Mô hình liên kết giữa các
thiết bị USB và host

 Các quan hệ lớp trong (Inter-layer Relationships): Các tác vụ của


USB được thực hiện theo từng lớp trong hệ thốn

 Mô hình luồng dữ liệu (Data Flow Models): Là cách mà dữ liệu


di chuyển trong hệ thống giữa các đối tác truyền thông

 Lập lịch USB (USB Schedule): USB cung cấp một kết nối chia
sẻ. Việc truy nhập vào kết nối được lập lịch để có thể hỗ trợ
truyền thông đẳng thời và tránh xung đột
Kết nối USB
 Cấu trúc liên kết bus:

 Về mặt vật lý USB là một kiến


trúc tầng sao (tiered star) . Một
HUB ở tại trung tâm của mỗi
sao, với 7 bit địa chỉ USB cho
phép quản lý tối đa 127 thiết bị
ngoại vi đây là con số mang tính
lý thuyết bởi khi có càng nhiều
thiết bị đấu nối thì tốc độ truyền
càng chậm do dải thông của toàn
bộ bus bị phân chia đến từng
thiết bị
Chủ USB ( host USB)

 Chủ USB chính là máy tính cá nhân với hệ điều hành có


khả năng quản lý USB. Một mạng USB chỉ được phép có
một chủ USB , máy tính sử dụng phần cứng phần mềm
USB để làm việc như một chủ bus .
 Máy tính nhận biết việc cắm thêm hay dỡ bỏ một thiết bị
ngoại vi để khởi động quá trình đánh số và các quá trình
truyền dữ liệu khác trong bus.
 Máy tính có trách nhiệm kiểm tra trạng thái, thống kê
hoạt động và kiểm tra ghép nối điện giữa bộ điều khiển
chủ và các thiết bị USB ngoại vi.
Thiết bị USB
 HUB:
 Một hub ngoài có một cổng hướng về máy chủ (upstream) và 4 cổng ra thiết bị
ghép nối (downstream) trong máy PC cũng có một hub cắm ngay trên bản
mạch chính hub này được gọi là hub gốc (roothub). Hub thường gồm có một bộ
điều khiển hub và một bộ lặp (repeater) một hub có chức năng : chuyển một ổ
cắm USB thành nhiều ổ cắm, nhận biết các thiết bị mới được đấu vào , xoá đi
một thiết bị đã đấu nối vào bus nhưng sau đấy được tháo ra để thực hiện được
việc này có những trạng thái bus được tạo ra theo cách đặc biệt.
 Thiết bị chức năng
 Thiết bị chức năng: là các thiết bị ngoại vi như : chuột, bàn phím.
Màn hình, máy quét, ADC, vi điều khiển ……mọi thiết bị chức
năng của bus đều phải theo các qui định của USB để máy chủ có thể
nhận biết được chúng.
 Mọi thiết bị USB đều được thiết kế gồm 3 phần chính:
• Phần giao diện tuần tự SIE là vi mạch chịu trách nhiệm
nhận và gửi dữ liệu theo chuẩn USB

• Một tổ hợp giữa phần cứng và firmware nhận nhiệm vụ


truyền dữ liệu giữa khối SIE và điểm cuối của thiết bị qua
các đường ống (pipe) thích hợp của chúng

• Thành phần thứ 3 là phần chức năng của thiết bị ngoại


vi
3.4.3. Giao diện vật lý cổng USB:
 Chuẩn về cơ khí (Mechanical):

 Chuẩn USB sử dụng cáp 4 sợi để truyền tín hiệu và nguồn nuôi.
Tín hiệu được truyền qua 2 dây cho mỗi đoạn liên kết điểm – điểm.
Có ba loại cáp chính:

• Cáp USB tốc độ cao (high-speed) là 480 Mb/s.

• Cáp USB tốc độ đủ (full-speed) là 12 Mb/s.

• Cáp USB dành cho truyền


thông tốc độ thấp ở 1.5 Mb/s.
• USB quy định hai loại đầu cắm được gọi là dạng “A” và “B”. Hai loại này chỉ khác nhau về
kiểu dáng
 Chuẩn về điện tử (Electrical)
• Tín hiệu đồng hồ được truyền và giải mã cùng với dữ liệu. Phương
pháp mã hoá bit là NRZI cùng với việc nhồi bit để đảm bảo chính
xác trong truyền thông.
3.4.4. Mã hóa và giải mã tín hiệu:

 USB thực hiện mã hóa theo phương pháp NRZI (Non Return to
Zero – Inverted) khi truyền một gói tin. Với phương pháp NRZI,
bit 1 thể hiện bằng sự không thay đổi về mức tín hiệu trên đường
truyền còn bit 0 thể hiện bằng sự thay đổi mức tín hiệu
a. Nhồi bít (Bit Stuffing):

 Để đảm bảo sự chính xác khi truyền tín hiệu, chuẩn USB thực
hiện nhồi bit khi truyền các gói tin.

 Cách thực hiện: Một bit 0 sẽ được thêm vào (nhồi) sau mỗi 6
bit liên tục trong luồng dữ liệu trước khi mã hóa NRZI được
thực hiện. Điều đó đảm bảo cho bên nhận có thể đồng bộ hóa
tín hiệu xung đồng bộ sau mỗi 7 bit. Việc nhồi bit được cho
phép bắt đầu sau mẫu SYNC. Bit 1 ở cuối của mẫu đồng bộ
SYNC được đếm là bit đầu tiên trong chuỗi dữ liệu.

 Bên nhận phải giải mã dữ liệu NRZI, phát hiện ra bít nhồi và
bỏ qua chúng.
b. Điểm cuối và đường ống
• Điểm cuối là đầu nguồn hay đầu phát của một thiết bị ngoại vi,
một thiết bị ngoại vi có thể có nhiều điểm cuối nó chỉ ra dữ liệu
cần thiết được dẫn tới đâu hoặc cần phải đón nhận từ đâu, nó làm
cho thiết bị được định địa chỉ một cách linh hoạt
• ví dụ như chuột USB chẳng hạn có một điểm cuối 0, một điểm
cuối 1. Điểm cuối 0 được sử dụng khi khởi tạo các dữ liệu hữu
ích được bộ vi điều khiển ghi trên một khoảng cách định trước
tính theo điểm cuối 1 và từ đó máy PC đọc vào
• Một đường ống là một kênh logic dẫn tới một điểm cuối trong
một thiết bị, ta có thể hình dung đường ống như một kênh dữ
liệu được hình thành từ một dây dẫn riêng lẻ .
c. Kết nối các thiết bị USB

• đầu đều được nhận một địa chỉ mặc định USB , Host xác định xem
thiết bị vừa được đấu nối là HUB hay thiết bị chức năng và gắn cho
thiết bị USB một địa chỉ duy nhấtKhi có một kết nối đến HUB nó
sẽ thông báo đến máy chủ , máy chủ hỏi HUB để xác định nguyên
nhân của thông báo , HUB trả lời bằng việc nhận dạng cổng đã kết
nối với thiết bị USB . Máy chủ cho phép cổng và định địa chỉ thiết
bị USB với một đường ống điều khiển bằng cách sử dụng địa chỉ
mặc định USB, tất cả các thiết bị khi đấu nối vào lần

• Máy chủ thiết lập một đường ống điều khiển đối với thiết bị USB
bằng cách sử dụng địa chỉ USB đã được gán và số 0 điểm cuối. Nếu
thiết bị USB là một hub thì khi có một thiết bị USB kết nối vào nó
quá trình trên diễn ra liên tục Nếu thiết bị USB là một thiết bị chức
năng thì các thông báo về việc kết nối sẽ được phần mềm USB gửi
tới phần mềm máy chủ
d. Loại bỏ các thiết bị USB

• Khi một thiết bị USB được gỡ bỏ từ một trong số các


cổng của hub thì hub tự động vô hiệu hoá cổng và cung
cấp một thông tin cho host báo về việc loại bỏ thiết bị ra
khỏi bus. Sau đấy host sẽ loại bỏ các số liệu đã viết về
thiết bị vừa dỡ bỏ Nếu thiết bị USB dỡ bỏ là một hub thì
quá trình dỡ bỏ phải được thực hiện với tất cả thiết bị
USB mà trước đó đã được đấu nối vào hub
3.4.5. Các kiểu truyền USB

 Truyền điều khiển ( control transfer ): là truyền theo kiểu 2 chiều, kiểu
truyền này được sử dụng để cài đặt thiết bị ngoại vi giao thức truyền điều
khiển được bắt đầu bằng một gói khung , tiếp theo là gói dữ liệu và kết
thúc là gói bắt tay .

 Truyền ngắt : Là truyền một chiều . Các thiết bị cung cấp một lượng dữ
liệu nhỏ tuần hoàn như : chuột , bàn phím, joystick .

 Truyền đẳng thời: là phương pháp truyền một chiều .Vì thế cuộc truyền
cần hai điểm cuối ở thiết bị ngoại vi hoặc hai pipe ở phần mềm máy chủ .
Khi có một lượng lớn dữ liệu với tốc độ dữ liệu đã được qui định như card
âm thanh , loa , điện thoại sử dụng kiểu truyền này .

 Truyền theo khối : Truyền 2 chiều , khi có lượng lớn dữ liệu cần truyền và
cần kiểm soát lỗi , nhưng không có yêu cầu thúc ép về thời gian truyền thì
sử dụng kiểu truyền này. Ví dụ : máy in , máy quét
3.4.6 Giao thức USB

Các dạng gói tín:

 Gói mã thông báo (Token packet)

 Gói dữ liệu (Data packet)

 Gói bắt tay (Handshake packet)


a. Các trường

 Trường Sync: Tất cả các gói đều bắt đầu bằng trường này , trường
này gồm 8 bit . Nó được sử dụng để đồng bộ xung clock của việc
thu với việc phát, 2 bit sau cùng được sử dụng để chỉ ở đâu
trường PID bắt đầu và điểm kết thúc của trường Sync.

 Trường định danh gói : Trường định danh gói (PID) được cho theo
sau trường Sync của các gói USB.
bảng các kiểu và giá trị PID với các gói khác nhau
 Trường địa chỉ
 Trường này có 7 bit địa chỉ do đó nó trỏ tới được 127 địa chỉ , địa
chỉ 0 là không hợp lệ. Nó chỉ có ý nghĩa khi thiết bị vừa đấu nối
vào và đây là địa chỉ mặc định .

 Trường điểm cuối


 Trường điểm cuối (ENDP) có kích thước 4 bit trỏ được 16 điểm
cuối. Trường này cho phép xác định các điểm cuối một cách linh
hoạt trong các thiết bị có nhiều hơn một điểm cuối
 Trường dữ liệu
 Trường dữ liệu của giao thức USB cho phép có kích thước từ 0
đến 1024 byte và phải là một số nguyên của byte

 Trường số khung
 Có độ lớn 11 bit do host tăng thêm trên mỗi khung cơ sở , trường
số khung lên tới con số cực đại là 7FFH và chỉ được gửi trong các
mã thông báo SOF tại thời điểm khởi đầu của mỗi khung
 Trường kiểm tra dự phòng tuần hoàn (CRC) :Được sử dụng để bảo
vệ tất cả các trường NON-PID trong gói mã thông báo (token) và
gói dữ liệu (data). Trường này được phát sinh thông qua các
trường tương ứng của nó ở bộ phận phát trước khi thực hiện vệc
nhồi bit. Tương tự vậy CRC được giải mã ở bộ phận nhận sau khi
loại bỏ việc nhồi các bit. Nếu một CRC bị lỗi thì các trường tương
ứng sẽ bị bỏ qua bên nhận

 Trường kết thúc gói : Trường kết thúc gói EOP nó đánh dấu sự
kết thúc của một gói
3.4.7 Khuôn dạng các gói tin
 Khuôn dạng gói mã thông báo:

 Gói này gồm trường PID 8 bit dùng để chỉ rõ kiểu gói là gói
IN ,OUT hay SETUP, tiếp theo là 7 bit trường địa chỉ ,4bit trường
điểm cuối và 5 bit trường CRC

 Đối với giao tác OUT và SETUP các trường địa chỉ và điểm cuối
sẽ xác định ra điểm cuối nhận gói dữ liệu tiếp o. Hai giao tác này
dùng cho các giao tác từ host đến thiết bị chức năn

 Đối với giao tác IN các trường này chỉ ra điểm cuối nào cần phải
truyền dữ liệu đi. Giao tác này dùng cho các giao tác từ thiết bị
chức năng đến host
 Khuôn dạng gói dữ liệu

• Trường PID (8 bit) dùng để xác định loại gói


• Trường dữ liệu ( từ 0 đến 1024 byte)
• Trường dự phòng CRC ( 16bit)

SYNC PID DATA CRC5 EOP

 Khuôn dạng gói bắt tay


SYNS PID EOP

• Các gói bắt tay chỉ có một trường PID . Các gói bắt tay được sử
dụng để thông báo sự giao tác là thành công hay không thành công
Các tín hiệu bắt tay luôn được trả về trong các pha bắt tay của một
giao tác hoạc được trả về trong pha dữ liệu . Khi này nó không gửi
giữ liệu mà dùng để gửi tín hiệu bắt tay
Phân loại gói bắt tay:
 ACK : Tín hiệu này báo rằng gói dữ liệu nhận được mà không có quá trình nhồi
bit hoặc có các lỗi CRC ở trường dữ liệu và PID của gói dữ liệu nhận được là
chính xác . Tín hiệu ACK được dùng thích hợp nhất là trong các giao tác khi
mà dữ liệu đã được truyền đi và chờ tín hiệu bắt tay trả về . ACK có thể được
host trả về trong giao tác IN và có thể được thiết bị chức năng trả về trong giao
tác OUT và SETUP
 NAK : Tín hiệu này sử dụng để báo rằng một thiết bị chức năng không thể chấp
nhận dữ liệu từ Host gửi đến ( thông qua giao tác OUT hoặc một thiết bị chức
không có dữ liệu truyền đến Host ( thông qua giao tác IN ) . Tín hiệu bắt tay
NAK có thể được các thiết bị chức năng trả về trong pha dữ liệu của giao tác IN
hoặc pha bắt tay của giao tác OUT . Host có thể không bao giờ đưa ra tín hiệu
bắt tay NAK. Ngoài ra tín hiệu bắt tay NAK còn được sử dụng cho những mục
đích điều khiển luồng để báo rằng một thiết bị chức năng tạm thời không thể
truyền hoặc nhận dữ liệu , nhưng chức năng đó sẽ dần dần có khả năng truyền
hoặc nhận dữ liệu mà không cần sự can thiệp của host

 STALL: Tín hiệu này dùng để báo rằng một chức năng không thể truyền hoặc
nhận dữ liệu , hoặc yêu cầu ống dữ liệu mà không được hỗ trợ . Tín hiệu bắt tay
này được thiết bị chức năng trả về trong đáp ứng tới mã thông báo IN hoặc sau
khi pha dữ liệu của một giao tác OUT.
3.5. Đo đạc và tạo thời gian chính xác bằng PIT – 8253/54:

 Muốn đo đạc tạo ra những xung nhịp định thời chính xác và ổn
định bằng hệ thống ghép nối máy tính người ta sử dụng vi mạch
định thời có thể lập trình được là PIT – 8253.
 PIT – 8253 khi được lắp trên bản mạch ghép nối cắm vào khe cắm
mở rộng của PC có thể phục vụ cho nhiều mục đích như: tạo máy
phát sóng tỷ lệ khả trình, đếm các sự kiện, tạo đồng hồ thời gian
thực,tạo các xung đơn, đo khoảng cách thời gian chính xác, đo tần
số, điều khiển động cơ bước.
3.5.1. Cấu tạo của PIT – 8253/54:
Bộ đệm dữ liệu:
 Là loại 8 bit – 2 hướng – 3 trạng thái. Dùng để ghép nối
PIT 8253/8254 với bus hệ thống.

 Số liệu sẽ được bộ đệm phát hoặc thu bằng việc chạy


lênh OUT hoặc IN.

 Bộ đệm có 3 chức năng cơ bản:


 Định trình cho chế độ hoạt động của 8253/54.
 Nạp các thanh ghi của bộ đếm.
 Đọc các giá trị đệm.
Mạch logic điều khiển đọc viết:
 Nhận các tín hiệu từ bus hệ thống và lần lượt phát các tín hiệu điều
khiển cho các thiệt hoạt động.

 Chân /RD =0 cho phép CPU đọc số liệu từ 8253 trong dạng 1 giá
trị các bộ đếm.

 Chân /WR = 0 cho phép CPU viết dữ liệu vào 8253, đó là các
thông tin về chế độ hoạt động hoặc nạp các số đếm ban đầu vào
bộ đếm

 Hai chân A0, A1 nối với 2 bit địa chỉ thấp nhất của bus địa chỉ PC
Bảng chế độ hoạt động của 8253:
/CS /RD /WR A1 A0 Chức năng
0 1 0 0 0 Nạp bộ đếm 0
0 1 0 0 1 Nạp bộ đếm 1
0 1 0 1 0 Nạp bộ đếm 2
0 1 0 1 1 Viết thanh ghi lệnh
0 0 1 0 0 Đọc bộ đếm 0
0 0 1 0 1 Đọc bộ đếm 1
0 0 1 1 0 Đọ bộ đếm 2
0 0 1 1 1 Đọc thanh ghi lệnh 8254
1 X X X X Không tích cực
0 1 1 X X Không hoạt động
Thanh ghi từ điều khiển:
 Được chọn khi A1A0 = 11. Thông tin được lưu giữ trong thanh
ghi này sẽ điều khiển.
- Chế độ hoạt động của các bộ đếm.
- Chọn cách đếm (nhị phân hay BCD).
- Phương thức đọc/viết của mỗi thanh ghi đếm số liệu của các
bộ đếm.
 Bộ đếm 0, 1, 2 là loại đếm lùi, 16 but và có thể đặt các giá trị
đếm ban đầu. Mỗi bộ đếm có 2 lối vào xung clock – CLK và
GATE, 1 lối ra OUT.
 Khi GATE = 1 bộ đếm được phép đếm và ngược lại.
3.5.2. LẬP TRÌNH CHO 8253
Định dạng từ điều khiển
SC1 SC2 RW1 RW2 M2 M1 M0 BCD

Chọn bộ đếm: Định dạng bộ đệm:


00: bộ đếm 0. 0: đếm nhị phân.
01: bộ đếm 1. 1: đếm BCD (0:999).
10: bộ đếm 2.
11: Đọc CWR trong 8254
Chế độ đếm:
Quy đinh phương thức 000: Chế độ 0.
đọc ghi: 001: Chế độ 1.
00: chốt bộ đệm 0. 010: Chế độ 2.
01: đọc ghi byte thấp 1. 011: Chế độ 3.
10: đọc ghi byte cao. 100: Chế độ 4.
11: Đọc ghi byte cao 101: Chế độ 5.
trước, byte thấp sau.
a. Chế độ đếm:
PIT 8253/54 có 6 chế độ đếm từ chế độ 0 đến chế độ 5:
 Chế độ 0 (Interrupt On Terminal Count): Khi kết thúc đếm thì phát
ra một sườn xung lên. Tín hiệu lối ra ở mức thấp ngay sau khi chọn
chế độ và cho tới khi số xung đếm kết thúc thì sẽ chuyển lên mức
cao.
Việc nạp lại thanh ghi bộ đếm sẽ ra các kết quả sau:
- Nạp byte đầu tiên (byte thấp) sẽ làm ngừng bộ đếm hiện tại.
- Nạp byte thứ 2 (byte cao) sẽ khởi phát quá trình đếm mới.

 Chế độ 1 (Programmable Monoflop):


- Phát ra một xung đơn có thời gian xung biến đổi được
- Bộ đếm được khởi động bởi sườn dương của xung cửa
GATE.
- Chế độ này cho phép tạo ra các xung đơn có độ rộng biến đổi
tùy theo giá trị ban đầu.
PIT 8253/54 có 6 chế độ đếm từ chế độ 0 đến chế độ 5:
 Chế độ 2 (Rate Generator): Phát ra các sóng tỉ lệ. Các sung nhịp đưa
vào bộ đếm được chia bởi giá trị nạp trong thanh ghi bộ đếm. Tín
hiệu lối ra xuống mức thấp trong chu kì đầu tiên và sau đó chuyển lên
mức cao trong các chu kỳ còn lại.
 Chế độ 3 (Squere – Wave Generator): Phát ra sóng xung vuông. Chế
độ này tương tự như chế độ 2 nhưng xung lối ra là sóng vuông khi
giá trị đếm chẵn và sẽ thêm một chu kì ở mức cao khi giá trị đếm lẻ.
 Chế độ 4 (Software – triggered Pulse): Tạo các xung bằng phần mềm.
Chế độ này giống như chế độ 2 nhưng xung cửa GATE không khởi
động quá trình đếm mà sẽ đếm ngay khi số đếm ban đầu được nạp.
 Chế độ 5 (Hardware – triggered Pulse): Tạo các xung bằng xung cửa
GATE. Cũng giống như chế độ 2, sườn dương của xung GATE khởi
động quá trình đếm sau đó xuống mức thấp trong 1 chu kỳ nhịp khi
việc đếm kết thúc . Khi quá trình đếm chưa kết thúc nếu xung cửa
xuất hiện những sườn dương thì cứ mỗi lần như vậy bộ đếm lại được
đếm lại từ giá trị ban đầu.
Bảng hoạt động của xung cửa GATE
Trạng thái tín Mức thấp hoặc sườn âm Sườn dương Mức cao
hiệu
Chế độ

0 Cấm bộ đếm ---- Cho phép


đếm
1 ---- - Khởi phát đếm ---
- Reset lối ra sau xung nhịp
tiếp theo.
2 - Cấm đếm - Khởi phát đếm Cho phép
- Đặt lối ra ở mức cao ngay đếm
lập tức
3 - Cấm đếm - Khởi phát đếm Cho phép
- Đặt lối ra ở mức cao ngay đếm
lập tức
4 Cấm bộ đếm --- Cho phép
đếm
5 ---- - Khởi phát đếm ----
b. Viết bộ đếm:

 Chương trình phải thực hiện hai thao tác viết bộ đếm:
- Viết từ điều khiển để xác lập chế độ hoạt động của các
bộ đếm.
- Nạp số đếm ban đầu cho các bộ đếm.
 Sau khi được nạp giá trị ban đầu, bộ đếm sẽ thực hiện đếm lùi
từ đó xuống 0.
 Giá trị ban đầu ứng với hệ số chia tần của bộ đếm trong các
chế độ 2 và 3.
 Số đếm ban đầu được nạp là 0 tương đương với việc nạp số
đếm cực đại 216 (đếm nhị phân) hoặc 104 (đếm BCD).
b. Đọc bộ đếm:
 Có hai cách chọn lựa cho việc đọc bộ đếm trong 8253/54
- Đọc trực tiếp bởi một lệnh hoặc 2 lệnh IN.
- Dùng lệnh chốt bộ đếm (Counter Latch command).
 Nếu cần đọc giá trị tức thời của bộ đếm khi quá trình đếm chưa kết thúc thì phải sử
dụng các lệnh chốt bộ đếm hoặc lệnh đọc thanh ghi từ điều khiển.
ĐỊNH DẠNG TỪ ĐIỀU KHIỂN

D7 D6 D5 D4 D3 D3 D1 D0
SC1 SC0 0 0 X X X X
- 2 bít chọn bộ đếm X: tùy chọn (có thể đặt = 0)
được chốt.
- 00:chọn bộ đếm 0.
- 01: chọn bộ đếm 1.
- 10: chọn bộ đếm 2
Định dạng byte trạng thái

D7 D6 D5 D4 D3 D2 D1 D0
Pin Null RW1 RW0 M2 M1 M0 BCD
Trạng thái của OUTx; Bộ đếm đã được giá Giống định dạng từ điều khiển
(x = 0, 1, 2) trị ban đầu chưa?
=1: lối ra mức cao. = 1: chưa nạp, chưa
= 0: thấp đọ được.
= 0: Nạp rồi đọc
được
Định dạng cho lệnh đọc thanh ghi điều khiển
Ghép nối PIT 8253/54 với PC qua khe cắm ISA:

D0 – D7 D0 – D7 CLK 0
GATE 0
IOW WR OUT 0
Khe
IOR CLK 1
Cắm RW
GATE 1
ISA
A0 – A10 CS OUT 1

A1 CLK2
A1
GATE2
A0 A0 OUT2
CHƯƠNG 4: GHÉP NỐI SỐ - TƯƠNG TỰ
TƯƠNG TỰ - SỐ
4.1. Sơ đồ cấu trúc hệ thống điều khiển tự động dùng máy tính

Hệ thống thực
Setpoint
Cơ cấu
Điều khiển DAC Khuếch đại
chấp hành

ADC Khuếch đại Cảm biến


Máy vi tính
4.2. Bộ chuyển đổi số - tương tự
(Digital Analog Converter – DAC)

 Hoạt động của DAC: Mục đích của bộ biến đổi DA, là biến đổi
tín hiệu nhị phân n bít thành dòng hay áp tương ứng. Hình sau là
một ví dụ về một bộ biến đổi DA 4 bít đơn giản. Dựa vào vị trí
của các công tắc Bi (1 là đóng và 0 là mở), điện trở đầu vào sẽ
thay đổi theo. Do dó,điện áp đầu ra cũng sẽ thay ñổi theo :

¿
Sơ đồ khối của DAC:
Đầu ra số
B0 B1 Bn

Điện áp Thiết bị chuyển -


chuẩn Vref mạch vi điện tử +
Đầu ra tương tự

 Một bộ DAC hoàn chỉnh bao gồm ba phần tử cơ bản:


- Ðiện áp quy chiếu ổn định bên ngoài (Vref)
- DAC cơ sở
- Khuếch đại thuật toán
 Điện áp đầu ra của bộ biến đổi V0 sẽ phụ thuộc vào mã nhị phân đầu
vào theo công thức sau:
V0 = Vref (B0.20 + B1.21 + ... + Bn.2n )/(2n+1)
Trong đó: B0 : bít thấp nhất
Bn : bít cao nhất của mã nhị phân đầu vào
Vref : điện áp quy chiếu.
 DAC cơ sở cấu tạo bằng các điện trở chính xác và những chuyển
mạch tương tự được điều khiển bởi mã số đầu vào . Các chuyển
mạch tương tự điều chỉnh dòng điện hay điện áp trích ra từ điện
áp quy chiếu và tạo nên dòng điện hay điện áp ở đầu ra tương
ứng với mã số đầu vào. Mạch khuếch đại thuật toán dùng ở đây
để chuyển đổi dòng thành áp đồng thời có chức năng tầng đệm.

 Bộ biến đổi DAC có đặc điểm là đại lượng ra tương tự không liên
tục, độ rời rạc của đầu ra phụ thuộc vào số bít của bộ biến đổi,
những DAC có số bít đầu vào lớn thì tổng số nấc điện áp ra càng
lớn và khoảng cách giữa các nấc càng nhỏ.
4.2.1. Các tham số của bộ biến đổi D/A:
Độ phân giải:
 Ðộ phân giải (Solution): Liên quan đến số bít của một DAC. Nếu số bít
là n thì số trạng thái của tín hiệu nhị phân là (2n – 1) nghĩa là sẽ có (2n –
1) mức điện thế (hoặc dòng điện) khác nhau, do đó có độ phân giải là 1/
(2n – 1) . Ðộ phân giải càng bé thì điện thế (hoặc dòng điện đầu ra) càng
có dạng liên tục, càng gần với thực tế và ngược lại.

Ví dụ: DAC 10 bit sẽ có độ phân giải là: 1/((210 – 1) = 1/1023  0,001

Điện áp toàn thang:


 Điện áp toàn thang: là điện áp cực đại ứng với trường hợp tất cả các lối
vào bằng 1. Giá trị điện áp ra của bộ biến đổi luôn nhỏ hơn giá trị danh
định ít nhất là 1 bit có trọng số nhỏ nhất.

Ví dụ: Bộ biến đổi DAC 10 bit điện áp ra toàn thang là 10V thì giá trị của
bit LSB là 10/1024  9.77mV. Điến áp ra lớn nhất của bộ biến đổi nếu được
điều chỉnh đúng là 10V – 0,0097V  9.9903V
Độ tuyến tính:

 Độ tuyến tính của DAC: cho biết độ lệch điện áp so với một đường thẳng đi qua
những điểm nút của đặc tuyến chuyển đổi. Đó là đặc tính thường gặp nhất với
DAC. Đường cong đặc tuyến là đơn điệu nếu sự thay đổi độ lệch trên là không
đổi dấu. Để có một DAC đơn điệu, độ lệch này phải lớn hơn 0 cho mỗi nấc
thang. Ngoài ra mức độ tuyến tính của DAC phải nhỏ hơn hoặc bằng 1/2 LSB
để nó trở nên đơn điệu. Như vậy 1/2 LSB là đặc trưng về giới hạn đơn điệu của
một DAC
Phi tuyến vi sai:

 Phi tuyến vi sai: là đại lượng cho biết độ lệch giữa giá trị thực tế và lý tưởng cho
một nấc điện áp ra ứng với mỗi thay đổi của mã số vào. Đại lượng này cho biết
về độ nhẵn của đường cong tuyệt đối với DAC.

Thời gian thiết lập:

 Thời gian thiết lập đổi với một DAC là thời gian cần thiết để điện áp ra đạt tới
giá trị tới hạn sai số xung quanh giá trị ổn định. Giới hạn này thường là ½ LSB
hoặc biểu diễn bằng giá trị FS.
4.2.2. Các mạch D/A điển hình:

Chuyển đổi DA theo kiểu


điện trở trọng lượng

Các
mạch
Chuyển đổi DA theo kiểu
D/A
mạch R – 2R
điển
hình

Chuyển đổi DA theo phương pháp


mã hóa Shanon – Rack
Bộ chuyển đổi DA theo kiểu điện trở trọng lượng
(Weighted resistor DAC)

Sơ đồ mạch
 Với mạch như trên, khi một khoá điện thứ i nào được nối với nguồn
điện thế chuẩn thì sẽ cung cấp cho bộ KÐTT dòng điện có giá trị là:
𝑈 𝑐h
𝐼𝑖= 𝑖
𝑅/ 2
 DAC có n bít thì tín hiệu ra được tính theo công thức:
𝑅 𝑓 𝑛− 1
𝑈 𝑟𝑎 =−𝑈 𝑐h .
𝑅
( 2 . 𝐵𝑛 −1 +...+2 . 𝐵0 )
0

- Trong đó: B0  Bn-1 có giá trị "0" hoặc "1".

 Ưu điểm: đơn giản.


 Nhược điểm: độ chính xác và tính ổn định của kết quả phụ thuộc
nhiều vào trị số tuyệt đối của các điện trở và sự ổn định của chúng
trong các môi trường khác nhau. Ngoài ra còn phụ thuộc vào tính ổn
định và độ chính xác của nguồn điện áp chuẩn.
Bộ chuyển đổi DA theo kiểu thang điện trở R-2R (R-2R ladder):

Sơ đồ mạch:

Công thức tính điện áp ra của một DAC n bít với điện trở hình thang
R-2R như sau:
𝑅 𝑓 𝑛 −1
𝑈 𝑟𝑎 =−𝑈 𝑐h . 𝑛 ( 2 . 𝐵𝑛− 1+...+2 . 𝐵0 )
0

2 𝑅
4.2.3. Ghép nối với DAC:
 Về nguyên tắc một bộ DAC có thể ghép nối tương thích với hầu
hết các bộ VXL. Ðối với các bộ DAC 8 bít, công việc thậm chí
còn rất đơn giản khi ghép nối với các VXL, lý do là các VXL đều
có BUS dữ liệu là bội của 8. Ðối với các bộ DAC 12 hay 16 bít ta
phải sử dụng các đệm trung gian có số bít tương ứng sau đó tiến
hành trao đổi số liệu nhiều lần.

Mạch ghép nối DAC 8 bít


. Mạch ghép nối DAC 16 bit
4.2.4. Lập trình xuất dữ liệu cho DAC:

 Đối với DAC 8 bit, ta chỉ cần dùng lệnh xuất dữ liệu:
Port[addr_port] := data;
Trong đó: địa chỉ cổng addr_port sẽ qua mạch giải mã địa chỉ tạo xung kích mở
mạch
đệm đưa dữ liệu số vào đầu vào DAC. Số liệu cần chuyển đổi được đặt trong
data.
Đối với DAC 16 bit, ta cần hai lệnh xuất:
Port[addr_port1] := data1;
Port[addr_port2] := data2;
Trong đó: địa chỉ cổng addr_port1 qua mạch giải mã địa chỉ tạo xung thứ nhất
kích mở mạch chốt đệm 74273 thứ nhất, lưu giữ 8 bit thấp của dữ liệu, thể hiện
trong data1.
 Lệnh xuất dữ liệu thứ hai theo địa chỉ addr_port2 sẽ tạo xung thứ hai kích mở
mạch chốt đệm 74273 thứ hai (phía dưới) để đưa 8 bit cao của dữ liệu, thể hiện
trong data2. đồng thời xung thứ hai này cũng mở chốt đệm 74273 thứ ba để
truyền số liệu 8 bit thấp ở đầu ra 74273 thứ nhất sang đầu ra 74273 thứ ba. Kết
quả là DAC nhận được 16 bit dữ liệu cùng một lúc.
4.3. Bộ biến đổi tương tự - số
 Bộ chuyển đổi tương tự sang số – ADC (Analog to Digital
Converter) lấy mức điện thế vào tương tự sau đó một thời gian sẽ
sinh ra mã đầu ra dạng số biểu diễn đầu vào tương tự.

 Sơ đồ khối một ADC đơn giản


4.3.1. Các tham số cơ bản:
 Dải biến đổi của điện áp tương tự đầu vào: là khoảng điện áp mà
ADC có thể thực hiện chuyển đổi được. Khoảng điện áp này có
thể lấy giá trị từ 0 đến một giá trị âm hay dương, hoặc cũng có
thể là điện áp hai cực tính -UAM đến + UAM.

 Độ phân giải: Biểu thị bằng số bit của tín hiệu ở đầu ra. Số bit
càng nhiều thì sai số lượng tử càng nhỏ, độ chính xác càng cao.

 Tốc độ chuyển đổi: cho biết số kết quả chuyển đổi trong một giây,
còn được gọi là tần số chuyển đổi fc. Cũng có thể dùng tham số
thời gian chuyển đổi Tc để đặc trưng cho tốc độ chuyển đổi
(Tc = 1/fc). Tốc độ chuyển đổi càng cao thì độ chính xác càng
giảm và ngược lại.
4.3.2. Các phương pháp chuyển đối A/D:

 Chuyển đổi song song (Parallel Comparator ADC): Tín hiệu cần chuyển
đổi được so sánh cùng một lúc với nhiều giá trị chuẩn, vì vậy các bít
được xác định đồng thời và đưa đến đầu ra.
 Chuyển đổi nối tiếp theo mã đếm: Quá trình so sánh được thực hiện
từng bước theo quy luật mã đếm. Kết quả chuyển đổi được xác định
bằng cách đếm số lượng giá trị tín hiệu tương tự cần chuyển đổi.
 Chuyển đổi xấp xỉ liên tiếp: Quá trình so sánh được thực hiện từng
bước theo quy luật của mã nhị phân. Các đơn vị chuẩn dùng để so
sánh lấy các giá trị giảm dần theo mã nhị phân, do đó các bít được xác
định lần lượt từ bít có ý nghĩa nhất MSB (Most Significant Bit) đến bít
có ít ý nghĩa nhất LSB (Least Significant Bit).
 Chuyển đổi song song - nối tiếp kết hợp: Trong phương pháp này qua
mỗi bước so sánh có thể xác định được tối thiểu là 2 bít đồng thời.
Chuyển đổi theo phương pháp song song:

 Mạch biến đổi song song có


ưu điểm là tốc độ chuyển đổi
nhanh , nhưng kết cấu mạch
khá phức tạp nếu ta tăng độ
phân giải của phép biến đổi
AD (resolution). Thực vậy để
thiết lập một bộ biến đổi có
độ phân giải n bít thì cần
phải có (2n - 1) bộ so sánh, do
vậy phương pháp này chỉ
dùng cho các bộ ADC tốc độ
cao và độ phân giải thấp.
Chuyển đổi A/D theo phương pháp đếm:
Chuyển đổi A/D theo phương pháp xấp xỉ liên tiếp:
Chuyển đổi A/D theo phương pháp song song nối tiếp kết hợp:
4.3.3. Một số ADC thông dụng

 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.

 Đặ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.
 Điện áp ngõ vào từ 0 đến 5V.
 Tần số xung CLOCK từ 10 ÷
1280KHz.
Cấu trúc bên trong
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
Vref (-) = GND 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

 Tốc độ chuyển đổi : 100µs Công suất tiêu tán : 15 mW.


4.3.4. Lập trình cho ADC:
 Lập trình ghép nối ADC 0809 với VĐK 8051
Nối ghép ADC với 8255

You might also like