tổ chức này cho phép các đường dữ liệu ra hoàn toàn trùng hợp và giao diện trực tiếp với bus 8 bit mà không cần bộ đệm 3 trạng thái. Tín hiệu đầu ra STS chỉ thị trạng thái của bộ chuyể[r]
(1)ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THƠNG TIN
Bộ mơn Cơng nghệ điều khiển tự động
Phạm Đức Long
Giáo trình
GHÉP NỐI THIẾT BỊ NGOẠI VI
(2)Chương I
Tổng quan về máy tính, thiết bị ngồi của máy tính
và phương pháp trao đổi, biến đổi dữ liệu
1.1 Máy tính thành phần cấu thành
1.1.1 Hệ vi xử lý kinh điển
- Bộ vi xử lý thành phần thiếu để xây dựng hệ thống tính tốn xử lý, riêng vi xử lý chưa đủ, cịn phải kết hợp với thành phần khác nhớ thiết bị ngoại vi tạo nên hệ vi xử lý
- Hình 1.1 sơ đồ tổng quát hệ vi xử lý kinh điển áp dụng cho hệ tính tốn nhỏ máy tính hệ đầu
Hình 1.1 Hệ vi xử lý kinh điển
• CPU - Bộ xử lý trung tâm (Central Processing Unit): Bộ não máy tính gồm mạch vi điện tử có độ tích hợp cao (hàng triệu tranzito chíp) Nó gồm có phần:
+ CU (Control Unit - Khối điều khiển có chức năng): đọc mã lệnh dạng tập hợp bit 0/1 từ ô nhớ nhớ Giải mã lệnh thành dãy xung điều khiển để điều khiển khối khác thực điều khiển ALU, điều khiển CPU
+ ALU (Arithmetic Logic Unit - Khối tính tốn số học logic): Tổ hợp mạch logic điện tử phức tạp cho phép thực thao tác ghi +, -, *, /, AND, OR, NOT
+ Các ghi (Registers):
(3)- Các ghi đoạn 16 bit (8 bit phần thấp bit phần cao): CS: Code Segment Thanh ghi đoạn mã DS: Data Segment Thanh ghi đoạn liệu SS: Stack Segment Thanh ghi đoạn Stack
ES: extra Segment Thanh ghi đoạn liệu mở rộng
Nội dung ghi đoạn địa đầu (segmcnt) đoạn trộm nhớ (địa sở) Địa nhớ nằm đoạn tính cách cộng thêm vào địa sở giá trị gọi địa lệch (offset)
- Thanh ghi trỏ lệnh IP (bộ đếm chương trình) chứa địa lệnh sắt thực hiện: Các chương trình máy tính tập hợp lệnh CPU lấy lệnh để chạy Để điều khiển xác việc thực cần có mộ đếm chương trình- IP Thanh ghi trỏ lệnh IP kết hợp với ghi CS địa đầy đủ lệnh thực CS:IP
- Các ghi liệu: AX, BX, CX, DX Chúng có độ dài 16 bit gồm bit phần thấp bit phần cao (AX=AH+AL, BX=BH+BL, CX=CH+CL DX-DH+DL)
- Các ghi trỏ, số 16 bit: SP, BP, SI, DI
- Thanh ghi cờ 16 bit sử dụng bit cho phép biết trạng thái hoạt động CPU điều khiển cho phép hay khơng cho phép ngắt ngồi loại che
Để xem ghi hoạt động la dùng chương trình debug với lệnh T (Chạy bước) lệnh R (xem ghi).
Chẳng hạn: C:\debugfile.exe ↵
Ta dùng chương trình Pascal đơn giản sau để xem hoạt động thanh ghi:
begin Repeat
asm
xor ax,ax moy al,1 add Al,5 sub al,3 end;
(4)ấn Alt+D vào mục Registers Sau ấn nhả phím F7 để chạy chương trình xem các ghi CPU hoạt động Từ máy 386 ghi đa và ghi cờ có độ lớn gấp đôi (32 bit), ghi đoạn (4 ghi) độ lớn vẫn 16 bit.
• Bộ nhớ - Memory: Gồm có hai loại
- ROM: Vi mạch nhớ ROM chứa chương trình số liệu cố định, không bị ngắt điện cung cấp Trong hệ vi xử lý, chương trình khởi động hệ thống, chương trình vào/ra sở số chương trình ứng dụng cụ thể chứa ROM
- RAM: Vi mạch nhớ RAM ngắt điện nguồn nuôi bị nội dung lưu trữ RAM lưu giữ phần chương trình hệ thống, số số liệu hệ thống, chương trình ứng dụng, kết trung gian q trình tính tốn, xử lý
• Khối phối ghép vào/ra (I/O): Đây khối phục vụ giao tiếp thiết bị hệ trung tâm (hệ trung tâm bao gồm CPU + M) Các thiết bị ngồi thiết bị vào thiết bị Thiết bị vào ví dụ phím điều khiển để thay đổi thơng số chương trình, điều khiển hoạt động hệ vi xử lý Thiết bị thiết bị hiển thị: LED 7seg, LCD (với hệ vi xử lý nhỏ), màn hình (với máy tính PC) Do đặc điểm hoạt động thiết bị ngồi hệ trung tâm có khác tốc độ làm việc, mức vật lý, phương thức làm việc nên số trường hợp (như với máy tính PC) cán có phối ghép đệm, đảm bảo cho khối thiết bị giao tiếp với hệ trung tâm Bộ ghép bus hệ thống thiết bị gọi cổng Mỗi cổng có địa xác định
• Hệ thống bus: Là tập hợp đường dây dẫn ghép nối chân địa chỉ, liệu, chân tín hiệu điều khiển khối nêu
- Abus: Nối đường dây địa CPU với khối M I/O Khả phân biệt địa CPU phụ thuộc số chân địa Số 16, 20, 24, 36 chân Chỉ có CPU có khả phát tín hiệu địa
- Dbus: Dùng để vận chuyển liệu Độ rộng 8, 16, 32, 64 bit Dbus có tính chiều Các phần tử có đầu nối thẳng với bus liệu phải trang bị đầu trạng thái để làm việc bình thường với bus
- Cbus: Gồm nhiều đường dây tín hiệu khác Mỗi tín hiệu có chiều xác định Các tín hiệu Cbus bao gồm tín hiệu điều khiển từ CPU đứt đọc viết tín hiệu trạng thái từ nhớ, thiết bị ngoại vi báo cho CPU INTR, HOLD…
(5)+ Lấy lệnh
+ Giải mã lệnh
+ Điều khiển thực lệnh
Trong q trình thực có tác động ngắt yêu cầu DMA CPU đáp ứng yêu cầu sau lại quay trở lại chu trình hoạt động
1.1.2 Máy tính PC
Hình 1.2 Sơđồ khối máy tính PC nay
Máy tính PC đại ngày gồm thành phần nối với qua chipset (Ví dụ hình 1.2) Kiến trúc nhằm thực mục đích phân chia cấu thành có tốc độ làm việc tương đương vào nhóm nhằm khai thác triệt để khả hoạt động CPU thành phần cấu thành hệ thống
- Chipset chíp tích hợp chức nhiều chíp làm nhiệm vụ điều khiển hoạt động CPU lớp nhớ, thiết bị ngoại vi có tốc độ làm việc khác nhau, giúp cho lớp cấu thành có tốc độ làm việc, kiểu liệu khác hoạt động đồng hệ thống Các chipset hãng sản xuất mainboard tích hợp cơng nghệ ASIC (Application Specific Integrated Circuit)
(6)- Chipset cầu nam nối thành phần có tốc độ tương đối cao thiết bị nối vào khe cắm PCI, USB, đĩa cứng ATA…
- Chipset phụ nối chipset cầu nam với thiết bị có tốc độ chậm như: bàn phím, đĩa mềm, cổng máy in song song, cổng truyền tin nối tiếp
- Kiến trúc cho phép toàn hệ thống phát huy hết lực hoạt động cấu thành mà không ảnh hưởng đến tốc độ làm việc khác kiểu liệu khác
1.1.3 Hệ thống bus
- Hệ thống bus giới thiệu gồm thành phần (bus địa chỉ, bus liệu bus điều khiển) Trong bus liệu có tính chiều hồn tồn có nghĩa liệu từ CPU tới nhớ thiết bị ngoại vi ngược lại liệu từ nhớ thiết bị ngoại vi tới CPU dây bit Trên bus địa chiều tín hiệu từ CPU tới nhớ thiết bị ngoại vi-bus địa có tính chiều Trên bus điều khiển chiều tín hiệu với dây bit chiều từ CPU tín hiệu điều khiển đọc/viểt, tín hiệu trả lời ngắt, trả lời yêu cầu treo,… từ nhớ thiết bị ngoại vi tới CPU tín hiệu yêu cầu ngắt, yêu cầu treo, yêu cầu đợi,… Có thể nói bus điều khiển có tính hai chiều khơng hồn tồn
- Thiết bị trạng thái: Dùng để tránh xung đột bus
Hình 1.3 Mạch trạng thái
Hình 1.3 Thiết bị ngoại vi nhớ nối vào bus qua mạch ba trạng thái
(7)Bảng 1.1
ENABLE IN OUT
0 0
1 1
1 z (trở kháng cao)
1 z (trở kháng cao)
Có hai phương pháp truyền thông tin bus phương pháp đồng phương pháp khơng đồng bộ, máy tính PC sử dụng truyền đồng chủ yếu không cách đối tượng nội không lớn Trong phương pháp CPU điều khiển tồn q trình truyền thơng tin qua tín hiệu điều khiển ghi/đọc
Q trình truyền thơng tin hệ thống bus thực khoảng thời gian khác Chu kỳ bus khoảng thời gian CPU dùng để thực thao tác truyền thông tin định với đối tượng định Mỗi chu kỳ bus kéo dài nhiều chu kỳ nhịp xung đồng hồ máy tính Có chu kỳ bus sau: nhập lệnh, đọc nhớ, ghi nhớ, đọc cổng vào/ra, ghi vào cổng vào/ra, ngắt
1.2 Thiết bị ngồi máy tính
1.2.1 Kiểu - điện tử
Bao gồm thiết bị tạo nên từ nhiều thành phần phối hợp với nhau: Các thành phần cấu khí thường đảm nhiệm chức theo yêu cầu thiết bị in, vẽ, đóng cắt thiết bị… Các thành phần cấu điện, điện tử đảm nhiệm chức dẫn động, khuyếch đại công suất Việc phối hợp hoạt động cấu điện - điện tử - khí chương trình máy tính hệ vi xử lý thực
1.2.2 Kiểu từ - điện tử
Thường ứng dụng thành phần lưu trữ thông tin Đây vật thể bề mặt chứa lớp bột từ có tính từ dư Thơng tin cần lưu trữ chuyển đổi sang tín hiệu điện có mức điện áp "0" "1" sau cho dịng điện chạy cuộn dây đầu từ để hoá lớp bột từ vật chứa thông tin
Đầu từ: làm chức viết vàolđọc thông tin vật chứa thông tin Đầu từ cấu tạo từ vịng xuyến ferit có khe hở để tập trung từ thơng từ hố hạt từ bề mặt vật chứa thông tin
Nguyên lý ghi_đọc từ:
• Gồm thành phần chính:
(8)Hình 1.4 Nguyên lý đọc ghi từ
- Đĩa từ: Là đĩa nhựa dẻo, bề mặt có phủ lớp bột từ có đặc tính lưu giữ từ
• Hoạt động:
- Ghi: Thông tin cần ghi vào đĩa dạng 0- biến đổi thành tín hiệu điện (Ví dụ theo chuẩn TTL: : + 0,8 Volt
1 : + 2,8 + 5Volt)
Các tín hiệu điện 0- chạy cuộn dây đầu từ tạo từ trường tỉ lệ với 0- Trong địa từ quay q trình từ hố bề mặt đĩa theo thông tin đưa vào thực kết vị trí khác đĩa lưu giữ phần đĩa nhiễm từ với mức độ khác
- Đọc: Ngược với trình ghi 1.2.3 Kiểu quang - điện tử
• Đĩa CD-ROM (Compact Disk Read Only Memory)
- Đĩa CD phát minh vào năm 1982 Các tiêu chuẩn Reed Book hai hãng SONY PHILIPS đưa Với phát triển kỹ thuật tiêu chuẩn thay đổi; dựa sở Reed Book
- Đĩa CD ngày sử dụng lĩnh vực nghe nhìn mà cịn dùng làm nhớ dung lượng lớn Sự khác CD Player (các mạng nghe nhạc dùng đĩa CDROM) đọc đĩa CD ROM ghép với máy tính PC đọc CD ROM có thêm ghép nối để truyền số liệu tới bus hệ thống PC linh kiện ghép nối đảm bảo cho CPU truy nhập số liệu từ đĩa với lệnh phần mềm
Cấu tạo đĩa:
Đường kính: 4.75 inches Dày: 1,2 mm
(9)Dung lượng phổ biến nay: 650MB -700MB
- Đĩa CD có rãnh phản xạ ánh sáng phủ bột nhôm sau phủ lớp sơn bóng để bảo vệ
- Khi đĩa CD chế tạo, thông tin đưa vào đĩa CD rãnh pa nhôm dạng pits (Sự lõm xuống) lands (Sự lồi lên); lồi lõm nữ biểu bit Pits lands xếp dọc theo đường trơn ố quanh trục bao phủ tồn bề mặt đĩa CD, lượn vịng từ ngồi Khơn (ra hát loại đĩa CD bắt đầu ghi từ mép ngồi
- Do có cất tạo đặc biệt nên tốc độ truyền liệu thời gian thâm nhập đ, CD- ROM chưa cao so với đĩa cứng
Nguyên tắc hoạt động:
Hình 1.5 Nguyên lý đọc đưa CDROM
Sensor: Cảm biến Diode Laser: Đĩa phát lazer
Be am Spliter: Bộ phân tích tia sáng Bit Signal: Tín hiệu số nhị phân(bit) Renected be am: Tia phản xạ Sensing beam: Tia tới
Movable Mirror: Gương chuyển động Optical Disk:Đĩa quang
Tia lazer từ laser phát hội tụ qua hệ thống quang học hội tụ lên rãnh bề mặt đĩa CD- ROM Ta biết thông tin ghi pits lands Cường độ tia phản xạ yếu gặp chỗ lõm Trong ổ đĩa có sensor thu, nhạy với cường độ tia phản xạ Cường độ tia phản xạ phụ thuộc vào chỗ lồi lõm mà qua, tức phụ thuộc thông tin ghi đĩa Đầu sensor tín hiệu thông tin chuyển sang dạng điện
(10)như đĩa CD, liệu DVD mã hoá chỗ lõm lồi nhỏ dọc theo rãnh đĩa Một DVD gồm có vài lớp plastic, tổng cộng bề dày 1.2 mm Mỗi lớp tạo phun khuôn poly carbon plastic (created hy injection molding polycarbonate plastic) Các trình định dạng đĩa có bướu vi nhỏ (bumps) xếp đơn, liên tục dài xoắn theo rãnh liệu Một xoá các mẩu polycarbon định dạng, lớp phản xạ mỏng thổi tới đĩa, bao phủ bướu Nhôm sử dụng sau lớp bên trong, lớp vàng bán phản xạ sử dụng cho lớp ngoài, cho phép tia laser chiếu vào xuyên qua lớp tới lớp Sau tất lớp làm, chúng phủ sơn ổn định tia hồng ngoại Với đĩa mặt, nhãn chúng in lụa mặt khơng có liệu Với đưa hai mặt nhãn đĩa in chỗ trống không ghi liệu đĩa Mặt cắt phần khác kiểu đĩa khác hình 1.6
Hình 1.6 Các dạng DVD dung lượng
Mỗi lớp viết DVD có rãnh xoắn chứa liệu Với loại DVD mặt (single-layer DVD) rãnh xoắn ln chạy từ ngồi Như rãnh xoắn bắt đầu tâm nghĩa DVD mặt nhỏ 12c yêu cầu
(11)Hình 1.8 Dữ liệu DVD
Trên đĩa DVD pits thay các bướu (bumps) rãnh liệu Chúng xuất pits mặt nhơm, phía tia laser đọc tới bumps Quan sát kính hiển vi thấy bướu rãnh xoắn DVD Nếu trải rãnh xoắn tới chiều dài 48km (với DVD hai mặt, lớp đúp) Để đọc bướu nhỏ cần phải có cấu cơ-điện tử xác thiết bị đọc địa
1.2.4 Thiết bị xử lý tín hiệu
Có thể kể thiết bị modem, thiết bị phục vụ cho mạng, A/D, DIA (Các A/D D/A sẽđược khảo sát kỹở chương sau).
• MODEM: Có gốc từ chữ tiếng Anh Modulator DEModulator Là thiết bị sử dụng để kết nối máy tính với đường truyền điện thoại, thơng qua trao đổi thư điện tử, truy nhập mạng Intemet thực toán đo lường điều khiển tới vị trí xa
Hình 1.9 Hoạt động MODEM
(12)nhận tín hiệu từ PCn đến PCI tương tự
• Thiết bị phục vụ cho mạng máy tính:
- REPEATER: Bộ chuyển tiếp tín hiệu Repeater làm việc tầng vật lý mơ hình OSI Nó có cổng vào cổng Chức khuyếch đại tín hiệu, bù lại suy giảm đường truyền Repeater khơng có khả liên kết LAN khác giao thức truyền thông tầng liên kết liệu
- HUB: Là repeater nhiều cổng Nó thực chuyển tiếp tất tín hiệu điện đến từ cổng tới tất cổng lại sau khuyếch đại
- ROUTER: Bộ chọn đường - làm việc tầng network mơ hình OSI Routel thường có nhiều cổng Nó tiếp nhận tín hiệu vật lý từ cổng, chuyển đổi dạng liệu, kiểm tra địa mạng chuyển liệu đến cổng tương ứng Router dùng bảng chọn đường (routing table) để lưu trữ ánh xạ cổng - địa network Router dùng để liên kết LAN khác chuẩn LAN dùng giao thức mạng tầng Network Chẳng hạn hai mạng Ethemet Token ring với giao thức truyền thông TCI/IP Router dùng để liên kết hai mạng xa chẳng hạn leased nhe IDSN Trong trường hợp mạng phải dùng router Các route- dùng cho mục đích gọi remote router
- BRIDGE: Làm việc với tầng thứ hai mơ hình OSI - tầng liên kết liệu Nó thiết kế để có khả nhận tín hiệu vật lý, chuyển đổi dạng liệu chuyển tiếp liệu Bridge có cổng Sau nhận tín hiệu vật lý chuyển đổi dạng liệu từ cổng, bridge kiểm tra địa đích, địa node liên kết với cổng nhận tín hiệu, bỏ qua việc xử lý Trong trường hợp ngược lại liệu chuyển tới cổng lại, cổng liệu chuyển đổi thành tín hiệu vật lý gửi Để kiểm tra ngọc liên kết với cổng nó, bridge dùng bảng địa cập nhật động Vì nguyên lý hoạt động nói mà tốc độ truyền thơng qua cổng bridge chậm s với repeater Bridge dùng để liên kết LAN có giao thức tầng kết liệu Các LAN khác môi trường truyền dẫn vật lý Bridge dùng cho mục đích chia LAN thành nhiều LAN thành phần, mạng LAN thành phần tập hợp ngóc có tần suất giao tiếp với thường xuyên, mạng IAN thành phần có nhu cầu giao tiếp với không thường xuyên
- SWITCH: Làm việc Bridge nhiều cổng Khác với HUB - nhận tín hiệu từ cổng chuyển tiếp tới tất cổng lại, switch nhận tín hiệu vật lý, chuyển đổi thành liệu, từ cổng, kiểm tra địa đích gửi tới cổng tương ứng Switch thiết kế để liên kết cổng với băng thơng lớn
1.3 Các chuẩn ghép nối
(13)• Đ/n: Các tiêu chuẩn ghép nối bao gồm tiêu chuẩn khí thơng số điện thủ tục truyền tin cho thông tin thiết bị ngoại vi hệ thống xử lý khác trao đổi với cách an toàn thuận tiện
• Phân bố địa cổng vào/ra máy vi tính:
Theo kiến trúc máy tính IBM-PC KB địa đồ nhớ dành cho địa thiết bị ngoại vi
Bảng 1.2 Sắp xếp vùng địa vào/ra máy tính PC Địa (hexa) vào Chức
000-01F Bộ điều khiển DMA (8232) 020-03F Bộ điều khiển ngắt (8259) 040-043 Bộ phát thời gian (8254) 060-06F Bộ kiểm tra bàn phím (8242)
070-07F Đồng hồ thời gian thực (MC 146818) 080-09F Thanh ghi trang DMA (LS 670) 0A0-0AF Bộ điều khiển ngắt (8259) 0C-0CF Bộ điều khiển DMA 2(8237) 0E0-0EF Dự trữ cho mảng mạch 0F8-0FF Bộ đồng xử lý 80x87
1F0-1F8 Bộ điều khiển đĩa cứng
200-20F Cống trò chơi
278-27F Cống song song (LPT2)
2B0-2DF Card EGA
2E8-2EF Cống nối tiếp (COM4) 2F8-2FF Cống nối tiếp (COM2) 300-31F Dùng cho cam mở rộng 320-32F Bộ điều khiển đĩa cứng 60-3 6F Cổng nối mạng LAN 378-37F Cổng song song (LPT1) 0-3 8F Cổng nối tiếp đồng 3A0-3AF Cổng nối tiếp đông
3B0-3B7 Màn hình đơn sắc
3C0-3CF Card EGA
3D0-3DF Card CGA
(14)1.3.2 Các đặc tả cho kiểu ghép nối
• Chuẩn RS232, 485:
Sau thời gian dài khơng thức, đến năm 1962 Hiệp hội nhà công nghiệp điện tử (EIA: The Electronics Industries Association) đã cho ban hành tiêu chuẩn RS-32 áp dụng cho cổng nối tiếp (RS Recommended Standard - Tiêu chuẩn giới thiệu) Có loại:RS 232B RS232C Tiêu chuẩn áp dụng RS232C Ở nước Tây Âu chuẩn gọi chuẩn V.24
- Chuẩn khí: Dùng đầu nối DB25 DB9 Sẽ giới thiệu kỹ chương - Chuẩn điện:
+ Mức "1" điện áp từ -3V đến -12V Mức "0" điện áp từ +3V đến + 12V
+ Tốc độ truyền nhận cực đại 100 kbit/giây
+ Tốc độ truyền chuẩn: 50, 75, 110, 150, 300 1200, 2400, 4800, 9600, 19.200, 28.800 56.000baud
SCSI: Small Computer System Interface Do Macintox đề xuất năm 1984 Tốc độ chuyển vận liệu max >320MB/s Cho phép quản lý tới 16 thiết bị
- Chuẩn khí: 50 chân (có thể biến thể 68 80 chân với số loại SCSI khác)
Hình 1.10 Đầu nối SCSI 50 chân
(15)SCSI có ba loại bản:
- SCSI-1: Loại nguyên thuỷ phát triển từ năm 1984, SCSI-1 lỗi thời có độ rộng bus bit tốc độ xung nhịp làm việc MHZ
- SCSI-2: Ra đời 1994, có đặc điểm kỹ thuật sử dụng Common Command Set
(CCS) - gồm 18 lệnh dùng chung trợ giúp cho loại SCSI Có thể sử dụng xung nhịp đồng hồ gấp đôi tới 10MHZ (chế độ fast) hoặc sử dụng chế độ gấp đôi bề rộng bus liệu (chế độ wide) hoặc chế độ gấp đôi hai thuộc tính (fast/wide) SCSI-2 thêm vào lệnh hàng đợi (command queuing), cho phép thiết bị lưu trữ phân quyền ưu tiên từ máy tính chủ (host computer)
SCSI-3: Xuất 1995 Một tập tiêu chuẩn gọi SCSI Parallel Interface (SPI), cách thiết bị SCSI truyền tin với thiết bị khác Đặc tả kỹ thuật phổ biến SCSI-3 gắn thuật ngữ Ultra,như Ultra với SPI, Ultra2 với SPI-2 Ultra3 với SPI-3
Bảng 1.3
Tên Đặc tả kỹ
thuật
Số thiết bị
Độ rộng
bus Tộc độ bus MBps Asynchronous - SCSI-1 8 bits MHz MBps Synchronous SCSI - SCSI -1 8 bits MHz MBps
Wide - SCSI -2 16 16 b its MHz 10 MBps
Fast - SCSI -2 8 bits 10 MHz 10
(16)Ultra SCSI-3 SPI 8 8 bits 20 MHz 20 MBps Ultra/Wide SCSI-3 SPI 8 16 bits 20 MHz 40 MBps
Ultra2 SCSI-3 SPI 8 8 bits 40 MHz 40 MBps
Ultra2/Wide SCSI-3 SPI2 16 16 bits 40 MHz 80 MBps Ultra3 SCSI-3 Spl-3 16 16 bits 40 MHz 160
MBps Ultra320 SCSI-3 Spl-4 16 16 bits 80 MHz 320
MBps
Các kiểu SCSI truyền liệu bit song song Ultra320 SCSI sử dụng liệu kiểu đóng gói (packeted dâm) Kiểu SCSI gọi Serial Attached SCSI (SAS), sử dụng lệnh SCSI liệu truyền nối tiếp SAS sử dụng liên kết nối tiếp point-to-point di chuyển liệu với tốc độ 3.0 gigabits giây, cổng SAS hỗ trợ hoạt động cho 128 thiết bị
(17)• USB: Universal Serial Bus phát minh 1997 Chuẩn công nghiệp dùng loại đầu nối vừa với tất để thay cho cổng cũ khác PC Ta cắm nhiều loại thiết bị vào cổng USB: hình, bàn phím, chuột, modem, máy in, máy qt Ta cịn cắm chuỗi thiết bị ngoại vi nối kia, nghĩa ta có chuỗi thiết bị chạy từ cổng PC Một số sản phẩm USB máy quét Camera số hoạt động khơng cần dây cắm điện riêng - Dây nối USB có khả cung cấp nguồn điện Cổng USB hoạt động nhanh gấp 10 lần cổng song song, gấp 100 lần cổng nối tiếp Phiên USB sử dụng USB 2.0
• ISA: Rãnh cắm theo tiêu chuẩn ISA Industry Standard Architecture có 32 chân x 2= 64 mặt Bề rộng bus liệu bit Tốc độ truyền liệu lớn max= 8Mbit/giây với loại ISA mở rộng: 16 với EISA: 32 bit Vùng địa thiết bị ngoại vi dành cho cam mở rộng từ 300h đến 31Fh Từ 1999 khe cắm ISA khơng cịn sử dụng cho máy tính PC
• PCI: Do cơng ty Intel xây dựng nên PCI hoạt động với bề rộng bus liệu 32 bit Hiện loại PCIX phát triển hoạt động với bề rộng bus dử liệu 64 bit
• EIDE: Đầu nối khí 40 chân (pins) thường sử dụng máy tính thiết bị recorder, thiết bị thu thập liệu Để ghép nối thiết bị với hệ trung tâm cần có IDE Controller Một dây nối IDE cho phép cắm thiết bị (một master, slaver)
• Giao diện cho thiết bị hiển thị chuẩn
Hình 1.13 Các tín hiệu đầu nối hình CRT
1: Red Video 2: Green Video 3: Blue Video 4: Ground 5: Selftest 6: Red Ground 7: Green Ground 8: Blue Ground 9: No Connection 10: Digital Ground
11: Grouna 12: Reserved (SDA for DDC) 13: Horizontal Sync 14: Vertical Sync
15: No Connection (SCL for DDC)
(18)Controller với ổ đọc đĩa mềm
1.4 Các phương pháp vào liệu
CPU thực trao đổi thông tin với thiết bị ngoại vi giới bên ngồi thơng qua thiết bị giao diện
Thiết bị giao diện thiết bị lập trình Mỗi thiết bị giao diện có loại ghi, loại thực chức khác nhau:
+ data register (thanh ghi liệu): thực chức đệm tạm chứa liệu vào/ra
+ status register (thanh ghi trạng thái): chứa thông tin phản ánh trạng thái làm việc thiết bị giao diện thiết bị ngoại vi
+ control register (thanh ghi điều khiển): nhận chứa từ điều khiển xác lập chế độ làm việc thiết bị
Mỗi ghi có địa xác định gọi địa cổng
Khi CPU đưa liệu (thực lệnh OUT xuất liệu cổng có địa xác định) thực chất CPU đưa liệu ghi liệu thiết bị giao diện, thiết bị giao diện chuyển thành dạng thích hợp với thiết bị ngoại vi đưa cho thiết bị ngoại vi
Khi thiết bị ngoại vi gửi liệu cho máy tính, liệu đưa vào ghi liệu thiết bị giao diện CPU nhập liệu từ cách đọc ghi liệu đệm
Thiết bị giao diện giúp CPU kết nối cách thích hợp mặt vật lý với thiết bị bên ngồi, chưa đảm bảo tính tin cậy q trình trao đổi thơng tin Điều xuất phát từ thực tế khách quan nhịp làm việc CPU khác xa với nhịp tốc độ làm việc thiết bị ngoại vi Để CPU thực trao đổi thơng tin với thiết bị ngoại vi với độ tin cậy cao cần phải áp dụng phương pháp trao đổi liệu thích hợp, phương pháp gọi phương pháp vào/ liệu
Có thể phân chia phương pháp vào/ra liệu thành nhóm: - Vào CPU chủ động:
+ Vào theo định trình
+ Vào có thăm dò (phương pháp hỏi vòng - polling) - Vào thiết bị ngoại vi chủ động:
+ Vào ngắt
(19)1.4.1 Vào/Ra theo định trình
Đây phương pháp mà trình vào/ra liệu thực theo chu kỳ xác định trước, nhờ lệnh vào/ra (lệnh IN OUT) CPU không quan tâm đến trạng thái thiết bị vào/ra (bao gồm thiết bị giao diện thiết bị ngoại vi)
Hình 1.14 Sơđồ vào theo định trình
Phương pháp vào/ra theo định trình thích hợp với q trình vào/ra có chu kỳ cố định xác định trước
1.4.2 Vào/Ra theo phương pháp hỏi vòng
Trong thiết bị giao diện thường có ghi trạng thái chứa thông tin phản ảnh trạng thái làm việc thiết bị thiết bị ngoại vi Khi thực phương pháp vào/ra có thăm dị, chương trình vào liệu ln thực kiểm tra trạng thái sẵn sàng làm việc thiết bị trước thực thực việc vào/ra liệu
(20)Quá trình vào/ra liệu có thăm dị sau:
(21)Q trình vào/ra với nhiều thiết bị theo phương pháp thăm dị:
Hình 1.17 Vào liệu kiểu thăm dò với nhiều thiết bị
Ưu điểm phương pháp này: Do CPU kiểm tra trạng thái sẵn sàng làm việc thiết bị trước thực vào/ra nên vào/ra liệu kiểu có độ tin cậy cao
Nhược điểm: Do CPU phải kiểm soát trạng thái làm việc thiết bị nên tốc độ vào/ra liệu chậm Hơn CPU làm công việc vào/ra liệu (theo phương pháp thăm dị) hiệu khơng cao, ngược lại CPU đồng thời phải thực nhiều loại cơng việc thời gian làm việc
CPU bị chia xẻ, đồng thời độ tin cậy phương pháp vào/ra theo thăm dò bị giảm nhiều
1.4.3 Vào / Ra ngắt
(22)thống ngắt cứng
Hình 1.18 Sơđồ q trình ngắt
Thơng thường q trình vào/ra ngắt cứng trợ giúp thiết bị điều khiển ngắt PIC (Programmable Interrupt Controller) PIC có chức ghi nhận yêu cầu ngắt IRQ cung cấp cho CPU số hiệu ngắt đại diện cho địa chương trình phục vụ ngắt tương ứng yêu cầu ngắt IRQ
Cấu trúc hệ thống ngắt cứng:
Hình 1.19 Bộđiều khiển ngắt PIC hệ thống
Quá trình vào/ra liệu ngắt cứng: - CPU thực chương trình
- Thiết bị vào/ra có u cầu phục vụ phát tín hiệu IRQ cho PIC - Thiết bị PIC phát tín hiệu INT cho CPU, yêu cầu CPU phục vụ - CPU hoàn thành nết lệnh thực
- CPU phát tín hiệu INTA (Interrupt Acknowledge) trả lời PIC, báo sẵn sàng phục vụ trình ngắt
- PIC phát số hiệu ngắt (là số đại diện cho địa chương trình phục vụ ngắt, tương ứng với tín hiệu IRQ) cho CPU
(23)ISR để thực vào/ra liệu
- Khi ISR kết thúc CPU quay lại tiếp tục thực chương trình thực
Ưu điểm phương pháp này:
- CPU thực vào/ra liệu có yêu cầu từ thiết bị vào/ra Điều làm cho q trình vào/ra liệu có độ tin cậy cao
CPU phục vụ thiết bị vào/ra có yêu cầu (khi thiết bị vào/ra sẵn sàng cho việc truyền liệu), làm tăng hiệu làm việc CPU Do ưu điểm mà phương pháp vào/ra dùng ngắt cứng dùng để vào/ra liệu với phần lớn thiết bị ngoại vi chuẩn máy tính như: bàn phím, máy in, thiết bị vào nối tiếp
Tuy nhiên với phương pháp trình chuyển liệu nhớ thiết bị vào/ra phải qua CPU trình vào/ra liệu CPU thực hiện, nên chưa phải phương pháp vào/ra nhanh
MỘT SỐ VÍ DỤ THAY VECTƠ NGẮT
• Lập trình Pascal uses dos,crt;
var oldvec: pointer; { chua địa chi cua chuông trinh xu ly ngai cu } R: Registers;
procedure thayngat; intenupt; begin writeln(" Hello "); end;
asm
mov ah,4Ch int 21h end;
end; BEGIN
getintvec($ 13,oldvec);
(24)readln;
setintvec($13,oldvec); END
• Lập trình C: #include <stdio h> #include <dos h> #include <conio h>
#define INTR OX1C /* The clock tick interrupt */ #ifdef _cplusplus
#define_CPPARGS #else
#define CPPARGS endif
void interrupt (*oldhandler)(_CPPARGS); int count 0; void interrupt handler(_CPPARGS)
{ /* increase the global counter */ count++;
/* call the old routine */ oldhandler();
}
int main(void)
{ /* save the old interrupt vector */ oldhandler = getvect(INTR);
/* install the new interrupt handler */ setvect(INTR, handler); /* loop until the counter exceeds 20 */
while (count < 20)
printf("count is %d\n",count); /* reset the old ~nterrupt handler */ setvect(INTR, oldhandler);
(25)• Lập trình hơp ngữ:
Giới thiệu hàm 35h, 25h ngắt 21h:
+ Hàm 25h: Thiết lập vectơ ngắt Vào: AH=25h, AL: Số hiệu ngắt
DS:DX= vectơ ngắt Ra: không
+ Hàm 35h: Lấy vectơ ngắt Vào: AH:35h
AL: số hiệu ngắt Ra: ES:BX: vectơ ngắt
; Thủ tục cất vectơ ngắt cũ thiết lập vectơ ngắt ; vào: AL: số hiệu ngắt
DI = địa đệm vectơ ngắt cũ SI = địa đệm chứa vectơ ngắt ; cất cũ:
mov an,35h
mov ai, số hiệu ngắt cần lấy mov [di],bx
mov [DI+2], ES ; thiết lập MOV DX,[SI] PUSH DS MOV DS,[SI+2] MOV AH,25h
máy al, số hiệu ngắt cần thiết lập INT 21h
POP DS RET
1.4.4 Vào / Ra theo phương pháp DMA
(26)trình bày trên, ví dụ q trình chuyển liệu từ ổ đĩa vào nhớ ngược lại Lúc sử dụng phương pháp vào/ra liệu kiểu DMA, trình vào/ra liệu trực tiếp nhớ thiết bị ngoại vi không qua CPU
Trong trình DMA việc chuyển liệu không điều khiển CPU mà thiết bị phần cứng điều khiển DMAC (DMA Controller)
Sơ đồ trình sau:
Hình 1.20 Vào dùng DMA
- DMAC xác lập chế độ làm việc, nhận thông tin địa đầu khối nhớ chứa liệu kích thước khối liệu cần truyền
- CPU hoạt động bình thường thiết bị vào/ra nhớ có u c ầu DMA thì:
- Thiết bị vào/ra phát tín hiệu DRQ cho DMAC
- DMAC phát tín hiệu HRQ = đến chân HOLD CPU, yêu cầu CPU vào chế độ DMA (yêu cầu treo CPU)
- CPU thực nốt chu kỳ máy
- CPU phát tín hiệu HLDA trả lời cho DMAC tự tách khỏi hệ thống bus - Quyền điều khiển hệ thống bus thuộc DMAC
- DMAC làm chủ bus hệ thống, tạo tín hiệu DACK trả lời thiết bị yêu cầu, phát địa ô nhớ lên bus địa chỉ, phát tín hiệu điều khiển ghi/đọc thiết bị vào/ra tín hiệu điều khiển ghi/đọc nhớ thực điều khiển tồn q trình chuyển liệu thiết bị vào/ra nhớ
- Kết thúc q trình DMA, DMAC gìn tín hiệu HRQ = đến chân HOLD trả lại quyền điều khiển bus cho CPU
- CPU tiếp tục trở lại kiểu hoạt động bình thường
1.5 Các thiết bị chuyển đổi liệu:
(27)Trong thực tế, loại thông tin liệu hầu hết dạng tương tự liên tục' theo thời gian Song giới bên máy vi tính hồn tồn số, rời rạc Để đưa thông tin liệu tương tự vào máy tính số cần phải có thiết bị, có khả chuyển tín hiệu tương tự thành tín hiệu số Thiết bị gọi chuyển đổi AD (ADC- Analog Digital Convertor)
Ngược lại, để khơi phục mẫu tín hiệu lấy mẫu sau xử lý đưa môi trường bên ta cần chuyển đổi D/A (DAC - Digital Analog Convertor)
Bộ chuyển đổi tương tự - số làm nhiệm vụ chuyển đổi thông tin, liệu tương tự biểu diễn đặc tính đại lượng vật lý giới tự nhiên sang dạng mã số Mã số dùng trình xử lý tin, tính tốn hệ thống máy tính hệ thống đo điều khiển số Nó thực hai chức lượng tử hoá mã hoá
Chuyển đổi tương tự - số thực chức chuyển đổi thông tin dạng tương tự (thường tín hiệu điện áp) sang dạng số (mã nhị phân)
Mạch chuyển đổi tương tự - số có cấu trúc Hình 1.21
Mạch ADC nhận tín hiệu tương tự dạng điện áp đầu vào chuyển thành dạng số đầu Độ rộng liệu đầu 4, bit, 12, 14 bit, Mạch ADC bao gồm so sánh, logic điều khiển, ghi điều khiển mạch chuyển đổi số - tương tự DAC
-Mạch ADC thực hai thao tác là: lượng tử hố và mã hố
Hình 1.21 Sơđồ khối c ADC
- Lượng tử hoá gán giá trị tín hiệu tương tự - liên tục vào vùng giá trị tương tự - rời rạc Vùng giá trị có nhiều mức, phụ thuộc chất lượng ADC, mức tương tự - rời rạc cách khoảng lượng tử
(28)xỉ tín hiệu sinh báo hiệu q trình lượng tử hố xong Logic điều khiển cho phép khởi động báo kết thúc trình chuyển đổi
Thanh ghi điều khiển thực chức mã hoá, tạo giá trị số trình chuyển đổi
Q trình chuyển đổi từ tín hiệu dạng điện áp tương tự sang dạng số tiến hành chu kỳ lấy mẫu - chuyển đổi Chu kỳ bắt đầu tín hiệu bắt
đầu chuyển đổi SOC (Suất of Conversion) và trình chuyển đổi báo hiệu kết thúc tín hiệu EOC (End of Conversion)
Lấy mẫu biến đổi tín hiệu analog liên tục theo thời gian xâu) thành mẫu rời rạc xa(n.Ts) thứ tự theo thời gian với khoảng thời gian lấy mẫu cách Ts
giây, biểu diễn bằng: {fn }={f(nT)
tại tn=nT, n = 0, ∝,
Một chu kỳ lấy mẫu Ts giây Fs=1/Ts Hz tần số lấy mẫu Với Ts '
nào tín hiệu nhận sau lấy mẫu ln ln tín hiệu rời rạc Để khơi phục lại tín hiệu xố) từ mẫu xn(n.Ts) nảy sinh điều kiện ràng
buộc cách lựa chọn giá trị Ts Điều kiện phát biểu thành định lý lấy
mẫu Shannon-someya, giới hạn quan hệ thời gian lấy mẫu đặc tính tín hiệu cần lấy mẫu Khi lấy mẫu cách tự xảy bóp méo với với tín hiệu lấy mẫu
Một tín hiệu tương tự xa(t) có giải tần số giới hạn từ đến FmaxHz, tín hiệu xa(t)
được khơi phục lại cách sử dụng giá trị lấy mẫu xa(n.Ts) khoảng thời
gian 1/2Fmax giây sau:
Trong x(n/2Fmax) giá tri lấy mẫu xa(t) t = n/2Fmax;
n=-∞, , ,∞; Ts= 1/2Fmax chu kỳ lấy theo yêu cầu, Fs = 2Fmax tần số lấy mẫu
cho phép nhỏ Trong trường hợp sóng âm truyền qua đường dây điện thoại có giải tần số với Fmax = 4kHz chu kỳ lấy mẫu Ts = 1/2*4000 giây (hay Ts=1/8mili
giây)
Định lý Shannon Phát biểu như sau:
Một tín hiệu tương tự xa(t) có giải phổ hữuhạn với giới hạn Fmax(Hz) (tức
(29)một cách xác từ mẫu xa(n.Ts) nếu
Fs> = 2 Fmax hay Ts< = 1/(2 Fmax)
Định lý Shannon cho giới hạn nhỏ tần số lấy mẫu tín hiệu tươngtự chuyển đổi thành tín hiệu số để sau khơi phục lại tín hiệu gốc từ tín hiệu số mà không bị sai lệch
1.5.2 Chuyển đổi AfD
Chỉ tiêu kỹ thuật chủ yếu ADC:
- Độ phân giải ADC biểu thị số bit tín hiệu số đầu Số nhiều sai số lượng tử nhỏ, độ xác cao
- Tốc độ chuyển đổi: Tốc độ biển đổi tín hiệu tương tự thành tín hiệu số Chủ yếu phụ thuộc kiểu ADC
- Các thông số khác: Mức logic tín hiệu số đầu ra, khả chịu tải, Hệ số nhiệt độ, công suất tiêu hao
a A/D xấp xỉ tiệm cận
Đặc điểm: Tốc độ chuyển đổi nhanh - đến vài chục micro giây Giá thành đắt từ vài chục (ADC0809 - 40.000) đến vài trăm nghìn (ADI220 200.000) - (1/2005) AD574 (650.000 - 1/2005)
Nguyên lý:
Hình 1.22 Nguyên lý làm việc ADC xấp xỉ tiệm cận
COM: Bộ so sánh
DAC: Chuyển đổi số tương tự CLK: Xung đồng hồ điều khiển
(30)đồng hồ lập bit MSB nhớ mức 1, Số liệu nhớ 1000 Tín hiệu số DAC chuyển đổi thành điện áp tương tự Vo để đưa vào so sánh với điện áp vào cần chuyển đổi Vi
Nếu V0>V1 tín hiệu số q lớn, nhớ xấp xỉ tiệm cận bit MSB bị xoá
Nếu V0<V1: bit MSB giữ nguyên =
Tiếp theo với phương pháp xung đồng hồ lập bit có trọng số = Sau so sánh logic mạch xác định giá trị có trì không hay chuyền thành Cứ tiếp tục bit LSB xong
Kết thúc trình giá trị số nhớ giá trị chuyển đổi cần mong muốn
quá trình tương tự trình cân vật cân Các cân lựa chọn từ to đến bé Mạch ADC xấp xỉ tiệm cận điển hình ADC0809: Quét động kênh logic địa
- Độ phân giải bit
- Tốc độ chuyển đổi 100μs
Hình 1.23 Mạch điện ADC 0809
Bảng 1.4 Tổ hợp tín hiệu chọn đầu vào ADC0809:
C B A Kênh
chọn
0 0 IN0
0 IN1
0 IN2
(31)1 D IN4
1 IN5
1 IN6
1 1 IN7
Nguyên tắc làm việc:
Điện áp chuẩn so sánh đưa vào chân số 12 Xung dao động đồng hồ đưa vào chân số 10 Tổ hợp trạng thái chân A, B, C: xác định đầu vào tám đầu IN0 IN7 Khi có xung dương kích hoạt chân START (Nối với ALE) ADC bắt đầu làm việc Trong thời gian chuyển đổi chân EOC đứng mức LOW sau khoảng 100μs (Nếu CLOCK = 640 KHz) chuyển sang HIGH báo hiệu kết thúc trình biển đổi Khi chân ENABLE (pin 9) đưa lên mức HIGH đọc liệu chân liệu
Hình 1.24 sơ đồ cảm ghép nối có sử dụng ADC0809 qua khe cắm ISA máy tính PC
Nếu cần loại ADC nhiều đầu vào người ta chọn ADC08 16 0817 có độ phân giải bit với 16 đầu vào Thời gian chuyển đổi kênh ADC 100μs với clock 640kHz
Hình 1.24 Ghép nối ADC0809 cam qua khe cắm ISA
(32)VD ICL7 109, ICL7 107, ICL7 135
Đặc điểm: Độ xác cao, ổn định(10-14 bit) Tốc độ chuyển đổi chậm (vài trăm miligiây)
Nguyên lý: Nhắc lại mạch tích phân
Hình 1.25 Mạch tích phân
Từ điều kiện cân nút Ir = Ic ta có:
UrO điện áp tụ C trơi số tích phân xác định từ điều kiện ban đầu) Thường t=0 Uv=0 Ur=0 nên ta có:
Với T = RC số tích phân mạch Khi tín hiệu vào thay đổi nấc, tốc độ thay đổi điện áp bằng:
Nghĩa đầu tích phân có điện áp tăng (hay giảm tuyến tính theo thời gian) Đối với tín hiệu hình sin tích phân lọc tần thấp, quay pha tín hiệu hình sin 900 hệ số khuyếch đại tỉ lệ nghịch với tần số
Theo Hình 1.26 mạch logic điều khiển khố K vị trí Ux (Điện áp tương
tự cần chuyển đổi) nạp điện cho tụ điện C thông qua điện trở R Trên đầu mạch tích phân A1 có điện áp:
(33)Hình 1.26 Mạch ngun lý ADC tích phân hai sườn dốc
UCtl tỉ lệ với Ux Tuỳ theo Ux lơn hay bé, đặc tuyến U'c(t) có độ dốc khác
trên hình đặc tuyến Trong thời gian t1 đếm Z0 đếm xung nhịp Hết thời
gian t1 khoá K mạch logic điều khiển sang vị trí đồng thời tín hiệu từ mạch
logic đưa đến mạch "AND" làm cho mạch thông xung nhịp Tại thời điểm mạch đếm đầu bắt đầu đếm, đồng thời mạch đếm Z0 mạch lo
tục điều khiển vị trí nghỉ Khi K vị trí điện áp chuẩn Uch có giá trị ngược với Ux
bắt đầu nạp điện cho tụ C theo chiều ngược lại, phương trình nạp là:
Sau khoảng thời gian t2
Giả thiết sau thời gian t2 U''c = U'c nghĩa điện áp tụ Uc 0, (1)
và (2):
Do số xung nhịp đếm nhờ mạch đếm đầu khoảng thời gian t2 là:
sau thời gian t2 mạch đếm bị ngắt Uc = mạch logic đóng cổng "và":
(34)chuyển đổi Kết đêm không phụ thuộc vào thông số mạch, không phụ thuộc vào tần số xung nhịp fn Theo phương pháp ta làm cho điện áp Ux tỷ lệ với thời
gian (t1, t2) đem số xung nhịp xuất khoảng thời gian
ADC làm việc theo nguyên lý có độ xác cao tốc độ chuyển đổi chậm
Hình 1.27 Ghép nối ICL 7109 với 8255A
Giới thiệu ADC tích phân sườn dốc ICL7 09
Đặc tính:
- Là loại ADC tích phân sườn dốc 12 bits (Polarity and Over ranger)
- Có đầu trạng thái tương thích TTL kiểu UART cho giao diện song song nối tiếp đơn giản
- Đầu vào RUNfHOLD đầu STATUS sử dụng cho kiểm tra điều khiển chuyển đổi
- Dùng thạch anh 3,58MHz để làm dao động thực 7,5 chuyển đổi /giây Có thể dùng phần tử R C lắp thành dao động
- Giới hạn nhiệt độ sử dụng từ -550C tới +1250C
- Năng lượng tiêu thụ nhỏ (dòng điện tiêu thụ làm việc mA) - Điện áp cung cấp +5V, -5V
ADC 7109 làm việc chế độ: Phụ thuộc điện áp đưa vào chân 21 (MODE):
- Khi pin 21 = low: Chế độ "Direct"
(35)• OSILATOR FREQUENCY: fOSC = 0,45/RC
Cosc >50pF; Rosc >50kΩ
fosc(Typ) = 60kHz or fosc(Typ) =3,58MHZ
• OSILATOR PERIOD tosc = RC/0,45
tosc= 113,58MHz Crystal
• INTEGRATION CLOCK FREQUENCY fclock = fosc(RC Mode)
fctock: fosc/58 (Crystal)
tclock = 1/FCLOCK
• INTEGRAnoN PERIOD TINT = 2048XtCLOCK
•60/50 REIECTION CRITERION t/INT/t60HZ or t/INT/t60HZ: Integer
•OPTIMUM INTEGRATION CURRENT IINT: iINT = 20μA
•FULL SCALE ANALOG INPUT VOLTAGE VINFS Typically = 200mV or 2V
• INTEGRATE RESISTOR RINT = v/NFS/ iINT
•INTEGRATE CAPACITOR CINT = (tINT) (iINT)/ VINT
• INTEGRATOR OUTPUT VOLTAGE SWING VINT = (tINT) (IINT)/ CINT
•VINT MAXIMUM SWING
(V-+0,5V) < VINT < (V+-0,5V) VINT(TYP): 2V
• DISPLAY COUNT
(36)•CONVERSION CYCLE tCYC: tclock x 8192
(In Free Run Mode, Run/HOLD: 1) When fclock = 60kHz tCYC = 133 ms
• COMMON MODE INPUT VOLTAGE (v-+2,0V) < VIN < (v+-2,0V)
• AUTO-ZERO CAPACITOR 0,01μF < CAZ< 1μF
• REFERENCE CAPACITOR 0,1μF < CREF< lμF
• VREF
Biased between V+ and V-VREF - v+- 2,8VV
Regulation lost when V= to V- < = 6,4V VREF is not used, float output pin
• POWER SUPPLY: DUAL ±5,0V V+ = +5V to GND
V = -5V to GND
(37)Hình 1.28 Mạch test ICL 7109
7109 cấp nguồn dương (GND to V+) +6.0V nguồn âm (GND to V-) -9V Trong sử dụng thường áp dụng mức điện áp V+ = +5V V- = -5V Dao động tạo xung nhịp cho 7109 đưa vào hai chân 22 23 có tần số 3.5795MHz Sử dụng chân chân 21 "mode" để đặt chế độ làm việc trực tiếp (direct) chế độ bắt tay (handshake) giao tiếp với truyền tin nối tiếp Điện áp analog đầu vào chân 34 35 Tín hiệu digital 12 bit gồm bit thấp từ B1 đến B8 (các chân 16-9) bit cao (các chân từ 8-5) Hai bit phân cực POL chân thang OR chân Trong chế độ direct: Sau CELOAD tác động mức thấp trình chuyển đổi sau 330miligiây Bằng cách cho chân BLEN HBEN tác động đọc bit thấp bit cao liệu
Do cổng nối vào bus vi xử lý hệ cũ vi điều khiển thường bit nên ghép qua hai cổng vi mạch 8255 Hình 1.29 ghép vào cổng Hình 1.27
(38)Hình 1.29 Ghép nối ICL7109 với 8255 vi xử lý
• Giới thiệu ADC AD574
Thông số kỹ thuật ADC 74:
+Độ phân giải 12 bit
+ Có giao diện bus 16 bit với vi xử lý
+ Làm việc tuyên tính khoảng nhiệt độ từ 00C đến + 700C (loại AD574A J, K, L từ -550C +1250C (loại AD574A s, T, U)
+ Thời gian chuyển đổi 25μs
+ Tương thích (cả chân) với ADC chuyển đổi tốc độ cao AD674B (15μs) AD774B (10μs)
(39)Hình 1.30 Cấu tạo AD5 74A
+ AD574A có đầu vào tương tự đầu số 12 bit, có tạo chuẩn tạo xung nhịp sẵn bên Đầu có đệm trạng thái để ghép trực tiếp vào kênh liệu vi xử lý AD574A thiết kế với thành phần hai chíp LSI gồm hai mạch tương tự số, điều tạo cho vi mạch có đặc tính linh hoạt hiệu suất cao với lượng thấp Chíp thứ chuyển đổi ADC 12 bit AD 565A hiệu suất cao tạo điện áp chuẩn Nó cịn có chuyển mạch dịng đầu tốc độ cao tập hợp điện trở màng mỏng tinh chỉnh laser Chíp thứ hai sử dụng mạch LSI gồm ghi xấp xỉ liên tục, điều khiển logic, đệm ba trạng thái, tạo xung nhịp hiệu chỉnh đầu vào, so sánh có độ trơi thấp Xem hình 2.5
(40)Hình 1.31 AD574A với AD585 Sample and Hold
Hình 1.32 Tín hiệu đầu vào đơn cực
(41)Bảng 1.5 Bảng thật ADC574A
CE CS R/C 12/8 Ao Operation
0 X 1 1 X 0 0 X X 0 1 X X X X Pin Pin 15 Pin 15 X X X None None
Initiate 12-Bit Conversion Initiate Bit Conversion Enable 12-Bit Parallel Output Enable Mot Significant Bit Enable BSBs + Trailing Zeroes
Các tín hiệu CE, CS R/C điều khiển chuyển đổi chuyển đổi Trạng thái R/C CE CS xác nhận chuyển đổi đọc hay chuyển đổi Khi đọc R/C = chuyển đổi R/C = Các đầu vào ghi A0 1218 điều khiển
dạng liệu độ dài chuyển đổi Đường A0 thường nối với bit LSB bus địa
Nếu việc chuyển đổi bắt đầu với A0 = đầu nhận đủ 12 bit Nếu
A0= chuyển đổi bit thấp Trong trình thao tác đọc liệu, giá trị A0 xác
định đệm trạng thái chứa MSB (với A0 = 0) LSB (khi A0= 1) Chân 12/8
xác định liệu đầu xếp thành word bit (12/8 nối với chân DIG COM) wond đơn 12 bit (chân 12/8 nối với vlogic) Chân 12/8 khơng tương thích với
TTL nên phải ghim DIG vlogic
Dạng thức bit (khi A0: 1) chứa LSB giá trị biến đổi kèm theo bit zero Cách
tổ chức cho phép đường liệu hoàn toàn trùng hợp giao diện trực tiếp với bus bit mà không cần đệm trạng thái Tín hiệu đầu STS thị trạng thái chuyển đổi Khi STS = lúc bắt đầu chuyển đổi STS= chuyển đổi xong Đặc tính thời gian chuyển đổi AD574A
Bảng 1.6 Thời gian chuyển đổi - các kiểu chuyển đổi
Symbol Parameter Min Typ Max Units tDSC tHEC tSSC tHSC tSRC tHRC tSAC tHAC tC
STS Delay from CE CE Pulse Width CS to CE Setup
CS Low During CE High R C to CE Setup
R C Low During CE High A0 to CE Setup
A0 Valid During CE High
Conversion Time 8-Bit Cycle 12-Bit Cycle 100 300 300 200 250 200 300
10 24 15 35
(42)Khi thao tác chuyển đổi, chân R/C cần mức thấp trước lúc CE CS xuất Nếu R/C = thao tác đọc liệu xuất đồng thời tạch thành tranh chấp bus hệ thống Có thể dùng CE CS để khởi tạo chuyển đổi Nếu sử dụng CS để kích hoạt chuyển đổi ADC khơng có thời gian thiết lập riêng phải kéo dài thời gian hiệu lực tín hiệu cần thiết (thời gian đảm bảo 200ns R/C, cE CS có hiệu lực) Đầu CE có thời gian trễ nhỏ chân CS nên điều khiển chuyển đổi nhanh
• Giới thiệu ADC 7106/7107 Là loại ADC tích phân sườn dốc:
+ một đầu vào, độ phân giải 31/2 digit, tiêu thụ lượng thấp
+ cos thể ghép trực tiếp LCD LED đoạn Rất thuận tiện cho ứng dụng cần có hiển thị cơng nghiệp
+ nhiệt độ làm việc 00C đến 700C
+ Điện áp cung cấp: ICL7106, V+ to V- 5V ICL7107, V+ to GND 6V, V- to GND 9V
C1 = 0.1μF
C2 = 0.47μF
C3 = 0.22μF
C4 = 100pF
C5 = 0.02μF
R1 = 24kΩ
R2 = 47kΩ
R3 = 100kΩ
R4 = 1kΩ
R5 = MΩ
(43)Hình 1.34 Phần hiển thị số ICL7107
Chính xác cao, nhiễu thấp giá thành thấp Chúng sử dụng tốt cho băng tần đến 1MHz tiếng nói, âm
1.5.3 Chuyển đổi D/A
Chuyển đổi số - tương tự DAC thực chức chuyển đổi thông tin dạng mã số (mã nhị phân) sang dạng tương tự (dạng điện áp chiều)
DAC có cấu trúc tổng quát sau:
Hình 1.37 Chuyển đổi DAC
Đầu vào DAC liệu dạng mã số (mã nhị phân) Độ rộng liệu vào (tính bia xác định độ xác đầu tương tự
(44)Thanh ghi có chức chốt liệu cần chuyển đổi
Mạch xác định trọng số, bao gồm chuyển mạch tương tự mạch điện trở, tín hiệu điện áp chuẩn Vref tạo đầu điện áp dịng điện có mức tương ứng với
giá trị mã số đầu vào
Mạch khuyếch đại thuật tốn (OA) có chức chuyển đổi dịng- áp cho đầu tương tự
• DAC loại cộng
Hình 1.38 Nguyên lý DAC loại cộng
Mức logic đầu ghi định việc kết nối điện áp chuẩn Vref lên
điện trở mạch điện trở trọng số đầu vào mạch khuyếch đại thuật toán Mạch khuyếch đại thuật tốn đóng vai trị cộng
Mạch điện trở trọng số tổ chức sau:
1R = 20R ứng với MSB - bit có ý nghĩa lớn 2R = 21R
4R = 22R
2n-1R ứng với LSB - bit có ý nghĩa nhỏ
Điện trở phản hồi mạch khuyếch đại thuật tốn có trị số 112 R
(45)bi = bit tương ứng "1"
Từ ta có điện áp đầu ra:
)
1
1
1
1 (
2 1 3
0 b b b b
V
V ref n n n n
− −
−
− + + + +
− =
Mạch chuyển đổi DAC tạo cách mắc thang điện trở với mạch khuyếch đại thuật toán OA qua hệ thống chuyển mạch K; Với cách mắc dòng điện I; dòng nhánh qua chuyển mạch K; cố định(Ii/2, Ii/4 ) không phụ
thuộc vào vị trí chuyển mạch hai vị trí K; nối đất thật qua lối vào khuyếch đại thuật toán OA (đất giả)
Các chuyển mạch Ki điều khiển bit di Khi di = chuyển mạch
đóng sang bên phải; di=0 chuyển mạch đóng sang bên trái Trên hình vẽ giá
trị bit d3d2d1d0 1101
Với liệu đầu vào có độ rộng n mạch thang điện trở-chuyển mạch- khuyếch đại thuật toán cho điện áp đầu Ura:
(46)Giá trị đầu vào số đưa vào qua chân từ số đến chân số 12 Điện áp đầu Out chân số tính theo cơng thức:
Mạch điện lấy mẫu giữ mẫu: Khi sử dụng ADC để số hóa tín hiệu tương tự việc thực gồm lượng tử hóa mã hóa Trong pha đầu có q trình lấy mẫu Nếu sử dụng ADC có tốc độ chuyển đổi thấp để thực khơng đảm bảo điều kiện định lý shanon khơi phục tín hiệu Để đảm bảo q trình lấy mẫu đỡ bị mát thông tin người ta sử dụng mạch lấy mẫu giữ mẫu
Trong hình transitor trường kênh N chuyển mạch lấy mẫu NẾU VL mức
cao T thơng tín hiệu vào VI nạp cho tụ điện Ch thơng qua RI T Giả sử R1 = Rf
dịng điện đầu vào khuyếch đại thuật tốn Khi sau q trình nạp điện V0
= - VI = VC Nếu VL mức thấp T ngắt Do điện áp VC Ch V0 trì
một thời gian Thời gian trì dài Ch khơng rị trở kháng vào
khuyếch đại thuật toán lớn Nhược điểm tốc độ lấy mẫu thấp CI nạp qua RI
và T; mà RI nhỏ ảnh hưởng đến trở kháng vào mạch khuyếch đại
(47)Hình 1.41 Vi mạch lấy mẫu giữ mẫu LF198
A1, A2 khuyếch đại thuật toán S chuyển ma ạch điện tử, L mạch điều khiển S Khi S nối A1 A2 công tác chế độ lặp (hệ số khuyếch đại = nên V0 = V'0 = VI Tụ điện bên ngồi CK mắc nối tiếp với R2 (=300) thơng xuống đất
Có điện áp VI Khi VL = 0, S ngắt điện áp tụ, điện áp vẻ trì VI
có thể biến thiên đáng kể trước S nối thông trở lại cho lần mẫu V0 biến thiên lớn làm hỏng chuyển mạch S D1 D2 dùng để bảo vệ
quá áp Nếu V'0 chên so với V0 điốt thơng giảm V'0trong phạm vi VI +
VD với điện áp rơi Cịn S thơng - lúc lấy mẫu V'0 = V0 D1 D2
đều hở mạch, mạch bảo vệ khơng ảnh hưởng đến việc lấy mẫu
Sơ với sơ đồ điện trở RI thay mạch KĐTT A1 có điện trở
nhỏ nhiều nên nạp cho CK nhanh
CÂU HỎI VÀ BÀI TẬP
1 Kiến trúc "hi-performance" máy tính PC giải vấn đề gì? Chipset gì?
3 Hãy mô tả khái niệm tần số bus ở mức vật lý?
4 So sánh đặc điểm kỹ thuật loại ADC với nhau: tốc độ chuyển đổi, độ phân giải, khả giao tiếp với thiết bị khác?
5 Thiết kế mạch chuyển đổi dùng ADC thơng dụng ADC0809, ADC0804 có ghép với mạch lấy mẫu giữ mẫu?
(48)Chương II
Cấu trúc chung của modul ghép nối
2.1 Mơ hình tổng thể
Hình 2.1 Sơđồ khối khối ghép nối
Việc trao đổi thông tin, liệu thiết bị hệ trung tâm (CPU+bộ nhớ) viết vào đọc Khi đưa liệu đưa qua ghi đệm viết Khi đọc vào liệu đưa qua ghi đệm đọc Các tín hiệu giải mã địa điều khiển đọc viết phối hợp giải mã điều khiển logic cho phép thiết bị hoạt động
Khi dùng phương pháp polling kiểm tra điều kiện đưa liệu vào viết liệu thông qua ghi trạng thái
Nếu vào liệu dùng ngắt tín hiệu u cầu ngắt ngồi từ thiết bị ngoại vi, thơng qua xử lý ngắt tác động đến chân INTR CPU Nếu CPU chấp nhận ngắt phát tín hiệu INTA ngoài, ngắt thực hiện, liệu viết vào / đọc chương trình thay cho chương trình phục vụ ngắt ISR
(49)2.2 Cấu trúc khối
2.2.1 Khối giải mã địa - nhiệm vụ, cấu tạo
- Mục đích giải mã địa để xác định ô nhớ hay thiết bị ngoại vi mà CPU cần làm việc
- Khối giải mã địa có nhiều đầu vào chân địa kết hợp số tín hiệu điều khiển có nhiều đầu giải mã địa
- Tín hiệu đầu giải mã địa mức thấp (LOW) mức cao (HIGH)
Hình 2.2 Bộ giải mã địa chỉ
- Các vi mạch thường sử dụng để xây dựng giải mã địa vi mạch AND, OR, NOT, NAND ghép nối với theo yêu cầu cụ thể
- Có thể sử dụng mảng logic lập trình (GAL, PAL) để xây dựng giải mã địa
- Có thể sử dụng vi mạch giải mã nhiều đầu chẳng hạn 74LS138
Hoạt động 74LS138
(50)Hình 2.4 Dùng 74138 giải mã địa cho vi mạch
Vi mạch có đầu giải mã tác động mức thấp từ Y0 đến Y7 Việc chọn dầu
giải mã tổ hơp tín hiệu chân A, B, C Để vi mạch hoạt động tín hiệu chân G2A, G2B, G1 phải đảm bảo đồng thời sau:
G2A=0, G2B=0 G1=1
Bảng 2.1 Tác động vi mạch
Input
Enable Select Outputs
G G2* C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
X L H H H H H H H H H X L L L L L L L L X X L L L L H H H H X X L L H H L L H H X X L H L H L H L H H H L H H H H H H H H H H L H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H H H L H H H H H H H H H H L H H H H H H H H H H H H H H H H H H H H H L
*G2 = G2A + G2B
H = High Level, L = Low Level, X = Don't Care
(51)Có nhiều phương án để giải mã cho yêu cầu cụ thể sử dụng 74138
2.2.2 Khối đệm liệu - nhiệm vụ, cấu tạo
Là khối trung gian để chứa liệu trước chuyển vào hay chuyển khỏi hệ trung tâm
- Các vi mạch hay sử dụng:
+ Đệm chiều: 74244
Vi mạch đệm gồm nửa bit Nửa thứ gồm b vào 1A1, , 1A4 đầu 1Y1, , 1Y4 Nửa thứ hai 2A1, , 2A4 đầu 2Y1, , 2Y4
Cho phép nửa thứ làm việc chân điều khiển 1G (chân số 1) mức thấp
Cho phép nửa thứ hai làm việc chân điều khiển 2G (chân số 19) mức thấp
Như cách điều khiển chân 19 điều khiển liệu qua hai nửa bit riêng biệt đồng thời
+ Đệm chiều: 74245
Đây đệm hai chiều bit Để liệu qua đệm chân E (chân số 19) phải mức thấp Chiều liệu qua đệm phụ thuộc vào mi logic chân DIR (chân số 1) Khi DIR = Các bit liệu phép từ B qua A.Khi DIR = Các bit liệu phép từ A qua B
Hình 2.6 Vi mạch 74LS245
+ Mạch chốt 74373
Vi mạc chốt có đầu trạng thái (TRI-STATE) Để vi mạch làm việc chân OE (chân số 1) phải mức thấp Khi LE (chân số 1) phải mức thấp Khi LE (chân số 11) phải mức cao liệu tới đầu Di đưa qua Qi Khi LE
ở mức thấp liệu chốt giữ lại không đưa LE mức cao
(52)+ Vi mạch dồn kênh 74LS257
Tám bit vào (các chân 2,3,5,6,10,11,13,14) đến vi mạch, có đường (ly,2Y,3Y,4Y) điều khiển qua làm lần giá trị chân A/B: Lần chân =0 bít thấp (D0-D3) qua; lần A/B =1 bít cao (D4- D7) qua Một ví dụ sử dụng vi mạch 74LS257 xem trang 58
Hình 2.8 Vi mạch 74LS257 + Vi mạch chuyển mạch CD4051
Để vi mạch làm việc chân INH (chân số 6) mức thấp Thay đổi tổ hợp A B C chọn đầu X0 đến X7 Đầu vào X, đầu
là đầu Xi (tách kênh) đầu vào
là đầu Xi đầu X (dồn kênh)
Hình 2.9 Vi mạch CD4051 + Thanh ghi dịch 74LS164
Bảng 2.2 Hoạt động 74LS164
INPUTS OUTPUTS
OPERATING
MR A B Q0 Q1- Q7
Reset (Clear) L X X L L - L
Shift H H H H L L h h L h l h L L L H
q0 - q6
q0 - q6
q0 - q6
q0 - q6 Hình 2.10 Vi mạch 74LS164
Tín hiệu nối tiếp đưa vào A, B A B Các đầu song song Q0 đến Q7
Xung nhịp làm việc đưa vào CLK Sau xung CLK trạng thái Qi lại chuyển đến Qi+1 đầu vào chuyển đến Q0 Chân MR (chân số 9) chân xoá
(53)Hình 2.11 Mạch điều khiển đèn sáng dần 74LS164
Để hiểu làm việc 74LS164 ta xem sơ đồ hình Chân A B nối với +5V qua điện trở 2.7K tương đương với đưa mức vào A, B Xung nhịp làm việc từ dao động khác đưa vào chân CLK Khi bắt đầu làm việc đầu Qi (Q0 đến
Q7) mức thấp đèn T0 đến T7 khố nên LED khơng sáng
- Khi có xung CLK mức A, B đưa vào Q0 Đèn T0 mở →
LED0 sáng Trạng thái Q0 chuyển sang Q1, Q1 chuyển sang Q2, Các đèn
T1 T7 khoá LED1 LED1 không sáng
- Khi có xung CLK thứ hai → đèn T0 mở trạng thái Q0 chuyển sang Q1 →
đèn T1 mở LED0, LED1sáng
-
- Sau xung thứ đèn T7 mở, đèn sáng Trạng thái Q7 đưa
MR làm cho đầu Qi trở lại lại bắt đầu chu kỳ
+ Vi mạch giải mã 74LS154
(54)Giới thiệu mạch bảng chữđiện tử
Quét hàng dùng 74154 Quét cột dùng 74164
2.2.3 Khối logic điều khiển thiết bị - nhiệm vụ, cấu tạo
- Đảm bảo phối hợp hoạt động vi mạch thiết bị cách đắn để việc đưa liệu vào/ra hệ trung tâm thiết bị ngoại vi thực
- Các tín hiệu điều khiển khối gồm:
+ WR: Điều khiển đọc
+ RD: Điều khiển viết
+ ALE: Xung cho phép chốt địa
+ IO/M: Phân biệt truy nhập nhớ hay thiết bị ngoại vi
+ RESET: Tín hiệu khởi động lại CPU
+ AEN: Phân biệt kiểu vào liệu AEN=1 Thực DMA, AEN =0 vào qua CPU
Các ghép nối khối cần đảm bảo cho:
+ Khi tín hiệu giải mã địa đưa vào khối giải mã địa vi mạch đệm, cổng phải mở
+ Các tín hiệu điều khiển đọc/ viết CPU phải nối vào chân điều khiển đọc/viết vi mạch RD đảm bảo chiều liệu vào WR đảm bảo chiều liệu Tín hiệu reset CPU phải nối vào chân reset vi mạch cổng
+ Dữ liệu thông qua vi mạch đệm nối vào bus liệu hệ thống
(55)- Dùng để điều khiển việc vào liệu, viết ngôn ngữ lập trình (C, C++,Pascal, delphi, VB, assembly, )truy nhập qua cổng điều khiển thiết bị
- Chương trình điều khiển thiết bị phải viết tương ứng với phần cứng Nếu phần mềm điều khiển thiết bị dùng cho thiết bị khác khơng thực việc điều khiển Có hai loại phần mềm điều khiển:
+ Viết theo yêu cầu riêng, cụ thể với phần cứng không thông dụng (Giống "may đo") Các phần mềm khơng tích hợp vào hệ điều hành
+ Các driver chương trình điều khiển thiết bị viết theo qui chuẩn để tích hợp vào hệ điều hành Các phần mềm điều khiển thiết bị, cụ thể viết để chạy hệ điều hành đảm bảo việc vào liệu cho thiết bị phần cứng cụ thể Các nhà cung cấp thiết bị rời cam hình, cam âm thanh, Ổ USB, modem, máy in, máy quét viết sẵn driver cho loại thiết bị Họ bắt tay với nhà cung cấp hệ điều hành - Microsoft chẳng hạn để thống mã sản phẩm VID (Vendor ID) Khi ghép thiết bị vào hệ thống, chương trình hệ điều hành thông qua mã để phát thiết bị hãng ghép vào hệ thống để khởi động driver tương ứng cung cấp cho nhà sản xuất hệ điều hành Điều giải thích việc hệ điều hành Microsoft gần Windows 2000, XP tự động nhận biết hầu hết thiết bị ngoại vi thông dụng
- Một số giao diện khơng cho phép lập trình trực tiếp mà phải thông qua hàm API giao diện PCI, USB
- Một số hệ điều hành khơng cho phép lập trình trực tiếp vào địa cổng mà phải thông qua hàm API Windows XP
Các hệ điều hành windows NT, 2000, XP không cho phép đọc viết trực tiếp cổng Để truy nhập cổng cần thông qua hàm API qua thư viện ngơn ngữ lập trình windows Trong chương có giới thiệu chi tiết sử dụng thư viện inoutport du lập trình với VB truy nhập cổng song song máy tính PC
CÂU HỎI VÀ BÀI TẬP
1 Hãy liệt kê vi mạch đệm (1 chiều, chiều), cách sử dụng mà bạn biết? Một vi mạch đệm vi mạch chốt khác điểm nào? Hãy liệt kê vi mạch dồn/tách kênh, cách sử dụng?
4 Hãy liệt kê vi mạch giải mã, cách sử dụng?
(56)6 Dữ liệu từ nhớ máy tính ngồi thiết bị ngoại vi ngược lại có phải liên tục khơng hay gián đoạn? Vai trò khối logic với vấn đề này?
7 Tại hệ điều hành nhận diện thiết bị ngoại vi hãng khác nhau? Hãy cho biết mã VID số thiết bị máy tính bạn: ổ cứng, bàn phím, cam mạng, ?
(57)Chương III
Thiết kế ghép nối máy tính qua giao diện
3.1 Ghép nối máy tính qua giao diện
3.1.1 Ghép nối qua cổng song song
a) Các ghi giao diện vào song song Đặc điểm:
- Cùng thời điểm truyền 4, 8, 16, 32 liệu (Mỗi bit liệu có đường dẫn liệu riêng)
- Gửi nhanh, nhận nhanh
- Khoảng cách trao đổi thông tin ngắn ảnh hưởng điện dung ký sinh, mức điện áp, kinh tế
Điển hình máy tính cổng song song (Cổng LPT - Line PrinTer port) Hiện máy tính PC sử dụng giao diện song song chuẩn Centronics hãng Centronics thiết kế Có cổng song song với địa
3BCh, 378h, 278h, 2BCh
Khi máy tính bật lên, BIOS (Basic Input Output System) định số hiệu địa cổng máy in song song Đầu tiên tìm địa 3BCh tìm thấy cổng song song cổng LPT1 3BCh Sau BIOS tìm tiếp cổng song song địa 378h; có LPT2 Nhưng bước đầu khơng thấy cổng song song 3BCh 378h địa cổng LPT1 Trên mainboard máy tính PC vấn đề giảm giá thành xuất giao diện vào/ra có nhiều tính ưu việt nên nhà sản xuất chế tạo cổng máy in song ghép với địa 378h
Các ghi: Cổng máy in song song có ghi:
- Thanh ghi địa sở: 378h, 278h, 3BCh, 2BCh ghi liệu (Data Register) Dữ liệu từ máy tính đưa qua ghi Có số hãng cho phép đưa liệu vào máy tính qua ghi Đó cổng song song kiểu vào hai chiều (bi-directional mode)
- Thanh ghi Địa sở + 1: 379h, 279h, 3BDh, 2BDh có bit vào máy tính Có thể sử dụng bit vào để kiểm tra trạng thái thiết bị ngoại vi đưa liệu vào máy tính
(58)BCh Gồm bit
Hình 3.1 Các ghi cổng máy in song song
Giao diện song song máy vi tính thường ghép với máy in địa 378h Giao diện song song cho phép khả truyền nhận liệu vào máy tính ứng dụng đo lường điều khiển máy tính
Hình dáng bên đầu nối cổng song song loại 25 chân hình vẽ - Nhìn vào máy tính, chân hình vng số
Hình 3.2 Đầu nối cổng máy in 25 chân máy tính
Các chân sau (Thứ tự từ - 25) STROBE: Lối (Output) (1) D0 Lối liệu D0 (2)
D1 Lối liệu D1 (3)
D2 Lối liệu D2 (4)
D3 Lối liệu D3 (5)
D4 Lối liệu D4 (6)
D5 Lối liệu D5 (7)
D6 Lối liệu D6 (8)
(59)ACK Lối vào Input (10) BUSY Lối vào Máy in bận (11) PE Lối vào Hết giấy (12) SLCT Lối vào Select (Lựa chọn) (13) AF Lối Autofeed (Tự chọn) (14) ERROR Lối vào error (Lỗi) (15) INIT Lối Đặt lại máy in (16) SLCTIN Lối Select in (17) Các chân từ 18 đến 25
GND Nối đất
Nếu bạn quan sát kỹ thấy số hiệu chân in đầu cắm nhựa b) Điều khiển qua cổng song song
- Đặc điểm: Cơng suất đường tín hiệu khơng lớn, cần điều khiển công suất lớn cần ghép thêm mạch phụ
- VD: Hãy khảo sát mạch điện điều khiển qua cổng máy in song song đơn giản sau Đây mạch điện khoá dùng tranzixtor Bình thường tranzixtor chế độ khố, khơng có dịng colector(giống cơng tắc vị trí ngắt điện), khơng có dịng chạy qua R2, qua LED nên đèn LED tắt Khi ta đưa mức điện áp "1" vào R1 tranzixtor dẫn điện(giông công tắc vị trí dẫn điện), dịng chạy qua R2, qua LED, làm đèn LED sáng Muốn đèn tắt ta đưa tín hiệu mức "0" tới R1
Hình 3.3 Mạch điện đóng/mở LED
• Chương trình điều khiển LED viết Pascal Muốn đưa giá trị cổng ta dùng
port[$địa chỉ cổng]:= giá trị;
Muốn đọc giá trị cổng vào biến ta dùng
biến:=port[$địa chỉ cổng];
(60)Để đưa byte cổng dùng
outportb(Địa chỉ cổng, giá trị);
VD: outportb(0x378,0x80) để đưa word cổng dùng
outport(Địa chỉ cổng, giá trị);
Muốn đọc cổng dùng
biến = inportb(Địa chỉ cổng);
hoặcbiến = inport(Địa chỉ cổng)
VD: val = inportb(Ox3F8);
•Nếu dùng hợp ngữ, để đưa giá trị cổng: mov dx, cổng
mov ai, giá trị out dx, al Để đọc cổng
mov dx,cổng in al, dx mov biến, al Frogram controlLED; uses crt;
const n=500; begin
clrscr;
Write (' Chuong trinh dieu khien đen LED '); repeat
port [$378]:= port [$378] or $01; {chân điều khiển nối với D0} delay (n);
port [$378]:=$00; delay (n);
(61)Lập trình Windows:
Nếu viết chương trình điều khiển Pascal, C DOS hợp ngữ chương trình điều khiển chạy Windows 9X, cịn Windows NT, 2000, XP khơng chạy hệ điều hành khơng cho phép đọc viết trực tiếp cổng Có thể viết chương trình thực truy xuất liệu qua cổng song song chạy hệ điều hành windows cách sử dụng thư viện liên kết động Inpout32.dll tác giả Jan Axelson (http://www.lvr.com)
Thư viện có số đặc điểm sau:
+ Làm việc với phiên windows (WIN 98, NT, 200 and XP)
+ Sử dụng phương pháp điều khiển nhúng dự
+ Không yêu cầu phần mềm điều khiển thiết bị đặc biệt kèm
+ Các hàm điều khiển tự động cài đặt cấu hình dị nạp vào
+ Không sử dụng hàm API kèm mà sử dụng hai hàm Inp32 Out32
+ Dễ dàng sử dụng với VC++ VB Sơ đồ làm việc Hình 3.4
Hình 3.4 Hoạt động Inpout32.dll
(62)1) Một điều khiển thiết bị kiểu nhân nhúng DLL dạng nhị phân thông qua Hwinterface sys cho phép gọi hàm 'DriverEntry', 'hwinterfaceunload', 'hwinterface Device Control' thực nạp gỡ điều khiển thiết bị liên kết với Deviceiocontrol API thực đọc viết tuỳ theo mã chương trình sử dụng
2) Bản thân DLL: Các hàm Inpout32.dll thực hai file "inpout32drv.cpp" "osversion.cpp", osversion.cpp kiểm tra phiên hệ điều hành "inpout32drv.cpp" cài đặt điều khiển thiết bị kiểu nhân (đã nói trên), nạp nó, thực đọc/viết qua cổng song song
Hai hàm thực là:
1) 'Inp32', đọc liệu từ ghi cổng song song Cú pháp:
OutPortAddress, ValueToWrite
Ví dụ: Out &h378, &h55
2) 'Out32', viết liệu vào ghi cổng song song Cú pháp:
ValueRead = Inp(PortAddress)
Ví dụ: ValueRead = Inp(&h378)
Ngồi cịn số hàm khác thực Inpout32.dll như:
1) 'DllMain', gọi dò nạp hay gỡ, dị nạp kiểm tra hệ điều hành nạp cần thiết
2) 'Closedriver', đóng điều khiển thiết bị mở trước gỡ điều khiển thiết bị (driver)
3) 'Opendriver', mở liên kết tới điều khiển thiết bị hwinterface
4) 'inst', lấy 'hwinterface.sys' từ dạng nhị phân đưa tới thư mục 'systemroot\drivers' tạo dịch vụ Hàm gọi hàm 'Opendriver' thực không thành công
5) 'start', khởi động dịch vụ hwinterface sử dụng Control Manager APIS
6) 'Systemversion' Kiểm tra phiên hệ điều hành trả mã thích hợp Có thể dowload mã nguồn từ trang web http:"www.logix4u.nét/ sau thực theo hướng dẫn tác giả để sử dụng
(63)Hình 3.5 Điệu khiến 64 tin qua cơng máy in
Điều khiển anh LED 7segment qua cổng máy in
Hình 3.6 Dùng vi mạch giải mã BCD- 7seg hiển thị tĩnh đèn đoạn
Chân A 7447 nối với D0 378h Chân B 7447 nối với D1 378h Chân C 7447 nối với D2 378h Chân D 7447 nối với D3 378h
(64)
Muốn hiển thị số đưa vào 1001 a, b, c, f, g sáng
Theo cách với bít cổng 378h hiển thị hai LED Nếu sử dụng thêm mạch phụ tăng thêm số điều khiển qua cổng 378h Chẳng hạn sử dụng thêm mạch dồn kênh, 8255A Tuy nhiên việc điều khiển bị hạn chế
Để tăng số LED điều khiển ta sử dụng sơ đồ sau, mặt lý thuyết điều khiển số LED không hạn chế theo phương pháp hiển thị ảnh liệu truyền cho LED nối tiếp qua bít cổng LPT Hoạt động mạch điện sau: Để đèn LED sáng sử dụng vi mạch 7447 vi mạch 74164 Các số cần hiển thị đèn LED đoạn đổi số BCD sau truyền nối tiếp qua bít Dl cổng máy in đến vi mạch 74164 vi mạch 7447 tới đèn LED Vi mạch 74164 ghi dịch nên sau đưa bít vào chân A,B đưa xung CLK =1 (Qua bit D0 378h) vào chân CP, bít liệu đầu vào đưa
vào ghi dịch dịch dần sang phải, xung clock dịch bit Như số cuối dãy số cần hiển thị đèn LED sau dịch dần đến đèn LED cuối Khi bít đưa hết đèn số theo yêu cầu
Hình 3.7 Hiển thị nhiều LED bit điều khiển
Điều khiển hiển thị động LED 7segment qua cổng máy in
(65)Hình 3.8 Hiển thịđộng đèn LED đoạn
Thực hiện: Các LED không cấp nguồn sáng liên tục mà cấp sáng 60 lần/giây Do tính lưu ảnh võng mạc người mà ta có cảm giác đèn sáng liên tục không nhấp nháy lượng tiêu thụ cho đèn giảm nhiều
Các bit Do đến D3 vào đầu 7447 hiển thị số từ đến Các bit D4, D4, D6 cho đèn thông → đèn đoạn sáng VD cần hiển thị số 178 Thuật toán điều khiển sau:
B1:
+ Cổng 378h nhận giá trị 0001 0001 - (Các đèn sáng số chỉ đèn sáng).
+ Trễ 2ms B2:
+ Cổng 378h nhận giá trị 0010 0111 - (Các đèn sáng số chỉ đèn sáng).
+ Trễ2ms
+ Cổng 378h nhận giá trị 0100 1000 - (Các đèn sáng số chỉ đèn sáng)
+ Trễ 2ms
Việc lặp 60 lần / giây
Với bit D7 ta mắc thêm đèn đoạn Điều khiển LCD:
(66)rất thơng dụng mua thị trường với giá khoảng 70 nghìn VNĐ (1-2007)
Hình 3.9 Mạch điện LCD ghép với cổng máy in song song
Các chân Enable (chân E số 6) chân Register Select (chân RS số 4) nối với bit STROUBE Select Printer ghi điều khiển Thanh ghi có đầu open collector / open drain output Hầu hết các cổng song song có điện trở kẻo lên bên trong, số khơng có Vì thêm vào điện trở kẻo lên lớn làm mạch dùng cho nhiều thể loại máy tính khác Chân LCD nối đất để làm việc mo de hiển thị Điều chỉnh độ tương phản LCD chiết áp LCD nối chân 1, 2, Nguồn cung cấp +5V, ý cho thêm tụ lọc
LCD hai đường 16 ký tự sử dụng loại thơng dụng HD44780 Mã nguồn chương trình điều khiển:
Programming - Source Code /* LCD Module Software */ /* l7th May 1997 */
/* Copyright 1997 Cung Peacock */
/* WWW - http: //www.senet.com.au/cpeacock*/ /* Email - cpeacock@senet.com.au*/
/* */
(67)Printer (PIN 17) * /
/* Enable must be connected to Strobe (PINI) */ /*DATA 0: Connected to DATA 0: */ #include <dos.h>
# include <string.h>
#define PORTADDRESS 0x378/*Enter Your Port Address Here */ #define DATA PORTADDRESS+0
#define STATUS PORTADDRESS+1 #define CONTROL PORTADDRESS+2 void main (void)
{
char string [ ] = { "Testing 1, 2, "
"It' Works ! " char init [10]; int count; int len;
init [0]: 0x0F; /* Init Display */ init [1] = 0x01;/ * Clear Display * / init [2] = 0x38t;/* Dual Line / Bits */
outportb (CONTROL, inportb (CONTROL) & 0XDF); /* Reset Control Port - Make sure Forward Direction */ outportb (CONTROL, inportb (CONTROL) | 0x08); /* Set Select Printer (Register Select) */
for (count: 0;count <= 2;count ++) {
outportb (DATA, init [count]);
outportb (CONTROL, inportb (CONTROL) | 0x01); /* Set Strobe (Enable) */
(68)/* Larger Delay for INIT */
outportb (CONTROL, inportb (CONTROL) & 0xFE), /* Reset Strobe (Enable) */
delay (20);
/* Larger Delay for INIT */
outportb (CONTROL, inportb (CONTROL) & 0xF 7); /* Reset Select Printer (Register Select) */
len = strlen (string);
for (count = 0; count < lent; count++) {
outportb (DATA, string [count]);
outportb (CONTROL, inportb (CONTROL) | 0x01);
/* Set Strobe */ delay (2);
outportb (CONTROL, inportb (CONTROL) & 0xFE); /* Reset Strobe */
delay (2);
Chương trình viết Borland C, muốn sử dụng dịch Microsoft thay outportb() bằng outp() và inportb() bằng inp()
Vòng lặp thực bật khởi tạo LCD Các lệnh gửi tới ghi lệnh (Instruction Register) của LCD điều khiển chân lựa chọn ghi (chân 4) Khi chân mức thấp ghi lệnh chọn, mức cao ghi liệu chọn Đường Select Printer của cổng máy in song song có mạch đảo nên ta viết '1' tới bit đường Select Printer ở mức thấp Câu lệnh: outportb (CONTROL, inportb (CONTROL) 10 x 08); sẽ 1àm set bit không thay đổi bit khác
(69)0xF7); thiết lập vòng lặp for khác đọc byte từ chuỗi gửi tới LCD Việc lặp với độ dài chuỗi Sự trễ phù hợp với máy phổ biến Nếu LCD không khởi tạo tương thích cần tăng trễ lên, tương tự panel ký tự bỏ cách ví dụ Tst bị lặp ký tự TTTeessttiinngg có lỗi kết nối Enable và cần kiểm tra lại Enable Strobe
• Điều khiển motor bước qua cổng máy in
Động bước động chuyển động dịch chuyển bước Mỗi bước 0.90, 1.80, 3.60 tuỳ loại động Động bước hai pha, bốn pha
nhiều pha Đông bước thực chất động không đồng dùng để biến đổi tín hiệu điều khiển dạng xung điện rời rạc thành chuyển động góc quay chuyển động rơ to có khả cố định rơ to vào vị trí cần thiết
Ta dùng bit ghi 378h cổng máy in kết hợp với mạch công suất để điều khiển để điều khiển động bước pha sơ đồ hình 3.10 bit D0, D1, D2, D3 nối vào đầu vào điều khiển mạch công suất VI ạch điện cho phép thực điều khiển động theo phương pháp :
+ Cả bước
+ Nửa bước
+ Vi bước
Việc kích cuộn dây lcuộn, cuộn
Bảng 3.1 Tín hiệu kích cuộn dây
Kích pha Kích pha Kích - pha
D1 D2 D3 D0 D1 D2 D3 D0 D1 D2 D3
(70)Hình 3.10 Mạch điện điều khiển mô tơ bước cuộn dây •Ðiều khiển mạch DAC qua cổng máy in
Xem Hình 1.40
• Ghép 8255 với cổng máy in song song
Hình 3.11 Ghép 8255A với cổng máy in • Dữ liệu đưa từ máy tính sang máy in q trình in:
(71)- Thanh ghi liệu cổng máy in song song
Hình 3.12 Đưa liệu số vào máy tính qua ghi 379h cổng máy in
Một số cổng máy in sử dụng giao diện bi-direct cho phép truyền liệu 8bit qua ghi liệu theo hai hướng Với loại này, phép nhận liệu vào qua địa sở người ta phải thiết lập bit D5 (hoặc D6 - hai) [] lên mức cao Nói chung thực tế hãng sản xuất mainhoard chế tạo giao diện song song Centronics kiểu bi-direct Theo số báo cáo thực nghiệm [3] cho thấy thiết lập bit D6 cổng 378h vào bit thấp chí số trường hợp khơng tác dụng
(Xem thêm sơ đồ ghép nối 8255A, ADC 7109, 8254, với cổng song song trong tài liệu tham khảo).
3.1.2 Ghép nối qua cổng nối tiếp a) Giao diện RS232, 485
• Giao diện RS-232: Chuẩn RS 232 giao diện phổ biến EIA (Electro Industrie American) đưa từ năm 1969 Do tính thuận tiện nên hầu hết thiết bị cần giao diện ghép nối máy tính người ta hay sử dụng RS232, có mặt nhiều thiết bị
- Truyền tin nối tiếp: Trong kiểu truyền tin nối tiếp, liệu vào/ra máy tính theo bit (Giải thích "truyền")
- Truyền tin nối tiếp có kiểu: đồng khơng đồng - Chuẩn khí: Dùng loại DB9 DB29 Ma le Female
(72)Bảng 3.2 Chức chân tín hiệu giao diện nối tiếp
DB9 DB25 Chức
1 DCD- Data Carrier Detect Lối vào RxD - Receive Data Lối vào TxD - Transmit Data Lối 20 DTR - Data Temlinal Ready Lối GND - Nối đất 6 DSR - Data Sét Ready Lối vào RTS - Request to Send Lối CTS - Clear to Send Lối vào 22 RI - Ring Indicator Lối vào - Mức tín hiệu logic nằm khoảng - 12V đến + 12V
Mức 1: -3 V đến - 12V Mức 0: Từ +3V đến + 12V
- Tốc độ truyền: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19.200 Thường dùng 4800 9600 baud Với tín hiệu có hai mức baud = 1bit/giây
- Khi khơng có thiết bị phụ trợ khoảng cách truyền an tồn qua RS 232 thiết bị từ 15-20m lý thuyết cho phép truyền đến 100feet
• Giao diện RS-422
- Giao diện truyền tin nối tiếp RS-422 có tốc độ cao hơn: đến 10Mbit/giây khoảng cách truyền lớn hơn: Đến 1200m
Mức logic khơng tính theo thay đổi mức điện áp tín hiệu so với mass mà tính theo điện áp vi sai hai dây dẫn Bộ đệm đường dẫn RS-422 tạo điện áp vi sai khoảng 5V truyền qua hai dây xoắn Bộ phối hợp mức bên nhận đo điện áp vi sai để phân biệt hai mức "1" "0"
Hình 3.14 Tín hiệu chuẩn RS 422
(73)phải tín hiệu Cặp là:
+ Tín hiệu khơng đảo A
+ Tín hiệu đảo B
Chênh lệch điện áp A B khoảng 2V đến 6V Khi A âm so với B có mức "1" Khi A dương so với B có mức "0"
• Giao diện RS-423A
Sử dụng điện áp không đối xứng Tiêu chuẩn dùng đường dẫn để truyền, giống RS-232 Tuy thơng số cải tiến để có tốc độ truyền cao hơn, độ dài truyền xa Giá trị mức điện áp từ 0-6V: 0V: mức "1"; 6V: mức "0"
Điện áo tín hiệu so với mass
• Giao diện RS – 485:
Là mở rộng RS-422 Tuy nhiên có cải tiến: độ dài đường truyền tốc độ tiêu chuẩn, ghép nối cho phép nhiều hai thành viên tham gia (có thể tới 32 thành viên tham gia)
Mức "1" chênh lệch điện áp vi sai: - 1.5V đến -6V Mức "0" chênh lệch điện áp vi sai: +1.5V đến +6V Tốc độ truyền đến 10MBaud
• Bộ ghép nối RS232- RS485
Hình 3.16 Chuyển đổi RS232-RS485
(74)Hình 3.17 Phối hợp chiều RS232-RS485
Sử dụng chuẩn 485 ghép thành bus
Hình 3.18 Thiết bị ghép vào bus RS485
b) Vào liệu Polling-truyền tin qua cổng nối tiếp
• Các ghi UART8250:
Tốc độ truyền tính qua cổng truyền tin nối tiếp điều khiển nhờ vào việc chọn xung đồng hồ vào X tall việc chọn số chia tần số (Để ghi LSB MSB) Ví dụ ta dùng tần số đồng hồ 1.8432 MHz X tall ta muốn tốc độ phát 9600 baud ta tìm số chia để ghi vào LSB MSB sau:
Số chia = Tần số vàm(Tốc độ phát x 16) = 1.8432 106/(9600*16) = 12 Vi mạch có ghi-trong ghi địa sở tuỳ theo giá trị bit DLAB thịt D7 ghi điều khiển đường truyền) làm chức đệm thu, đệm phát ghi cho phép tạo yêu cầu ngắt, ghi số chia phần thấp bảng sau:
Bảng 3.3 Các ghi cổng truyền tin nối tiếp
DLA A2 A1 A0 Chọn
(75)1 0 Thanh ghi cho số chia phần thấp(LSB) 0 Thanh ghi cho số chia phần cao(MSB)
x Thanh ghi nhận dạng nguồn gốc yêu cầu ngắt x 1 Thanh ghi điều khiển đường dây (LSR - XFB) x 0 Thanh ghi điều khiển modem (MCR)
x 1 Thanh ghi trạng thái đường dây (LSR XFD) x 1 Thanh ghi trạng thái modem
x 1 Thanh ghi nháp dành cho CPU sử dụng
Trong ứng dụng thu phát thông thường, sử dụng Topology Point - To - Point Nghe Modem sử dụng dây ghi sử dụng là:
- Thanh ghi địa sở XF8 - Thanh ghi LSR địa XFD Ta giới thiệu ghi
• Thanh ghi địa sở ghi ta nhận liệu đến từ hệ vi xử lý(máy tính) khác phát liệu Vùng đệm có độ lớn byte Đây vùng đệm kép, bao gồm đệm giữ đệm phát: Trong ký tự truyền đệm phát ký tự khác đưa từ CPU sang đệm giữ
Trong máy tính PC có cổng truyền tin nối tiếp Địa sở cổng sau:
- COM1: 3F8-3FFh dùng IRQ4 - COM2: 2F8-2FFh dùng IRQ3 - COM3: 3E8-3EFh dùng IRQ4 - COM4: 2E8-2EFh dùng IRQ3
Trong Mainboard thường có sẵn cổng COM1 COM2 Muốn sử dụng COM3 COM4 ta phải cắm thêm cam phối ghép I/O
Thanh ghi trạng thái đường truyền LSR (Line Status Register): có địa = Địa sở +5
Dạng thức ghi
D7 D6 D5 D4 D3 D2 D1 D0
D0: RXDR: Receiver dâm ready:
(76)khi CPU đọc liệu RBR D1: OR - Lỗi thu đè D2: PE – Lỗi Parity D3: FE – Lỗi khung
D4: BI - Có gián đoạn truyền
D5: THRE: Transmitter holding register empty (Thanh ghi phát rỗng)
= ký tự chuyển từ THR sang TSR bit bị xoá CPU đưa ký tự tới ghi THR
D6: TSRE - Thanh ghi dịch phát rỗng
D7
Việc truyền tin qua cổng nối tiếp máy tính PC tiến hành theo bước sau:
- Init cổng:Tên cổng truyền (nhận), tốc độ phát (thu), khn dạng gói tin.
- Test ghi LSR với bit trạng thái tương ứng để định gửi, nhận dữ
liệu theo giao thức
Ví dụ:
1 đoạn chương trình khởi đầu cho COM2: mov al, 80h
mov dx, 2fbh out dx, al
mov al, 24; tốc độ 4800 mov dx, 2f8h
out dx, al mov al, mov dx, 2f9h out dx, al
mov al, lah; từ khuôn dạng liệu: Parity chẵn, bit stop, bit mã mov dx, 2fb
out dx, al
(77)(* chuong trinh doi thu ky tu tu PC khac den 11/14/2000*) uses crt, dos;
var kytu: byte; i,j : longint; BEGIN
port [$3fb]: =$80; port [$3f8]: =12; port [$3f9]: =0; port [$3fb]: =2; i =1; j: =0; Repeat clrscr;
port [$3fd]:= port [$3fd] and $01;
if port [$3fd] <>$01 then { DOI THU }
begin gotoxy (30,12); writeln (' Dang doi thu tin hieu '); delay(50);
end
else THU KY TU} begin
kyt u::port [$3f ];
writeln ('Ky tu nhan duoc: ', chr (kytu), ' So ky tu thu duoc: ',); delay (10); {port [$3f8]:=$5; }
i =i+l; end;
{ PHAT TRA LAI } asm
@ 1: mov dx, 03 fdh in al, dx
(78)jmp @1
@ 2: máy ai, kytu mov dx, 3f8h out dx, al end;
Until keypressed; { writeln (' So ky tu nhan sai ', j);} END
uses crt, dos; const a=$2f8;
var kt_phat, kt_thu:byte; begin
{writeln;
writeln ('Write (' Dang phai chu U ');} port [a+3]:=$80;
port ra]:=12; {9600} port [ a + 1]: =0;
port [ a+3 ]: = 2;{ none parity, } {i:=1, j:=0;}
repeat
port [a]:-$55; delay(1); Repeat
port [$3fd]:= port [$3fd] and $01; until port [$3fd]-$01;
kt_thu: =port [$ 3f 8];
writeln (' Thu ', chi (kt_ thu)); until keypressed;
end
• Thu liệu qua cổng nối tiếp
(79)thiết bị với cổng truyền tin nối tiếp
+ Ghép nối ADC ICL7 109 với cổng truyền tin nối tiếp
+ Ghép nối ADC MAX 186 với cổng truyền tin nối tiếp c) Vào liệu dùng ngắt
So sánh sử dụng polling ngắt
+ Polling chiếm thời gian CPU, chậm
+ Dùng ngắt đáp ứng kịp thời nhu cầu truyền tin có dung lượng lớn
+ Viết chương trình ngắt phức tạp liên quan đến vấn đề: cấm ngắt, cho ngắt, nhận dạng nguồn ngắt, thay vectơ ngắt
• Các nguồn gây ngắt 8250A mức ưu tiên:
Có thể cấm cho phép ngắt 8250A ghi ĐCCS +l bit DLAB =0 Khuôn dạng ghi cho phép ngắt (IER Interrupt enable register)
0 0 MODE RLINE TXEMP RXRD
MODEM = Cho phép thay đổi trạng thái modem gây ngắt RLINE = Cho phép tín hiệu trạng thái báo đường dây thu gây ngắt TXEMPTY =1 Cho phép gây ngắt đệm giữ phát rỗng
RxRDY = Cho phép gây ngắt đệm thu đầy
8250A có đầu tác động ngắt đến CPU nguồn gây ngắt cần sử dụng ghi nhận dạng nguồn ngắt IIR - Intenupt Indentification Register
ID0 = Có yêu cầu ngắt = Khơng có
0 0 0 IDI ID2 IDO
Tổ hợp ID1 ID2 mã hoá yêu cầu ngắt có mức ưu tiên cao chờ phục vụ
Bảng 3.4 Các nguồn ngắt nối tiếp giá trị các ghi nhận dạng nguồn ngắt
ID2 ID1 Mức Tên loại ngắt Nguồn gốc ngắt IDi bị xoá 1 Trạng thái đường
thu
Lỗi khung, thu đè, lỗi panty
gián đoạn thu Đọc LSR
1 Đệm thu đầy Đệm thu đầy Đọc RBR
0 Đệm giữ phát rỗng Đệm giữ phát rỗng Đọc IIR ghi
(80)Trình tự chương trình thu/ phát dùng ngắt
+ Cấm báo ngắt cứng
+ Xoá nguồn báo ngắt
+ Đặt khuôn dạng truyền
+ Đặt số chia
+ DLAB=0
+ Xoá báo ngắt phát
+ Xoá báo ngắt nhận
+ Đặt nguồn ngắt thu hay phát
+ Bảo vệ ngắt cũ
+ Thay vectơ ngắt
+ Cho phép báo ngắt cứng
Các lệnh thu hay nhận liệu viết chương trình dạng chương trình phục vụ ngắt Khi có ngắt (thu hay nhận) chương trình thực thu hay nhận liệu
3.1.3 Ghép nối qua cổng USB a) Cấu tạo hệ thống USB Được phát triển từ năm 1995 Phiên USB USB 1.0 phiên sử dụng (2005) USB 2.0 Mục đích tạo bus mở rộng ghép nối thiết bị ngoại vi cách dễ dàng Các thiết bị USB cắm chồng lên nhau, cắm khơng cần tắt điện hay
khởi động lại máy tính Có thể ghép vào mạch máy tính 127 thiết bị USB - Tuy nhiên mainboard thường nhà
chế tạo làm sắn 2,4 đầu nối USB Số lượng chủng loại thiết bị ghép với máy tính có hàng trăm loại bao gồm máy in, máy ảnh, bàn phím, chuột, modem, máy quét, ổ flash Có loại USB:
(81)- Medium speed: Tốc độ 500kb/s - 10Mb/s IDSN, ne, audio, compressed Video (Videonén)
- Hình speed: Tốc độ 25-480Mb/s Video, disk
• Kiến trúc USB:
- Bus topology: Là cách nối thiết bị USB với host USB Topology USB hình thứ bậc Một hun trung tâm Kết nối đoạn dây dẫn liên kết điểm - điểm (Root tier main board - Hub: tập trung-Node: thiết bị
USB) Cần nhắc lại cấu trúc đại PC với tham gia USB
- USB host: Trong hệ USB có Có giao diện đến host Computer: Bộ điều khiển host (USB host controller) có nhiệm vụ chuyển đổi liệu giữ format liệu sử dụng format USB, thực tỉ hợp phần cứng, phần mềm firmware Một loạt hun cung cấp si điểm liên kết vào - Giao diện vật lý:
Hình 3.21 Kiến trúc HUB USB
- Giao diện khí, điện:
Hình 3.22 Hai kiểu đầu nối USB
(82)Hình 3.23 Đầu nối USB kiểu mini
Hình 3.24 Dây cáp USB
Vbus (1) Red Nguồn cung cấp cho USB (+5v)
D- (2) White Hai dây D+ D- hai dây truyền liệu vi sai D+ (3) Green
(83)Hình 3.25 Các kết nối điện đầu host Hub
+ Mã hoá USB
(84)Hình 3.26 Sơđồ mã hố NRZI • Phần mềm USB: Phần mềm hệ thống USB chứa hai lớp
+ Một lớp điều khiển thiết bị USB
+ Một lớp hàm USB
Lớp thấp hàm USB thực tác vụ:
+ Điều khiển hàm truyền tin thiết bị USB Host
+ Nạp gỡ điều khiển thiết bị thời điểm thích hợp
+ Truyền nhận Frame packet USB
Khi thiết kế thiết bị ngoại vi trao đổi liệu qua USB hàm điều khiển nhập xuất liệu hàm có sẵn ngơn ngữ lập trình bậc cao chạy windows Tuỳ theo ngôn ngữ VC Delphi, C# hàm có khn dạng khác Khi sử dụng ngơn ngữ tham khảo trợ giúp ngơn ngữ để sử dụng hàm USB thích hợp:
b) Ví dụ sợ đồ ghép nối USB
Mạch điện sử dụng AVR AT90 S2313-10 thu mã hồng ngoại
Hình 3.2.7 A VR ghép với máy tính qua USB
Hoạt động:
(85)chương trình nạp vi điều khiển biến đổi thành liệu dạng NRZI (như nói trên) đưa tới máy tính PC qua hai dây D+ D- Chương trình máy tính PC (Được viết ngơn ngữ có giao diện truy nhập API VC++, Delphi, C#) đọc liệu chuyển thành dạng liệu thơng thường sau ghi vào file, hiển thị tuỳ theo yêu cầu cụ thể
Trên sơ đồ có sử dụng dị hồng ngoại cho phép nhận tín hiệu điều khiển qua mạch phát hồng ngoại Khi có tín hiệu hồng ngoại gây ngắt vi điều khiển Chương trình phục vụ ngắt thực nhiệm vụ thu liệu (hoặc tác động khác theo yêu cầu cụ thể)
3.1.4 Ghép nối qua khe cắm rộng a) Ghép nối qua khe cắm ISA
• ISA: Sử dụng với độ rộng bus bit theo tiêu chuẩn ISA(Industry Standard Architecture): có 62 đường tín hiệu mặt có đường địa chỉ, liệu, tín hiệu điều khiển, cấp nguồn
• EISA: ISA mở rộng thêm rãnh thứ gồm 36 chân cho phép sử dụng độ rộng bus liệu 16bit, 32 bit
• Giải mã cho 1card mở rộng qua khe cắm EISA:
Máy vi tính PC dành kB địa cho thiết bị ngoại vi Mỗi thiết bị có địa riêng
VD: Các cổng COM: 3F8h, 2F8h, 3E8h, 2E8h Các cổng máy in: 3BCh, 378h, 278h, 2BCh Cổng bàn phím: 60h
Ổ đĩa cứng : 1F0h, 3F0h
Card mở rộng cần giải mã vào địa khác với địa thiết bị ngoại vi (Nếu giải mã trùng vào xung đột cổng) Các địa từ 300h đến 31Fh dành cho cam mở rộng Việc giải mã thực qua 10 địa A0 A9 tín hiệu AEN
AEN=1 Truy nhập DMA
AEN =0 Truy nhập qua vi xử lý Khi giải mã cho cam ta sử dụng AEN =0
(86)Hình 3.28 Sơđồ card ghép nối qua giao diện ISA
Khi tín hiệu địa vào đúng: A8, A9 =l, A2, A3, A4, A5, A6, A7 =0 cho tín hiệu đầu mạch giải mã (đưa vào CS 8255) mức thấp cho phép mạch làm việc
Giải thích tác dụng câu lệnh tín hiệu địa chỉ
b) Ghép nối qua khe cắm PCI
• Cấu hình hệ thống bus PCI
Bus nội Pheripheral Component Interconnect (PCI) là mmột giao diện truyền liệu cấu thành điều khiển ngoại vi hệ trung tâm (vi xử lý + bộ nhớ) Bus PCI bus liệu địa 32, 64 bit Để hiểu đầy đủ kiến trúc phần cứng PCI cần quan tâm đến chủ đề:
+ Không gian địa
+ Kích thước liệu
+ Byte thứ tự
+ Các vectơ ngắt
(87)Bus 0: Primary bus
Hình 3.29 Sơđồ hệ PCI
Tần số làm việc clock PCI từ O-33MHZ, tác động theo sườn lên
Các nhóm tín hiệu qua khe cắm PCI
Bus PCI sử dụng mainboard máy tính PC có màu trắng, 62 chân mặt Chắc chân khe cắm tham khảo ([3] Ngơ Diễn Tập,
(88)Hình 3.30 Các tín hiệu khe cắm PCI
Ý nghĩa tác dụng chân tín hiệu:
+ AD[31 -0] Các chân địa chuẩn liệu
+ C/BE (x) Cho phép lệnh/Byte
+ PAR Parity sử dụng cho AD0-AD31 C/BE -3
+ FRAME Sử dụng để báo chu kỳ pha địa hay pha liệu
+ TRDY Thiết bị đích (Target) sẵn sàng
+ IRDY Thiết bị khởi tạo (Initator) sẵn sàng
+ DEVSEL Chọn thiết bị
+ STOP Xác nhận bồi target Yêu cầu Master để dừng chu kỳ truyền
+ IDSEL Khởi tạo chọn thiết bị
+ PERR Lỗi Parity
+ SERR Lỗi hệ thống
+ REQ Yêu cầu di chuyển PCI
+ GNT (Grant) Công nhận sử dụng PCI hợp lệ
(89)+ CLK Xung nhịp đồng hồ
+ LOCK Điều khiển khoá tài nguyên bus PCI
+ INT A, B, C, D Các tín hiệu ngắt
• Các tên gọi (terms): Việc trao đổi liệu thiết bị bus PCI theo phương thức truyền đồng Việc trao đổi thực thiết bị khởi tạo- thiết bị đích Một số tên gọi sử dụng
+ Initator: Thiết bị khởi tạo hay gọi thiết bị Master Thiết bị chiếm bus khởi tạo truyền liệu Mỗi Initator phải có target
+ Target: Thiết bị đích hay cịn gọi thiết bị Slave đích truyền liệu (đọc viết)
+ Agent: Bất kỳ Initator Target bus PCI Đây chưa xác nhận Initator Target thiết lập liên kết.
Giải mã địa phân bổ trước (Distributed Address Decoding)
Hình 3.31 Giải mã địa phân bổ trước
(90)đó giao dịch truyền nhận liệu Initator Target
Đọc/viết liệu: Hình 3.32 cho ta thấy việc viết từ Initator vào Target
Hình 3.32 Viết từ Initator
Hình 3.33 Biểu đồ thời gian trình viết
Các thiết bị đích (target) nhận bắt đầu máy chu kỳ bus tín hiệu FRAME# xác nhận xung đồng hồ thứ hai Ở chu kỳ bus khởi tạo, lệnh địa dẫn tới thiết
bị nối với bus thiết bị đích tìm thấy chu kỳ gửi tín hiệu xác nhận DEVSEL# Sự trả lời target sau xung clock (giải mã tốc độ cao - trình speed decode) sau hay xung clock (giải mã tốc độ trung bình giải mã tốc độ chậm) Sau trả lời
(91)sẽ giải phóng xung đồng hồ thiết bị đích kết thúc chu kỳ bus
Hình 3.35 Biểu đồ thời gian trình đọc
Như dẫn dắt chu kỳ cần có xung đồng hồ chu kỳ đệm agent điều khiển bus AD thay đổi Vì chu kỳ đọc nhiều so với chu kỳ viết xung đồng hồ phải cần thiết Các thiết bị đích (target) nhận bắt đầu máy chu kỳ bus tín hiệu FRAME# xác nhận xung đồng hồ thứ hai Ở chu kỳ bus khởi tạo lệnh địa dẫn tới thiết bị nối với bus thiết bị đích tìm thấy chu kỳ gửi tín hiệu xác nhận DEVSEL# Trong trường hợp thiết bị đích trả lời hai xung đồng hồ nên việc giải mã giải mã tốc độ trung bình Điều cần thiết để đưa liệu vào bus cần có thời gian thay đổi agent - khơng quan tâm đến bus (khơng địa chỉ) lấy điều khiển bus AD (đúng địa chỉ)
Sau hai xung đồng hồ từ lúc bắt đầu chu kỳ bus thiết bị đích đặt liệu đọc vào bus AD xác nhận TRDY# Ở xung đồng hồ thiết' bị đích kiểm tra IRDY# Nếu IRDY# xác nhận (Initator nhận liệu), việc truyền liệu hoàn thành Và sau tín hiệu FRAME# cắt xác nhận, với ý nghĩa liệu thời cuối Thiết bị đích nhận kết thúc giao dịch Sau liệu cuối truyền, thiết bị đích điều khiển DEVSEL# TRDY# cắt xác nhận hai tín hiệu kết thúc xung đồng hồ giao dịch bus chấm dứt
3.2 Ghép nối máy tính với thiết bịđo lường điều khiển
(92)Hình 3.36 Mơ hình điều khiển tổng quát
3.2.2 Các phương pháp điều khiển a) Điều khiển tương tự
Hình 3.37 Mơ hình điều khiển tương tự
b) Điều khiển số
Hình Mơ hình điều khiển tương tự
Wk: Giá trị dặt
y(t): Giá trị thực
uk: Điều khiển đầu
(93)CÂU HỎI VÀ BÀI TẬP
1 Xem vùng địa thiết bị ngoại vi máy tính sử dụng qua Program/Accessories/System/Tools/Windows Information
2 Viết chương trình truyền tin nối tiếp hai máy tính VB sử dụng đối tượng MS COM
3 Viết chương trình điều khiển ngồi cổng máy in song song chạy loại windows làm nhấp nháy đèn LED dùng inoutport.dll
4 Tìm mạng Intemet vi xử lý USB
5 Tìm hiểu chíp biến đổi USB/RS232, RS232/RS485
6 Tìm ngơn ngữ lập trình (VC, VB, Delphi, C#) hàm truy nhập cổng máy tính PC
7 Xây dựng mạch ghép ADC 7109, 574, 0816, với cổng máy in song song, nối tiếp
8 Lắp ráp sơ đồ DAC 0808 với cổng máy in song song điều khiển bóng đèn 12V cơng suất nhỏ (5, 12, 21 W) sáng tối dần chương trình máy tính
9 Xây dựng mạch ghép LCD đường với cổng máy in song song viết chương trình hiển thị ký tự LCD
10 Xây dựng ma trận LED (rời khối) ghép với cổng máy in sóng song hiển thị ký tự qua ma trận chương trình máy tính theo phương pháp quét động
11 Xây dựng mơ hình điều khiển motơ chiều kiểu cầu H qua cổng máy in song song Viết chương trình điều khiển
12 Xây dựng hệ thống đo U, I, f dịng điện xoay chiều máy tính
13 Xây dựng hệ thống vẽ đường đặc tuyến linh kiện bán dẫn máy tính 14 Xây dựng hệ thống ghép nối máy tính qua cổng song song nối tiếp thu thập liệu tự động gồm ADC, ghép nối, chương trình lưu sở liệu chạy loại Windows
15 Tự viết chương trình thu ảnh lưu vào máy tính qua Webcam
(94)Chương IV
Ghép nối máy tính - máy tính
4.1 Ghép nối đơn giản qua cổng song song
Theo sơ đồ chân nối với sau:
+ Từ Do đến D7 chân cổng PC1 PC2 tương ứng nối với
+ ACK - STB
+ INIT - BUSY
+ SLCTIN-SLCT
Như Vậy liệu từ máy (giả sử PC1) chuyển sang máy (PC2) qua ghi 378h
Chương trình thu bên PC2 phải thiết lập bit D5 ghi 37Ah máy lên để 378h máy cổng vào Sau byte truyền, qua STB máy PC2 báo cho PC1 biết nhận tiếp liệu PC1 lại gửi tiếp Truyền/nhận qua cổng song song thực khoảng cách vài mét
4.2 Ghép nối đơn giản qua cổng nối tiếp
Để thực truyền liệu hai máy tính PC thực kết nối qua cổng truyền tin nối sơ đồ hình 4.2
Hình 4.2 Ghép nối đơn giản qua cổng nối tiếp
4.3 Vòng dòng điện
Trong truyền tin nối tiếp, để thực truyền với khoảng cách xa sử dụng giao diện RS-422, RS-485 sử dụng giao diện RS-232 kết hợp với vòng dòng điện
(95)+ Vòng dòng điện 20mA đời trước RS - 232, mô tả trạng thái logic qua tác động cho không cho dịng điện có cường độ 20mA qua mạch
• Khái niệm dịng dịng điện
Hình 4.3 Sơđồ vòng dòng điện
Ghép nối quang
Hoạt động phần tử ghép quang: Khi có dịng điện chạy qua một, phát quang, làm cho tranzito quang dẫn điện Như tín hiệu truyền từ bên "vào" đến bên "ra" hai bên khơng nối trực tiếp Nếu bên "vào" có điện áp cao khơng truyền điện áp cao sang bên "ra" mà có tín hiệu truyền qua
Hình 4.4 Phần tử ghép quang
Một sơ đồ ghép nối quang thu - phát sau
(96)4.4 Ghép nối qua mạng LAN
Các máy tính ghép nối với thành mạng máy tính Với loại mạng cục có kiểu topology:
- Hình - Hình vịng - Kiểu bus
Mỗi máy tính cần có cảm mạng để ghép với đường dây thiết bị mạng Các thiết bị mạng thơng dụng xem trang 11, 12
CÂU HỎI VÀ BÀI TẬP
1 Xây dựng mạch ghép nối nối tiếp hai máy tính ghép nối RS485
2 Xây dựng mạch ghép nối nối tiếp hai máy tính ghép nối RS232 có dùng vịng dịng điện, ghép quang
(97)Chương V
Ghép nối máy tính - hệ vi xửlý
5.1 Họ vi điều khiển 8x51/52
5.1.1 Tổng quát vi điều khiển 8x51/52
8x51/52 họ vi điều khiển có đặc tính kỹ thuật sau:
- Là vi điều khiển bit Có 4kB/ 8kB ROM 128/1256 byte RAM - Khả địa hoá:
+ 64K nhớ chương trình
+ 64K nhớ liệu - Có 128 bytes nhớ RAM - Có Time/Counters
- Cổng nối tiếp, cổng vào song song
Hình 5.1 Sơđồ khối vi điều khiển 8x51
- Có điều khiển ngắt logic với nguồn ngắt (8x51) nguồn ngắt (8x52) - 22 ghi có chức đặc biệt SFR (Special function registers)
8051có thể đánh địa 64K nhớ liệu 64K nhớ chương trình ngồi 8051 có tín hiệu đọc phân biệt: RD# PSEN#:
(98)-PSEN#: Được kích hoạt byte đọc từ nhớ chương trình bên ngồi
Hình 5.2 Sơđồ vi điều khiển 8x51/52 tối thiểu hoạt động
5.1.2 Truyền tin nối tiếp vi điều khiển 8x51/52
Vi điều khiển 8x51/52 có cổng nối tiếp nằm chíp Chức quan trọng cổng nối tiếp biến đổi liệu từ song song thành nối tiếp để đẩy lên đường truyền biến đổi liệu vào từ nối tiếp thành song song
Việc truy nhập phần cứng cổng nối tiếp thông qua chân TXD RXD 8x52 bit Port 3:
P3.1 (TxD) chân 11 P3.0 (RxD) chân 10
Cổng nối tiếp 8x52 truyền chiều đồng thời (full duplex) ký tự nhận lưu trữ đệm ký tự thứ nhận CPU đọc ký tự thứ trước ký tự thứ hai nhận liệu khơng bị Có ghi chức đặc biệt (Special Function Register)để phần mềm qua truy nhập cổng nối tiếp SBUF SCON SBUF (Serial port buffer) có địa 99h xem buffer Khi ghi liệu vào SBUF truyền liệu đọc liệu từ SBUF nhận liệu từ đường truyền SCON (Serial port Control register) có địa 98h ghi đánh địa theo bit bao gồm bit trạng thái điều khiển Bit điều khiển xác lập chế độ điều khiển cho cổng nối tiếp bit trạng thái cho biết ký tự truyền nhận Bit trạng thái kiểm ta phần mềm lập trình để gây ngắt
(99)polling theo kiểu ngắt Việc chọn loại tuỳ theo yêu cầu công việc cụ thể Với ứng dụng đơn giản, liệu chương trình kiểu polling đáp ứng Với ứng dụng yêu cầu vào phức tạp, liệu nhiều, nhanh nên sử dụng phương pháp truyền tin dùng ngắt
Khi sử dụng truyền tin nối tiếp với vi điều khiển, để tăng cường độ lớn tín hiệu truyền tin thường sử dụng vi mạch khuyếch đại truyền tin nối tiếp MAX232 Sơ đồ sử dụng hình dưới:
Hình 5.3 Vi mạch khuyếch đại truyền tin nối tiếp MAX232
5.2 Ghép nối hệ vi xử lý - máy tính PC
Phần cứng: Ghép nối điển hình máy tính vi điều khiển 8x51/52 thông qua cổng truyền tin nối tiếp, giao diện RS-232
(100)Hình 5.4 Ghép nối vi điều khiển 8x51/52 với máy tính PC
Phần mềm:
+ Chương trình vi điều khiển: Được viết hộp ngữ C sau dịch nạp vào nhớ vi điều khiển (nếu chương trình lớn phải chứa nhớ ngoài), thực chức thu liệu truyền máy tính host, xử lý theo lệnh host
+ Chương trình host: Viết ngơn ngữ bậc cao thực thu liệu từ hệ vi xử lý gìn về, cập nhật liệu, truyền tới máy tính khác, điều khiển thiết bị chấp hành, gìn lệnh tới vi xử lý Các chương trình chạy hệ điều hành Windows 2000, XP truy xuất cổng phải thông qua hàm ngôn ngữ bậc cao hàm API Windows Các chức viết dạng luồng (thread)
5.3 Ghép nối máy tính với chuột bàn phím
Bàn phím chuột thiết bị quen thuộc ghép nối với máy tính PC Chúng dùng để nhập liệu tay từ người sử dụng, dùng để tác động vào biểu tượng mênh để điều khiển máy tính Trong bàn phím chuột có vi điều khiển Hệ vi xử lý xây dựng vi điều khiển vế số thiết bị điện, điện tử khác trình làm việc truyền tin với hệ trung tâm (CPU nhớ trung tâm) theo phương pháp truyền tin nối tiếp đồng Trước chuột thường nối qua cổng truyền tin nối tiếp (COM1 COM2) cịn ngày máy tính PC bàn phím chuột kiểu PS/2
The PS/2 Mouse/keyboard Protocol
Giao diện vật lý:
(101)cổng PS/2 có hai kiểu: chân DIN chân mini-DIN Cả hai kiểu đầu nói giống mặt điện, chúng khác chân Điều có nghĩa hai kiểu đầu nối thay đổi dễ dàng cho đầu nối chuyển đổi
Bàn phím PC sử dụng hai kiểu đầu nối 6-chân mini-DIN 5- chân DIN connector Nếu có bàn phím 6-chân mini-DIN mà máy tính lại 5-chân DIN (hoặc ngược lại) cần có đầu nối chuyển đổi (hoặc cắt dây nối lại chuyển đổi với nhau) Bàn phím với 6-chân mini-DIN thường gọi bàn phím "PS/2", loại 5-chân DIN thường gọi thiết bị "AT" (các bàn phím "XT" thường sử dụng 5-chân DIN, thuộc loại cũ không làm năm gần nữa) Các bàn phím loại PS/2, AT, USB
Cáp nối bàn phím chuột với máy tính thường dài khoảng feet có đến dây bọc nhựa bọc lớp giấy kim loại mỏng Nếu muốn có dây dài phải mua dây cáp PS/2 mở rộng có bán cửa hàng vật liệu điện Chúng ta nối nhiều đoạn dây cáp mở rộng lại mua độ dài dây cần thiết Nếu nối nhiều mối nối làm truyền tin
Các chân kiểu đầu nối Hình 55 a, b:
Hình 5.5a
(102)Hình 5.6 Đầu nối chuột/bàn phím PS/2 chân
Giao diện điện:
Chú ý: phần thuật ngữ "host" dùng để thiết bị mà chuột bàn phím nối đến ví máy tính PC cịn thuật ngữ "device" để bàn phím chuột
Bàn phím chuột cung cấp qua nguồn đơn (Vcc/Ground) Dịng tiêu thụ khơng lớn 275 ma từ host phải tránh tăng điện đột ngột Những tăng đột ngột điện gây nguyên nhân "hot-plugging" (tức rút/cắm bàn phím chuột máy tính chạy) Những mainboard cũ cịn có cầu chì bảo vệ cổng bàn phím chuột Khi cầu chì bị nổ khơng mang lại lợi ích cho người tiêu dùng Kiểu mainboard sử dụng cầu chì tự nối lại "Poly" hướng giải vấn đề
Tóm tắt: Đặc tính nguồn cung cấp Vcc = +4.5V to +5.5V
Dòng lớn = 275 mA
Các đường dây Data Clock hở collector có điện trở kẻo lên Một giao diện "open-collector" có hai trạng thái có thể: trở kháng thấp trở kháng cao Trong trạng thái "low", transistor kẻo mạch (nhe) xuống mức nối đất Trong trạng thái hình impedance" giao diện đóng vai trị mạch điện hở không điều khiển mạch cao hay thấp Vả lại điện trở kẻo lên "pullup" nối bus Vcc bus kẻo lên cao khơng có thiết bị bus tác động kẻo xuống thấp Giá trị xác điện trở không quan trọng (1~10 kOhms); điện trở lớn cho kết nguồn tiêu thụ nhỏ điện trở nhỏ cho kết nối lên nhanh Một giao diện mạch hở collector xem đây:
Hình 5.7: Giao diện mạch open-collector chung Dữ liệu Clock đọc vào chân A B vi điều khiển Cả dây có điện áp +5V, kẻo tới đất xác nhận mức "1" C D
(103)C, bị đảo ngược
Hình 5.7 Giao diện mạch bàn phím
Truyền tin: Mơ tả chung
Chuột bàn phím PS/2 thực giao thức truyền tin nối tiếp đồng hai chiều Bus nghỉ ("idle") hai đường dây cao (open-collector) Trạng thái bàn phím chuột cho phép bắt đầu truyền liệu; Host có điều khiển cuối bus cấm truyền tin thời điểm cách kẻo đường Clock xuống thấp (pulling the Clock nhe low)
Thiết bị ln phát tín hiệu clock Nếu host muốn gửi liệu, phải cấm truyền tin từ thiết bị cách kẻo clock low Host kẻo dây Data xuống thấp (Data low) giải thoát dây Clock (releases Clock) Đây trạng thái "Request-to-send" tín hiệu thiết bị bắt đầu sinh xung clock
Tóm tắt: Các trang thái bus:
Data = high, Clock = hình: Trạng thái nghỉ - khe state
Data = high, Clock = low: Cấm truyền tin - Communication Inhibited
Data = low, Clock = high: Host Request-to-send
Các liệu truyền byte byte truyền khung tin (frame) chứa 11 - 12 bits Các bit là:
• start bit Bit ln
(104)• parity bit (parity lẻ)
• stop bit Bit ln
• acknowledge bit (host-to-device communication giấy)
Bit parity lập (set) có tổng số chẵn bit bit liệu xố (reset - 0) nêu có tổng số bit lẻ bit liệu Con số bit bit liệu cộng với bit parity luôn phải thêm vào số lẻ (parity lẻ) (The number of 1's in the data bits plus the panty bit always add up to an add number (oddparity.) Điều sử dụng để tìm hỏng Bàn phím/con chuột phải kiểm tra (chếch) bit khơng phản ứng thu lệnh sai
Dữ liệu truyền từ thiết bị tới host đọc sườn xuống (falling edge) tín hiệu clock signal; liệu truyền từ host tới thiết bị đọc sườn lên (rising edge) Tần số xung clock phải giới hạn 10 - 16.7 kHz Nghĩa xưng clock phải cao 30 - 50 micro giây thấp 30 - 50 micro giây Nếu thiết kế bàn phím, chuột, thiết bị nối với host biến đổi/1ấy mẫu đương liệu xung (modify/sample the Data nhe in the middle ofeach cell) Tức 15 - 25 micro giây thích hợp sau clock thay đổi Mặt khác bàn phím/con chuột ln sinh xung tín hiệu clock, host ln có điều khiển sau (ultimate control) qua truyền tin
Truyền tin: Device-to-Host
Các đường Data Clock hở collector (open collector) Một điện trở nối dây với +5V, trạng thái nghỉ bus cao Khi bàn phím chuột muốn gửi thơng tin, kiểm tra (checks) đường Clock chắn mức cao Nếu chưa phải, host cấm truyền tin thiết bị phải đưa vào đệm liệu truyền host giải thoát Clock (releases Clock) Đường dây Clock phải tiếp tục cao 50 micro giây trước thiết bị bắt đầu truyền liệu
Như đề cập đến phần trước, bàn phím chuột sử dụng giao thức nối tiếp với khung tin 11 bit Các bit là:
• start bit Bit ln
• data bits, LSB trước
• parity bit (odd parity)
• stop bit Bit ln
Bàn phím/chuột viết bit vào đường Data Clock cao, đọc host Clock is thấp Hình 5.58 5.59 minh hoạ điều
(105)Hình 5.8 Truyền tin từ thiết bị tới host
Hình 5.9 Mã qt phím "Q " gửi từ bàn phím tới cổng bàn phím kênh A Clock, kênh B liệu
Tần số clock 10- 6.7 kHz Thời gian từ sườn lên xung Clock tới thay đổi trạng thái liệu (Dâm transition) phải micro giây Thời gian từ thay đổi trạng thái liệu tới sườn xuống xung clock phải micro giây không lớn 25 micro giây
Host cấm truyền tin lúc cách kẻo đường Clock thấp (low) 100 microseconds Nếu truyền bị cấm trước xung clock thứ 11 thiết bị (device) phải hỏng việc truyền phải sẵn sàng truyền lại (sự truyền) "chunk" liệu host giải thoát Clock (releases Clock) Một "chunk" liệu a ma ke co de, break co de, device ID, mouse movement packet, etc Ví dụ bàn phím bị ngắt gửi byte thứ hai break co de hai byte, cần phải truyền lại byte break code
(106)Truyền tin Host-to-Device:
Gói tin (packet) gửi khác truyền tin host-to-device
Trước hết, thiết bị PS/2 sinh tín hiệu clock Nếu host muốn gửi liệu, trước hết phải dây Clock Data vào trạng thái "Request-to-send" sau:
Cấm truyền tin việc kẻo dây Clock xuống thấp 100 micro giây
Gắn vào "Request-to-send" cách kẻo dây Data xuống thấp, sau giải Clock (release Clock)
Thiết bị kiểm tra trạng thái thời khoảng không vượt milli giây Khi thiết bị tìm trạng thái này, bắt đầu phát tín hiệu Clock clock bit liệu bit stop Host thay đổi dây Data dây Clock mức thấp, liệu đọc thiết bị dây Clock mức cao Việc ngược với điều xuất truyền tin device-to-host
Sau bit stop thu, thiết bị xác nhận (acknowledge) byte thu mang dây Data xuống thấp phát xung clock cuối Nếu host khơng giải dây Data sau xung clock thứ 11, thiết bị tiếp tục phát xung clock dây Data giải thốt' (thiết bị phát hỏng) Host bỏ việc truyền (abort transmission) thời điểm trước xung clock thứ 11 (acknowledge bia cách giữ dây Clock mức thấp 100 micro giây Đây bước host gửi liệu đến thiết bị PS/2:
1) Làm cho dây Clock mức thấp 100 micro giây 2) Làm cho dây Data mức thấp
3) Giải thoát dây Clock (Release the Clock line) 4) Đợi thiết bị mang dây Clock đến mức thấp 5) Set/reset dây Data để truyền bit liệu 6) Đợi thiết bị mang dây Clock đến mức cao 7) Đợi thiết bị mang dây Clock đến mức thấp
8) Liên tục làm bước 5-7 với bit liệu khác bit parity 9) Release dây Data
10) Đợi thiết bị mang dây Data đến mức thấp 11) Đợi thiết bị mang dây Clock đến mức thấp
12) Đợi thiết bị giải thoát (release) dây Data dây Clock
(107)nó thấp trường hợp với 11 bit khác)
Hình 5.11 Chi tiết hoá truyền tin host đến thiết bị
Tham khảo Hình 5.11 có hai lượng thời gian host đợi (host looks for) (a) is the time it takes the device to begin generating clock pulses after the host initially takes the Clock nhe low, which must be no greater than 15 ms (b) is the thuê takes for the packet to bê sau, which must be no greater than 2ms Nếu khoảng thời gian không phù hợp, host phát hỏng Tức khắc sau "ack" nhận, host mang dây Clock xuống thấp cấm truyền tin xử lý liệu Nếu lệnh gửi từ host yêu cầu đáp ứng đáp ứng phải nhận 20 ms sau host giải phóng dây Clock Nếu điều khơng xảy ra, host sinh hỏng (enor)
CÂU HỎI VÀ BÀI TẬP
1 Giao diện PS/2 gì? Tại chuột bàn phím ghép chung PS/2 mà không xung đột?
2 Xây dựng hệ thống thu thập liệu: Tín hiệu analog qua ADC đưa vào hệ vi xử lý (8x51 PSOC) sau chuyển host PC qua RS 485 RS232 ghép vòng dòng điện
(108)TÀI LIỆU THAM KHẢO
[1] William Stallings, Computer organization and architecture, Prentice- Han, Inc, 1996.
[2] Adrew S Tanenbaum, The Modern Operating System
[3] Peter H Anderson, Use of a PC Printer Portfor Control and Data Acquisition,
Department of Electrical Engineering Morgan State University, 1996
[4] Ngô Diễn Tập, Đo lường điều khiển máy tính, NXBKHKT, 2001 [5] Văn Thế Minh, Kỹ thuật vi xử lý, NXBGD, 1997
[6] Vũ Chấn Hưng, Giáo trình kiến trúc máy vi tính, NXB GTVT, 2003 [7] Ngơ Diễn Tập, Kỹ thuật ghép nối máy tính, NXBKHKT, 1999
[8] Nguyễn Nam Trung, Cấu trúc máy vi tính thiết bị ngoại vi, NXB KHKT, 2000 [9] Nguyễn Mạnh Giang, Kỹ thuật ghép nối máy tính, NXBGD, 1998
[10] Vũ Chấn Hưng, Tập giảng "ứng dụng kỹ thuật vi xử lý máy vi tính
đo lường điều khiển".
[11] Các tài liệu kỹ thuật ADC, DAC, vi mạch số - tương tự hãng [12] Một số trang web:
+ http://w.w.w.msn.com
+ http://w.w.w.ntfs.com
+ http://w.w.w.cs arizona.edu/
+ http://w.w.w.science.unitn.it/
+ http://w.w.w.howstuffworks.com
(109)MỤC LỤC
Trang
Chương I Tổng quan về máy tính, thiết bị ngồi của máy tính phương pháp
trao đổi, biến đổi dữ liệu
1.1 Máy tính thành phần cấu thành
1.1.1 Hệ vi xử lý kinh điển
1.1.2 Máy tính PC
1.1.3 Hệ thống bus
1.2 Thiết bị ngồi máy tính
1.2.1 Kiểu - điện tử
1.2.2 Kiểu từ - điện tử
1.2.3 Kiểu quang - điện tử
1.2.4 Thiết bị xử lý tín hiệu 11
1.3 Các chuẩn ghép nối 12
1.3.1 Định nghĩa 12
1.3.2 Các đặc tả cho kiểu ghép nối 14
1.4 Các phương pháp vào liệu 18
1.4.2 Vào/Ra theo phương pháp hỏi vòng 19
1.4.3 Vào / Ra ngắt 21
1.4.4 Vào / Ra theo phương pháp DMA 25
1.5 Các thiết bị chuyển đổi liệu: 26
1.5.1 Khái niệm - Định lý lấy mẫu Shannon 26
1.5.2 Chuyển đổi AfD 29
a A/D xấp xỉ tiệm cận 29
b A/D tích phân sườn dốc 31
1.5.3 Chuyển đổi D/A 43
Chương II Cấu trúc chung của modul ghép nối 48
2.1 Mơ hình tổng thể 48
2.2 Cấu trúc khối 49
2.2.1 Khối giải mã địa - nhiệm vụ, cấu tạo 49
2.2.2 Khối đệm liệu - nhiệm vụ, cấu tạo 51
(110)2.3 Phần mềm điều khiển thiết bị 54
Chương III Thiết kế ghép nối máy tính qua giao diện 57
3.1 Ghép nối máy tính qua giao diện 57
3.1.1 Ghép nối qua cổng song song 57
a) Các ghi giao diện vào song song 57
b) Điều khiển qua cổng song song 59
c) Đưa liệu vào máy vi tính qua cổng song song 70
3.1.2 Ghép nối qua cổng nối tiếp 71
a) Giao diện RS232, 485 71
b) Vào liệu Polling-truyền tin qua cổng nối tiếp 74
c) Vào liệu dùng ngắt 79
3.1.3 Ghép nối qua cổng USB 80
3.1.4 Ghép nối qua khe cắm rộng 85
a) Ghép nối qua khe cắm ISA 85
b) Ghép nối qua khe cắm PCI 86
3.2 Ghép nối máy tính với thiết bịđo lường điều khiển 91
3.2.1 Mơ hình tổng qt 91
3.2.2 Các phương pháp điều khiển 92
a) Điều khiển tương tự 92
Chương IV Ghép nối máy tính - máy tính 94
4.1 Ghép nối đơn giản qua cổng song song 94
4.2 Ghép nối đơn giản qua cổng nối tiếp 94
4.3 Vòng dòng điện 94
4.4 Ghép nối qua mạng LAN 96
Chương V Ghép nối máy tính - hệ vi xử lý 97
5.1 Họ vi điều khiển 8x51/52 97
5.1.1 Tổng quát vi điều khiển 8x51/52 97
5.1.2 Truyền tin nối tiếp vi điều khiển 8x51/52 98
5.2 Ghép nối hệ vi xử lý - máy tính PC 99
5.3 Ghép nối máy tính với chuột bàn phím 100