Giáo trình Đo lường và điều khiển bằng máy tính - Chương 6: Giao tiếp qua cổng song song

Cổng song song thường dùng để giao tiếp máy vi tính với đối tượng

bên ngoài nhờ các đặc điểm:

- Lập trình đơn giản, dễ kết nối

- Tốc độ nhanh.

Khuyết điểm của cổng song song là khoảng cách ngắn do tính chống

nhiễu kém. Theo tiêu chuẩn IEEE 1284 năm 1994 có 5 chế độ hoạt động

cho cổng song song.

- SPP :cổng song song chuẩn có 3 mode là:

 + Compatibility: xuất 8 bit

 + Nibble: nhập 4 bit

 + Byte: cổng hai chiều

- EPP: cổng song song tăng cường (enhanced parallel port)

- ECP: cổng mở rộng khả năng (extended capability port)

pdf24 trang | Chuyên mục: Công Nghệ Tri Thức & Máy Học | Chia sẻ: dkS00TYs | Lượt xem: 2233 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Đo lường và điều khiển bằng máy tính - Chương 6: Giao tiếp qua cổng song song, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ång song song hay cổng nối 
tiếp để truyền số liệu thông qua tiện ích Direct Cable Connection của hệ 
điều hành Windows hay tiện ích tương tự của phần mềm Norton 
Commander. 
Hình 6.8: Giao diện ghép nối hai máy tính 
1- Ghép nối song song (Laplink cable):Dùng cáp nối với hai đầu đực 
DB25, giao tiếp 4 bit 
 Chân Chân 
D0 2 → 15 
D1 3 → 13 
D2 4 → 12 
D3 5 → 10 
D4 6 → 11 
ACK 10 ← 5 
Busy 11 ← 6 
CHƯƠNG 6: GIAO TIẾP QUA CỔNG SONG SONG Trang 14 
Thành phố Hồ Chí Minh, tháng 4 năm 2006 
Paper out 12 ← 4 
Select 13 ← 3 
Error 15 ← 2 
GND 25 ← 25 
2- Ghép nối nối tiếp: Dùng cáp nối hai đầu cái DB9 hay DB25 
 9 chân 25 chân 25 chân 9 chân
GND 5 7 7 5 
TXD 3 2 3 2 
RTS 7 4 5 8 
DSR 1, 6 6 20 4 
RXD 2 3 2 3 
CTS 8 5 4 7 
DTR 4 20 6 1 , 6 
Truyền bằng đường song song nhanh gấp tám đến mười lần truyền 
nối tiếp. 
Nếu cổng song song hai máy có cấu hình ECP thì vận tốc truyền còn 
nhanh hơn nữa, dưới đây là cáp nối với cổng ECP 
Chân Chân Chân Chân
1 → 10 15 ← 17 
2 ÷ 9 ←> 2 ÷ 9 14 → 11 
10 ← 1 16 → 12 
11 ← 14 17 → 15 
12 ← 16 18 ÷ 25 <→ 18 ÷ 25
13 ← 13 
6.5 CARD CHUYỂN ĐỔI 8 KÊNH 12 BIT DÙNG CỔNG 
MÁY IN 
Sử dụng vi mạch LTC 1290 8 kênh 12 bit ta có thể thực hiện mạch 
chuyển đổi 12 bit ghép với máy tính qua cổng máy in. Vi mạch LTC 1290 
là sản phẩm của hãng Linear technology đổi A/D dùng phương pháp xấp 
xỉ liên tiếp 12 bit đơn cực hay 11 bit cộng dấu, thời gian đổi 13μs max, kết 
quả đo đưa ra ngoài dạng nối tiếp. Hình 6.9 cho sơ đồ áp dụng. 
Tác giả: TS Nguyễn Đức Thành Trang 15 
Hình 6.9: Sơ đồ áp dụng LTC1290 
CHƯƠNG 6: GIAO TIẾP QUA CỔNG SONG SONG Trang 16 
Thành phố Hồ Chí Minh, tháng 4 năm 2006 
Hình 6.10 Sơ đồ khối LTC1290 và giản đồ thời gian 
Vi mạch hoạt động với xung đồng bộ SCLK. Khi CS chuyển từ 1 
xuống 0, cạnh lên của SCLK đưa 8 bit từ Din vào thanh ghi dời để định 
chế độ hoạt động của vi mạch, cạnh xuống của SCLK đưa kết quả chuyển 
đổi lần trước từ thanh ghi dời nối tiếp ra Dout. Khi đã đủ 8 bit Din vào cấu 
hình chuyển đổi theo bảng sau, B7 là bit Din vào trước. 
B7 B6 B5 B4 B3 B2 B1 B0 
Đơn/ 
visai 
Dấu 
Chọn 
1 
Chọn 
0 
Đơn cực/ 
Lưỡng cực 
MSB/ 
LSB 
Chiều dài từ Chiều dài từ 
B7 = 1: 8 ngõ vào đơn so với chân COM, B6 B5 B4 chọn một trong 8 
ngõ vào. 
B7 = 0: 8 ngõ vào chia thành 4 cặp vi sai 01, 23, 45, 67, bit B5 B4 
chọn một trong 4 cặp còn bit B6 = 1 sẽ ấn định các đầu 0, 2, 4, 6 dương so 
với 1, 3, 5, 7; B6 = 0 ấn định ngược lại. 
B3 = 1: chọn đổi đơn cực, tín hiệu vào từ 0 đến Vref = +5V 
B3 = 0: chọn đổi lưỡng cực, tín hiệu vào -Vref (800H) đến Vref -
1LSB (7FFH), bit đầu là bit dấu 
B2 = 1: cho biết sẽ truyền MSB đầu tiên ra Dout 
 = 0: cho biết sẽ truyền LSB đầu tiên ra Dout 
