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

Máy tính tương thích IBM là loại máy tính phổ biến trên thế
giới, tùy theo ứng dụng có thể phân thành:
- Máy tính để bàn (Desktop Personal Computer - Desktop PC)
sử dụng trong văn phòng, công sở cho cá nhân hay máy trạm
trong mạng.
- Máy tính chủ (Server PC) dùng làm máy chủ trong mạng.
- Máy tính công nghiệp (Industrial PC) dùng trong môi
trường công nghiệp, chịu điều kiện khắc nghiệt về môi trường
như nhiệt độ, độ ẩm, chấn động, va chạm và yêu cầu cao về độ
cứng, rắn chắc, chống va đập và xác suất hư hỏng thấp.
- Máy tính panel (Panel PC) có màn hình và bàn phím kết
hợp và gắn trên bảng điều khiển, thông thường màn hình loại
tinh thể lỏng TFT LCD, một số màn hình touchscreen với phím
bấm lập trình trực tiếp trên màn hình.
- Máy tính kiểu nhúng (Embedded PC) có máy tính (vi xử lý)
được kết hợp vào một thiết bị khác (nhúng).
Cấu tạo máy tính thông thường có nguồn cấp điện,
mainboard gồm CPU, bộ nhớ, các chip điều khiển phụ trợ chipset,
đĩa cứng, đĩa mềm, đĩa CD và các rãnh cắm dùng cho các card mở
rộng ISA, EISA, VESA, PCI,… và các đầu nối cho máy in, màn
hình, bàn phím, chuột, modem, USB (Universal Serial Bus), Fire
Wire, hồng ngoại (IrDA), mạng 
pdf 35 trang xuanthi 24/12/2022 2980
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Đo lường và điều khiển bằng máy tính - Chương 3: Giao tiếp qua rãnh cắm máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfgiao_trinh_do_luong_va_dieu_khien_bang_may_tinh_chuong_3_gia.pdf

