Professional Documents
Culture Documents
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.
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
Nội Dung:
Ổ 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ị
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.
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.
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
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ữ)
IRQ6 Điều khiển đĩa mềm IRQ14 Điều khiển đĩa cứng
VXL
BGN1 BGN2 BGN3
INTA
DI0÷DIn
INTA
INTA 0
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
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
A0 D7 D6 D5 D4 D3 D2 D1 D0
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.
Error (CHÂN 5)
STROBE (CHÂN 1)
Đ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
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
64
Chế độ 1: Vào/ra với xung cho phép
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
81
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
0
Nối ghép và lập trình cho 8255A
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
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
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
Đồ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
Ư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
Bit Bit
start stop
12V LOW
D0 D1 D2 D3 D4 D5 D6 D7
-12V HIGH
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ộ 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.
- 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.
- 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.
Đặ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.
Đặ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
Đặ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
0 S6 S5 S4 S3 S2 S1 S0
Đặ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
Đặ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 5 Thanh ghi nhận rỗng Bit 5 Sẵn sàng thiết lập dữ liệu
Bit 3 Lỗi khung truyền Bit 3 Phát hiện sóng mang dữ liệu delta
Bit 1 Lỗi đường truyền Bit 1 Sẵn sàng thiết lập dữ liệu delta
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:
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
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:
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:
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
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
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 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
• 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.
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ươ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
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
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ụ: 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 đổ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:
Các
mạch
Chuyển đổi DA theo kiểu
D/A
mạch R – 2R
điển
hình
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
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.
Đố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ự.
Độ 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:
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