B1 và B0 cho biết chiều dài từ của Dout. 
B1 B0 
0 0 8 bit 
  cắt nguồn 
1  12 bit 
1 1 16 bit 
B1= 0, B0= 1: vi mạch ở chế độ cắt nguồn lúc đó CS= 1 dòng tiêu 
thụ khoảng 10μA. 
Sau khi đã đủ số xung nhịp SCLK được ấn định bởi chiều dài từ CS 
được đưa lên mức 1, bắt đầu chuyển đổi theo xung nhịp ACLK, tần số tối 
đa 4Mhz, sau đó từ 48 đến 52 xung ACLK, nếu CS xuống mức 0 thì kết 
quả đổi sẽ đưa ra Dout theo cấu hình đã đặt trước còn Din sẽ đưa vào và 
đặt cấu hình mới. Các thông tin chi tiết hơn về vi mạch có thể tìm trong 
trang web: www.linear-tech.com. 
Mạch chuyển đổi H6.10 cho phép đổi tín hiệu đơn 0V ÷ 2,5V hay tín 
hiệu lưỡng cực (–2,5V) ÷ (+ 2,5V). Xung nhịp SCLK và dữ liệu Din xuất ra 
từ cổng máy in còn kết quả đổi Dout đưa vào ACK của cổng. 
Tác giả: TS Nguyễn Đức Thành Trang 17 
{======= CHƯƠNG TRÌNH ĐIỀU KHIỂN CHO CARD AD 12 BIT =======} 
unit ltc1290; 
interface 
const 
 vref = 2.48; 
function adc_read (ch: integer): real; 
implementation 
Hình 6.10 
const 
 sclk = 1; 
 din = 2; 
 dout = 64; 
 cs = 4; 
function adc_read; 
const 
 wconst = 1 + 32 + 64; { }vào đơn, lưỡng cực, MSB đầu 
 chconst: array [0..7] of byte = (0, 2, 8, 10, 4, 6, 12, 14); 
 delay = 10; { }có thể thay đổi tùy máy tính 
 aout = $378; 
 ain = $379; 
CHƯƠNG 6: GIAO TIẾP QUA CỔNG SONG SONG Trang 18 
Thành phố Hồ Chí Minh, tháng 4 năm 2006 
var 
 i: integer; 
 win: word; 
 result: word; 
