Kỹ thuật ghép nối máy tính

45 42 0
Kỹ thuật ghép nối máy tính

Đ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

Ngơ Diên Tập KỸ THUẬT GHÉP NỐI MẤY TÍNH (Tái lần thứ ba, có sửa chữa) NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT H À NÔI L è ỉi, X â ìạ > S ự phát triển ”Kỹ th u ậ t ghép nối VỚI m áy tin h ” mở rộng đáng kê lĩnh vực ứng dụng máy tính, đặc biệt đo lường điều khiển Chính vi mà khơng nhiều người sử dụng máy tính quan tâm đến chủ để mà nhiều Trường Đại học L’à nước đưa vào chương trinh giảng dạy mòn K ỹ t h u ậ t g h é p n ỏ ì Cuốn sách tập hỢp m ộ t s ố g iả n g biên soạn cho sinh viên số ngành Cống nghệ Đại học Quốc gia Hà nội, nhằm giúp cho bạn đọc có hiểu biết đầy đủ vé đặc điểm, cấu trúc cổng, đường bus ứng dụng kỹ thuật ghép nối máy tinh Sau phần trinh bày hiểu biết thí dụ minh hoạ - phần mạch điện củng phần mềm - với mạch ứng dụng để bạn đọc bắt tay vào việc triển khai mạch ghép nơĩ cụ thể Cuốn sách sử dụng cho sinh viên ngành Điện tử, Tin học, Vật lý, Đo lường, Tự động hoá tất quan tâm đến việc mỏ rộng ứng dụng máy tính N ội d u n g cuốh sách đưỢc trinh bà y theo cách khơng đị i hỏi nhiều hiểu biết kỹ thuật lập trình nên thí dụ, viết thời gian khác nhau, viết Assembly, PASCAL c, ngôn ngữ giảng dạy sỏ đào tạo T u ỳ theo kinh nghiệm uà mức độ thông thạo rnà bạn dục cỏ thé sử dụng ngôn ngữ khác như: VISUAL BASIC DELPHI đ ể có chương trinh có chất lượng cao Bạn đọc quan tâm đến vấn để tim đọc sách "Lập tr in h ghép nối máy tin h Window8'' xuất gần Mặc dù đá dành thời gian thích đáng cho cơng việc khơng tránh khỏi số lỗi cịn sót lại sách, Rất mong bạn đọc gần xa dẫn cho, Thư từ góp ý xin gửi Nhà xuất Khoa học Kỹ thuật, 70 Phô' Trần Hưng Đạo, Hà nội trực tiếp cho tác giả theo địa chỉ: ndtap@netnam.vn Hà nội, th án g sáu 2000 Tác g iả MỤC LỤC Trang □ Lời nói đầu □ Mục lục □ Chương Cổng song song • 1.1 Cấu trúc cổng song song 11 • 1.2 Giao diện hai hướng 30 • 1.3 Giao diện hướng 33 • 1.4 Trao đổi với đường dẫn tín hiệu phần mềm 35 □ Chương Rãnh cắm mở rộng 45 • 2.1 Đặt vấn để 45 • 2.2 BusPC 46 • 2.3 B u slS A (1 b it) 50 Các đường dẫn bắt tay 54 • 2.4 BusMCA 56 • 2.5 Bus EISA 57 • 2.6 Bus VESA LOCAL 57 • 2,7 BusPCI 60 • 2.8 So sánh kiểu khác 63 • 2.9 Ghép nối qua rãnh cắm mỏ rộng 65 - 2.9.1 Một số đăc điểm card ISA 66 - 2.9.2 Giải mã địa cho card mỏ rộng 68 □ Chương cổng nối tiếp RS-232 í! • 3.1 Đặt vấn đề 77 • 3.2 Vài nét nguồn gốc 78 • 3.3 Các đặc trưng điện 79 - 3.3.1 Các mức điện áp đường truyền 79 - 3.3.2 Đầu nối máy tính p c ‘ 82 • 3.4 Khn mẫu khung truyền 85 -3.4.1 Tốc độ baud 87 - 3.4.2 Phân chia khoảng thời gian luồng bit 88 • 3.5 Truyền thông hai nút -3.5.1 Bắt tay 89 90 - 3.5.3 Truyền thơng đơn giản khơng có bắt tay 92 - 3.5.4 Bắt tay phần mềm 93 - 3.5.5 Bắt tay phần cứng 94 ' 3.5.6 Trao đổi thơng tin hai chiều cóbắt tay 94 • 3.6 Một số tiêu chuẩn truyền nối tiếpkhác 95 -3.6.1 Chuẩn ghép nối RS-422 97 - 3.6.2 Chuẩn ghép nối 423A 98 - 3.6.3 Chuẩn ghép nối 485 98 - 3.6.4 So sánh chuẩn ghép nối nối tiếp 99 • 3.7 Các chương trình truyền thơngnốitiếp VVindovvs 101 -3.7.1 HyperTerminal Terminal 102 - 3.7.2 Quay số để nối mạng 105 • 3.8 Lập trình cho cổng RS-232 108 -3.8,1 Bộ truyền nhận không vạn 8250 109 -3.8.2 Các ghi 118 -3.8.3 Lập trình cho cổng nối tiếp RS-232C 132 • 3.9 Một số chương trình dùng cho cổng RS-232 137 • 3.10 Điều khiển ngắt ỏ RS-232 143 -3.10.1 Các chương trinh Win32 143 -3.10.2 Chương trình cho RS-232 chạy DOS 144 - 3.10.3 Mơ tả chương trình 149 • 3.11 Bus nối tiếp đa 156 -3.11.1 Những nét chung bus USB 156 - 3.11.2 Đẩu nối cáp -3.11.3 Truyền liệu nối tiếp 161 164 -3.11.4 Cáchub 168 - 3.11.5 Phần cứng phần mềm máy chủ 172 -3.11.6 Kết nối hệ thống bus 173 -3.11.7 Phiên USB 2.0 175 -3.11.8 Các kiểu truyền USB 177 - 3.11.9 Sự điểm danh 178 -3.11.10 Gọi phần mềm điều khiển 185 • 3.12 Firewire 187 -3.12.1 Tôpô 188 - 3.12.2 Truyền không đẳng thời 190 -3.12.3 Khuôn mẫu gói IEEE-1394 192 - 3.12.4 Quản lý bus 192 -3.12.5 Cáp 193 -3.12.6 TỐC độ truyền 193 • 3.13 Bus AGP □ Chương • 4,1 194 Vịng dịng điện Truyền dữliệu vịng dịng điện 198 198 • 4.2 Vịng dịng điện 60 mA 202 • 4.3 Vịng dịng điện 20 mA 205 • 4.4 Vịng dịng điện đến 20 mA 209 □ Chương Bus ghép nối đa 219 • 5.1 Đạt vấn để 219 • 5.2 Vài nét nguồn gốc 220 • 5.3 Tiêu chuẩn IEEE-488 truyền thóng 221 -5.3.1 Các thiết bị ghép nối với bus IEEE-488/GPIB 224 -5.3.2 Cấu trúc bus IEEE-488/GPIB 226 • 5.4 Cấu hình hoạt động bus GPIB 229 -5.4.1 Cấu hình bus IEEE-488/GPIB 229 -5.4.2 Hoạt động bus IEEE-488/GPIB 231 □ Chương Môđem 237 • 6.1 Mở đầu 237 • 6.2 Truyền thơng qua cổng nối tiếp 241 Tốc độ truyền theo bit tốc độ baud 242 • 6.3 C ác tiêu chuẩn dùng cho mơđem 243 • 6.4 Các lệnh mơđem 243 • 6.5 Các ghi mơđem 247 • 6.6 Cáp nối mơđem 251 • 6.7 Cài đặt mơđem 251 • 6.8 Các đèn báo mơđem 256 • 6.9 Quan sát prile 257 • 6.10 Các chế độ kiểm tra 258 -6.10.1 Vòng lặp ngược analog cục (&T1) 259 - 6.10.2 Vòng lặp ngược tương tự cục với chế độ tự kiểm tra 260 -6.10.3 Vòng lặp ngược số từ xa (& T6) 262 - 6.10.4 Vịng lăp ngược sơ' từ xa với chế độ tự kiểm tra (& T7) 262 • 6.11 Điều biến SỐ 263 -6.11.1 Khóa dịch chuyển tần số 263 -6.11.2 Khóa dịch chuyển pha 264 -6.11.3 Sự điều biến M mức 264 • 6,12 Các mơđem thơng dụng 265 - 6.12.1 Kỹ thuật nén v.42bis MNP 266 -6.12.2 Môđem v.22bis 266 -6,12.3 MơđemV.32 267 • 6.13 Truyền liệu qua Fax Mã Huffman sửa đổi □ Chương Ghép nối thành mạng 268 268 271 • 7.1 Mỏ đầu 271 • 7.2 MơhìnhOSI 274 • 7.3 Các tiêu chuẩu truyền thơng mơ hình OSI 278 • 7.4 Các quan lập tiêu chuẩn 279 • 7.5 Các loại cáp mạng 281 • 7.6 Kết nối mạng 282 - 7.6.1 Các chuyển tiếp 284 - 7.6.2 Cầu nối 285 -7.6.3 Bộ định tuyến 287 - 7.6.4 Thí dụ cẩu nối/ router 289 • 7.7 Tơpơ mạng -7.7.1 Mạng hình 290 292 - 7.7.3 Mạng vịng - 7.7.3 Mạng bus 292 293 n Chương Ethernet 295 • 8.1 Mỏ đầu 295 • 8.2 Cấc chuẩn IEEE 297 • 8,3 Ethernet - lớp điềukhiển truy nhậpmơi trường 298 -8.3.1 Ethernet II • 8.4 Chuẩn IEEE 802.2 vàEthernet snap -8.4.1 ThủtụcLLC • 8.5 Mơ hình OSI chuẩn IEEE 802.3 -8.5.1 Điều khiển truy nhập môi truởng ừuyền (MAC) - 8.5.2 Tạo tín hiệu Vật lý (PLS) phần đính kèm mơi trường 300 300 302 303 305 305 vật lý (PMA) • 8.6 Bộ truyển/ nhận Ethernet 306 • 8.7 NIC 307 -8.7.1 Giao diện mạng 308 - 8.7,2 Bộ giải mã Manchester 309 -8.7.3 Bộ nhớ đệm 312 - 8.7.4 Sự bổ sung Ethernet 313 • 8.8 Những hạn chế chuẩn Ethernet 314 -8.8.1 Chiều dài đoạn 314 - 8.8.2 Chiều dài chuyển tiếp 314 -8.8.3 Các mối liên kết cực đại 315 -8.8.4 Khoảng cách truyền/nhận 315 • 8.9 Các loại Ethernet 316 • 8.10 Hub cặp dây xoắn 317 • 8.11 Ethernet 100 Mbps 319 -8.11.1 100BASE-4T 321 8B6T 322 -8.11.2 100VG-Anyư\N 5B6B • 8.12 Chuyển mạch hub chuyển mạch 322 324 328 -8.12.1 Chuyển mạch đoạn 330 - 8.12.2 Chuyển mạch desktop 330 - 8.12.3 Chuyển mạch cất giữ gửi chuyển tiếp 330 - 8.12.4 Cơng nghệ chuyển mạch 331 • 8.13 So sánh.íast Ethernet 332 □ Chương Một số mạch ghép nối 333 • 9.1 Chuyển mạch cổng máy in 333 • 9.2 Mạch cách ly 336 • 9.3 Bộ biến đổi RS-232/RS-422(RS-485) 338 • 9.4 Card biến đổi A/ D 12 bit dùng ICL7107 340 • 9.5 Card biến đổi A/ D 12 bit dùng ADC 547 360 • 9.6 Card biến đổi ADA 9-16 bit 368 • 9.7 Bộ đếm tần sơ' 1.3 GHz dùng máy tính PC 382 □ 10 Tài liệu tham khảo 394 CỒNG SONG SONCi Chương CỔNG SONG SONG Khi máy tín h PC xuất xưởng bày bán cửa hàng n h sản xuất, ngưồi bán ngưòi dùng ngầm hiểu chưa phải hệ thống hồn chỉnh, khơng phải hệ thống khép kín Tuỳ theo yêu cầu sử dụng, ngưịi dùng n ân g cấp, mở rộng cấu hình cách ghép nối thêm card mở rộng th iết bị ngoại vi môđem, máy in Các nhà sản x u ất máy tín h dự trữ sẵ n rã n h cắm mỏ rộng trê n mạch chính, cổng ghép nô'i: song song (LPT) nôl tiếp (COM) Đây vỊ trí mà kỹ th u ậ t ghép nối m áy tín h tác động vào Để ghép nối với máy tín h ta có ba k h ả để lựa chọn: Ghép nơì qua cổng máy in hay cịn gọi cổng song song ^ Ghép nơì qua rã n h cắm mở rộng mạch 'S' Ghép nối qua cổng RS 232 hay gọi cổng nơl tiếp Mỗi khả có nh ữ n g ưu nhược điểm riêng nên tồn Tuỳ theo hoàn cảnh cụ th ể toán ứng dụng, tuỳ theo vật tư đan g có tay tuỳ theo kinh nghiệm có đưỢc b ản th â n m trước tiến h n h ghép nối máy tín h ta ln phải cân nhắc xem nên sử dụng k h ả n ă n g cho thích hợp Để có th êm thơng 30 KỸ TIIT GHÉP NỐI MÁY TÍNI! ta có th ể xuất giá trị ngày/ th n g tói giao diện qua dịa định trước; giá trị số cần phải dịnh dạng th ậ p lục phân, chẳng hạn 037A 06 x u ất sô 06h tới th a n h ghi điểu khiển cổng song song vối địa sở (= địa th a n h ghi liệu) 378h 1.2 GIAO DIỆN HAI HƯỚNG Nếu ta có tay giao diện song song hướng, mục chẳng hấp dẫn, mục 1.3 trìn h bày kỹ vể giao diện hướng Trước quan tâm đến việc mô tả giao diện hai hướng, ta nên tìm hiểu xem giao diện song song hai hướng có th ể m ang lại khả n ă n g ứng dụng ? Các hình 1-4 đến 1-7 dịng dũ liệu truyền di cúa gịao diện Khi nơi mạch theo hình l- a ta có 12 đường dẫn lối đưịng dẫn lơì vào Nhị mà trìn h điều khiển tỷ lệ qua biến đổi' rơ7 tưring t\Ị bit hoặr 12 bít vổi điííìng dẫn tín thơng háo trở lại có th ể (xem hình l-4b) q trìn h điểu khiển sô (nhị phân) với nhiều n h ấ t 12 đường dẫn điều khiển Cách lắp mạch theo h ình l- a dùng đến đường dẫn lôl đường dẫn lối vào Nhờ có th ể thực q trìn h điều khiển qua biến đổi sô7 tương tự bit biến đổi tương tự/ sơ (xem hình l-5b) Từ (word) liệu biến đổi tương tự/ số cần đọc hai bước làm việc vào hai th a n h ghi (th an h ghi trạ n g thái th a n h ghi điều khiển) "ghép nốì" lại p h ầ n mềm th n h từ liêu i.CÓNCi SONG SONG 31 Chân số ( 00 ) 00 DI c 3 (0 ) Bô biến đổi D/A Thanh ghi liệu - i- 9(D7) Q « - 1r -► D7 Ữ6 Thanh ghi D11 trạng thái 7” ^đ_khiển — Thanh ghi điéu khiển í a) — 17 b) Hình ỉ~4(ĩí,h): Mơ tả giao d iện song son g dùng cho m ột trình đ iểu k hiển Hinh i-5(a,b); Mô tả giao diện so n g so n g dùng cho m ột trình điều chỉnh 32 K.Ỷ TIIUẢT (illÉP NỐI MAY TÍNH Đ ể th n g báo trở lại vê q trìn h biến đổi đă thực hiệ n - đâ y gọi trạ n g thái - cần có đưịng dẫn thơng báo trở lại Đưịng dẫn n y cần đưỢc hỏi lại liê n tục, cho đê n kh i x u ấ t hiệ n tín hiệ u t h n g báo trở lại, phương pháp đưỢc gọi “hỏi vòng” (polling) Việc b dầu trìn h biến đổi cần thực p h t xung bơn ngồi, bỏi k h n g cịn đưịng d ẫ n tín hiệu n o có t h ể d ù n g T m đường dẫ n lôl t h a n h ghi liệu c ũ n g có t h ể điíỢc sử dụng cho biến đổi sô/ tương tự - để điều khiển mạch điện b ê n ng oài theo kiể u t ỷ lệ, c h ẳ n g h n mơtơ lị sưởi điện Cách lắp m ạch theo hình 1-6 (a) dùng đến 13 đưịng dẫn lơi vào đưịng dẫn lối Nhờ mà có th ể hình th n h mạch điểu chỉnh t h e o k i ể u hai ba điểm , kh i t i ế n h n h p h é p đại lượng vối tín hiệu vào dạng analog (tương tự) biến đổi sơ7 tương tự đến 12 bit (xem hình l-6b), với đưịng dẫn thơng báo trở lại từ biến đổi tương tự/ số - gọi trạ n g thái - đường dẫn điều khiển dùng để xóa q trìn h biến đổi (ở gọi Start) Sau cịn ba lối dùng.chơ mục đích điều khiển mạch điện đơn giản bê n ngồi 'do b) Hình l-6(a,hy G iao d iện hai hướng d ù n g cho m ột trình đ iều chình 33 CỎNCi SONG SONG cách lắp m ạch th e o hình 1-7: việc kếthỢp n y thực tê khơng có giá trị sử dụng Với 17 đường dẫn lôl vào cho phép tiến h n h trìn h đo, tự động chạy, máy tín h khơng cần can thiệp vào, khơng có đường dẩn diêu khiển sử dụng ■ ■ Chân số — Máy tính PC cần phải hỏi vịng — (DO) liên tục lôi vào dược quy định r* 3(Ữ1) dường dẫn trạ n g thái dể n h ận lúc Thanh ghi liệu kết thúc phép để đọc giá trị đo 9(D7) — 15 13 Thanh ghi trạng thái 12 10 11 |— Thanh ghi dỉéu khiển 14 16 17 Hình 1-7: Giả dịnh m ột ốch trao th anh ghi 1.3 GIAO DIỆN MỘT HƯỚNG Nếu có tay giao diện hai hướng để tiêt kiệm thời gian ta bỏ qua nội dung mục Trước hết ta tìm hiểu xem giao diện song song hướng có khả ứng dụng đo lường điếu khiển Đ tiếc giao diện loại có k h ả n àng sử dụng r ấ t h ạn chế, vối vài th ủ th u ậ t m ang tín h kỹ th u ậ t có th ể vượt qua hạn ch ế Các hình l-8 a l-8 b dịng liệu có th ể giao diện 3KTG-A 34 KỸ THUẬT GIIÉP rÍNlI NỐI M Ả Y Hinh /-8(a,b): Mô tả giao diện hướng dùng cho trinh điều khiển Trong cách lắp mạch theo hình l-8(a) dùng đến 12 đường dẫn lơi Chán số đường dẫn lối vào Nhò mà có th ể hình th n h trìn h điều khiển theo kiểu tỷ lệ qua biến đổi sô7 tương tự bit 12 bít với dường tín hiệu Ihịng báo trở lại — (DO) 3(01) Thanh ghi dữliẻu (D ) — 15 13 Thanh ghi trang thái ^ 12 10 11 — Thanh ghi điéu khiển - 14 16 17 Hinh 1-9: N hắc lại m ột trường hỢp giả đ ịn h vể trao đổi với th anh ghi 3.KTG-B CÕN(i S()N(i SONG 35 Ngồi ra, ta mơ qua đường dẫn lối cịn qua dường (lẫn diều khiển - thủ th u ậ t m ang tính kỹ th u ậ t dược nhắc tối - biến đổi tương tự/ số theo phương pháp gần dung liên tiếp nhờ biến đổi sô7 tương tự (xem hình l-8b), ta cần có thêm đường dẫn thơng báo trở lại Nhị ta mơ việc nhập vào liệu phần bit 12 bit, phép đo dại lượng dạng tín hiệu tương tự với độ xác đến 12 bit hồn tồn thực đưỢc Cách láp mạch theo hình 1-9 sử dụng đến đường dẫn lối đường dẫn lôi vào Nhờ thê mà th a n h ghi điểu khiển hai hướng, xảy hầu hết trường hợp, phép đo đại lượng dạng tín hiệu tương tự biến đổi tương tự/ sơ' hồn to n có t h ể thực hiệ n được, tấ t n h i ê n với h n c h ê ta ph ả i chia lối bién đổi lên hai th a n h ghi giao diện song song Theo cách ta phải đọc đại lượng đo biến đổi th n h mã nhị ph ân theo hai bưốc k ế tiếp n h a u “ghép nôl” lại p h ần mềm th n h từ liệu Vấn đề đưỢc đề cập đến mục 1.4 Với cách dấu mạch theo mạch 1.9, trìn h điều chỉnh biến đổi tưdng tự/ số bit biến đổi số/ tương tự bit hồn tồn thực đưỢc (xem hình 1-4 b) Để thơng báo trở lại q trìn h biơn đổi đă tiến h n h cần có đường dẫn thông báo trở lại Đ n g dẫn liên tục đưỢc hỏi lại (hỏi vòng) cho đ ế n kh i x u ấ t hiệ n tín hiệu thơng báo trỏ lại (phương pháp gọi “hỏi vòng”) Việc bắt đầu qviá trìn h bicn đổi cẦn đưđc tiêu h n h p h t xung ỏ bên ngồi, k h n g cịn đường dẫn tín hiệ u n o để d ù n g cho việc bắt đầu dược diều khiển máy tính Tám đường dẫn lơi sử d ụ n g cho biến đổi sô7 tương tự - để điểu k h iển m ột t h i ế t bị bên ngồi theo kiểu tỷ lệ, chẳng hạn mơtơ lò sưởi điện 1.4 TRAO ĐỔI VỚI CÁC ĐƯỜNG DẪN t ín h iệ u b ằ n g PHẦN m ềm Đây nhiệm vụ mà b ất kỳ muôn viết sửa đổi p h ầ n mềm dùng cho mạch ghép nôl vổi cổng song song phải nghĩ cách giải Câu hỏi có th ể đặt là: làm th ế để đọc tín hiệu điện đường dẫn tín hiệu cổng song song, ho;; 36 KỸ THUẬT GHÉP N ố l MÁY TÍNll để x u ất liệu đưịng dẫn cụ thể hơn: ta có th ể tạo các' xung (tín hiệu) th ế ‘ĩ’ Trước hết ta cần lưu ý ta dang tìm hiếu giao diện số (digital) nên ta quan tâm việc đọc xuất tín hiệu nhị phân Các đại lượng đo tín hiệu tương tự, điện áp dòng điện, cần phải đưỢc c h u y ể n đổi b ằ n g biến dổi tương tự/ s ố t h n h tín hiệu sơ" thích hđp, trước có t h ể dọc vào giao diện 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ẻ đưỢc tiến hành th u ậ n lợi n h ấ t l ệ n h hỢp ngữ, c ũ n g n h b ằ n g n h ữ n g lện h nià xử lý c ủ a m y tính PC có th ể xử lý trực tiếp Các ngôn ngữ bậc cao Turbo Pascal c , có lệnh đơn giản để thực việc tru y nhập lên cổng, rằn g tốc độ truy nhập có thấp đôi chút Trước hết ta cần biết địa cổng (kênh) mà qua gian diện song song có th ể trao đổi Làm thê để tìm địa ? Câu trả lời trìn h bày mục 1.1 Bởi cổng ghép nối song song có th ể có DOS (LPTl đến LPT4) bao gồm nhóm ba th a n h ghi - vói địa riêng lẻ có th ể trao đổi nên ta cần phải định đọc liệu th a n h ghi ta muôn xuất liệu từ th a n h ghi Nói chung, lệnh sử dụng viết sau: □ B ằng hỢp ngữ: Để xuất liệu: Để nhập vào liệu: OUT DX,AL IN AL,DX OUT DX,AX IN AX,DX địa t h a n h ghi cần trao đổi ph ải đ ứ n g DX (trong th í dụ sau địa sở cổng L P T l là: 378h) Thí dụ: Dãy lệnh sau xuất nội dung th a n h ghi xử lý AL lên đưòng dẫn liệu LPTl: MOV D X ,3 78H ; nạp đ ị a c h ỉ c ủ a g i a o d i ệ n v o t h _ g h i DX l C ÓNG SONG SONG OUT DX,AL ; 37 xuất nội dung d ẫ n l i ệ u th_gh i AL l ê n đư ờn g (DO đ ế n D ) c ủ a LPTl Hai lệnh sau đọc byte đường dẫn liệu cổng LPTl: MOV D X ,3 H ; nạp đ ị a IN AL,DX ; đọc liệu thông th _ g h i tin l i ệ u v o DX đường (DO đ ế n D ) c ủ a LPTl s a n g dẫn th_gh i AL Dãy lệnh sau xuất nội dung th an h ghi AL sang th a n h ghi điều khiển L P T l (chú ý là: chân 1, 14, 17 xuất tín hiệu đảo bit AL tương ứng - xem thêm hình 1-3): MOV D X ,3 A h ; nạ p đ ị a c h ỉ c ủ a t h _ g h i đ i ề u k h i ể n v o DX OUT DX,AL ; mang n ộ i đ iều dung th_gh i AL s a n g th_ghi k h i ể n c ủ a LPTl Hai lệnh sau m ang tín hiệu đặt đường dẫn trạn g th sang th a n h ghi, bit (chân 11) chứa tín hiệu lấy đảo (xem thêm hình 1-3) MOV D X , h IN AL,DX ; nạp đ ị a c h ỉ c ủ a t h _ g h i t r n g t h i v o DX ; đọc (mang) nội dung c ủ a c ủ a LPTl s a n g t h _ g h i th_ghi trạng th AL □ B ằng Turbo c Đe x u â t liệu: o u o r tb (kênh, g i trị) Để n h ậ p vào liệu: X = in p o r tb (kênh) Lệnh sau x u ất (00000101) qua th an h ghi liệu LPTI: outp ortb (0x378, 5) ; # d efin e Dat_R eg 0x378 outportb (D at_R eg, 5); Câu lệnh sau đọc thông tin th a n h ghi trạ n g thái xếp vào biến đứng bên trái: sta tus= i n p o r t b (0x379); Trưốc tệp để mục cần có phải móc nối câu lệnh: 38 KỸ THUẢT GHÉP N ố i MẢY TÍNH # in clu d e □ B ằng Turbo-PASCAL PO RT[AddressJ := Variable Đề xuất liệu: ỏ phía bên phải dấu gán giá trị biến mà nội dung cần đưỢc x u ấ t địa cổng (kênh) đứng/ định ph ía bên trái Variabỉe Để nhập vào liệu: PORT[AddressJ ỏ đây, biến đứ ng phía bên trái g án giá trị đọc từ cống (kênh) có địa đứng phía bên phải Chẳng hạn: P O R T [$ 37 ] := X ; xuất g i t r ị dẫn l i ệ u X := PO R T [$ 78 ] PORT[$37A] c ủ a b i ế n X l ê n c c đường (DO đ ế n D7) c ủ a c ổ n g LPT ; đ ọ c t h ô n g t i n t r ê n c c đường dẫn (DO đ ế n D7) c ủ a c ổ n g LPT vả c húng v o c c b i ế n X Y ; v iết g iá đ iều k h i ể n c ủ a c ổ n g LPT Y := PO R T [$ 37 ] ; đọc n ộ i trị b iế n dung c ủ a LPTl v Y vào g h i l i ệ u sấp xếp ghi trạng xếp chúng vào b iế n th Y Cần ý là: Do việc sử dụng lệnh PORT nên PASCAL pliải inóc' nối với U nit CRT trưốc chạy chương trình, cụ thể: USES CRT TẠO XUNG BẰNG PHẦN MỂM N hững tìm hiểu kỹ th u ậ t điện tử sô", chắn biêt đến mạch điện tử có th ể tạo tín hiệu có dạng xung, mà dạng p h ổ biến xung vng góc Các xung tạo r a nhị máy p h át CÕN(i SONG SONG 39 xung, th iết kế sỏ cổng AND (VÀ) OR (HOẶC), đồng thời tạo m ẫu xung tuỳ ý tương ứng \'ới diều kiện cho trưốc Một câu hỏi đ ặ t là: Làm th ế để tạo ciược xung vng góc míiy tính, cụ thể phần mềm chạy trẽn m y tính ? Và có t h ể xuấ t qua cổng s o n g so n g ? Khi ta cần xung với thịi gian kéo dài rấ t ngắn hai lệnh xuất dứng kê tiếp n h au đủ; trưốc hết ta xuất “1” (mức MIGH) lên đường dẫn mà dó xung cần xuất hiện, ta viết "1” vào bit t h a n h ghi tLíơng ứng S au ta v iết nga y m ộ t “0 ” vào bit th a n h ghi xuất theo cách “0” (mức Low) lên dường dẫn cần tạo xung Sau hai lần xuất theo cách x u ất xung vng góc Trong mục ta lại giả thiết lần cổng LPTl có địa 378h, dãv lệnh dùng để tạo xung vng góc đường dẫn liệu có giá trị th ấp n h ấ t DO (chân 2) có th ể dưỢc phác hoạ n h sau: □ Bằng hỢp ngữ: MOV D X , h ; nạp đ ị a c h ỉ c ủ a t h a n h g h i l i ệ u MOV AL, OUT DX,AL ; xuất r a "1" MOV A L , OUT DX,AL ; x u ấ t r a "0" □ Bằng Turbo c outportb (0x378,1); outportb (0x378,0); □ B ằng Tvirbo-Pascal port [$378] := 1; port [$378] := 0; Xung vng góc tạo theo cách nàv kéo dài khoảng thời gian với khoảng thời gian mà máy tính cần có để xử lý lênh xuất thứ hai 40 KỸ riIUÂT (illíií' NOI MA\' rĨNII Khi ta inuôn tạo k h ông x u n g r iê n g lỏ, inà dãy x u n g với tầ n s ố xác định, thi ta cần phải x u ấ t kê’ tiêp nlirUi i lệnh xu â t m ộ t vòng l ặ p c h n g trìn h , m sơ l ầ n c h ạy q i i a c ủ a VỎI1!’ b ằ n g với số x u n g cần có, s a u lần xuấ t cần dự t ín h trước k h o ả n g thòi gi an chò Thời gian chờ nà y có thổ dược tạo ra, dó ta sử d ụ n g m y t í n h th ô n g q u a q u t r ì n h d ế m - t r o n g ngôn ngữ bậc cao - b ằ n g việc gọi h m c h c h u ẩ n bị sẵn , h m thực vòng lặp đếm với dộ dài xác định, Độ kéo dài vòiig lặp chờ xác dịnh thời gian, hai x u n g x u ấ t c h â n lơì ra, v ậ y xác dịnli t ầ n s ố dãy xung Đoạ n chư ng trìn h tương ứ n g để tạ o dãy xun g có t h ể phác thảo n h sau: □ B ằng hỢp ngữ: MOV D X ,37 8H đ ịa LPTl MOV B X , C o n s t l sô' x u n g đ ợ c xuâ^t r'd XUAT_RA: MOV AL, "H igh" OƯT DX,AL ỏ chân MOV AL, "Low" ỏ c h â n OUT D X , A L CHO_DOI MOV C X , C o n s t LOOP CHO_DOI Th g i a n chờ, âíi đ ịn h bàrig C o n s t DEC BX JNZ XUAT RA H ằ n g sô’ đoạn c hương trình xác định sơ x u n g dưực xuất h ằ n g s ố xác định thời gian chò hai x u n g vậ y xác clịnh tầ n sô' dãy xung □ B ằng Turbo c có lệnh làm trễ: mi l i d ela y (thời g ia n g i â y ) ; vậ y dẫn dến đoạn chư ơng trình s a u dây: for (i =l; i C o n st.l; o u o r tb (0 x ,0 ); o u o r tb (0 x ,1 ); i ++) Lính bàn y C ổN (i SONG SONCÌ 41 delay(Const.2); Hàng số doạn chương trìn h xác định sơ' xung xuất ra, cịn hàng số xác định số mili giây hai xung nhau, nghĩa xác định độ trông xung Một doạn chương trình tương ứng, Turbo c, có th ể viết sau; for {i = i; i Const.l; i f-) { outportb{0x37 8,ũ ); deĩay(Const.2); outportb(0x378,1); deldy(Const 3); } H ằng số xác định sô xung tạo ra, số xác định độ kéo dài xung số xác định độ trống xung (độ kéo dài (lộ trống xung cộng lại th n h chu xung, lấy nghịch đảo ta nhận dưỢc t ầ n sô" x u n g ! ) Khi ta dã th dùng phần mềm để tạo xung vng góc, ta th ấ y cơng việc đơn giản sử dụng mạch điện với linh kiện bán dẫn hay gọi tắ t “phần cứng” để tạo xung vng góc kỹ th u ậ t điện tử số Việc thay đổi độ kéo dài hay độ trống xung từ inach p h t xung đưỢc thưc việc thay đổi tụ điện điện trở dang sẵn có thay thê điện trở biến trở sau xoay biến trở để thay đổi trị số điện trở Đây thí dụ minh hoạ cho nguyên tắc hoạt động số th iết bị ảo máy tính PC Một nhưỢc điểm việc tạo xung phần mềm không dưỢc bỏ qua là: lập trìn h hỢp ngữ, phần mềm điểu khiển cỉược viết tối ưu máy tính PC khơng có tính di chuyển dưỢc, nghĩa khơng thay đổi khơng có khả dời chuyển sang m áy tính PC khác để sử dụng Nguyên n h â n nhưỢc điểm bắt nguồn từ chất hợp ngữ: th ứ ngôn ngữ rấ t gần với ngôn ngữ máy, Ngay chương trìn h chạy máy tính PC tương thích thời gian chị lại cịn phụ thuộc vào tốc độ xử lý 42 KỸ TUUÂT GllÉP NÒI MAY TINl I Nên nhớ độ kéo dài xung độ trống xung |)hụ thuộc trực tiếp vào tơíc dộ mà xử lý thực lệnh dự dịnh tù trước Khi ta chuyển giao chương trình sang má}' tính khác, khơng sử dụng loại xử lý - chảng hạn 80486, Iihiíng sử dụng tầii sơ giữ nhịp, th ì t a cần p h ả i sử a dổi lại thịi gia n chị eho th í c h hỢỊ) Khi sử dụng lệnh ngôn ngữ bậc cao, dể có điíỢc thời gian chờ độc lập vối thiết bị, chẩng hạn lệnh làm trễ “clelay” Turbo c Pascal chương trình giữ n g u y ê n tính “cii c h u y ể n dưỢc” Ti ta dự tính thịi gian chờ số ngun lần (bội sơ của) milỊ giây Ta tìm hiểu thí dụ đơn giản điều khiển dèn giao thông để minh hoạ khả tạo phần mềm xuất xung diều khiển qua th a n h ghi liệu cổng song song Hình 1.10 mơ tả “phần cứng” thí dụ Các phần tử cần điều khiển điôt phát quang với màu ánh sáng xanh, vàng đỏ đưỢc nối với lôi liệu IX) đến D2 (chân đến chân 4) Các điện trở R = 50-120 o để chống dòng cho điốt clio lối ứng với chân 2-4 Hai chương trìn h viết hớp ngữ c cho phép x u ất giá trị “1” (HIGH) để làm sáng điốt dấu vào lối tương ứng, cịn lơl liệu không dùng đến (bit dến bit 7) x u ất giá trị “0” ( LOW) Hinỉi 1-ỈO: 'Xanh' Mạch đ iều khiển đèn DO -1 giao th ôn g (R = 80-120 O) Thanh ghi D I dữtiẻu 02 Mã nguồn chương trìn h hợp ngữ: R (■■.> 1>Ỉ CỔNG SONG SONG ■* r u n c t i o n : 43 Đ iều k h iể n đèn g i a o * s o n g LPT * Prog_Ndĩne: AMPELASM.ASM CODt:_.SEG t h ô n g qud c ổ n g s o n g SEGMENT ASSUME c s : CODE_SEG START MOV D X , h ; đ ị a c h ỉ t h a n h g h i l i ệ u MOV AL,01 OƯT DX.AL ỏ LPT đèn xanh CALL CHO_DOI MOV AL,02 OUT DX,AL đèn vàng CALL CHO-DOI MOV AL,04 OƯT DX,AL đ è n đỏ CALL CHO_DOI MOV A L , OƯT đ èn v n g đỏ DX,AL CALL CHO_DOI JMP START CHO_DOI PROC V òn g l ậ p c h MOV B L , LI : MOV CX,ŨFFFFh L2 : LOOP L2 DEC BL JNZ LI RET CHO_.DOI ENDP CODE^SEG ENDS END START Mả nguồn chương trìn h viết ngôn ngữ C: # in clu d e 44 KỸ TIITCÌHÉPNỐI MAY TÍNl m a i n {) { w h i 1e (1 { o u o rtb {0x378,1); /* đèn xanh */ d e l a y (1000); o utportb(0x378,2); // * đ è n v ả n g d e 1a y ( 10 0 ) ; outportb{0x378,4); /* đèn đỏ */ d e l a y (1000); outportb(0x378,6); / * đ è n đ ỏ vá v n g */ d e l a y (1000); } Khi th n h thạo với thao tác dùng phần mềm dể trao dổi với đường dẫn tín hiệu phần cịn lại cơng việc lập trìn h cho ứng dụng ghép nơi với cổng song song khơng cịn công việc kho khăn ... truyền nối tiếpkhác 95 -3.6.1 Chuẩn ghép nối RS-422 97 - 3.6.2 Chuẩn ghép nối 423A 98 - 3.6.3 Chuẩn ghép nối 485 98 - 3.6.4 So sánh chuẩn ghép nối nối tiếp 99 • 3.7 Các chương trình truyền thơngnốitiếp...Ngơ Diên Tập KỸ THUẬT GHÉP NỐI MẤY TÍNH (Tái lần thứ ba, có sửa chữa) NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT H À NÔI L è ỉi, X â ìạ > S ự phát triển ? ?Kỹ th u ậ t ghép nối VỚI m áy tin h ”... tiến h n h ghép nối máy tín h ta phải cân nhắc xem nên sử dụng k h ả n ă n g cho thích hợp Để có th êm thơng 10 KỸ THƯÂT GHÉP NỐI MÁY 'i'ÍNH tin cho việc lựa chọn trước tiến hành ghép nối máy tín

Ngày đăng: 18/03/2021, 19:49

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

Tài liệu liên quan