Nội dung text: Giáo trình Đo lường và điều khiển bằng máy tính - Chương 3: Giao tiếp qua rãnh cắm máy tính

  1. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 53 lượng có thể lên đến 1 Gbyte, có vận tốc nhanh hơn và bền hơn đĩa cứng (xem phụ lục 2). Máy tính sử dụng trong hệ thống đo lường điều khiển phải giao tiếp với ngoại vi, có nhiều cách giao tiếp như: - Qua các card đo lường, điều khiển gắn vào rãnh cắm trên mainboard máy tính. - Giao tiếp qua cổng máy in song song - Giao tiếp qua cổng nối tiếp RS-232 - Giao tiếp qua cổng nối tiếp USB, Fire Wire - Giao tiếp dùng cổng hồng ngoại Hình 3.1 Mainboard Pentium II và Pentium IV Trong chương 3 sẽ tập trung phân tích cách giao tiếp qua rãnh cắm.
  2. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 55 Bảng 3.1 SA19 ÷ SAO (System Address bus 19 ÷ 0) (I/O) Tuyến địa chỉ 20 bit dùng truy cập bộ nhớ 1 Mbyte và ngoại vi. Có thể dùng với LA23 ÷ LA17 truy cập 16 Mbyte bộ nhớ. Khi truy cập ngoại vi dùng 16 bit thấp cho phép truy cập 64K địa chỉ ngoại vi. Ở chế độ đọc hay ghi khi BALE mức cao, địa chỉ được xuất ra và được cài lại ở cạnh xuống của BALE. Các tín hiệu này được điều khiển bởi vi xử lý hay bộ điều khiển DMA nhưng cũng có thể được chiếm bởi card điều khiển gắn vào rãnh cắm LA23 ÷ LA17 (Unlatched Address bus 23 ÷ 17)(I/O) Dùng cùng với SA19÷0 để truy cập 16 Mbyte bộ nhớ, không được cài lại AEN (Address Enable) (O) Cho phép bộ điều khiển DMA chiếm tuyến của vi xử lý khi ở mức cao BALE (Buffered Address Latch Enable) (O) Dùng để cài địa chỉ LA23 ÷ 17 hay dùng để giải mã các địa chỉ này. CLK (System Clock) (O) Xung nhịp 4.77 MHz SD15 ÷ SD0 (System Data) (I/O) 16 bit dữ liệu –DACK0 ÷ –DACK3, –DACK5 ÷ –DACK7 0 ÷ 3 và 5 ÷ 7 dùng thông báo cho biết vi xử lý chấp nhận DMA khi có yêu cầu ở các chân (DMA Acknowledge) (O) DRQ0 ÷ DRQ3 và DRQ5 ÷ DRQ7 DRQ0 ÷ DRQ3, DRQ5 ÷ DRQ7 Dùng khi ngoại vi yêu cầu chiếm tuyến của vi xử (DMA Requests) (I) lý ISA phục vụ cho DMA (Direct Access Memory) để trao đổi thông tin trực tiếp với bộ nhớ. DRQ sẽ ở mức cao cho đến khi DACK tương ứng ở mức thấp – IOCHCK (I/O Channel Check) (I) Ở mức cao khi có lỗi, ngoài ra có thể do board ISA điều khiển để yêu cầu ngắt NMI – IOCHRDY (I/O Channel Ready) (I) Cho phép các board chậm bắt vi xử lý chờ bằng cách kéo đường này xuống thấp khi đang ở chu kỳ đọc viết, lúc đó vi xử lý sẽ vào chu kỳ chờ cho đến khi đường này lên mức cao – IOR (Read) (I/O) Báo ngoại vi xuất dữ liệu ra tuyến – IOW (Write) (I/O) Báo ngoại vi đọc dữ liệu trên tuyến IRQ9 ÷ IRQ12, IRQ14 ÷ IRQ15 IRQ3 ÷ IRQ7 Tín hiệu vào báo ngoại vi cần ngắt, IRQ sẽ ở (Interrupt Requests) mức cao cho đến khi vi xử lý chấp nhận bằng chương trình phục vụ ngắt – SMEMR (System Memory Read)(O) Điều khiên bộ nhớ dưới 1 MB xuất dữ liệu ra
  3. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 57 170 – 177 Điều khiển IDE (Secondary IDE controller Intel 82371 AB/EB ) 1F0 – 1F7 Điều khiển IDE (Primary IDE controller) 201 – 201 Que trò chơi (Game port Joystick) 208 – 20F Dành cho mainboard (Motherboard resources) 220 – 22F Card âm thanh (ES 1868 Plug and Play Audio Drive) 274 – 277 IO read data port for ISA Plug and Play enumerator 2F8 – 2FF Cổng truyền thông 2 (COM2) 330 – 331 Card âm thanh 36E – 36F Điều khiển đĩa cứng (Standard IDE/ESDI Hard Disk Controller) 376 – 376 Điều khiển IDE (Secondary IDE controller) 378 – 37F Cổng song song (LPT1) 388 – 38B Card âm thanh 3B0 – 3BB Card video S3 Inc. Trio3D/2X (Engineering Release) 3C0 – 3DF Card video S3 Inc. Trio3D/2X (Engineering Release) 3F2 – 3F5 Điiều khiển ổ đĩa mềm (Standard Floppy Disk Controller) 3F6 – 3F6 Điều khiển IDE (Primary IDE controller) 3F8 – 3FF Cổng truyền thông 1 (COM1) Các thiết bị ngoại vi thường dùng ngắt để tác động đến CPU yêu cầu làm việc gì đó bằng cách đưa chân IRQ lên mức cao. Các chân này thường được dành sẵn cho các thiết bị cụ thể Bảng 3. 3: Các ngắt của một máy Pentium 2 0 Timer hệ thống 1 Bàn phím 2 PIC 3 Cổng truyền thông 2 4 Cổng truyền thông 1 5 Card âm thanh 6 Điều khiển ổ đĩa mềm 7 Cổng song song (LPT1) 8 RAM hệ thống và đồng hồ thời gian thực 9 Modem (Motorola SM56 PCI Speakerphone Modem) 9 IRQ cho PCI 10 Điều khiển ổ đĩa cứng 11 Điều khiển USB (Inter 8237-1 AB/EB PCI to USB Universal Host Controller) 11 IRQ cho PCI
  4. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 59 Việc thiết kế card ISA xuất nhập 8 bit tương đối đơn giản, bao gồm mạch giải mã địa chỉ, mạch chốt dữ liệu ra và mạch đệm dữ liệu vào. Ví dụ sử dụng địa chỉ 300 ta dùng mạch logic tạo tín hiệu /CS, mạch chốt và đệm dùng vi mạch 74LS373 Hình 3.4: Sơ đồ nguyên lý xuất nhập 3.2 GIỚI THIỆU MỘT SỐ IC THƯỜNG DÙNG 3.2.1 Vi mạch ADC và DAC ADC0804: ADC 8bit xấp xỉ liên tiếp (National Semiconductor)
  5. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 61 AD7524: DAC 8 BIT AD7845: DAC 12 BIT 3.2.2 Vi mạch giao tiếp số 8255: xuất nhập song song 24 bit gồm ba port A, B, C và thanh ghi điều khiển. Có ba mode hoạt động. Mode 0: vào ra trực tiếp, các port xuất nhập độc lập Mode 1: vào ra bắt tay, Port A và Port B xuất hay nhập với tín hiệu điều khiển từ port C. Mode 2: vào ra hai hướng cho Port A vớí tín hiệu điều khiển từ PC cao
  6. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 63 3.2.3 Vi mạch giãi mã 74LS138: Giải mã 3 ra 8 74LS139: hai bộ giãi mã 2 ra 4 74LS 682: so sánh nhị phân 8 bit 3.3 MỘT SỐ CARD ISA Sau đây trình bày card peripheral adapter 16 bit và hai card thu thập số liệu gắn vào rãnh ISA (Hình 3.5, 3.6, 3.7). Card peripheral adapter sử dụng hai vi mạch 74245 đệm tuyến hai chiều cho số liệu, hai vi mạch 74244 đệm tuyến địa chỉ và điều khiển. Vi mạch 74138 giải mã địa chỉ 300 đến 3FF, khi truy cập vùng địa chỉ này, chân Y4 của U5 (/IO decode) xuống thấp đưa vào U8 (74LS244) cho phép xuất ra đường MEMW và I/O decode 8 bit. Cầu nối 8/16 bit cho phép chọn chế độ 8 bit hay 16 bit. Khi chọn chế độ 8 bit (cầu nối hở). thì 8 bit cao được truyền khi đường địa chỉ Ao ở mức cao (địa chỉ lẻ) và 8 bit thấp được truyền khi đường địa chỉ Ao ở mức thấp (địa chỉ chẵn) Mạch chuyển đổi AD và DA 8 bit trình bày ở hình 3.6, 3.7. Hình 3.8 là mạch chuyển đổi AD dùng IC 7109. Vi mạch ADC ICL 7109 chuyển đổi tín hiệu analog ra dạng số nhị phân 12 bit và ghép nối với máy tín qua vi mạch giao tiếp
  7. 65 Hình 3.5: Peripheral Adapter 16 bit
  8. 67 Hình 3.7: Mạch chuyển đổi AD và DA
  9. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH TRANG 69 Hình 3.9: Mạch đếm dùng 8254 giao tiếp máy tính
  10. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH TRANG 71 Hình 3.10b: Mạch giao tiếp song song 16 bit slot ISA, phần xuất nhập ngoại vi
  11. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH TRANG 73 Việc truyền dữ liệu do initiator bắt đầu thông qua C/BE và IRDY còn target trả lời thông qua TRDY# và STOP# LOCK# Tín hiệu initiator báo dành riêng một số địa chỉ của target. IDSEL (Initialigation Devia Tín hiệu chọn chip Select) DEVSEL# (Device Select): Của nó trên tuyến PCI do target điều khiển khi nó thấy địa chỉ của nó trên tuyến PCI REQ# Yêu cầu dùng bus (request) GNT# Cho biết yêu cầu REQ# Đã được chấp nhận (grant) PERR# (Parity Error) SERR# (System Error) Sai hệ thống INTA#, INTB#, INIC#, Các tín hiệu ngắt INID# SBO# (Snoop Backoff)⎫ ⎬ Dùng cho card memory SDONE (Snoop done) ⎭ PRSNT 1 ÷ 2# Cho biết có board cắm vào slot và công suất tiêu thụ của board đó CLKRUN# (Clock Cho phép điều khiển xung nhịp CLK Running) MGGEN (66 MHz enable) Cho biết xung nhịp 33 MHz hay 66 MHz AD 32 ÷ 63 32 đường địa chỉ và dữ liệu cao trong PCI 64 bit. C/BE 4 ÷ 7# Dùng khi truyền 64 bit kết hợp với REQ 64# và ACK 64#, PAR 64 REQ 64# (Request 64 bit transfer) ACK 64# (Acknowledge 64 bit transfer) TCK (Test clock) ⎫ TDI (Test data input) ⎪ ⎪ TDO (Test output) ⎬ Các tín hiệu thử TMS (Test mode Select)⎪ ⎪ TRST# (Test Reset) ⎭⎪ Bảng 3.5 cho vị trí các tín hiệu trên slot, chi tiết hơn đề nghị đọc ở website www-techfest.com Đặc điểm của các board cắm trên tuyến PCI là dữ liệu có thể truyền không thông qua CPU chủ do đó vận tốc xử lý tín hiệu nhanh
  12. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH TRANG 75 31 +3.3V AD[18] 31 +3.3V AD[18]
  13. CHƯƠNG 3: GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH TRANG 77 Bảng 3.5 (tiếp theo) 63 Reserved Ground 63 Reserved Ground 64-bit start 64 Ground C/BE[7]# 64 Ground C/BE[7]# 65 C/BE[6]# C/BE[5]# 65 C/BE[6]# C/BE[5]# 66 C/BE[4]# +5V (I/O) 66 C/BE[4]# 3.3V (I/O) 67 Ground PAR 64 67 Ground PAR 64 68 AD[63] AD[62] 68 AD[63] AD[62] 69 AD[61] Ground 69 AD[61] Ground 70 +5V (I/O) AD[60] 70 +3.3V (I/O) AD[60] 71 AD[59] AD[58] 71 AD[59] AD[58] 72 AD[57] Ground 72 AD[57] Ground 73 Ground AD[56] 73 Ground AD[56] 74 AD[55] AD[54] 74 AD[55] AD[54] 75 AD[53] +5V (I/O) 75 AD[53] +3.3V (I/O) 76 Ground AD[52] 76 Ground AD[52] 77 AD[51] AD[50] 77 AD[51] AD[50] 78 AD[49] Ground 78 AD[49] Ground 79 +5V (I/O) AD[48] 79 +3.3V (I/O) AD[48] 80 AD[47] AD[46] 80 AD[47] AD[46] 81 AD[45] Ground 81 AD[45] Ground 82 Ground AD[44] 82 Ground AD[44] 83 AD[43] AD[42] 83 AD[43] AD[42] 84 AD[41] +5V (I/O) 84 AD[41] +3.3V (I/O) 85 Ground AD[40] 85 Ground AD[40] 86 AD[39] AD[38] 86 AD[39] AD[38] 87 AD[37] Ground 87 AD[37] Ground 88 +5V (I/O) AD[36] 88 +3.3V (I/O) AD[36] 89 AD[35] AD[34] 89 AD[35] AD[34] 90 AD[33] Ground 90 AD[33] Ground 91 Ground AD[32] 91 Ground AD[32] 92 Reserved Reserved 92 Reserved Reserved 93 Reserved Ground 93 Reserved Ground 94 Ground Reserved 94 Ground Reserved 64-bit end
  14. GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 79 Bảng 3.6: Lệnh PCI (từ C/BE#) C/BE# Lệnh C/BE# Lệnh 0000 Chấp nhận ngắt 1000 Dự trữ 0001 Chu kỳ đặc biệt 1001 Dự trữ 0010 Đọc Ngoại vi xuất nhập 1010 Đọc Cấu hình (Với IDSEL) 0011 Ghi Ngoại vi xuất nhập 1011 Ghi Cấu hình (Với IDSEL) 0100 Dự trữ 1100 Đọc nhiều ô nhớ 0101 Dự trữ 1101 Chu kỳ địa chỉ kép 0110 Đọc bộ nhớ 1110 Đường đọc bộ nhớ 0111 Ghi bộ nhớ 1111 Ghi bộ nhớ và cấm Hình 3.12: Giản đồ thời gian truyền 4 từ kép (32 bit) từ Initiator (master) đến target (slave) (nguồn www.xilinx.com)
  15. GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 81 3.5 THIẾT KẾ CARD GIAO TIẾP RÃNH PCI Trong mục trước chúng ta đã nghiên cứu các card ISA, việc thiết kế các card này tương đối đơn giản. Do các mainboard đời mới không còn hỗ trợ tuyến ISA nên chúng ta phải chuyển sang sử dụng tuyến PCI bằng cách mua các card chuyên dụng của các hãng với phần mềm kèm theo. Do sự phức tạp của tuyến PCI, việc tự thiết kế và chế tạo card PCI tương đối khó khăn, đòi hỏi sử dụng các linh kiện FPGA có mật độ tích hợp cao, mạch in nhiều lớp và công nghệ dán, ngoài ra việc lập trình cho card này cũng không phải dễ dàng mà phải thông qua các hàm Windows API. Việc thiết kế sẽ trở nên dễ dàng hơn nếu dùng các bộ PCI development kit có sẵn. Các bộ kit này giúp tạo các ứng dụng PCI khác nhau cùng với software kèm theo. Cấu trúc chung card PCI như sau (Hình 3.15):
  16. GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 83 Bảng 3.7: Card thu nhập số liệu và điều khiển ISA SLOT hãng Advantech (www.advantech.com) PCL-10501 Adapter, analog I/O PCL-812PG Multilap Analog and channels to DB-37 Digital I/O Card connector PCL-10502 Digital I/O port extender PCL-813B 32-channel S.E. Isolated A/D Card PCL-10503 Adapter, dual flat cables to PCL-816 16-bit High-resolution DB-37 connector DAS Card PCL-1800 330 kS/s, 12-bit High- PCL-816-DA-1 2-channel D/A Module for Speed Multifunction Card PCL-816 PCL-711B 8-channel 25 kHz PCL-818H 16-channel 100 kHz Multifunction DAS Card Multifunction DAS Card PCL-711S 8-channel 25 kHz PCL-818HD 16-channel 100 kHz Multifunction DAS Card Multifunction DAS Card PCL-720 Digital I/O and Counter PCL-818HG 16-channel 100 kHz High- Card gain DAS Card PCL-722 144-bit Digital I/O Card PCL-818L 16-channel 40 kHz Multifunction DAS Card PCL-724 24-bit Digital I/O Card PCL-818LS 16-channel 40 kHz Multifunction DAS Card PCL-725 Relay Actuator and PCL-832 3-Axis Servo Motor Isolated D/I Card Control Card PCL-726 6-channel D/A Output Card PCL-833 3-Axis Quadrature Encoder and Counter Card PCL-727 12-channel D/A Output PCL-836 6-channel Counter/Timer Card Card PCL-728 Isolated 2-channel D/A PCL-839 3-axis Stepping Motor Output Card Control Card PCL-730 32-channel Isolated Digital PCL-841 Dual-port Isolated CAN- I/O Card bus Interface Card
  17. GIAO TIẾP QUA RÃNH CẮM MÁY TÍNH 85 Hình 3.15: Card PCL818 và PCL832 hãng Advantech