begin 
 for i:= 1 to delay do begin end; 
 win := wconst + chconst [ch]; 
 port [aout] := 0; { }drop CS' { dời word cấu hình vào} 
 for i := 1 to 12 do begin 
 port [aout] := (win and 1)* din; 
 port [aout] := (win and 1)* din + sclk; 
 win := win div 2; 
 port [aout] := 0; 
 end; 
port [aout] := cs; 
for i := 1 to delay do begin end; 
port [aout] := 0; {nhận kết quả chuyển đổi} 
result := 0; 
win := wconst + chconst [ch]; 
for i := 1 to 12 do begin 
 port [aout] := (win and 1)* din; 
 port [aout] := (win and 1)* din + sclk; 
 result := result*2; 
 if port [ain] and dout 0 then result := result + 1; 
 port [aout] := 0; 
end; 
port [aout] := cs; 
adc_read := vrel*((result + 2048) and 4095) / 2048 – vref; 
end; 
{======= CHƯƠNG TRÌNH DEMO ========} 
program testltc; 
uses crt, ltc1290 
var i: integer; 
begin 
 writeln (‘Nhấn phím để thoát’); 
 while not keypressed do begin 
 for i := 0 to 7 do write (adc_read(i) :4:4,’’); 
 writeln (‘V’); 
 delay (1000); 
 end; 
end. 
6.6 MẠCH LẬP TRÌNH VI ĐIỀU KHIỂN ATMEL 89C 
 Máy tính thường dùng để lập trình cho vi điều khiển hay EPROM qua 
cổng song song hay nối tiếp. Mục này trình bày bộ lập trình cho vi mạch 
họ Atmel 89C51/52/55/1051/2051/4051. 
 AT89C2051 có Flash ROM 2Kbyte trên chip ở trạng thái xóa FFH, sẵn sàng để 
lập trình, lập trình từng byte một , khi đã lập trình muốn lập trình lại một byte cũng 
Tác giả: TS Nguyễn Đức Thành Trang 19 
phải xóa toàn bộ bộ nhớ. Đếm địa chỉ bộ nhớ bằng bộ đếm trong nhận xung đếm từ 
cạnh lên của XTAL1, và được xóa về 000H bởi cạnh lên của RST. 
 Lập trình bộ nhớ theo thứ tự sau: 
1. Cấp nguồn 5V giữa VCC và GND , RST và XTAL1 mức 0 
2. Đặt RST mức cao, chân P3.2 mức cao 
3. Cung cấp các mức logic phù hợp cho các chân P3.3, P3.4, P3.5, P3.7 
theo các mục sau: 
 LậpTrình và kiểm tra: 
4. Đưa dữ liệu code địa chỉ 000H vào P1.0 đến P1.7. 
5. Nâng RST lên 12V để cho phép lập trình. 
6. Tạo xung P3.2 để lập trình một byte hay bit khóa thời gian lập trình 
khoảng 1.2ms. 
7. Muốn kiểm tra dữ liệu hạ RST từ 12V đến mức 5V và đặt các chân P3..3 
đến P3.7 mức thích hợp. Dữ liệu ra đọc ở port P1 . 
8. Lập trình địa chỉ kế cho XTAL1 một xung để tăng bộ đếm địa chỉ trong, 
đưa code vào P1. 
9. Lập lại bước 6 đến 8, thay đổi dữ liệu và tăng bộ đếm địa chỉ cho đến 
khi hết bộ nhớ hay đến cuốí file. 
10, Đặt XTAL1 và RST mức thấp, tắt nguồn 
Ready/Busy: Khi đang lập trình chân P3.1 ở mức thấp báo bận, khi lập trình 
xong chân này ở mức cao báo sẵn sàng 
Program Verify: Nếu các bit khóa LB1 và LB2 chưa đước lập trình code có 
thể đọc lại để kiểm tra 
1. Xóa bộ đếm trong khi RST có cạnh lên. 
2. Đặt các mức logic phù hợp và đọc code ở port P1. 
CHƯƠNG 6: GIAO TIẾP QUA CỔNG SONG SONG Trang 20 
Thành phố Hồ Chí Minh, tháng 4 năm 2006 
3. cấp một xung vào chân XTAL1 để sang ô nhớ kế 
4. Đọc code. 
5. Lập lại các bước 3 và 4 . 
 Chip Erase: Bộ nhớ và bit khóa được xóa bởi các mức logic phù hợp như bảng 
