Thay vì phải dùng ngôn ngữ lập trình để lập trình cho Card, ta có thể dùng các phần mềm
chuyên dụng của hãng, có đặc tính.
- Giảm thời gian lập trình.
- Trình bày dữ liệu dưới dạng bảng biểu, đồ thị.
- Lưu trữ dữ liệu trong file.
- Kết nối với các phần mềm khác.
Các phần mềm thông dụng hiện nay thường được sử dụng như là: LabVIEW (Laboratory
Virtual Instrument Engineering Workbench), VISA của National Instruments, GenieDAQ, VisiDAQ
của Advantech .
Dưới đây là giao diện một số phần mềm thu thập số liệu:
31 trang |
Chia sẻ: huongthu9 | Lượt xem: 444 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Giáo trình đo lường và điều khiển máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GIÁO TRÌNH
ĐO LƯỜNG VÀ
ĐIỀU KHIỂN MÁY TÍNH
Giáo trình Đo lường và điều khiển máy tính
Trang 1
Chương1
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ể lrng 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 , 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.
Máy tính công nghiệp chế tạo dưới dạng các board cắm trên một đế, mainboard chứa CPU
cũng chế tạo dưới dạng board cắm, đĩa cứng đôi khi được thay bằng đĩa thể rắn (SSD - Solid State
Disk) thực chất là bộ nhớ không bốc hơi lập trình được, dung 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.
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 1.1 Mainboard Pentium II va Pentium IV
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 2
I. GIAO TIẾP QUA RÃNH CẮM ISA.
1. Giới thiệu chung.
Rãnh cắm thông dụng nhất là rãnh ISA (Industry Standard Architecture) do IBM đưa ra
năm 1980 cho máy 8086 XT (Extended Technology), sau đó là ISA 16 bit cho máy AT
(Advanced Technology) va trở thành chuẩn AT Bus. Hiện nay các mainboard P4 không còn rãnh
cắm này tuy nhiên việc nghiên cứu rãnh cắm ISA vẫn là cần thiết. Rãnh cắm ISA có màu đen trên
mainboard gồm hai phần, phần đầu 62 chân, mỗi hàng 31 chân dùng cho trao đổi dữ liệu 8 bit,
phần thứ hai 36 chân, mỗi hàng 18 chân dùng hỗ trợ thêm khi cần dữ liệu 16 bit. Sơ đồ chân
rãnh cắm được cho trong hình 1.2.
Hình1.2: Sơ đồ chân rãnh cắm ISA
Dưới đây là ý nghĩa vắn tắt các tín hiệu của rãnh cắm (dấu - ở trước báo tín hiệu la tích cực
thấp).
SA19÷ SAO (System Address bus 19÷ 0)
(I/O)
Tuyến đại chỉ 20 bít dùng truy cập bộ nhớ 1MB
và ngoại vi. Có thể dùng với LA23 và 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
Giáo trình Đo lường và điều khiển máy tính
Trang 3
-DACK0÷-DACK3, –DACK5÷ –DACK7
(DMAAcknowledge) (O)
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
DRQ0÷ DRQ3 và DRQ5÷ DRQ7
DRQ0÷DRQ3, DRQ5÷DRQ7(DMA Requests)
(I)
Dùng khi ngoại vi yêu cầu chiếm tuyến của vi
xử 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
(Interrupt Requests)
Tín hiệu vào báo ngoại vi cần ngắt, IRQ sẽ ở
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.
– SMEMW (System Memory Write) (O) Điều khiển ghi dữ liệu vào bộ nhớ dưới 1 Mbyte
–MEMR (Memory Read) (O) Dùng để đọc dữ liệu từ bộ nhớ.
–MEMW (Memory Write) (O) Ghi dữ liệu vào bộ nhớ.
– REFRESH (Memory Refresh) (I/O) Ở mức thấp nhất trong chu kỳ làm tươi bộ nhớ.
OSC (Oscillator) (O) Xung nhịp 14.31818 MHz.
RESET DRV (Reset Drive) (O) Tín hiệu reset, ởmức cao khi boot máy
TC (Terminal Count) (O) Báo đã đếm hết trong hoạt động DMA
–MASTER (I) Khi board ISA có yêu cầu DMA nhận được
DACK, nó sẽ cho Master mức thấp để kiểm
soát các tuyến
–MEM CS16 (Memory Chip Select 16) (I) Ở mức thấp khi truyền dữ liệu 16 bit với bộ nhớ
– IO CS16 (Chip Select 16) (I) Do ngoại vi đ iều khiển ở mức thấp khi muốn
truyền dữ liệu 16 bit.
– OWS (Zero Wait State) (I) Do ngoại vi điều khiển ở mức thấp cho biết
không cần trạng thái chờ.
– SBHE (System Byte High Enable) Ởmức thấp khi truyền byte cao
Thông qua rãnh cắm ISA có thể truy cập 1024 địa chỉ ngoại vi từ 000 đến 3FF, trong đó
một số đã sử dụng cho các thiết bị có sẵn của máy tính như trong bảng 1.2:
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 4
Bảng 1. 2: Các địa chỉ ngoại vi đã sử dụng của một máy Pentium 2
000 –00F Truy cập bộ nhớ trực tiếp ( DMA Direct memory access controller)
020 –021 Điều khiển ngắt ( PIC Programmable interrupt controller)
040 – 043 Timer hệ thống (System timer)
060 – 060 Bàn phím ( Keyboard)
061 – 061 Loa trong ( System speaker)
064 – 064 Bàn phím
070 – 071 RAM hệ thống và đồng hồ thời gian thực (System CMOS/ RTC)
081 – 083 DMA
087 – 087 DMA
089 – 08B DMA
08F – 091 DMA
0A0 – 0A1 PIC
0C0 – 0DF DMA
0F0 – 0FF Đồng xử lý số học (Numeric data processor)
168 – 16F Điều khiển đĩa cứng (Standard IDE/ESDI Hard Disk Controller)
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 Điề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 1. 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 SpeakerphoneModem)
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
12 Chuột PS/2
13 Đồng xử lí số hoc
14 Điều khiển IDE thứ nhất
15 Điều khiển IDE thứ hai
Giáo trình Đo lường và điều khiển máy tính
Trang 5
Tuyến ISA có nhiều chân nhưng thực tế sử dụng ta chỉ cần các đường địa chỉ SA0..SA9, dữ
liệu SD0..SD15, điều khiển –IOR, -IOW, AEN, -IOCS16, -SBHE, ngõ vào ngắt IRQ, xung nhịp
CLK và nguồn. Các ngoại vi được gọi là port, thường là 8 bit và việc xuất nhập thực hiện theo 8
bit, nếu xuất nhập 16 bit thì dùng hai port địa chỉ kế nhau.
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 1.3: Sơ đồ nguyên lí xuất nhập
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 6
2. GIỚI THIỆU MỘT SỐ IC THÔNG DỤNG.
2.1 Vi mạch ADC và DAC.
ADC0804:ADC 8 bit xấp xỉ liên tiếp (National Semiconductor)
Hình 2.1. Sơ đồ chân IC ADC0804
ADC0808/0809: ADC 8 kênh 8 bit.
Hình 2.2. Sơ đồ chân IC ADC0808/0809
Chọn kênh: Các chân ABC dùng để chọn 1 trong 8 chân đầu vào analog, việc chọn thực hiện ở
cạnh lên của chân ALE.
Chuyển đổi: START có một xung dương, làm EOC xuống 0, sau thời gian chuyển đổi EOC lên
mức 1.
Đọc dữ liệu: OE =1, N = 256*(VIN-VREF(-))/(VREF(+)-VREF(-)).
ICL7109: ADC tích phân 12 bit nhị phân (Harris Semiconductor).
Kết quả chuyển đổi điện áp vi sai giữa hai chân INHI và INLO được xuất ra 12 bit B12 B1theo công thức N = 2048*VINA/VREF, cực tính điện áp chỉ bởi POL (logic 1: dương).
Nếu quá tầm OR on. Các chân này ở trạng thái tổng trở cao. Khi chuyển đổi xong chân
STATUS logic 0. Điện áp giữa V+ và REF OUT là 2.8V ổn định. ICL7109 có nhiều cách để đọc kết
quả. Nếu chân MODE để hở là chế độ DIRECT, /CELOAD = 0, /HBEN = 0 thì các chân dữ liệu tích
cực.
Giáo trình Đo lường và điều khiển máy tính
Trang 7
Hình 2.3. Sơ đồ chân IC L7109
Hình 2.4: Sơ đồ chân IC DAC 8 BIT
Hình 2.5: Sơ đồ chân IC DAC 12 BIT
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 8
2.2 Vi mạch giao tiếp số.
Vi mạch 8255: Xuất nhập song song 24 bít gồm port A, port B và port C, thanh ghi điều khiển,
còn 3 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à B xuất hay nhập với tín hiệu điều khiển từ port C.
Mode 2: Vào ra 2 hướng cho Port A với tín hiệu điều khiển từ PC cao.
Hình 2.6: Sơ đồ chân và cấu trúc vi mạch 8255
Vi mạch 8254: Đếm/định thì, gồm 3 bộ đếm lùi nhị phân 16 bit và thanh ghi điều khiển. Mỗi bộ
đếm có 6 mode, xung nhịp vào CLK, tín hiệu ra OUT và tín hiệu điều khiển GATE.
Hình 2.7: Sơ đồ chân và cấu trúc vi mạch 8254
Giáo trình Đo lường và điều khiển máy tính
Trang 9
2.3. Vi mạch giải mã.
74LS138: Giải mã 3 ra 8.
74LS139: Hai bộ giải mã 2 ra 4.
74LS682: So sánh nhị phân 8 bit.
Hình 2.8: Sơ đồ chân các vi mạch giải mã 74LS138 và 74LS682
2.4. 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 2.9, 2.10 và 2.11).
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ỉ mày, chân Y4 của U5 (I/O decode) xuống thấp đưa vào U8 (74LS244) cho phép xuất ra đườngMEMW 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 thì cầu nối hở, 8 bit cao được truyền khi đường địa chỉ A0 ở mức cao (địa chỉ lẻ) và 8 bit thấp
được truyền khi đường địa chỉ A0 ở mức thấp (địa chỉ chẵn).
Mạch chuyển đổi AD và DA 8 bit trình bày ở hình 2.11 và 2.12. Hình 2.12 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ính qua vi mạch giao tiếp song song 8255 dùng 2 port A và B, port C điều khiển các chân LBEN,
HBEN, R/H.
Vi mạch ICL 7109 hoạt động ở mode direct, khi R/H = 1 chuyển đổi liên tục, khi R/H = 0 sẽ
ngừng chuyển đổi.
Khi /LBEN ở mức 0 thì xuất byte thấp ra port A, khi /HBEN ở mức 0 thì xuất byte cao gồm 4
bit dữ liệu cao, PDL (cực tính), OR (quá tầm) và Status (trạng thái).
Quá trình đọc kết quả như sau:
Cho R/H lên mức cao để bắt đầu chuyển đổi, sau đó chờ Status xuống mức ) đổi xong, rồi cho
LBEN và HBEN mức 0 để đọc dữ liệu vào.
Hình 2.13 là bộ đếm dùng IC 8254.
Hình 2.13 a và b trình bày mạch giaio tiếp 16 bit dùng 2 IC 8255.
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 10
Hình 2.9: Pripheral adapter 16 bit
Hình 2.10: 8 bit Interface Card
Giáo trình Đo lường và điều khiển máy tính
Trang 11
Hình 2.11:Mạch chuyển đổi AD và DA
Hình 2.12: Card chuyển đổi AD 12 bit
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 12
Hình 2.13:Mạch đếm dùng 8254 giao tiếp máy tính
Giáo trình Đo lường và điều khiển máy tính
Trang 13
Hình 2.13a: Mạch giao tiếp song song 16 bit slot ISA, phần đệm và giải mã địa chỉ.
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 14
Hình 2.13b:Mạch giao tiếp song song 16 bit slot ISA, phần xuất nhập ngoại vi
Giáo trình Đo lường và điều khiển máy tính
Trang 15
II – GIAO TIẾP QUA RÃNH CẮM PCI
Rãnh cắm PCI (peripheral Component Interconnect) có màu trắng trên main board cho phép
giao tiếp ngoại vi 32 hay 64 bit, vận tốc nhanh lên đến 132MB/s so với rãnh cắm ISA 16 bit có vận tốc
35 MB/s.
Nhờ vận tốc cao nên rãnh PCI thường dùng cho card màn hình, sau đó nó được sử dụng để cho
các card khác như card mạng, modem nội, âm thanh và dần dần các main board đời mới không còn
dành chỗ cho rãnh ISA nữa.
Các hãng như Advantech, Data translation cũng đã sản xuất card giao tiếp ngoại vi cho máy
tính dùng rãnh PCI.
Rãnh PCI 64 bit có 2 hàng tiếp điểm, mỗi bên 94 tiếp điểm. Phía A là phía linh kiện còn phía B
là phía hàn. Do tính chất phức tạp của tuyến và vận tốc tín hiệu lớn nên việc tự lắp ráp card giao tiếp
PCI khó thực hiện mà phải dùng card chính hãng.
Năm 1998 các hãng Compap, Hewlett – Packard, IBM phối hợp đưa ra chuẩn PCI-X (PCI
Express) có đặc tính tốt hơn.
Tuyến PCI 32 bit sử dụng chung 32 đường địa chỉ data ADO-31, pha địa chỉ do tín hiệu
FRAME# điều khiển, sau đó là một hay nhiều pha dữ liệu. Tuyến PCI 64 bit dùng 64 đường ADO-63
cho địa chỉ và dữ liệu.
Có hai loại tuyến PCI mức tín hiệu 5V và mức tín hiệu 3,3V.
Sau đây là mô tả các tín hiệu của PCI:
CLK Xung nhịp 33MHz, 66MHz
RST# Tín hiệu reset
ADO ÷ AD31 Tuyến địa chỉ khi FRAME# ở mức thấp.
C/BE0 ÷3# BUS
(Command BytesEnables) Cho biết loại của truyền dữ liệu (đọc/viết bộ nhớ, ngoại vi )
PAR Kiểm tra parity của ADO|31 và C/BEO|3
IRDY# (Initiator Ready)
TRDY# (Target Ready) Hai dữ liệu bắt tay giữa bộ phát và bộ nhận dữ liệu trên tuyến PCI.
STOP#
Tín hiệu target báo cho initiator để chấm dứt giao dịch. Initiator là
chủ của tuyến (Bus master) còn target là bus slave. 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# và STOP#.
LOCK# Tín hiệu initiator báo dành riêng một số địa chỉ của target.
IDSEL (Initialigation
DeviaSelect) Tín hiệu chọn chip
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#, INID# Các tín hiệu ngắt.
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 16
SBO# (SnoopBackoff)|SDONE (Snoop done) Dùng cho card memory
PRSNT 1 ÷ 2# Cho biết board có cắm vào slot và công suất tiêu thụ của board đó.
CLKRUN# (Clock Running) Cho phép điều khiển xung nhịp CLK.
MGGEN (66 MHz enable) Cho biết xung nhịp là 33MHz 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 REQ64# và ACK64#, PAR64
REQ 64# (Request 64 bit
transfer)
ACK 64# (Acknowledge 64
bit transfer)
TCK (Test clock)
TDI (Test data input) TDO (Test output)
TMS (Test mode Select)
TRST# (Test Reset)
Các tín hiệu thử
Đặ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 hơn.
Card DT 300 của hãng Data Translation cho phép đổi 16 tín hiệu analog ra số phân giải 16 bit
với vận tốc 250.000 mẫu/sec. Đổi ra số analog 2 kênh 16 bit, xuất nhập digital 32bit.
Giáo trình Đo lường và điều khiển máy tính
Trang 17
Bảng 2.1: Sơ đồ chân rãnh cắm PCI 64 bit
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 18
Hình 2.1: Sô ñoà khoái card DT300 cuûa haõng Data Translation
Bảng 2.2: Lệnh PCI (từ C/BE#)
Hình 2.2: Giản đồ thời gian truyền 4 từ kép 32 bit từ Initiator (master) đến target (slave)
Giáo trình Đo lường và điều khiển máy tính
Trang 19
Hình 2.3: Giản đồ thời gian đọc 2 từ kép từ target đến Initiator
Hình 2.4: Giản đồ thời gian truyền 64 bit
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 20
III – 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 ISD, việc thiết kế các card này tương đối
đơn giản. Do các main board đời mới không còn hỗ trợ tuyến ISA nên 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.1 – Sơ đồ cấu trúc chung của một card PCI
Phần tử chính trong card là vi mạch PCI Controller dùng làm cầu nối giữa tuyến PCI và mạch
người dùng. Chế tạo bởi các hãng theo công nghệ ASIC, ví dụ như PCI9050/9054 của PLX
Technology, ISPLSI 1032E của Lattice Phần tử thứ hai là EEPROM dùng để chứa thông tin về
Card phục vụ chp PnP (Plug and Play) khi khởi động máy tính. User Bus gồm tuyến dữ liệu 16 bít,
tuyến địa chỉ và tuyến điều khiển dùng để kết nối với các linh kiện thông thường.
Giáo trình Đo lường và điều khiển máy tính
Trang 21
Chương2
CARD THU THẬP TÍN HIỆU VÀ ĐIỀU KHIỂN
2.1. CARD PCL-818L ADVANTECH.
2.1.1. Sơ đồ khối, chức năng và cấu trúc của Card.
PCI-818L là card ISA có nhiều chức năng dùng để đo lường và điều khiển. Do tính năng ưu việt
của card, việc tìm hiểu hoạt động của nó rất cần thiết để tiếp cận kỹ thuật thu thập số liệu bằng máy
tính DSA (Data Acquisition System).
Các chức năng chính của Card:
- Chuyển đổi A/D 16 kênh 12 bit với tốc độ lấy mẫu 40000/s.
- Chuyển đổi D/A 1 kênh 12 bit.
- 16 đầu vào digital TTL.
- 16 đầu ra digital TTL.
- 1 bộ đếm/ định thời 16 bit cho người dùng.
Hình 2.1- Vị trí các cầu nối, biến trở và đầu nối của Card PCI-818L Advantech.
Hình 2.2 – Sơ đồ khối card PCI-818L Advantech
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 22
Hình 2.3 – Sơ đồ các chân của Card PCI-818L Advantech
Trong đó:
A/DS: Vào Analog (đơn). DI: Vào Digital
A/DH: Vào Analog cao (vi sai). DGND: Mass Digital và nguồn.
A/DL: Vào Analog thấp (vi sai). CLK: Clock Counter 0 của 8254.
AGND: Mass Analog. GATE: Gate Counter 0 của 8254.
D/A: Ra Analog. OUT: Tín hiệu ra của 8254.
DO: Ra Digital. VREF: Nguồn chuẩn trong.
VREF in: Nguồn chuẩn ngoài.
2.1.2. Các thanh ghi của Card.
PCI-818L có 16 thanh ghi, địa chỉ gốc có thể chọn bởi công tắc Sw1, gồm 6 tiếp điểm, chọn cácđường địa chỉ SA4 ÷ SA9, thường đặt địa chỉ gốc là BASE 300h.
Các thanh ghi của Card được trình bày trong bảng sau:
Giáo trình Đo lường và điều khiển máy tính
Trang 23
Bảng 2.1 – Các thanh ghi của Card PCI-818L Advantech.
a. Các thanh ghi cơ sở +0 và +1.
Khi đọc thanh ghi:
Trong đó: AD11 ÷ AD0 là dữ liệu Analog đổi sang Digital.
C3 ÷ C0 là số đầu vào Analog tương ứng.
Khi ghi vào thanh ghi BASE +0: Kích mềm bộ A/D, khởi động ADC. Có thể kích bộ A/D bằng
phầm mềm hoặc bằng xung Clock trên board (pacer), có thể bằng xung ngoài. Các bit 0 và 1 trong
BASE+9 sẽ chọn nguồn kích. Nếu chọn kích mềm thì ta chỉ việc ghi vào thanh ghi BASE+0 bất kỳ
một giá trị nào cho mỗi lần kích. Nếu là kích ngoài thì cầu nối JP3 chọn nguồn kích là DI0 (CN2) hay
TRIG0 (CN3).
Điều khiển tầm A/D (BASE+1):
Mỗi kênh A/D đều có một tầm điện áp đầu vào riêng cho nó, được điều khiển bởi mã lưu trữ
trong RAM của PCI-818L và được đặt bởi cầu nối JP7. Nếu muốn thay đổi tầm cho một kênh, chọn
kênh như là kênh Start ở thanh ghi BASE+2, quét kiểu MUX, rồi ghi mã vào bit 0 và 1 của thanh ghi
BASE+1.
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 24
Mã tầm và JP7
b. Thanh ghi quét phân kênh (BASE+2).
- Đọc/ghi BASE+2 để điều khiển/đọc số kênh A/D được quét. Nửa byte cao chỉ kênh Stop, nửa
byte thấp chỉ kênh Start. Việc quét phân kênh MUX được được khởi động đến kênh Start khi ghi vào
thanh ghi này. Mỗi Trigger A/D sẽ chuyển đến kênh đo tiếp theo.
- Khi kích chuyển đổi liên tục, MUX sẽ quét từ kênh Start đến kênh Stop rồi lặp lại từ đầu. Ví
dụ, nếu kênh Start là 4 và Stop là 7 thì quét tuần tự 4,5,6,7. Nếu cài đặt ở chế độ 8 đầu vào vi sai thì
các bit CH3 và CL3 phải là 0.
- Nếu chỉ chọn một kênh để biến đổi A/D thì cài đặt kênh Start và Stop cùng một trị số là số của
kênh cần thực hiện biến đổi A/D.
- CH3 ÷ CH0 là kênh Stop. CL3 ÷ CL0 là kênh Start.
- Nửa bit thấp của thanh ghi quét phân kênh CL3 đến CL0 cũng có tác dụng như một con trỏ khi
lập trình tầm điện áp vào A/D. Khi đặt kênh Start là N, thì mã tầm viết vào thanh ghi BASE+1 là cho
kênh N.
c. Các thanh ghi xuất/nhập số (BASE+3).
- PCL-818L có 16 đầu vào số và 16 đầu ra số riêng biệt. Các kênh I/O này dùng chung Port có
địa chỉ BASE+3 và BASE+11.
Khi đọc:
Khi ghi:
Giáo trình Đo lường và điều khiển máy tính
Trang 25
d. Thanh ghi xuất Analog D/A (BASE+4/5).
Khi ghi:
Trong đó: DA11 ÷ DA0 là dữ liệu Digital sang Analog.
- Tầm điện áp ra được chọn nhờ cầu nối JP4 và JP5. Nếu JP4 đặt ở IN thì JP5 chọn nguồn chuẩn
trong là -5V hay -10V, áp ra của D/A sẽ là 0 đến +5V hay 0 đến +10V. Nếu JP4 đặt ở EXT thì điện áp
ra D/A là kết quả nhân số Digital trong hai thanh ghi với điện áp đặt vào chân số 31 VREF IN (-10V ..
+10V) của đầu nối CN3 chia cho 4095.
e. Thanh ghi trạng thái BASE+8.
- Đọc BASE+8 để nhận thông tin về cấu hình và hoạt động A/D.
- Ghi vào BASE+8 một giá trị bất kỳ thì nó sẽ xóa bit INT của BASE+8, còn những bit dữ liệu
khác không đổi.
- EOC: End of Conversion.
EOC = 0: Đã đổi xong, kết quả đổi chứa trong BASE+0 và BASE+1.
EOC = 1: Đang chuyển đổi A/D.
- MUX: Chọn 8 kênh vi sai hoặc 16 kênh đơn, phản ánh vị trí cầu nối JP6.
MUX = 0: 8 kênh vi sai.
MUX = 1: 16 kênh đơn.
- INT: Tín hiệu ngắt.
INT = 0: Dữ liệu không có giá trị (không có một biến đổi nào kể từ khi bit INT bị xóa).
INT = 1: A/D đã biến đổi xong, dữ liệu có giá trị.
Nếu bi INTE = 1 (BASE+9) thì khi đổi xong một kênh, tín hiệu ngắt sẽ gửi đến PC qua chân
IRQn (IRQn được chọn bởi các bit I2 ÷ I0 trong BASE+9). Dù thanh ghi trạng thái A/D là chỉđọc nhưng khi ghi vào nó một giá trị bất kỳ sẽ xóa bit INT, còn các bit khác không đổi.
- CN3 ÷ CN0: Khi EOC = 0 thì các bit này chứa số kênh kế tiếp sẽ được biến đổi.
- Lưu ý: Nếu kích bộ A/D bằng xung clock trên board (pacer) hoặc xung ngoài thì phần mềm
phải kiểm tra bit INT trước khi đọc dữ liệu (không phải bit EOC). EOC có thể bằng 0 trong 2 trường
hợp:
Biến đổi đã hoàn tất.
Không có một biến đổi nào đã được bắt đầu.
Do đó phần mềm phải đợi tín hiệu INT = 1 trước khi đọc só liệu chuyển đổi. Rồi cần phải xóa
bit INT bằng cách ghi bất kì giá trị nào vào thanh ghi trạng thái BASE+8.
f. Thanh ghi điều khiển (BASE+9).
Đọc/ghi thanh ghi BASE+9 để nhận/cung cấp thông tin về chế độ hoạt động của PCL-818L.
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 26
- INTE: Cấm/cho phép ngắt.
INTE = 0: Cấm ngắt.
INTE = 1: Cho phép ngắt.
- Nếu DMAE = 0: PCL-818L sẽ phát ra một tín hiệu ngắt khi nó hoàn tất một chuyển đổi A/D.
Vậy cấu hình INTE = 1. DMAE = 0 dùng để báo cho CPU biết bằng ngắt là đã đổi A/D xong.
- Nếu DMAE = 1: PCL-818L sẽ phát một tín hiệu ngắt khi nó nhận một tín hiệu đếm tràn T/C
(Terminal Count) từ bộ điều khiển DMA của máy tính để chỉ rằng chuyển đổi truyền DMA đã hoàn
tất. Truyền DMA bị dừng bởi ngắt gây ra bởi tín hiệu T/C. (Xem DMAE bên dưới).
- I2 ÷ I0: Chọn số ngắt cho data interrupt hoặc truyền data DMA (Không được trùng với số ngắtcủa thiết bị khác). Ba bit này chọn số ngắt từ 2 (010) đến 7 (111).
- DMAE: Cấm/cho phép PCL-818L truyền DMA.
DMAE = 0: Cấm truyền DMA.
DMAE = 1: Cho phép truyền DMA. Mỗi biến đổi A/D sẽ khởi động hai tín hiệu yêu cầu ngắt
liên tiếp. Các tín hiệu này cho phép bộ điều khiển DMA 8237 truyền 2 byte dữ liệu chuyển đổi A/D từ
PCL-818L đến bộ nhớ. Chọn kênh DMA 1 hay 3 nhờ cầu nối JP1.
Lưu ý: Phải lập trình bộ điều khiển DMA và thanh ghi trong DMA 8237 của máy tính trước khi
đặt DMAE = 1.
- ST1 ÷ ST0: Chọn nguồn kích.
g. Thanh ghi cho phép đếm định thời (BASE+10).
Card PCL-818L của vi mạch 8254 gồm ba bộ đếm 0, 1, 2 và sử dụng hai bộ đếm 1, 2 còn bộ
đếm 0 cho người dùng. Xung nhịp cho bộ đếm 1 có thể chọn là 10Mhz hay 1Mhz nhờ cầu nối JP2, đầu
ra bộ đếm 1 nối vào ngõ nhịp của bộ đếm 2, đầu ra của bộ đếm 2 đưa vào kích A/D (kích pacer), vậy
tần số kích phụ thuộc vào tần số xung nhịp và số ghi vào 2 bộ đếm 1, 2.
Tần số của pacer là fclk/(Div1*Div2) với fclk = 1Mhz hay 10Mhz, Div1 và Div2 là số đặt trong bộ
đếm 1 và bộ đếm 2.
Bộ đếm 0 có đầu vào Clk là 100Khz hay xung nhịp ngoài ở chân 17 CN3 chọn nhờ BASE+10,
chân GATE là DI2 (chân 3 CN2) hay GATE0 (chân 36 CN3) chọn nhờ đầu nối JP3.
Ghi vào BASE+10 để cho phép hoặc cấm bộ đếm/định thời của PCL-818L tạo xung.
Giáo trình Đo lường và điều khiển máy tính
Trang 27
- TC0: Cấm/cho phép pacer.
TC0 = 0: Cho phép pacer.
TC0 = 1: Pacer được điều khiển bởi TRIG0 (chân 35 CN3). Tín hiệu này chặn xung trigger gửitừ pacer đến bộ A/D khi nó bằng 0.
- TC1: Chọn chế độ nguồn xung nhịp đầu vào Counter 0.
TC1 = 0: Counter 0 nhận xung clock ngoài (chân 17 CN3).
TC1 = 1: Counter 0 nhận xung clock 100Khz ở bên trong.
h. Các thanh ghi điều khiển và đọc/ghi bộ đếm.
Bộ định thời 8254 sử dụng 4 thanh ghi BASE+12, BASE+13, BASE+14, BASE+15. Các chức
năng của các thanh ghi này được được liệt kê trong bảng sau:
Do bộ đếm 8524 có cấu trúc 16 bit, nên mỗi dữ liệu đọc/ghi được chia làm 2 byte: byet thấp
(LSB), byte cao (MSB). Để tránh phạm lỗi đọc/ghi sai, cần chú ý thao tác đọc ghi từng đôi (tức là mỗi
lần đọc/ghi 2 byte) và theo đúng thứ tự byte.
2.1.3. Chuyển đổi A/D, D/A & DO.
a. Chuyển đổi A/D.
Có thể kích đổi A/D bằng phần mềm, bằng xung ngoài hay bằng pacer on board. Bit 1 và 0 của
thanh ghi BASE+9 sẽ chọn nguồn Trigger tương ứng.
Khi chọn kích thước pacer tần số kích từ 2.5Mhz đến 71 phút một xung. Khi chọn kích ngoài,
nguồn kích định bởi cầu nối JP3 chọn tín hiệu kích là TRIG0 (chân 35 CN3) hay DI0 (chân 1 CN2).
Việc truyền kết quả A/D cho máy tính có thể thực hiện bằng chương trình điều khiển, bằng ngắt
hay DMA.
Các bước hình thành để chuyển đổi A/D với trigger bằng phần mềm và truyền kết quả A/D bằng
chương trình điều khiển:
- Đặt tầm vào cho mỗi kênh A/D.
- Đặt kênh vào bằng cách chỉ rõ tầm quét kênh.
- Kích đổi A/D bằng cách ghi vào BASE+0 cho một số bất kỳ nào đó.
- Kiểm tra chuyển đổi đã kết thúc chưa bằng cách đọc bit EOC của thanh ghi trạng thái.
- Đọc kết quả chuyển đổi ở thanh ghi BASE+0 và BASE+1.
- Chuyển dữ liệu từ số nhị phân thành số nguyên.
b. Chuyển đổi D/A.
Ghi vào thanh ghi BASE+4 và BASE+5. Khi ghi dữ liệu cho kênh D/A phải ghi byte thấp trước.
Byte thấp này được giữ tạm thời trong một thanh ghi và không được xuất ra. Sau khi ghi xong byte
cao thì khi đó byte cao và byte thấp được kết hợp lại để chuyển thành D/A.
c. Digital input và output (DI&DO).
Đọc DI từ thanh ghi BASE+3 (byte thấp) và thanh ghi BASE+11 (byte cao). Sau khi đọc dữ liệu
sẽ không được chốt, đường vào sẽ ở trạng thái thứ ba. Có thể xuất ra DO cũng bằng cách dùng hai
thanh ghi BASE+3 và BASE+11 này. Thanh ghi sẽ chốt giá trị sẽ ghi (có thể đọc lại). Để an toàn nên
ghép nối các đầu vào/ra digital thông qua ghép quang.
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 28
2.2. Card PCI 1710.
Card PCI 1710 có chức năng tương tự Card PCL-818L nhưng được gắn vào Slot PCI.
Sơ đồ khối của Card như sau:
Hình 2.2. Sơ đồ khối Card PCI 1710
2.2.1. Các phần mềm lập trình cho Card.
Thay vì phải dùng ngôn ngữ lập trình để lập trình cho Card, ta có thể dùng các phần mềm
chuyên dụng của hãng, có đặc tính.
- Giảm thời gian lập trình.
- Trình bày dữ liệu dưới dạng bảng biểu, đồ thị.
- Lưu trữ dữ liệu trong file.
- Kết nối với các phần mềm khác.
Các phần mềm thông dụng hiện nay thường được sử dụng như là: LabVIEW (Laboratory
Virtual Instrument Engineering Workbench), VISA của National Instruments, GenieDAQ, VisiDAQ
của Advantech .
Dưới đây là giao diện một số phần mềm thu thập số liệu:
Giáo trình Đo lường và điều khiển máy tính
Trang 29
Hình 2.3. Giao diện một số phần mềm thu thập số liệu
Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012
Trang 30
Hình ảnh 2 loại Card thông dụng sử dụng 2 chuẩn khe cắm ISA và PCI trên main board máy
tính trong ứng dụng đo lường và điều khiển máy tính đã nêu ở trên:
Các file đính kèm theo tài liệu này:
- giao_trinh_do_luong_va_dieu_khien_may_tinh.pdf