Bài giảng Đo lường và điều khiển bằng máy tính Chương 4 Giao tiếp qua cổng song song

25 413 0
Bài giảng Đo lường và điều khiển bằng máy tính Chương 4 Giao tiếp qua cổng song song

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

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

Thông tin tài liệu

GIAO TIẾP QUA CỔNG SONG SONG Chương 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 nhờ đặc điểm: - Lập trình đơn giản, dễ kết nối - Tốc độ nhanh Khuyết điểm cổng song song khoảng cách ngắn tính chống nhiễu Theo tiêu chuẩn IEEE 1284 năm 1994 có chế độ hoạt động cho cổng song song - SPP :cổng song song chuẩn có mode là: + Compatibility: xuất bit + Nibble: nhập 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ả (extended capability port) Tùy loại mainboard hỗ trợ mode hay vài mode Cổng SPP truyền liệu song song bit từ máy tính với vận tốc 50 Kbytes/sec đến 150 Kbytes/sec Khi muốn nhập liệu vào máy tính dùng mode Nibble truyền bit hay mode Byte truyền bit Cổng EPP ECP dùng thêm phần cứng hỗ trợ nên vận tốc truyền nhanh hơn, đến Mbytes/sec, thu phát song song bit Thay đổi chế độ cổng song song h vào BIOS SETUP máy tính khởi động máy CHƯƠNG 4.1 CỔNG SPP Cổng song song có đầu nối 25 chân thường dùng để kết nối với máy in đầu nối Centronics 34 chân Bảng 6.1 cho sơ đồ chân ý nghóa chân cổng SPP dùng với máy in, dấu “/” có nghóa tích cực thấp Ví dụ, chân 15 /Error hướng vào, chân xuống mức có lỗi Cột Đảo ghi chữ Có tức tín hiệu đảo mức, ví dụ chân 17 đưa mức logic ứng với chân nà y vào ghi điều khiển chân 17 xuất mức Bảng 6.1: Sơ đồ chân đầu nối phía máy tính (cổng SPP) phía máy in Chân Chân Tín hiệu Hướng Thanh ghi Đảo D – 25 Centronics SPP 1 /Strobe Vào/Ra Điều khiển Có 2 Data Ra Data 3 Data Ra Data 4 Data Ra Data 5 Data Ra Data 6 Data Ra Data 7 Data Ra Data 8 Data Ra Data 9 Data Ra Data 10 10 /Ack Vào Trạng thái 11 11 Busy Vào Trạng thái Có 12 12 Paper Out Vào Trạng thái 13 13 Select Vào Trạng thái 14 14 15 32 /Error 16 31 /Init 17 36 18 - 25 19 - 30 /Auto-Linefeed Vào/Ra Điều khiển Có Vào Trạng thái Vào/Ra Điều khiển /Select Printer Vào/Ra Điều khiển Có Mass Ngõ cổng song song tương thích với cổng TTL, dòng cấp thu khoảng vài mA đến 16mA tùy loại kết cấu phần cứng (công nghệ ASIC) Giao tiếp cổng song song với máy in thường thực theo H.6.1 GIAO TIẾP QUA CỔNG SONG SONG Hình 4.1: Sơ đồ kết nối bắ t tay Ban đầu liệu bit đưa ra, máy tính đọc chân Busy mức thấp máy in rảnh, đưa tín hiệu Strobe rộ ng sec máy in đọc liệu, đọc xong báo trở lại ACK rộng sec Nếu máy in bận Busy mức cao Việc giao tiếp thực qua ghi: ghi liệu, ghi điều khiển ghi trạng thái Thông thường sử dụng hai đòa gốc là: 378H cho LPT1 (line printer 1) 278H cho LPT2 Một số máy dùng đòa 03BC CHƯƠNG 4 - Thanh ghi liệu có đòa gốc +0, bit, nhận liệu để xuất ngoài, liệu chốt - Thanh ghi trạng thái đòa gốc +1 ghi đọc dùng để nhận tín hiệu từ vào, có tín hiệu vào D7 D0 Busy /ACK Paper Out Select /Error 11 10 12 13 15 /IRQ X X Chú ý bit Busy đảo, nghóa chân 11 có điện áp +5V bit D7 ghi trạng thái mức logic 0, bit D2 có ngắt từ /ACK - Thanh ghi điều khiển có bốn đường điều khiển, đòa gốc +2, đường dùng cực thu hở giao tiếp hai chiều D7 X D0 X Cho phép cổng hai chiều Cho phép IRQ qua ACK Chọn máy in /Select 17 Khởi động máy in /Init Xuống hàn g /Auto Linefeed Kích /Strobe 16 14 Các chân 1, 11, 14 17 đảo phần cứng, bit D6 ghi trạng thái (chân số 10) từ  gây ngắt IRQ7 cho phép D4 ghi điều khiển =1 Hình 4.2 Sơ đồ ghi liệu hai hướng Một số mainboard (H6.2) hỗ trợ giao tiếp hai chiều qua ghi liệu, bit D5 ghi điều khiển cho phép chân :9 ghi liệu có chiều vào, nghóa đưa tín hiệu vào châ n GIAO TIẾP QUA CỔNG SONG SONG đọc ghi liệu Các chân ghi điều khiển có ngõ cực thu hở nên nhận tín hiệu vào trước ta nạp bit cho ngõ ứng với ghi lên (sơ đồ H 6.3) Do tín hiệu /Busy, /Select, /AF /Strobe đảo phần cứng nên ta thêm cổng đảo, logic đọc vào phản ảnh mức tín hiệu Hình 4.3: Giao tiếp song song hai chiều qua cổ ng SPP Trong số trường hợp, chân ghi điều khiển không dùng loại cực thu hở mà dùng cột totem có chiều xuất, lúc dùng phân kênh để đọc bit liệu vào ghi trạng thái, đọc hai lần bit liệu (H6.4) Trong sơ đồ chân /Strobe dùng để chọn nửa byte thấp mức tức bit D0 ghi điều khiển mức Với sơ đồ việc xuất nhập liệu bit thực sau: 1- Xác đònh đòa gốc cổng LPT CHƯƠNG 2- Muốn xuất liệu, ghi liệu bitvào ghi liệu, muốn xuất nhiều bit dùng kèm tín hiệu Init, Select … h ghi vào ghi điều khiển byte thích hợp 3- Muốn đọc liệu, ghi bit D0 = vào ghi điều khiển, đọc bit cao ghi trạng thái (4 bit thấp liệu vào), dời phải bit, sau cho D0 ghi điều khiển 0, đọc bit cao ghi trạng thái (4 bit cao liệu vào), kết hợp hai lần đọc ta byte exclusive OR với 88H để đảo hai bit D7 D3 (do Busy đảo) Hình 4.4: Vào bit với 74LS157 Ví dụ lập trình Xuất trò biến oval1 ghi liệu oval2 ghi điều khiển, nhập giá trò inval từ ghi trạng thái Trong ngôn ngữ C # define DATA 0X378 # define STATUS DATA + # define CONTROL DATA + int oval1, oval2, inval; oval1 = 0X81; outportb (DATA, oval1); oval2 = 0X08; outportb (CONTROL, OVAL2 ^ 0x0b); // exclusive or inval = ((inportb (STATUS) ^ 0X80; Trong ngôn ngữ BASIC GIAO TIẾP QUA CỔNG SONG SONG DATA = &H378 STATUS = DATA + CONTROL = DATA + OVAL1 = 129 OUT DATA, OVAL1 OVAL2 = 75 OUT CONTROL, OVAL2 XOR 11 INVAL = ((INP (STATUS) XOR 128) AND &HF8) / Lập trình cho sơ đồ H4 đọc bit outportb(CONTROL, inportb(CONTROL) | 0x01); /* Chọn nửa byte thấp (A), phép tóan or */ a = (inportb(STATUS) & 0xF0); /* Đọc nửa byte thấp, phép toán and */ a = a >> 4; /* Dời phải bit */ outportb(CONTROL, inportb(CONTROL) & 0xFE); /* Chọn nửa byte cao (B)/ a = a |(inportb(STATUS) & 0xF0); /* Đọc nửa byte cao */ byte = a ^ 0x88; Sử dụng ngắt Khi bit ghi điều khiển mức cho phép ngắt chân ACK chuyển từ xuống 0, chương trình phục vụ ngắt IRQ7 gọi (cũng có lúc ngắt bò tác động ACK chuyển từ lên 1) Có thể viết chương trình kiểm tra xem ngắt có tác động không Về phần cứng cần nối chân (D7) với chân 10 (ACK) Vào Control panel –System kiểm tra đòa số ngắt cổng LPT #include #define PORTADDRESS 0x378 #define IRQ #define DATA PORTADDRESS+0 #define STATUS PORTADDRESS+1 #define CONTROL PORTADDRESS+2 #define PIC1 0x20 #define PIC2 0xA0 int interflag; /* Cờ ngắt */ int picaddr; /* Đòa gốc PIC) */ void interrupt (*oldhandler)(); void interrupt parisr() /* Interrupt Service Routine (ISR) */ { interflag = 1; outportb(picaddr,0x20); /* End of Interrupt (EOI) */ } void main(void) { int c; int intno; /* Số vectơ ngắt */ int picmask; /* Mặt nạ */ if (IRQ >= && IRQ [...]... yyww) GIAO TIẾP QUA CỔNG SONG SONG 21 22 CHƯƠNG 4 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 GIAO TIẾP QUA CỔNG SONG SONG 23 CHƯƠNG 4 24 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, ... ARRAY 4K7 x 8 R2,R4,R8,R11,R12,R13,R15 4K7 R7,R5 1K R6 3K3 R9 2K7 GIAO TIẾP QUA CỔNG SONG SONG 25 R10 680R R 14 220R T2,T1 2N3906 T3,T4 2N39 04 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. .. của cổng ECP Chi tiết về các thanh ghi có thể xem trong các tài liệu chuyên sâu hay đòa chỉ GIAO TIẾP QUA CỔNG SONG SONG 13 www.beyondlogic.org, www.lvr.com 4. 4 GHÉP NỐI HAI MÁY TÍNH Hai máy tính có thể ghép với nhau qua cổ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 4. 8: Giao. .. 12 bit ghép với máy tính qua cổng máy in Vi mạc h 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 GIAO TIẾP QUA CỔNG SONG SONG Hình 4. 9: Sơ đồ áp dụ ng LTC1290 Hình 4. 10 Sơ đồ khối LTC1290 và giản đồ thời gian 15 CHƯƠNG 4 16 Vi mạch hoạt.. .GIAO TIẾP QUA CỔNG SONG SONG 16 18 – 29 / ReverseRequest Ra 11 Khi ở mức thấp cho biết dữ liệu nhập vào máy tính Mass Khi truyền dữ liệu từ máy tính ra ngoại vi thì HostAck sẽ đổi mức, còn truyền dữ liệu từ ngoại vi vào máy tính thì PeriphAck đổi mức Trên tuyến dữ liệu có thể truyền dữ liệu hay lệnh Nếu Host Ack và Periph Ack ở mức cao là truyền dữ liệu Nếu máy tính gởi lệnh, Host... + 2 048 ) and 40 95) / 2 048 – 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 4. 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... 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 1 Chân Chân  10 2  9 > 2  9 Chân 15  17 14  11 10  1 16  12 11  14 17  15 12  16 13  13 18  25 ... hay đòa GIAO TIẾP QUA CỔNG SONG SONG 13 www.beyondlogic.org, www.lvr.com 4. 4 GHÉP NỐI HAI MÁY TÍNH Hai máy tính ghép với qua cổng song song hay cổng nối tiếp để truyền số liệu thông qua tiện... âm 10ms GIAO TIẾP QUA CỔNG SONG SONG 23 CHƯƠNG 24 U1 74HC299 (ghi dòch hai hướng bit, cài trạng thái) điều khiển liệu máy tính điều khiển, U3 74HC573 (cài bit) cài byte đòa thấp U4 74HC595 (ghi... ASIC) Giao tiếp cổng song song với máy in thường thực theo H.6.1 GIAO TIẾP QUA CỔNG SONG SONG Hình 4. 1: Sơ đồ kết nối bắ t tay Ban đầu liệu bit đưa ra, máy tính đọc chân Busy mức thấp máy in

Ngày đăng: 03/01/2016, 15:42

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan