BỘ GIAO THÔNG VẬN TẢI TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MƠN: KỸ THUẬT MÁY TÍNH KHOA: CƠNG NGHỆ THƠNG TIN BÀI GIẢNG LẬP TRÌNH GHÉP NỐI THIẾT BỊ NGOẠI VI TÊN HỌC PHẦN MÃ HỌC PHẦN TRÌNH ĐỘ ĐÀO TẠO DÙNG CHO SV NGÀNH : LẬP TRÌNH GHÉP NỐI THIẾT BỊ NGOẠI VI : 17311 : ĐẠI HỌC CHÍNH QUY : CƠNG NGHỆ THƠNG TIN HẢI PHỊNG - 2010 MỤC LỤC Chƣơng 1: Các chuẩn ghép nối 1.1 Cổng song song 1.1.1 Cấu trúc cổng 1.1.2 Trao đổi cổng song song với đường dẫn tín hiệu 1.1.3 Lập trình cổng song song 1.2 Cổng nối tiếp 1.2.1 Các đặc trưng điện áp 1.2.2 Khôn mẫu khung truyền 10 1.2.3 Các vấn đề truyền thông 11 1.3 Bus nối tiếp đa 12 1.3.1 Bus nối tiếp đa - Giới thiệu chung 12 1.3.2 Đầu nối cáp tín hiệu 13 1.3.3 Truyền liệu nối tiếp 14 1.3.4 Phần cứng, phần mềm kết nối hệ thống 14 1.3.5 Chuẩn USB 2.0 15 1.4 Khe cắm mở rộng 15 1.4.1 BUS ISA 16 bit 15 1.4.2 BUS PCI 17 1.4.4 Ghép nối qua khe cắm mở rộng 18 Chƣơng Bus Ghép nối đa 20 2.1 Đặt vấn đề 20 2.2 Tiêu chuẩn IEEE-488 truyền thông 20 2.3 Cấu hình hoạt động Bus GPIB 21 Chƣơng Vòng đo điện áp 23 3.1.Truyền liệu vòng dòng điện 23 3.2 Vòng dòng điện 60mA 23 3.3 Vòng dòng điện 20mA 24 3.4 Vòng dòng điện đến 20mA 25 Chƣơng Các mạch điều khiển với biến đổi A/D 26 4.1 Card biến đổi A/D 12 bit dùng ICL7107 26 4.2 Card biến đổi A/D 12 bit dùng ADC547 26 4.3 Card biến đổi ADA 9-16 bit 27 Chƣơng Tự động hóa với PCL S7-200 29 5.1 Bộ điều khiển khả trình PCL 29 5.2 Soạn thảo chương trình với PCL 30 Chƣơng Họ vi điều khiển 8951 33 6.1 Cấu trúc phần cứng 33 6.2 Tập lệnh 35 -1- YÊU CẦU VÀ NỘI DUNG CHI TIẾT Tên học phần: Lập trình ghép nối thiết bị ngoại vi Bộ môn phụ trách giảng dạy: Kỹ thuật máy tính Mã học phần: 17311 TS tiết 45 Lý thuyết 30 Thực hành/Xemina 15 Tự học Loại học phần: Khoa phụ trách: CNTT Tổng số TC: Bài tập lớn Đồ án môn học Điều kiện tiên quyết: Sinh viên phải học xong học phần sau đăng ký học phần này: Kiến trúc máy tính, Điện tử số, Mạch tín hiệu, Vi xử lý, Kỹ thuật lập trình Mục tiêu học phần: - Cung cấp kiến thức cấu trúc, nguyên lý hoạt động hệ thống giao tiếp với giới bên - Nắm phương thức điều khiển vào/ra liệu - Hiểu rõ nguyên tắc, cách thức phối ghép điều khiển Nội dung chủ yếu Chương I Các chuẩn ghép nối Chương II Bus Ghép nối đa Chương III Vòng đo điện áp Chương IV Các mạch điều khiển với biến đổi A/D Chương V Họ vi điều khiển 805x Nội dung chi tiết học phần: TÊN CHƢƠNG MỤC Chƣơng I Các chuẩn ghép nối 1.1 Cổng song song 1.1.1 Cấu trúc cổng 1.1.2 Trao đổi cổng song song với đường dẫn tín hiệu 1.1.3 Lập trình cổng song song 1.2 Cổng nối tiếp RS-232 1.2.1 Các đặc trưng điện áp 1.2.2 Khuôn mẫu khung truyền 1.2.3 Các vấn đề truyền thông 1.2.4 Lập trình cho cổng nối tiếp RS-232 1.3 Bus nối tiếp đa 1.3.1 Giới thiệu chung 1.3.2 Đầu nối cáp tín hiệu 1.3.3 Truyền liệu nối tiếp PHÂN PHỐI SỐ TIẾT TS LT BT TH KT 25 16 1 0.5 0.5 0.5 0.5 0.5 -2- TÊN CHƢƠNG MỤC 1.3.4 Phần cứng, phần mềm kết nối hệ thống 1.3.5 Chuẩn USB 2.0 1.3.6 Các kiểu truyền phần mềm điều khiển 1.3.7 Lập trình Bus nối tiếp đa 1.4 Khe cắm mở rộng 1.4.1 BUS ISA 16 bit 1.4.2 BUS PCI 1.4.3 BUS AGP 1.4.4 Ghép nối qua khe cắm mở rộng Chƣơng II Bus Ghép nối đa 2.1 Đặt vấn đề 2.2 Tiêu chuẩn IEEE-488 truyền thông 2.3 Cấu hình hoạt động Bus GPIB Chƣơng III Vòng đo điện áp 3.1.Truyền liệu vòng dòng điện 3.2 Vòng dòng điện 60mA 3.3 Vòng dòng điện 20mA 3.4 Vòng dòng điện đến 20mA Chƣơng IV Các mạch điều khiển với biến đổi A/D 4.1 Card biến đổi A/D 12 bit dùng ICL7107 4.2 Card biến đổi A/D 12 bit dùng ADC547 4.3 Card biến đổi ADA 9-16 bit 4.4 Bộ đếm tần số dùng cho máy tính Chƣơng V Họ vi điều khiển 51 5.1 Bộ điều khiển khả trình PCL 5.2 Soạn thảo chương trình với PCL Chƣơng VI Họ vi điều khiển 51 6.1 Cấu trúc phần cứng 6.2 Tập lệnh 6.3 Kết nối điều khiển 8951 PHÂN PHỐI SỐ TIẾT TS LT BT TH KT 0.5 0.5 0.5 3 1 1 0.5 0.5 0.5 0.5 0.5 0.5 1 1 0,5 0,5 3 Nhiệm vụ sinh viên : Tham dự buổi thuyết trình giáo viên, tự học, tự làm tập giáo viên giao tham dự buổi thực hành, kiểm tra định kỳ cuối kỳ Tài liệu học tập : - Ngô Diên Tập, Đo lường điều khiển máy tính, NXB KH&KT - Ngơ Diên Tập, Kỹ thuật ghép nối máy tính, NXB KH&KT - Phan Xuân Minh, Tự động hóa với SIMATIC S7-2000, NXB NN - Kỹ thuật lập trình PLC-SPC - MSC 51 Microcontroller family user's manual- Intel -3- Hình thức tiêu chuẩn đánh giá sinh viên: - Đánh giá dựa tình hình tham dự buổi học lớp, buổi thực hành, điểm kiểm tra thường xuyên điểm kết thúc học phần - Hình thức thi cuối kỳ: thi viết Thang điểm: Thang điểm chữ A, B, C, D, F Điểm đánh giá học phần Z = 0.3X + 0.7Y Bài giảng tài liệu thức thống Bộ mơn Kỹ thuật máy tính, Khoa Cơng nghệ Thơng tin dùng để giảng dạy cho sinh viên Ngày phê duyệt: 25 / 10 / 2009 Trƣởng Bộ môn: ThS Ngô Quốc Vinh -4- Chƣơng 1: CÁC CHUẨN GHÉP NỐI 1.1 Cổng song song 1.1.1 Cấu trúc cổng Cổng song song có hai loại: ổ cắm 36 chân ổ cắm 25 chân Ngày nay, loại ổ cắm 36 chân khơng cịn sử dụng, hầu hết máy tính PC trang bị ổ cắm 25 chân nên ta cần quan tâm đến loại 25 chân VỊ TRÍ CHÂN TÊN TÍN HIỆU Strobe D0 D1 D2 D3 D4 D5 D6 D7 Acknowledge 10 Busy (Báo bận) 11 Paper empty (Hết giấy) 12 Select (Lựa chọn) 13 Auto Linfeed (Tự động 14 nạp dịng) Error (Có lỗi) 15 CHỨC NĂNG Khi đặt mức điện áp LOW vào chân này, máy tính thơng báo cho máy in biết có byte sẵn sàng đường tín hiệu để truyền Các đường liệu ( đường ) Mức LOW chân này, máy in thông báo cho máy tính biết nhận kí tự vừa gửi tiếp tục nhận Máy in gửi mức lôgic HIGH vào chân đón nhận hay in liệu để thơng báo cho máy tính biết đệm liệu đầy hay máy in trạng thái Off-line Máy in đặt trạng thái trở kháng cao (HIGH) chân hết giấy Một mức HIGH có nghĩa máy in trạng thái kích hoạt Mức LOW chân máy tính nhắc máy in tự động nạp dòng kết thúc dòng Mức LOW chân này, máy in báo cho máy tính biết xảy lỗi in Máy in đặt trở lại trạng thái xác định lúc ban đầu chân mức LOW Bằng mức LOW máy in lựa chọn máy tính Reset (Đặt lại trạng 16 thái máy in) Select Input (Lựa chọn 17 lối vào) Ground (Nối đất) 18-25 Qua bảng ta thấy cáp nối máy tính máy in bao gồm 25 sợi, nhiên tất sợi cáp sử dụng tận dụng dây cáp có vài sợi bị đứt -5- Qua cách mơ tả chức tín hiệu riêng lẻ ta nhận thấy đường dẫn tín hiệu chia thành nhóm: • Các đường dẫn tín hiệu xuất từ máy tính PC điều khiển máy in, gọi đường dẫn điều khiển • Các đường dẫn tín hiệu, đưa thông báo ngược lại từ máy in máy tính, gọi đường dẫn trạng thái • Đường dẫn liệu, truyền bit riêng lẻ ký tự cần in Từ cách mô tả tín hiệu mức tín hiệu ta nhận thấy tín hiệu Acknowledge, Auto Linefeed, Error, Reset, Select Input kích hoạt mức Low Thơng qua chức chân ta hình dung cách điều khiển máy in Cần ý đường dẫn song song dùng để chuyển liệu từ máy tính sang máy in Trong trường hợp này, chuyển sang ứng dụng đo lường điều khiển ta phải chuyển liệu từ mạch ngoại vi vào máy tính để thu thập xử lý Vì ta phải tận dụng năm đường dẫn theo hướng ngược lại, nghĩa từ bên vào máy tính để truyền số liệu đo lường 1.1.2 Trao đổi cổng song song với đường dẫn tín hiệu Để ghép nối thiết bị ngoại vi, mạch điện ứng dụng đo lường điều khiển với cổng song song ta phải tìm hiểu cách trao đỏi với ghi thông qua cách xếp địa ghi Các đường dẫn cổng song song nối với ba ghi bit khác nhau: -6- THANH GHI DỮ LIỆU ĐỊA CHỈ ( 278H, 378H, 2BCH, 3BC H) THANH GHI TRẠNG THÁI ĐỊA CHỈ ( 279H, 379H, 2BDH, 3BD H) THANH GHI ĐIỀU KHIỂN ĐỊA CHỈ ( 27AH, 37AH, 2BEH, 3BE H) Như sơ đồ trình bày đường liệu dẫn tới ghi liệu đường dẫn điều khiển Strobe, Auto Linefeed, Reset, Select Input dẫn tới ghi điều khiển Năm đường dẫn trạng thái Acknowledge, Busy, Paper Empty, Select, Error tới ghi trạng thái Thanh ghi liệu hay đường dẫn liệu đường dẫn hướng tất loại máy tính nên liệu xuất qua đường dẫn cụ thể từ D0 đến D7 Thanh ghi điều khiển hai hướng, hay nói xác hơn: Bốn bit có giá trị thấp xếp chân 1, 14, 16, 17 Thanh ghi trạng thái đọc gọi hướng -7- 1.1.3 Lập trình cổng song song Việc truy nhập trực tiếp lên giao diện máy tính PC, cụ thể lên đường dẫn riêng lẻ tiến hành thuận lợi hợp ngữ, Các ngôn ngữ bậc cao Turbo Pascal C có lệnh đơn giản để thực việc truy nhập lên cổng tốc độ truy nhập có thấp đơi chút Trước hết ta cần biết địa cổng mà qua giao diện song song trao đổi Sau định đọc liệu ghi xuất liệu ghi nào? Nói chung, lệnh sử dụng viết sau: Bằng hợp ngữ Để xuất liệu OUT DX, AL Để nhập vào liệu IN AL, DX Trong địa ghi cần trao đổi phải đứng DX Ví dụ: Giả sử LPT1 có địa 378H MOV DX,378H; Nạp địa cổng LPT1 vào ghi DX OUT DX,AL; Xuất nội dung ghi AL lên đường dẫn liệu (Từ D0 đến D7) LPT1 Hai lệnh sau đọc byte đường dẫn liệu cổng LPT1: MOV DX, 378H; Nạp địa cổng LPT1 vào ghi DX IN AL,DX: Đọc thông tin đường dẫn liệu (Từ D0 đến D7) LPT1 sang ghi AL Hai lệnh sau xuất nội dung ghi AL sang ghi điều khiển LPT1 MOV DX,37AH; Nạp địa ghi điều khiển cổng LPT1 vào ghi DX OUT DX,AL; Mang nội dung ghi AL sang ghi điều khiển LPT1 Hai lệnh sau đọc byte đường dẫn trạng thái cổng LPT1 đặt vào ghi AL MOV DX, 379H; Nạp địa ghi trạng thái vào ghi DX IN AL,DX; Đọc nội dung ghi trạng thái LPT1 sang ghi AL Bằng TurboC Để xuất liệu Outportb(Địa cổng,Giá trị) Để nhập vào liệu Inportb(Địa cổng) Ví dụ Lệnh sau xuất giá trị qua ghi liệu cổng LPT1 Outportb(0x378, 5) Lệnh sau đọc thông tin ghi trạng thái cổng LPT1 xếp vào biến status Status= Inportb(0x379) 1.2 Cổng nối tiếp 1.2.1 Các đặc trưng điện áp +12V mức logic (LOW) Một thông số quan trọng RS232 mức điện áp đường truyền RS232 sử dụng mức địên áp TTL giống cổng song song Chính sau đời RS232 xuất nhu cầu phải cải tiến Ngoài mức điện áp tiêu chuẩn quy định rõ giá trị trở kháng tải đấu vào bus trở kháng -8- phát đệm Hướng cải tiến mức điện áp tăng giá trị điện áp truyền để tăng khả chống nhiễu truyền xa Từ sơ đồ ta thấy cải tiến RS232B làm tăng mức điện áp từ ±5V đến ±25V, Trong đó: Mức logic tính từ -5V đến -25V Mức logic tính từ +5V đến +25V Các mức từ -3V đến +3V gọi trạng thái chuyển tiếp Các mức điện áp từ ±3V đến ±5V gọi không xác định Dữ liệu có mức điện áp rơi vào khoảng dẫn đến kết khơng dự tính tình trạng hoạt động hệ thống thiết bị kế sơ sài Điều đáng ý là: Mức ~ LOW, mức ~ HIGH trước đưa vào xử lý cịn có nhớ đảo cịn gọi nhớ chuẩn dạng tín hiệu Việc nâng mức điện áp chuẩn RS232B dẫn đến hạn chế tốc độ truyền, người ta thấy tốc độ truyền khoảng cách truyền phải có dung hồ RS232C chuẩn áp dụng Điện áp sử dụng ±12V Trong đó: -12V mức logic (HIGH) Cụ thể: +3V -> +12V mức +5V -> +12V mức tin cậy (của mức 0) -3V -> -12V mức -5V -> -12V mức tin cậy (của mức 1) Bằng việc thu hẹp giới hạn điện áp đường truyền, tốc độ truuyền liệu tăng lên đáng kể Ngoài chuẩn RS232C quy định trở kháng tải, giá trị thuộc phạm vi 3000Ω đến 7000 Ω; đồng thời đệm phải trì tăng điện áp tương đối lớn khoảng 30V/μs -9-