trên và P3.2 có xung thấp 10ms 
 Reading the Signature Bytes: Byte signature được đọc ở địa chỉ 000H, 001H, 
và 002H, với P3.5 và P3.7 ở mức thấp. 
(000H) = 1EH ký hiệu Atmel 
(001H) = 21H ký hiệu 89C2051 
Lập trình 89C51: 
Trên chip có ba bit khoá có thể ở trạng thái không lập trình (U) hay lập trình (P) 
LB1 LB2 LB3 
1 U U U Không khóa chương trình. 
 2 P U U Cấm đọc chương trình, cấm lập trình thêm 
 3 P P U Giống trên, cấm kiểm tra 
 4 P P P Giống trên, 
Tác giả: TS Nguyễn Đức Thành Trang 21 
Có hai cách lập trình với VPP = 12V (AT89C51 xxxx yyww) hay VPP = 5V 
(AT89C51 xxxx-5 yyww) 
Lập trình: Địa chỉ 12 bit đưa vào port 1 và 4 bit thấp port 2, code đưa vào port 0, 
các chân P2.7, P2.8, P3.7, P3.8, RST, /PSEN, /EA có logic phù hợp, ALE có xung 
âm rộng 1.2ms 
Xóa toàn bộ: ALE có xung âm 10ms 
 U1 74HC299 (ghi dịch hai hướng 8 bit, cài 3 trạng thái) điều khiển dữ 
liệu giữa máy tính và bộ điều khiển, U3 74HC573 (cài 8 bit) cài byte địa chỉ 
thấp U4 74HC595 (ghi dời 8 bit cài) cài byte địa chỉ cao, U2 74HC595 tạo các 
tín hiệu điều khiển, U6 cấp nguồn 5V, U5 tạo các điện áp lập trình. chi tiết ở 
địa chỉ  
Bảng linh kiện: 
C1,C2,C3,C6,C8 100nF 
C4,C5 33pF 
C7 2.2nF 
C9 1000uF 25V 
C10,C11,C12 10uF 25V 
D1 1N4148 
D2 LED RED 3mm 
D3 LED GREEN 3mm 
K2 ZIF SOCKET 40 WAY 
P1 5K MULTITURN 
P2 50K MULTITURN 
R1,R3 RESISTOR ARRAY 4K7 x 8 
R2,R4,R8,R11,R12,R13,R15 4K7 
R7,R5 1K 
R6 3K3 
R9 2K7 
R10 680R 
CHƯƠNG 6: GIAO TIẾP QUA CỔNG SONG SONG Trang 24 
Thành phố Hồ Chí Minh, tháng 4 năm 2006 
R14 220R 
T2,T1 2N3906 
T3,T4 2N3904 
U1 74HC299 
U4,U2 74HC595 
U3 74HC573 
U5 LM317LZ 
U6 LM7805 
X1 CRYSTAL 4.0 MHz 
--------o--------- 
Bài tập gợi ý 
1/ Nghiên cứu ghép 8255 với cổng máy in để tăng số ngõ logic. 
2/ Thiết kế và lập trình mạch mở rộng cổng máy in 56 bit ra và 8 bit vào. 
3/ Thiết kế mạch điều khiển động cơ bước 4 pha dùng cổng song song và viết 
chương trình quay n xung với tần số f Hz. 
4/Nghiên cứu hoạt động và viết chương trình cho mạch ghi AT89C51. 

File đính kèm:

  • pdfGiáo trình Đo lường và điều khiển bằng máy tính - Chương 6 Giao tiếp qua cổng song song.pdf
Tài liệu liên quan