Giáo trình Đo lường và điều khiển 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
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Đo lường và điều khiển máy tính
ớ, ngoại vi ) (Command BytesEnables) 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. 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ữ STOP# 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 Tín hiệu chọn chip DeviaSelect) Của nó trên tuyến PCI do target điều khiển khi nó thấy địa chỉ của nó DEVSEL# (Device Select): 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#, Các tín hiệu ngắt. INIC#, INID# Trang 15 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 SBO# (SnoopBackoff)| Dùng cho card memory SDONE (Snoop done) 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) Các tín hiệu thử TMS (Test mode Select) TRST# (Test Reset) Đặ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. Trang 16 Giáo trình Đo lường và điều khiển máy tính Bảng 2.1: Sơ đồ chân rãnh cắm PCI 64 bit Trang 17 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 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) Trang 18 Giáo trình Đo lường và điều khiển máy tính 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 Trang 19 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 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. Trang 20 Giáo trình Đo lường và điều khiển máy tính Chương 2 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 Trang 21 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 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: Trang 22 Giáo trình Đo lường và điều khiển máy tính 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. Trang 23 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 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: Trang 24 Giáo trình Đo lường và điều khiển máy tính 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. Trang 25 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 - 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ắt củ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. Trang 26 Giáo trình Đo lường và điều khiển máy tính - 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ửi từ 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. Trang 27 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 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: Trang 28 Giáo trình Đo lường và điều khiển máy tính Hình 2.3. Giao diện một số phần mềm thu thập số liệu Trang 29 Hoàng Tùng - Khoa ĐTTH *** Biên soạn 7/2012 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: Trang 30
File đính kèm:
- giao_trinh_do_luong_va_dieu_khien_may_tinh.pdf