Bài giảng gồm các phần: khái niệm chung, cấu trúc các cổng giao tiếp máy tính, giao tiếp qua cổng song song, giao tiếp qua cổng nối tiếp và giao tiếp qua cổng USB, Các chuẩn truyền thông
Trang 1LỜI NÓI ĐẦU
Môn học điều khiển bằng máy tính là một môn học chuyên ngành dùng giảng dạy cho sinh viên năm cuối ngành Công nghệ kỹ thuật Điện, Điện tử, Công nghệ kỹ thuật điều khiển và tự động hóa Môn học đề cập đến vấn đề ứng dụng máy tính (Máy tính cá nhân PC, máy tính công nghiệp, và PLC) vào hệ thống điều khiển Xu hướng phát triển là dùng điều khiển dựa vào máy tính (PC-based Control) với hệ điều hành mạnh, giao diện thân thiện, phần mềm dễ phát triển và giá thành hợp lý
Để học tốt môn học này sinh viên cần phải học qua các môn: Cấu trúc máy tính
và giao diện, lý thuyết điều khiển tự động và vi xử lý Bài giảng gồm các phần: khái niệm chung, cấu trúc các cổng giao tiếp máy tính, giao tiếp qua cổng song song, giao tiếp qua cổng nối tiếp và giao tiếp qua cổng USB, Các chuẩn truyền thông và giao tiếp máy tính, lập trình cho máy tính điều khiển, card thu thập dữ liệu và điều khiển, lập trình giao tiếp nối tiếp, các bộ chuyển đổi dữ liệu A/D và D/A, điều khiển tuần tự, hệ thống điều khiển số và mạng truyền thông công nghiệp
Bài giảng này tác giả đã đọc và giảng dạy cho các lớp ngành Công nghệ kỹ thuật điều khiển và tự động hóa từ khóa 2 đến khóa 7 Quá trình biên soạn bài giảng không tránh khỏi thiếu sót, nhóm tác giả xin chân thành cảm ơn các nhận xét góp ý của các thầy cô trong Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật Nam Định, cùng các bạn đồng nghiệp và bạn đọc để bài giảng ngày càng hoàn thiện hơn
Trang 2Mục lục
LỜI NÓI ĐẦU i
CHƯƠNG 1: KHÁI NIỆM CHUNG 1
1.1 Máy tính trong điều khiển quá trình 1
1.1.1 Khái niệm cơ bản 1
1.1.2 Lịch sử phát triển 2
1.1.3 Hệ thống 4
1.1.4 Một số ứng dụng tiêu biểu của hệ thống điều khiển máy tính 5
1.2 Điều khiển phân cấp và tích hợp hệ thống 7
1.3 Điều khiển vòng hở và điều khiển vòng kín 8
1.3.1 Điều khiển vòng hở: 8
1.3.2 Điều khiển vòng kín (Điều khiển hồi tiếp): 9
1.4 Các thành phần chính trong máy tính điều khiển 10
1.4.1 Hệ thống máy tính 11
1.4.2 Bản mạch chính (Mainboard): 13
1.4.3 Bộ xử lý trung tâm (CPU) 14
1.4.4 Bộ nhớ (Memory) 15
1.5 Câu hỏi và bài tập chương 1 15
CHƯƠNG 2 CẤU TRÚC NGOẠI VI GIAO TIẾP MÁY TÍNH 16
2.1 Giao tiếp qua rãnh cắm máy tính 18
2.1.1 Giao tiếp qua rãnh cắm ISA 18
2.1.2.Giao tiếp qua rãnh cắm PCI 23
2.1.3 Giao tiếp qua Bus AGP 28
2.1.4 Giao tiếp qua Bus PCI Express (PCIe) 30
2.2 Cổng giao tiếp song song 32
2.2.1.Giới thiệu về cổng giao tiếp song song 32
2.2.2 Cấu trúc của cổng song song 33
2.3 Cổng giao tiếp nối tiếp (COM) 37
2.3.1 Cấu trúc của cổng nối tiếp (COM) 38
2.3.2 Mạch chuyển mức 41
2.4 Cấu trúc cổng nối tiếp USB 42
2.4.1 Khái quát chung 42
2.4.2 Cấu trúc cổng USB 43
2.5 Giao tiếp không dây 48
2.5.1 Giao tiếp bluetooth 48
2.5.2 Giao tiếp hồng ngoại 49
2.5.3 Giao tiếp qua mạng LAN hoặc Wifi 50
Trang 32.6 Phương pháp chuyển đổi cổng USB sang UART 51
2.6.1 Mạch chuyển USB sang UART có chế độ chọn 3v3 và 5V dùng PL2303 51 2.6.2 Mạch chuyển từ USB sang UART dùng CP 2102 52
2.6.3 Mạch chuyển đổi USB sang UART dùng IC Atmega 8 53
2.6.4 Chuyển từ cổng USB Thành Cổng RS232 sử dụng cab chuyển đổi 55
2.7 Câu hỏi và bài tập chương 2 57
CHƯƠNG 3 CÁC CHUẨN TRUYỀN THÔNG VÀ GIAO TIẾP MÁY TÍNH 58
3.1 Chuẩn giao tiếp cổng song song 58
3.2 Giao tiếp PC với PC 62
3.2.1 Giao tiếp chế độ chuẩn 62
3.2.2 Chế độ mở rộng 63
3.2.3 Giao tiếp PC với thiết bị ngoại vi 64
3.3 Chuẩn kết nối ổ cứng 64
3.3.1 Chuẩn kết nối IDE (EIDE) 64
3.3.2 Chuẩn kết nối SATA (Serial ATA) 65
3.4 Chuẩn giao tiếp RS-232 67
3.4.1 Khái quát chung 67
3.4.2 Quá trình truyền dữ liệu 69
3.4.3 Sơ đồ ghép nối RS232 70
3.5 Chuẩn RS 485 71
3.6 Chuẩn giao tiếp USB (Universal Serial Bus) 75
3.6.1 Kết nối USB với máy tính 75
3.6.2 Truyền dữ liệu của USB 78
3.7 Chuẩn giao tiếp SPI 79
3.8 Chuẩn giao tiếp I2C (I²C) 80
3.9 Chuẩn giao tiếp không dây 82
3.10 Câu hỏi và bài tập chương 3 83
CHƯƠNG 4 LẬP TRÌNH GIAO TIẾP MÁY TÍNH 85
4.1 Lập trình giao tiếp cổng song song 85
4.1.1 Ghép nối hai máy tính bằng cổng song song 85
4.1.2 Lập trình giao tiếp cổng song song với ngoại vi sử dụng Led đơn 86
4.1.3 Lập trình ghép nối cổng song song với bộ điều khiển ĐC một chiều 90
4.2 Lập trình giao tiếp qua cổng nối tiếp 91
4.2.1 Phương thức giao tiếp máy tính 91
4.2.2 Ngôn ngữ lập trình và giao diện máy tính 92
4.2.3 Lập trình giao tiếp máy tính PC điều khiển thiết bị ngoại vi sử dụng phần mềm Visual tạo ứng dụng và lập trình cho 8051 101
Trang 44.2.4 Lập trình giao tiếp PC với Arduino dùng VB.NET và cổng COM(USB) 111
4.2.5 Lập trình dùng Matlab 119
4.2.6 Lập trình dùng LABVIEW 129
2 Chức năng từng khối 133
4.3 Câu hỏi và bài tập chương 4 146
12 Lập trình giao tiếp máy tính PC với Adruino điều khiển các động cơ một chiều ứng dụng trong rô bốt 146
TÀI LIỆU THAM KHẢO 147
Trang 5Danh mục các hình vẽ
Hình 1.1 Mô hình quá trình vật lý tổng quát 1
Hình 1.2 Hoạt động của máy tính số 1
Hình 1.3 Máy tính trong điều khiển quá trình 2
Hình 1.4 Cấu trúc hệ thống điều khiển bằng máy tính 6
Hình 1.5 Cấu trúc điều khiển phân cấp máy CNC 7
Hình 1.6 Điều khiển phân cấp xí nghiệp 8
Hình 1.7 Hệ thống điều khiển vòng hở 9
Hình 1.8 Sơ đồ khối của hệ thống điều khiển (HTĐK) vòng kín 9
Hình 1.9 Sơ đồ khối của hệ thống điều khiển bằng máy tính 10
Hình 1.10 Quá trình xử lý thông tin trên máy tính 11
Hình 1.11 Các thành phần của máy tính 12
Hình 1.12 Sơ đồ khối đơn giản bản mạch chính của hệ vi tính PC 13
Hình 1.13 Cấu tạo chi tiết 1 bo mạch chủ (Mainboard) 14
Hình 1.14 Một số loại CPU thông dụng 15
Hình 2.1 Sơ đồ hoạt động của hệ thống bus có vi mạch DMA 17
Hình 2.2 Một số cổng giao tiếp với máy tính 18
Hình 2.3 Vị trí Bus ISA trên Mainboard 19
Hình 2.4 Vị trí của Bus AGP 8x trên Mainboard 29
Hình 2.5 Phân loại Bus AGP theo băng thông 29
Hình 2.6 Truyền dữ liệu qua bộ Switch trong PCI Express 31
Hình 2.7 Phương thức truyền dữ liệu PCIe 31
Hình 2.8 Các tiêu chuẩn PCIe 32
Hình 2.9 Sơ đồ chân cổng song song 33
Hình 2.10 Sơ đồ kết nối và bắt tay 35
Hình 2.11 Đồ thị đọc dữ liệu 35
Hình 2.12 Giao tiếp song song hai chiều qua cổng SPP 36
Hình 1.13 Vào 8 bit với 74LS157 37
Hình 2.14 Sơ đồ chân cổng nối tiếp 38
Hình 2.15 Sơ đồ trao đổi thông tin 40
Hình 2.16 Sắp xếp chân (a ) và sơ đồ cấu trúc (b) của vi mạch MAX232 41
Hình 2.18 Kiến trúc phân tầng của USB 44
Hình 2.19 Cấu trúc chân và cab của USB 44
Hình 2.20 Các tín hiệu USB chuẩn 3.0 45
Hình 2.21 Các tín hiệu bên trong cáp USB 3.0 46
Hình 2.22 Vị trí các tín hiệu chuẩn 3.0 trên cổng USB 46
Hình 2.23 Kiến trúc bus đôi (dual bus) của USB 3.0 47
Trang 6Hình 2.24 Sơ đồ mạch chuyển từ USB sang UART 51
Hình 2.25 Sơ đồ mạch chuyển từ USB sang UART dùng CP 2102 52
Hình 2.26 Sơ đồ mạch chuyển từ USB sang UART dùng IC mega8 53
Hình 2.27 Thiết lập chọn cổng COM 54
Hình 2.28 Thiết lập cài đặt 54
Hình 2.29 Cách nối cổng USB 55
Hình 2.30 Thiết lập cài đặt cho cab 56
Hình 2.31 Một số Card giao tiếp máy tính 57
Hình 3.1 Sơ đồ giao tiếp chế độ chuẩn 63
Hình 3.2 Chức năng các chân giao tiếp chế độ chuẩn 63
Hình 3.3 Sơ đồ giao tiếp và chức năng các chân của chế độ mở rộng 63
Hình 3.4 Sơ đồ Card giao tiếp thiết bị ngoại vi với máy tính 64
Hình 3.5 Cáp PATA và ổ HDD chuẩn PATA 65
Hình 3.6 Cáp Serial ATA 66
Hình 3.7 Cáp chuẩn Serial ATA và chuẩn parallel EIDE 67
Hình 3.8 Định dạng của một ký tự truyền theo chuẩn RS-232 68
Hình 3.9 Mạch giao tiếp chuẩn RS232 dùng Max232 70
Hình 3.10 Mạch giao tiếp chuẩn RS232 dùng DS275 71
Hình 3.12 Nguyên lý giao tiếp RS-485 72
Hình 3.13 Các bộ thu phát 73
Hình 3.14 Bộ chuyển đổi sử dụng vi mạch đổi mức điện áp 73
Hình 3.15 Sơ đồ nguyên lí khối phát với bộ chuyển đổi tín hiệu TTL thành RS485 74
Hình 3.16 Sơ đồ nguyên lí khối thu với bộ chuyển đổi tín hiệu TTL thành RS485 74
Hình 3.17 Cấu trúc giao thức USB 76
Hình 3.18 Cấu trúc giao thức chuẩn SPI 79
Hình 3.19 Đồ thị chế độ hoạt động chuẩn SPI 80
Hình 3.20 Sơ đồ kết nối chuẩn I2C 82
Hình 4.1 Mạch điều khiển các led đơn 86
Hình 4.2 Mạch điều khiển động cơ một chiều 90
Hình 4.3 Sơ đồ giao tiếp PC với PC 91
Hình 4.4 Sơ đồ giao tiếp PC với thiết bị ngoại vi 92
Hình 4.5 Khai báo Import Actix X 96
Hình 4.6 Thiết lập các thông số cổng COM 97
Hình 4.7 Thiết lập thuộc tính MSComm 98
Hình 4.8 Sơ đồ giao tiếp máy tính qua cổng truyền thông nối tiếp với VĐK 8051 102
Hình 4.9 Khởi động Visual Basic và thiết lập thông số 102
Hình 4.10 Tạo giao diện trên Visual Basic 104
Trang 7Hình 4.11 Ứng dụng chạy trên WINDOW 106
Hình 4.12 Thiết lập giao diện dùng Visual Basic 108
Hình 4.13 Ứng dụng chạy trên Window 110
Hình 4.14 Board arduino 111
Hình 4.15 Cấu tạo Arduino 112
Hình 4.16 Chương trình Blink LED 115
Hình 4.17 Giao diện chương trình nhận dữ liệu trên VB NET 116
Hình 4.18 Chương trình RS232 Communication 122
Hình 4.19 Cửa sổ GUIDE Quick Start trong Matlab 123
Hình 4.20 Giao diện GUI trong Matlab 124
Hình 4.21 Giao diện tạo nút bấm 125
Hình 4.22 Thay đổi các thuộc tính 126
Hình 4.23 Giao diện chọn hàm callbacks 127
Hình 4.24 Kiểm tra kết quả trong Matlab 128
Hình 4.25 Cửa số Getting Started của LabVIEW 132
Hình 4.26 Cửa sổ Front Panel và Block Diagram 136
Hình 4 27 Các kiểu dữ liệu cơ bản trong LabVIEW 138
Hình 4.28 Giao diện bảng điều khiển 138
Hình 4.29 Sơ đồ lập trình LabView 139
Hình 4.30 Chức năng các khối lệnh được sử dụng 139
Trang 8Danh mục các bảng biểu
Bảng 2.1 Sơ đồ chân rãnh cắm ISA trên mainboard của máy IBMPC – XT,AT 21
Bảng 2.2 Các địa chỉ vào ra của máy vi tính IBMPC - AT 22
Bảng 2.3 Cho vị trí các tín hiệu trên slot 25
Bảng 2.4 Sơ đồ chân rãnh cắm PCI 64 bit 25
Bảng 2.5 Lệnh PCI (từ C/BE#) 27
Bảng 2.6 Sơ đồ chân và ý nghĩa các chân của cổng SPP 34
Bảng 2.7 Bảng tín hiệu trong cổng COM chuẩn RS-232C: 39
Bảng 3.1 Bảng sơ đồ chân giao tiếp dữ liệu chuẩn SATA 66
Trang 9Máy tính số
CHƯƠNG 1: KHÁI NIỆM CHUNG 1.1 Máy tính trong điều khiển quá trình
1.1.1 Khái niệm cơ bản
Ngày nay việc sử dụng máy tính nói riêng và vi xử lý nói chung trong các dây chuyền sản xuất hiện đại đã là yêu cầu bắt buộc để tăng năng suất và chất lượng sản phẩm Trong các sản phẩm dân dụng việc sử dụng vi xử lý góp phần tăng tính thông minh của sản phẩm và tạo tiện lợi cho người sử dụng
Để mô tả cụ thể của máy tính trong điều khiển quá trình, chúng ta cần định nghĩa quá trình là gì Quá trình vật lý (a physical process) là tổ hợp các tác vụ được thực thi
để tác động lên, thay đổi, một điều gì đó trong thế giới thực Sự chuyển động, phản ứng hóa học và truyền nhiệt là các quá trình Sản phẩm (materials) và năng lượng (energy) là thành phần cơ bản hiển nhiên của quá trình vật lí
Hình 1.1 Mô hình quá trình vật lý tổng quát
Máy tính số là thiết bị quan trọng xử lí thông tin (Hình 1.2) và có thể tác động lên thông tin liên quan đến quá trình (Hình 1.3)
Hình 1.2 Hoạt động của máy tính số
Năng lượng ra Sản phẩm ra
Thông tin
ra Sản phẩm vào
Trang 10Vi xử lý được sử dụng trong điều khiển và đo lường dưới ba dạng:
- Máy tính điều khiển (Máy vi tính-MVT)
- Vi xử lý điều khiển nhúng (còn gọi là vi điều khiển-VĐK), nghĩa là vi điều khiển
là một bộ phận không tách rời của thiết bị được điều khiển
- Bộ điều khiển logic lập trình được PLC
Cả ba dạng trên được thiết kế dựa trên cơ sở hoạt động của vi xử lý với chức năng xử
lý thông tin theo sơ đồ hình 1.3
Hình 1.3 Máy tính trong điều khiển quá trình
1.1.2 Lịch sử phát triển
Một ứng dụng đầu tiên của máy tính điều khiển quá trình là vào năm 1959; liên quan đến một số chức năng ở nhà máy hóa dầu tại Port Arthur, Texas(UAS) Công trình đầu tiên kết hợp giữa công ty Thomson ramo Woolridge và Texaco RW300, máy tính dùng đèn điện tử, kiểm soát dòng chảy, nhiệt độ, áp suất và phân tử trong nhà máy lọc (hóa dầu) Máy tính tính toán tín hiệu điều khiển mong muốn dựa trên dữ liệu vào và thay đổi điểm đặt của bộ hiệu chỉnh analog và chỉ thị người vận hành các điều khiển được thực hiện bằng tay
Thiết bị xuất (Màn hình)
Nhiễu
Năng lượng vào
Sản phẩm ra Sản phẩm vào
Tín hiệu đo lường
Và điều khiển
Trang 11Độ tin cậy phần cứng thấp vì dùng đèn điện tử Phần mềm được viết bằng lập trình hợp ngữ Phương pháp toán học cổ điển dựa trên phân tích thời gian liên tục không thể dùng trực tiếp cho thiết kế vòng lặp điều khiển để hiện thực trên máy tính Điều khiển máy tính ban đầu minh họa sự cần thiết cho lý thuyết điều khiển lấy mẫu, cung cấp nền tảng cho sự phát triển Chương trình không gian của Mỹ trong thập niên 1960 và đặc biệt dự án Apollo đã hiện thực cho công trình lý thuyết và thực tiễn
Vào năm 1962, ICI (Imperial Chemical Industries) giới thiệu khái niệm điều khiển
số trực tiếp DDC(Direct digital control); ý tưởng là thay vòng điều khiển analog thông thường bằng máy tính trung tâm Ý tưởng của DDC vẫn còn được áp dụng trong nhiều
hệ thống điều khiển máy tính ngày nay
Tên gọi điều khiển số trực tiếp nhằm nhấn mạnh rằng máy tính điều khiển quá trình một cách trực tiếp Tính linh hoạt là thuận lợi của hệ thống DDC Sự phát triển bán dẫn trong thập niên 1960 dẫn đến sự phát triển mạnh mẽ của máy tính Ba yếu tố: phần cứng máy tính tốt hơn, quá trình ít phức tạp hơn, và lý thuyết điều khiển phát triển, được kết hợp lại gia tăng sự thành công của điều khiển máy tính
Đây là thời kỳ máy tính mini Các đòi hỏi về máy tính điều khiển quá trình gắn chặt với sự phát triển của công nghệ mạch tích hợp Có thể thiết kế hiệu quả hệ thống điều khiển quá trình bằng máy tính mini Máy tính quá trình tiêu biểu thời kì này có độ dài
từ 16 bit Bộ nhớ chính là 8-124 K words Ổ đĩa được sử dụng thông thường là bộ nhớ phụ CDC 1700 là máy tính tiêu biểu thời kì này
Các ứng dụng máy tính thông dụng trong điều khiển công nghiệp là bus mở Giao tiếp (bus) giữa các mođun vận hành được nhấn mạnh Phần cứng máy tính phát triển mạnh mẽ, năng lực tính toán mạnh, lý thuyết điều khiển phát triển: điều khiển hiện đại, điều khiển thông minh (hệ mờ và mạng nơrôn) Các ứng dụng điều khiển máy tính gia tăng Phi thuyền thám hiểm mặt trăng Apollo 11 vào năm 1969 có máy tính với 64 KByte bộ nhớ chính
Thời kỳ máy vi tính và sử dụng đa năng của điều khiển máy tính
Việc sử dụng dễ dàng của điều khiển máy tính bị giới hạn trong hệ thống công nghiệp lớn vì máy tính số chỉ dùng trong các máy đắt tiền, lớn, chậm và không tin cậy
Sự phát triển của công nghệ vi điện tử tiếp tục cùng tiến bộ trong công nghệ VLSI; năm 1990 bộ vi xử lý trở nên thông dụng Thị trường lớn như là điện tử ô tô đã dẫn đến sự phát triển của máy tính chuyên dụng được gọi là vi điều khiển, trong đó chip máy tính chuẩn có sẵn A/D và D/A, thanh ghi và các đặc điểm khác làm cho giao tiếp
dễ dàng với thiết bị vật lý Điều khiển quá trình hiện thực dùng kỹ thuật khí nén hay điện tử nhưng luôn là điều khiển dựa vào máy tính Điều khiển số với thuật toán PID Máy điều khiển số NC và điều khiển số bằng máy tính CNC cũng được phát triển
Trang 12Hệ thống tự động hóa công nghiệp truyền thống có hai thành phần là bộ điều khiển và logic role Bộ điều khiển logic lập trình được PLC được dùng nhiều trong các dây chuyền công nghệ vì khả năng làm việc liên tục và trong môi trường khắc nghiệt Công nghệ vi xử lí đã nhấn mạnh vào cách máy tính áp dụng vào điều khiển toàn
bộ nhà máy sản xuất Thật là hiệu quả kinh tế để phát triển hệ thống gồm nhiều máy vi tính giao tiếp nhau chia sẻ tài nguyên Những hệ thống như vậy gồm trạm quá trình, điều khiển quá trình; trạm vận hành ở đó người vận hành quá trình giám sát các hoạt động; và nhiều trạm khác nữa, chẳng hạn cho cấu hình hệ thống và lập trình, lưu trữ dữ liệu,vv… Hệ thống đầu tiên loại này là Honeywell TDC 2000 vào năm 1975 và nhanh chóng được phát triển bởi các hãng khác Thuật ngữ điều khiển phân bố được nhấn mạnh
Hệ thống điều khiển và giám sát diện rộng (SCADA) Máy tính công nghiệp mạnh (IPC) làm nhiệm vụ giám sát, kết nối với PLC hay bộ điều khiển thu thập vào ra hiện trường, các module I/O thông qua mạng Ethernet-TCP/IP hay bus trường Phần mềm giao diện người máy (HMI) cùng điều khiển và giám sát hệ thống Tương lai tiến đến là CIM, sản xuất tích hợp dùng máy tính Điều khiển dựa vào máy tính (PC based Control) là xu hướng phát triển chung hiện nay
1.1.3 Hệ thống
Hệ thống hiểu theo quan điểm hộp đen, nghĩa là ta chỉ cần biết quan hệ vào ra của
hệ thống, không quan tâm bên trong hệ hoạt động ra sao Mục đích của hệ là đạt được kết quả về định tính và định lượng cao hơn tổng kết quả của từng thành phần đơn
Hệ thống có nhiều loại: điện, hóa học, cơ khí và sinh học Máy tính cá nhân là hệ thống được xây dựng với các thành phần cơ bản gồm đơn vị xử lí trung tâm CPU, bộ nhớ và thiết bị ngoại vi, bus hệ thống Cùng với phần mềm thêm vào(phần mềm hệ thống, phần mềm ứng dụng) chúng ta có máy tính mà nó có thể thực hiện nhiều thứ
Cơ thể con người là hệ thống rất phức tạp được xây dựng với các phần hữu cơ mà thực hiện các chức năng khác nhau
Một khía cạnh quan trọng của tri thức hệ thống là hệ thống động
Mô hình cho điều khiển gồm có:
Trang 13- Mô tả hệ liên tục
- Mô tả hệ lấy mẫu
- Hệ tuần tự hay sự kiện rời rạc
- Hệ thống với sự không chắc chắn (thông tin khác chắc chắn)
Rõ ràng, có các cách tiếp cận khác nhau phụ thuộc vào mô hình hệ được sử dụng như thế nào Bộ điều khiển khác nhau cần mô hình đối tượng khác nhau Chúng ta xem xét
hệ thống ở cả tiếp cận miền thời gian và tiếp cận miền tần số
1.1.4 Một số ứng dụng tiêu biểu của hệ thống điều khiển máy tính
Ứng dụng điều khiển máy tính quá trình rất nhiều : công nghệ cơ khí chế tạo:
NC, CNC , FMS, robot; công nghiệp xử lý hóa, dầu khí, nhựa, giấy…; hệ thống năng lượng điện; điều khiển đèn giao thông ,vv…
Các quá trình có sử dụng máy tính điều khiển rất đa dạng, thí dụ:
- Hệ thống điện
- Dàn khoang dầu khí, nhà máy hóa dầu
- Nhà máy hóa chất, xi măng, giấy, nhựa
- Nhà máy cơ khí chế tạo và lắp ráp (NC, CNC, robot ), FMS
- Hệ thống điều khiển giao thông
Cấu trúc tổng quát của hệ thống điều khiển bằng máy tính ở hình 1.4, và gồm có các
bộ phận sau :
- Bộ xử lí trung tâm (bao gồm vi xử lý, bộ nhớ )
- Các kênh truyền thông liên lạc giữa người-máy tính và máy-máy
- Các thiết bị ghép nối và chuyển đổi tương tự-số, số - tương tự
- Cảm biến (cảm biến nhiệt, áp suất, dịch chuyển, vận tốc )
- Chấp hành(Relay, động cơ, van khí và thủy lực, xy lanh )
- Quá trình vật lý
Trang 14Hình 1.4 Cấu trúc hệ thống điều khiển bằng máy tính
Tùy theo độ phức tạp của đối tượng điều khiển ta có thể sử dụng một công cụ máy tính hoặc là hệ thống nhiều máy tính ghép với nhau theo mạng phân bố và phân cấp Việc giao tiếp giữa các máy tính thường là giao tiếp tuần tự không đồng bộ Giao tiếp người-máy thực hiện qua bàn phím(keyboard, touch panel), màn hình (CRT, LCD) hay kênh âm thanh
Tín hiệu đo lường điều khiển có 2 dạng: nhị phân(on/off) và tương tự Đối với những tín hiệu tương tự từ cảm biến, cần sử dụng các bộ chuyển đổi ra dạng điện áp hay dòng rồi chuyển từ tương tự sang số(ADC) Tín hiệu điều khiển dạng số cần chuyển sang tương tự (DAC) Tùy theo loại cơ cấu chấp hành ta cần các bộ khuếch đại công suất phù hợp (KĐCS lớp B, điều rộng xung, điều khiển pha, biến tần, khóa bán dẫn, role)
Do bản chất làm việc của máy tính là tuần tự nên máy tính chỉ giao tiếp với bên ngoài theo những khoảng thời gian rời rạc vì vậy hệ thống điều khiển dùng máy tính là
hệ thống điều khiển rời rạc(lượng tử) và các vấn đề phát sinh như thời gian lấy mẫu, thời gian trễ do tính toán xử lý, sai số do lượng tử vì độ phân giải có hạn của chuyển đổi A/D và D/A cần phải được xét đến
Tín hiệu
nhị phân
Tín hiệu nhị phân
Máy tính trung tâm
Máy vi tính Giao diện
Trang 15
1.2 Điều khiển phân cấp và tích hợp hệ thống
Hệ thống điều khiển quá trình thực tế thường là hệ thống phức tạp bao gồm
Nhiều vi xử lí thể hiện dưới ba dạng máy vi tính, VĐK và PLC Lấy thí dụ máy CNC tức là máy công cụ điều khiển số bằng máy tính gồm các phần sau :
- Mức thấp nhất là các bản mạch điều khiển truyền động điện động cơ bước hay động cơ chấp hành dùng để tạo chuyển động theo ba chiều Các bản mạch này sử dụng VĐK làm nhiệm vụ đo và điều khiển vị trí theo trị số đặt từ mức trên đưa xuống
- Trên một mức là bộ điều khiển số NC sử dụng VĐK có màn hình tinh thể lỏng và bàn phím ghép với các bản mạch điều khiển và ấn định độ dịch chuyển các trục Các khoảng dịch chuyển theo ba trục có thể đưa vào bằng bàn phím(điều khiển bằng tay), băng đục lỗ hoặc từ máy tính chạy chương trình CAD/CAM đưa xuống Quỹ đạo dao(hai hay ba chiều ) được hiển thị trên màn hình tinh thể lỏng còn các toạ độ hiển thị dưới dạng nhị phân
- Bên cạnh bộ điều khiển số có thể thêm một PLC làm các nhiệm vụ có tính chất lặp và đơn điệu như phun chất giải nhiệt thay dao, điều khiển truyền động chính liên laic với VĐK ở mức hai
- Trên cùng là máy vi tính lập ra đường đi của dao cắt dựa trên yêu cầu gia công và công nghệ cắt gọt Máy vi tính sẽ chuyển xuống cho bộ điều khiển số chương trình gia công
Hình 1.5 Cấu trúc điều khiển phân cấp máy CNC
Mở rộng ra cho quá trình phức tạp thí dụ như nhà máy Mức thấp nhất là các máy
và các đơn vị sản xuất tiếp xúc trực tiếp với quá trình (dây chuyền) Ở mức trên là các
Giao diện người- máy
Máy vi tính
Bộ điều
Bản mạch Điều khiển
Bản mạch Điều khiển
Máy công
cụ
Trang 16tế bào sản xuất gồm nhiều máy kết hợp (phân xưởng) Lịch sản xuất của các phân xưởng do phòng kế hoạch sản xuất đưa xuống trên cơ sở kế họach của hội đồng quản trị và giám đốc (hình 1.6)
Hình 1.6 Điều khiển phân cấp xí nghiệp
Do tính chất đa dạng của các thiết bị về chủng loại và nhãn hiệu vấn đề ghép nối các thiết bị nói trên (tích hợp hệ thống- system intergrator) đòi hỏi phải có tiêu chuẩn chung về cơ (kích thước), điện (điện áp, dòng, cáp nối), truyền thông Hệ thống sản xuất phức tạp thường cấu trúc theo mạng, thấp nhất là mạng PLC gồm nhiều PLC kết nối qua mạng MPI, Profibus trong mạng có máy tính hay màn hình HMI Cấp cao hơn là mạng PLC+ máy tính SCADA(Supervisor Control and Data Acquisition), máy tính làm nhiệm vụ chẩn đoán hư hỏng, hiển thị, thay đổi thông số hoạt động của hệ thống, lưu trữ và tường trình, có thể có nhiều máy tính kết nối theo mạng LAN Một dạng phân cấp khác là hệ thống điều khiển phân bố DCS(Distributed Control System), trong mạng có máy tính giám sát, máy tính điều khiển quá trình, PLC, RTU(Remote Terminal Unit), FCU(Field Control Unit) hoạt động dưới một chương trình bảo đảm năng suất, chất lượng sản phẩm, tránh ngừng dây chuyền sản xuất
1.3 Điều khiển vòng hở và điều khiển vòng kín
1.3.1 Điều khiển vòng hở:
Hệ thống điều khiển vòng hở (Hệ thống không hồi tiếp)
Thành phần của hệ thống điều khiển vòng hở thường được chia làm hai phần: bộ điều khiển và quá trình bị điều khiển (còn gọi là đối tượng điều khiển)
Quản lí
Điều khiển sảnxuất
Điều khiển quá trình
Điều khiển cục bộ
Điều khiển cục bộ Điều khiển
cục bộ
Trang 17ĐTĐK
Bộ điều khiển
u(t)
c(t) r(t)
Hình 1.7 Hệ thống điều khiển vòng hở
Trong đó : r(t) là tín hiệu vào, c(t) là tín hiệu ra, u(t) là tín hiệu điều khiển
1.3.2 Điều khiển vòng kín (Điều khiển hồi tiếp):
Hệ thống điều khiển vòng kín (Hệ thống điều khiển có hồi tiếp)
Sơ đồ khối của hệ thống điều khiển (HTĐK) vòng kín :
Hình 1.8 Sơ đồ khối của hệ thống điều khiển (HTĐK) vòng kín
Trong đó: r(t) là tín hiệu vào; c(t) là tín hiệu ra; c*(t) là tín hiệu hồi tiếp và u(t) là tín hiệu điều khiển
Một hệ thống điều khiển bao gồm 3 thành phần cơ bản đó là đối tượng điều khiển, cảm biến hay thiết bị đo lường và bộ điều khiển dùng để hiệu chỉnh các hành vi của
Hệ thống điều khiển bằng máy tính (Computer-controlled system) còn được gọi là
hệ thống lấy mẫu dữ liệu (sampled-data system) Sơ đồ khối hệ như sau
Bộ điều khiển (ĐK)
Đối tượng, quá trình điều khiển (ĐT)
Cảm biến, thiết bị đo lường (ĐL)
Bộ so sánh cn(t)
c(t)
Trang 18Hình 1.9 Sơ đồ khối của hệ thống điều khiển bằng máy tính
Thuật toán điều khiển: PID, đặt cực, tối ưu tuyến tính dạng toàn phương (LQ)
Các thí dụ của hệ thống điều khiển bằng máy tính:
- Điều khiển vị trí
- Điều khiển tốc độ
- Điều khiển nhiệt độ
- Điều khiển dòng (lưu lượng)(Flow control)
- Điều khiển áp suất
- Điều khiển công suất, dòng điện, điện áp
- Điều khiển cường độ sáng
1.4 Các thành phần chính trong máy tính điều khiển
Mục đích chính của tập bài giảng là thể hiện quan điểm tích hợp của điều khiển máy tính trong các quá trình công nghiệp
Các kiến thức lý thuyết nền tảng cần thiết mà người đọc cần biết :
- Tính toán cơ bản
- Lý thuyết mạch điện cơ bản
- Lý thuyết điều khiển hồi tiếp cơ bản
- Nguyên lý cơ bản về cấu trúc máy tính và hoạt động
- Ngôn ngữ lập trình cấp cao như là Basic, Pascal, Fortran, C/C++, Visual Basic, Delphi, Visual C++/Visual C#
Khi sử dụng máy tính điều khiển quá trình ta phải giải quyết các vấn đề sau:
- Ghép nối máy tính với ngoại vi (cảm biến và chấp hành)
- Lập trình điều khiển thời gian thực bao gồm các chương trình con đo, xử lý
số, thuật toán điều khiển, xuất tín hiệu điều khiển
- Truyền thông và mạng công nghiệp
A-D
Giải
Quá trình (đối tượng)
Clock
Y(t) Máy tính
Trang 191.4.1 Hệ thống máy tính
Máy tính, hay gọi là máy vi tính, là những thiết bị hay hệ thống dùng để tính toán hay kiểm soát các hoạt động mà có thể biểu diễn dưới dạng số hay quy luật lôgic Máy tính được lắp ghép bởi các thành phần có thể thực hiện các chức năng đơn giản
đã định nghĩa trước Quá trình tác động tương hỗ phức tạp của các thành phần này tạo cho máy tính một khả năng xử lý thông tin Nếu được thiết lập chính xác (thông thường bởi các chương trình máy tính) máy tính có thể mô phỏng lại một số khía cạnh của một vấn đề hay của một hệ thống Trong trường hợp này khi được cung cấp một bộ
dữ liệu thích hợp nó có thể tự động giải quyết vấn đề hay dự đoán trước sự thay đổi của hệ thống
Trong phần lớn các máy tính ngày nay, trước hết, mọi vấn đề sẽ được chuyển thành các yếu tố toán học bằng cách diễn tả mọi thông tin liên quan thành các số theo hệ nhị phân (hệ thống đếm dựa trên các số 0 và 1 hay còn gọi là hệ đếm cơ số 2) Sau đó, mọi tính toán trên các thông tin này được tính toán bằng đại số Bool (Boolean algebra) Khi máy tính kết thúc tính toán một vấn đề, kết quả của nó được hiển thị cho người sử dụng thấy thông qua thiết bị xuất như: màn hình, máy in,
- Máy tính là công cụ xử lý thông tin Về cơ bản, quá trình xử lý thông tin trên máy tính cũng giống như quá trình xử lý thông tin của con người gồm có 4 giai đoạn chính
Hình 1.10 Quá trình xử lý thông tin trên máy tính
+ Nhận thông tin (Receive input): thu nhận thông tin từ thế giới bên ngoài vào máy tính Thực chất đây là quá trình chuyển đổi các thông tin (dạng số hoặc tương tự)
ở thế giới thực sang dạng biểu diễn thông tin trong máy tính thông qua các thiết bị đầu vào
+ Xử lý thông tin (process information):là quá trình biến đổi, phân tích, tổng hợp, tra cứu những thông tin ban đầu để có được những thông tin mong muốn
+ Xuất thông tin (produce output) : đưa các thông tin kết quả (đã qua xử lý) ra trở lại thế giới bên ngoài Đây là quá trình ngược lại với quá trình ban đầu, máy tính
Trang 20sẽ chuyển đổi các thông tin trong máy tính sang dạng thông tin ở thế giới thực thông qua các thiết bị đầu ra
+ Lưu trữ thông tin (store information): ghi nhớ lại các thông tin đã được ghi nhận để có thể đem ra sử dụng trong những lần xử lý về sau
- Để đáp ứng 4 thao tác đó thì một máy tính thông thường cũng gồm bốn thành phần hợp thành, mỗi thành phần có một chức năng riêng:
+ Thiếp bị nhập (input device) : thực hiện thao tác đưa dữ liệu từ thế giới bên ngoài vào, thường là bàn phím và con chuột, nhưng cũng có thể là các loại thiết bị khác Các thiết bị nhập có thể sẽ phải quaquá trình chuyển đổi ADC để phù hợp với quá trình xử lý trong máy tính
+ Thiết vị xử lý : hay đơn vị xử lý trung tâm - CPU thực hiện thao tác xử lý, tính toán các kết quả, điều hành hoạt động tính toán của máy vi tính, có thể xem CPU như một bộ não của con người
+ Thiết bị xuất (Output) thực hiện thao tác gửi thông tin ra ngoài máy vi tính, màn hình máy tính là thiết bị xuất chuẩn, có thể thêm một số khác như máy in, loa… + Thiết bị lưu trữ (storage devices) được dùng để cất giữ thông tin Lưu trữ sơ cấp (primary momery) là bộ nhớ trong (ROM, RAM) của máy tính dùng để lưu các tập lệnh của chương trình, các thông tin dữ liệu sẵn sàng trong tư thế chuẩn bị làm việc theo yêu cầu của CPU Lưu trữ thứ cấp (secondary storage) là lưu trữ với mục đích cất giữ dữ liệu thường dùng các thiết bị như đĩa cứng, đĩa mềm, CD,
Hình 1.11 Các thành phần của máy tính
Trang 211.4.2 Bản mạch chính (Mainboard):
- Là bảng mạch điện quan trọng nhất bên trong máy tính, trên đó có các linh kiện và những bộ phận tối cần thiết cho hoạt động của một máy tính Hình 1.12 giới thiệu sơ lược tổ chức một bản mạch chính hiện đại
Hình 1.12 Sơ đồ khối đơn giản bản mạch chính của hệ vi tính PC
- Phần trung tâm của bản mạch là bộ vi xử lý Hỗ trợ cho các hoạt động của máy tính như điều khiển bus, điều khiển vào ra, bộ nhớ trước đây có các vi mạch hỗ trợ, còn ngày nay các vi mạch đó thường được tích hợp bên trong vi mạch tổng hợp mà thuật ngữ thường dùng là chipset
Trang 22Hình 1.13 Cấu tạo chi tiết 1 bo mạch chủ (Mainboard)
Trên bản mạch chính còn có bộ nhớ RAM, ROM, một loạt các khe cắm mở rộng để người dùng có thể cắm thêm các thẻ bổ sung chức năng và các bộ phối ghép như bộ phối ghép điều khiển đĩa cứng, đĩa mềm, điều khiển bàn phím, chuột, màn hình Liên lạc giữa các thiết bị trên được thực hiện thông qua hệ thống bus Để hệ thống máy tính làm việc được bình thường trên bản mạch chính còn cần phải có một mạch tạo các xung điện gọi là đồng hồ hệ thống (system clock) nhằm duy trì hoạt động và đồng bộ hoá CPU với các bộ phận liên quan với nhau
1.4.3 Bộ xử lý trung tâm (CPU)
- Đơn vị xử lý trung tâm (Central Processing Unit) - CPU là bộ não của máy vi tính, tiến hành điều khiển mọi hoạt động, xử lý dữ liệu theo chương trình được thiết lập trước Nó là một mạch tích hợp phức tạp gồm hàng triệu transitor trên một bảng mạch nhỏ Một CPU có thể thi hành hàng triệu lệnh mỗi giây, để như vậy, trong một CPU tiêu biểu phải có nhiều thành phần phức tạp với các chức năng khác nhau hoạt động nhịp nhàng với nhau để hoàn thành các tập lệnh chương trình
- CPU hiện nay không hàn vào Mainboard mà được cắm vào một đế cắm gọi là Socket có khoá chắc chắn Ví dụ PGA470, PGA478 (Pentium 4), PGA 775, PGA1155 (vi xử lý đa nhân)
Trang 23Hình 1.14 Một số loại CPU thông dụng 1.4.4 Bộ nhớ (Memory)
Bộ nhớ trong
- Công việc chính của CPU là thi hành các mã lệnh của chương trình, nhưng trong cùng thời điểm CPU chỉ có khả năng giải quyết một ít trong phần dữ liệu Như vậy phần còn lại của dữ liệu được đọc vào phải cần một chỗ nào đó để lưu giữ lại sẵn sàng cho CPU xử lý, do đó RAM hay bộ nhớ chính sẽ nhận nhiệm vụ này Bộ nhớ này thuộc thiết
bị lưu trữ sơ cấp (primary storage) và sẽ mất dữ liệu khi mất nguồn cung cấp
Bộ nhớ ngoài
- Máy tính có các thiết bị ngoại vi có khả năng nhận và xuất dữ liệu, đó là các ổ đĩa máy tính, nơi ghi nhớ các thông tin dữ liệu Nhũng thiết bị này gọi là các thiết bị lưu trữ thứ cấp (secondary starage) Khác với thiết bị lưu trữ sơ cấp, bộ nhớ thứ cấp này có thể lưu dữ liệu ngay cả khi không có nguồn cung cấp.Về mặt lý thuyết, dữ liệu trên loại này
có thể tồn tại vĩnh viễn và có thể được đọc, ghi, sửa hay xóa bất cứ thời điểm nào
1.5 Câu hỏi và bài tập chương 1
1 Trình bày đặc trưng của hệ thống máy tính trong điều khiển quá trình
2 Lịch sử phát triển của điều khiển máy tính quá trình
3 Hệ thống là gì? Cho ví dụ minh họa
4 Trình bày cấu trúc hệ thống điều khiển bằng máy tính
5 Trình bày hệ thống thu thập dữ liệu
6 Cấu trúc điều khiển phân cấp máy CNC
7 Bài toán điều khiển máy tính quá trình tiêu biểu cần có những đáp ứng nào
8 Trình bày hệ thống điều khiển liên tục và số
Trang 24CHƯƠNG 2 CẤU TRÚC NGOẠI VI GIAO TIẾP MÁY TÍNH Giới thiệu chung
Máy tính tương thích IBM là loại máy tính phổ biến trên thế giới, tuỳ theo ứng dụng
Giao tiếp với máy tính có các cách sau:
- Card chuyển đổi A/D và D/A cắm vào rãnh cắm ISA hay PCI
- Cổng song song
- Cổng nối tiếp
- Cổng USB
- Wireless, Bluetooth, hồng ngoại
CPU dùng 2 cách để liên lạc với các bộ phận vào ra:
+ Cách thứ nhất thường được dùng: là cách dùng một vùng địa chỉ của bộ nhớ làm vùng địa chỉ của các ngoại vi Khi đọc hay viết vào vùng địa chỉ này của bộ nhớ là liên hệ đến các ngoại vi
+ Cách thứ hai, dùng mã lệnh riêng biệt cho vào/ra (tức là có các lệnh vào/ra riêng, không trùng với lệnh đọc hay viết vào ô nhớ) Trong trường hợp này, bộ xử lý gửi một tín hiệu điều khiển cho biết địa chỉ đang dùng là của một ngoại vi Vi mạch Intel 8086
và máy IBM 370 là các ví dụ về bộ xử lý dùng lệnh vào/ra riêng biệt
- Dù dùng cách nào để định vị vào/ra thì mỗi bộ phận vào/ra đều có các thanh ghi để cung cấp thông tin về trạng thái và về điều khiển Có 2 phương pháp để vi xử lý điều khiển và kết nối với ngoại vi là phương háp thăm dò và phương pháp ngắt
+ Phương pháp thăm dò (polling): Bộ phận vào/ra dùng bit trạng thái “sẵn sàng” để báo cho bộ xử lý nó sẵn sàng nhận số liệu Định kỳ bộ xử lý xem xét bít này để biết bộ phận vào ra có sẵn sàng hay không Nhược điểm của phương pháp này là làm mất thời gian của bộ xử lý vì định kỳ phải thăm dò tính sẵn sàng của các thiết bị ngoại vi đã dẫn đến phát minh ra ngắt quãng (interrupt)
+ Phương pháp ngắt: việc dùng ngắt để báo cho bộ xử lý biết lúc có một bộ phận vào/ra cần được phục vụ làm cho bộ xử lý không mất thời gian thăm dò xem các ngoại
vi có yêu cầu phục vụ hay không Thông thường việc trao đổi số liệu giữa ngoại vi và CPU thông qua vi mạch thâm nhập trực tiếp bộ nhớ trong (DMA: Direct Memory Access) được dùng trong nhiều máy tính để chuyển một khối nhiều từ mà không có sự
Trang 25can thiệp của CPU
Hình 2.1 Sơ đồ hoạt động của hệ thống bus có vi mạch DMA
- DMA là một vi mạch chức năng đặc biệt, có nhiệm vụ chuyển số liệu giữa ngoại
vi và bộ nhớ trong, trong lúc đó CPU rãnh rỗi để làm công việc khác DMA nằm ngoài CPU và tác động như là một chủ của bus Bộ xử lý khởi động các thanh ghi của DMA, các thanh ghi này chứa địa chỉ ô nhớ và số byte cần chuyển DMA chủ động chuyển số liệu và khi chấm dứt thì trả quyền điều khiển cho bộ xử lý
- Vi mạch DMA càng thông minh thì công việc của CPU càng nhẹ đi Nhiều vi mạch được gọi là bộ xử lý vào/ra (hay bộ điều khiển vào/ra) thực hiện công việc mình theo một chương trình cố định (chứa trong ROM), hay theo một chương trình mà hệ điều hành nạp vào bộ nhớ trong Hệ điều hành thiết lập một hàng chờ đợi gồm các khối điều khiển các bộ phận vào/ ra Các khối chứa các thông tin như là vị trí của số liệu (nguồn và đích) và số số liệu Các bộ xử lý vào/ra lấy các thông tin này trong hàng chờ đợi, thực hiện các việc cần phải làm và gửi về CPU tín hiệu ngắt khi đã thực hiện xong công việc
- Một máy tính có bộ xử lý vào/ra được xem như một máy tính đa xử lý vì DMA giúp cho máy tính thực hiện cùng lúc nhiều quá trình Tuy nhiên bộ xử lý vào/ra không tổng quát bằng các bộ xử lý vì chúng chỉ làm được một số việc nhất định Hơn nữa bộ xử lý vào/ra không xử lý số liệu như các bộ xử lý thường làm Nó chỉ di chuyển số liệu từ nơi này sang nơi khác
Thuật ngữ cổng (port) biểu thị một giao diện giữa máy tính và thiết bị ngoại vi Các cổng vào/ra thường là các mạch điện phức tạp Các cổng này thường có các thanh ghi dùng để chứa các số liệu (các thanh ghi đệm số liệu), các thanh ghi chứa các từ dữ liệu
ra điều khiển và các thanh ghi lưu trữ từ chỉ trạng thái hiện tại của cổng Hình minh hoạ các cổng giao tiếp ở phía sau máy tính Các cổng giao tiếp thông dụng:
Trang 268 Cổng Firewire /IEEE 1394: ghép nối các
loại ổ đĩa ngoài
9 Cổng HDMI: ghép nối với màn hình số Hình 2.2 Một số cổng giao tiếp với máy tính
- Dữ liệu được máy tính nhập vào hoặc xuất ra theo chương trình Khi máy tính muốn gửi dữ liệu ra ngoại vi, một lệnh trong chương trình sẽ viết dữ liệu tới cổng ra (outport) nhằm thông tin với thiết bị ngoại vi Khi máy tính muốn nhận dữ liệu từ ngoại vi, một lệnh đọc dữ liệu từ cổng vào (inport), ví dụ cổng này được nối với bàn phím sẽ được thực hiện
2.1 Giao tiếp qua rãnh cắm máy tính
2.1.1 Giao tiếp qua rãnh cắm ISA
Card giao tiếp sẽ được gắn vào Slot trên mainboard của máy tính, nên các bus của card phải tuân theo kích thước chuẩn
Khi card được cắm vào máy, phải đảm bảo không được phá hủy các bus nội và các
vi mạch trên mainboard của máy Địa chỉ của card được chọn sao cho không bị trùng với địa chỉ của các ngoại vi khác để tránh hiện tượng tranh giành bus do giải mã địa chỉ gây ra
Hãng IBM đã phát triển giao tiếp ISA cho các máy tính AT dùng vi xử lý 80286 Bus ISA có dộ rộng bus số liệu 2 byte = 16 bit do đó có thể truyền dược hai byte này trong một nhịp đồng hồ hay tốc độ truyền tải tối đa có thể đạt được tới 16,66 Mbyte/giây Bus địa chỉ cũng được mở rộng lên tới 24 bit do vậy có thể quản lý được tới 16 Mbyte địa chỉ bộ nhớ Khe cắm ISA là một khe cắm PC cộng thêm một khe cắm hai hàng chân nữa gồm 32 tiếp điểm tương ứng 64 chân, bao gồm bus dữ liệu D0- D7, bus địa chỉ A0 - A19, các tín hiệu điều khiển IOR, IOW, MEMR, MEMW và một số tín hiệu điều khiển của board hệ thống và ngoại vi như DMA và bộ điều khiển ngắt Trong đó được thêm vào 8 đường số liệu và 4 đường địa chỉ cao Do vậy, một card PC bất kì hoàn toàn có thể
Trang 27cắm và sử dụng trên khe cắm ISA Các card ISA hiện nay không còn được dùng trong các loại máy vi tính vì tốc độ chúng không đáp ứng được các yêu cầu truyền dữ liệu hiện nay Hình 2.3 là hình một bus ISA với hai nhóm tiếp điểm cho khe cắm PC và khe cắm
mở rộng cho giao tiếp bus ISA Bên phải là khe cắm với các chân tín hiệu
Hình 2.1 Sơ đồ chân Bus ISA
- SA0 - SA19 : là 20 đường địa chỉ dùng để xác định địa chỉ bộ nhớ hay thiết bị vào / ra thuộc hệ thống Các đường địa chỉ này cùng với các đường LA17-LA23 cho phép truy nhập đến 16 MB bộ nhớ
- SD 0 - SD 15 : các đường dữ liệu, dùng để di chuyển dữ liệu qua lại giữa các vùng của bộ nhớ hoặc các thiết bị ngoại vi Với tác vụ truyền dữ liệu 8 bit, thì chỉ cần dùng D 0 - D 7
- AEN : Đường này được sử dụng để phân cách vi xử lý và các thiết bị khác khỏi kênh vào / ra để thực hiện truyền dữ liệu DMA Khi đường này tích cực mức cao, bộ điều khiển DMA sẽ chiếm quyền điều khiển bus : các đường địa chỉ ( A0 - A 19 ) , các đường dữ liệu ( D 0 - D15 ) và các đường điều khiển đọc, ghi bộ nhớ và IO ( RD, WR, IOR, IOW ) Khi xây dựng cơ chế hoạt động của card AD cần chú y tới đường tín hiệu này để tránh hiện tượng tranh giành bus
- BALE : Đường này thông báo cho các thiết bị thuộc hệ thống biết quá trình gởi tín hiệu địa chỉ đang thực hiện
- CLK : Đây là xung đồng hồ hệ thống tần số 6 MHz, 50% mức cao, 50% mức thấp
- Reset DrV : Đường này được sử dụng để reset các mức logic của các thiết bị trong hệ thống khi khởi động máy Đường này tích cực mức cao
- IOR : chỉ thị đọc IO Tín hiệu này ra lệnh cho thiết bị IO đưa dữ liệu của nó lên tuyến dữ liệu IOR được tạo ra bởi bộ vi xử lý hoặc bộ điều khiển DMA Đường này tích cực ở mức thấp
Trang 28- IOW : chỉ thị ghi IO Tín hiệu này báo hiệu cho các thiết bị IO rằng CPU đang xuất dữ liệu ra ngoại vi Tín hiệu IOW tích cực ở mức thấp
- Smem R , Mem R : chỉ thị đọc bộ nhớ Khi các đường này tích cực ở mức thấp, CPU ra lệnh cho ô nhớ được giải mã địa chỉ xuất dữ liệu của nó lên tuyến dữ liệu SMemR tích cực khi ô nhớ cần đọc có địa chỉ trong phạm vi 1 MB bộ nhớ thấp, MemR tích cực cho tất cả các địa chỉ thuộc bộ nhớ
- SMemW , MemW : chỉ thị ghi bộ nhớ Khi các đường này tích cực ở mức thấp, CPU ra lệnh cho ô nhớ được giải mã địa chỉ ghi nhận dữ liệu đang tồn tại trên tuyến
dữ liệu SMemW tích cực khi ô nhớ cần nhận dữ liệu có địa chỉ trong phạm vi 1 MB, MemW tích cực cho tất cả các địa chỉ thuộc bộ nhớ
- IO CHCK (IO channel check) : Đường này tích cực mức thấp, cung cấp cho board hệ thống thông tin lỗi parity về bộ nhớ hay thiết bị I/O Nó chỉ ra một lỗi hệ thống không thể sửa chữa được
- IO CHRDY (IO channel ready) : Đây là một tín hiệu vào, dùng để tạo trạng thái chờ; trạng thái này kéo dài chu kỳ bus vi xử lý đối với bộ nhớ chậm hay thiết bị IO chậm (tốc độ)
- IRQ 3 - IRQ 7 ; IRQ 9 - IRQ 12 ; IRQ 14 - IRQ 15 : Các đường này dùng để báo cho CPU biết thiết bị vào ra có yêu cầu ngắt Các yêu cầu ngắt có độ ưu tiên : Các đường IRQ 9 - IRQ 12 ; IRQ 14 - IRQ 15 có độ ưu tiên cao nhất (IRQ 9 có độ ưu tiên cao nhất trong các đường này) Các đường IRQ 3 - IRQ 7 có độ ưu tiên thấp hơn (IRQ3 có độ ưu tiên cao nhất trong các đường này) Một yêu cầu ngắt được tạo ra bằng cách nâng đường IRQ từ thấp lên cao Đường này phải được giữ ở mức cao cho tới khi
vi xử lý cho phép yêu cầu ngắt IRQ13 được dùng cho board hệ thống nên không dùng được cho kênh vào ra IRQ 8 dùng cho đồng hồ thời gian thực
- DRQ0 - DRQ3 và DRQ5 - DRQ7 : yêu cầu DMA kênh 0 - 3 , 5 -7 là các yêu cầu kênh không đồng bộ Thiết bị ngoại vi và vi xử lý kênh vào ra dùng những đường này
để chiếm phục vụ DMA (hay quyền điều khiển hệ thống) DRQ0 có độ ưu tiên cao nhất và DRQ7 có độ ưu tiên thấp nhất Một yêu cầu DMA được tạo bằng cách mang một đường DRQ lên mức tích cực Đường DRQ được giữ ở mức cao cho tới khi đường “cho phép yêu cầu DMA”( DACK = DMA Request Acknowledge ) lên mức tích cực DRQ0 - DRQ3 sẽ thực hiện việc truyền DMA 8 bit , còn DRQ5 – DRQ7 thực hiện việc truyền DMA 16 bit DRQ 4 dùng cho board hệ thống và không dùng được cho kênh vào / ra
- DACK0 - DACK3 ; DACK5 - DACK7 : Các đường này cho phép hay chấp nhận yêu cầu DMA Chúng đuợc CPU xuất ra và đều tích cực mức thấp
- Refresh : Tín hiệu này chỉ ra rằng chu kỳ làm tươi bộ nhớ RAM động bị điều khiển bởi một vi xử lý ở kênh vào ra
Trang 29- SBHE : Cho phép byte cao ở trong hệ thống Tín hiệu này chỉ ra rằng việc truyền dữ liệu trên byte cao của tuyến dữ liệu : D8 - D15 Thiết bị 16 bit dùng BHE để gia công đệm tuyến dữ liệu nối với D8 - D15
- IOCS 16 : Tín hiệu vào tích cực mức thấp, các ngoại vi 16 bit dùng đường này để báo cho CPU biết rằng việc truyền dữ liệu là 16 bit
- OSC : Xung đồng hồ tốc độ cao nhất với chu kỳ 70 ns ( 14,31818 MHz ) Tín hiệu này không đồng bộ với đồng hồ hệ thống, có 50% chu kỳ làm việc
Sơ đồ chân rãnh cắm ISA
Bảng 2.1 Sơ đồ chân rãnh cắm ISA trên mainboard của máy IBMPC – XT,AT
Trang 30Các địa chỉ vào ra của máy vi tính IBMPC - AT
Bảng 2.2 Các địa chỉ vào ra của máy vi tính IBMPC - AT
Địa chỉ ( Hex ) Thiết bị
000 - 01F Bộ điều khiển DMA 1 , 8237A - 5
020 - 03F Bộ điều khiển ngắt 1 ( chính ) 8259A
040 - 05F Bộ định thời, 8254 - 2
060 - 06F Bộ điều khiển bàn phím, 8042
070 - 07F Đồng hồ hệ thống thời gian thực, mặt nạ ngắt không che được NMI
080 - 09F Thanh ghi trang DMA, 74LS612
0A0 - 0BF Bộ điều khiển ngắt 2, 8259A ( phụ )
0C0 - 0DF Bộ điều khiển DMA 2 , 8237A - 5
0F0 Xóa đường thông báo bộ đồng xử lý toán học đang bận
0F1 Reset bộ đồng xử lý toán học
0F8 - 0FF Bộ đồng xử lý toán học
1F0 - 1F8 Điều khiển đĩa cứng
200 – 207 Điều khiển trò chơi ( Game IO )
278 - 27F Cổng giao tiếp máy in song song 2 ( LPT 2 )
2F8 - 2FF Cổng truyền tin nối tiếp 2 ( COM 2 )
300 - 31F Card thử nghiệm ( prototype card )
360 - 36F Chưa sử dụng
378 - 37F Cổng giao tiếp máy in song song 1 ( LPT 1)
380 - 38F Thông tin SDLC 2
3A0 - 3AF Thông tin SDLC 1
3B0 - 3BF Điều khiển màn hình mono và thiết bị máy in
3C0 - 3CF Chưa sử dụng
3D0 - 3DF Điều khiển màn hình graphic / màu
3F0 - 3F7 Điều khiển đĩa mềm
3F8 - 3FF Cổng truyền tin nối tiếp ( COM 1 )
Khi thiết kế hệ thống, các nhà sản xuất đã dành riêng vùng địa chỉ vào ra từ 300h - 31Fh để người sử dụng có thể phát triển thêm các ứng dụng thử nghiệm, vì vậy ta sẽ chọn vùng địa chỉ này để xây dựng card AD
Trong 8 đường IRQ chính của hệ thống, nếu thiết bị ngoại vi tương ứng nào hiện diện thực sự thì chúng ta không được phép sử dụng đường IRQ đó nữa Còn nếu các đường IRQ nào không có thiết bị thì card AD của ta có quyền sử dụng thoải mái Để kiểm tra sự tồn tại của các thiết bị ngoại vi đã sử dụng IRQ, chúng ta có thể thực hiện bằng cách kiểm tra byte dữ liệu ở cổng vào ra số 21h ( trạng thái 8259A ) Nếu bit số n
Trang 31là zero thì IRQ n tương ứng đã được sử dụng Thông thường chúng ta có thể sử dụng được các đường IRQ3 ÷ IRQ7 Khi thiết kế card AD và khi viết chương trình điều khiển ta phải chú ý cho phép người dùng khả năng chọn lựa IRQ để tương thích với các cấu hình máy khác nhau
Hạn chế của Bus ISA:
- Đường dữ liệu bị hạn chế 16 bit, vì thế không thể phối hợp trực tiếp bus dữ liệu 32 bit của các bộ vi xử lý 486/Pentium
- Bus địa chỉ 24 bit giới hạn khả năng truy nhập bộ nhớ cực đại qua khe cắm mở rộng là 16 Mb, nên không thể phối hợp bus 32 bit trực tiếp được
- Khe cắm loại này khá cồng kềnh có bề mặt tiếp xúc lớn, giới hạn tần số làm việc của khe cắm mở rộng bus ISA 8 Mhz
- Mỗi ngắt chỉ có thể gán cho 1 thiết bị, ở các hệ thống tần số cao, ngắt bằng sườn xúc phát có thể dẫn đến kích hoạt sai do xung nhọn hoặc tạp nhiễu ở lối vào IRQ
2.1.2.Giao tiếp qua rãnh cắm PCI
Rãnh cắm PCI (Peripheral Component Interconnect) có màu trắng trên mainboard cho phép giao tiếp ngoại vi 32 hay 64 bit vận tốc nhanh đến 132 Mbytes/s so với rãnh cắm ISA 16 bit có vận tốc 3 đến 5 Mbytes/s
Rãnh PCI 64 bit có hai 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àm 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ự 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 Compag, Hewlett-Packard, IBM phối hợp đưa chuẩn PCI-X có đặc tính tốt hơn
Tuyến PCI 32 bit sử dụng chung 32 đường địa chỉ data AD0-AD31, 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 AD0-AD63 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 33 MHz, 66 Mhz
RST#: tín hiệu reset
AD0÷AD31: là tuyến địa chỉ khi FRAME# ở mức thấp
C/BEO÷3# BUS(Command Bytes Enables) : 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 AD0÷AD31 và C/BEO÷3
IRDY# (initiator ready)
TRDY# (Target Ready): là hai dữ liệ bắt tay giữa bộ phát và bộ nhận dữ liệu trên tuyến PCI
Trang 32STOP#: là 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#
LOCK#: là tín hiệu initiator báo dành riêng một số địa chỉ của target
IDSEL(Initialigation Device Select): là 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#(System error): sai số hệ thống
INTA#, INTB#, INTC#, INTD#: các tín hiệu ngắt
SBO#(Snoop Backoff) dùng cho card bộ nhớ
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 running): cho phép điều khiển xung nhịp CLK
MGGEN(66 Mhz enable): cho biết xung nhịp 33 Mhz hay 66 Mhz
AD32÷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)
Bảng 2.3 Cho vị trí các tín hiệu trên slot
TCK (Test clock)
TDI (Test data input)
TDO (Test output)
TMS (Test mode Select)
các tín hiệu thử
Trang 33Bảng 2.4 Sơ đồ chân rãnh cắm PCI 64 bit
Pin Môi trường hệ thống 5v Pin Môi trường hệ thống 3,3v Ghi chú
12 Ground Ground 12 Connector Key 3,3V key
13 Ground Ground 13 Connector Key 3,3V key
14 Reserved Reserved 14 Reserved Reserved
16 CLK +5V(I/O) 16 CLK
17 Ground GNT# 17 Ground +3,3V(I/O)
19 +5V(I/O) Reserved 19 +3,3V(I/O) Reserved
20 AD[31] AD[30] 20 AD[31] AD[30]
21 AD[29] +3,3V 21 AD[29] +3,3V
22 Ground AD[28] 22 Ground AD[28]
23 AD[27] AD[26] 23 AD[27] AD[26]
24 AD[25] Ground 24 AD[25] Ground
25 +3,3V AD[24] 25 +3,3V AD[24]
26 C/BE[3]# IDSEL 26 C/BE[3]# IDSEL
27 AD[23] +3,3V 27 AD[23] +3,3V
28 Ground AD[22] 28 Ground AD[22]
29 AD[21] AD[20] 29 AD[21] AD[20]
30 AD[19] Ground 30 AD[19] Ground
31 +3,3V AD[18] 31 +3,3V AD[18]
32 AD[17] AD[16] 32 AD[17] AD[16]
33 C/BE[2]# +3,3V 33 C/BE[2]# +3,3V
34 Ground FRAME# 34 Ground FRAME#
35 IRDY# Ground 35 IRDY# Ground
Trang 3436 +3,3V TRDY# 36 +3,3V TRDY#
37 DESVEL# Ground 37 DESVEL# Ground
38 Ground STOP# 38 Ground STOP#
46 Ground AD[13] 46 Ground AD[13]
47 AD[12] AD[11] 47 AD[12] AD[11]
48 AD[10] Ground 48 AD[10] Ground
49 Ground AD[9] 49 M66EN AD[9]
50 Connector Key 50 Ground Ground 5V key
51 Connector Key 51 Ground Ground 5V key
52 AD[08] C/BE[0]# 52 AD[08] C/BE[0]#
53 AD[07] +3,3V 53 AD[07] +3,3V
54 +3,3V AD[06] 54 +3,3V AD[06]
55 AD[05] AD[04] 55 AD[05] AD[04]
56 AD[03] Ground 56 AD[03] Ground
57 Ground AD[02] 57 Ground AD[02]
58 AD[01] AD[00] 58 AD[01] AD[00]
59 +5V(I/O) +5V(I/O) 59 +3,3V(I/O) +3,3V(I/O)
60 ACK64# REQ64# 60 ACK64# REQ64#
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 PAR64 67 Ground PAR64
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]
Trang 3572 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] +5V(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] +5V(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
Bảng 2.5 Lệnh PCI (từ C/BE#)
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 Viết ngoại vi xuất nhập 1011 Viết cấu hình (vớiIDSEL)
Trang 36- Quá trình hoạt động PCI gồm 1 giai đoạn định địa chỉ và một hay nhiều giai đoạn truyền dữ liệu Các hoạt động ra/vào truy cập các thanh ghi bên trong PCI đích chỉ có một giai đoạn truyền tải dữ liệu Các thanh ghi bên trong bộ giao diện PCI chứa các thông tin như tên hãng sản xuất, năm sản xuất, để giúp cho chức năng plug and play Khi cắm một thẻ PCI vào mạng, bộ xử lý các thông tin trong các thanh ghi và tự động tìm chương trình (driver) để điều khiển giao diện Trong lúc truy cập các thông tin này thì PCI truyền từng dữ liệu một, tức là mỗi một địa chỉ gửi ra chỉ có một dữ liệu (32 bít) được truyền tải Nhưng khi truyền các khối dữ liệu trong bộ nhớ thì bộ chủ chỉ cần gửi ra một địa chỉ đầu và sau đó các dữ liệu được truyền liên tiếp nhau cho tới khi bộ chủ hay bộ đích đưa ra tín hiệu chấm dứt Các dữ liệu được viết và đọc các vị trí thứ tự tiếp nhau trong bộ nhớ Cả hai chủ và tớ có thể làm dừng trình tự truyền bất kỳ lúc nào Bộ chủ ra dấu báo hoàn thành một chu trình truyền tải bằng cách tắc đi tín hiệu FRAME ở cuối giai đoạn truyền dữ liệu Bộ tớ có thể làm dừng bước truyền bằng cách bậc tín hiệu STOP Khi bộ chủ dò thấy tín hiệu STOP được bật lên, nó phải dừng truyền và phân định lại mạng trước khi tiếp tục Nếu STOP được bật mà không có bất
kỳ giai đoạn hoàn thành, bộ tớ sẽ đưa ra tín hiệu lần nữa Nếu tín hiệu STOP được bật
mà có một hay nhiều giai đoạn dữ liệu xảy ra an toàn thì bộ tớ sẽ ngắt
2.1.3 Giao tiếp qua Bus AGP
- Về cấu trúc, bus AGP được thiết kế trên cơ sở cải tiến bus PCI, cho nên có thể coi AGP là một dạng PCI Tuy nhiên, cho đến nay mới chỉ có duy nhất card màn hình sử dụng dạng bus này, vì vậy các nhà kĩ thuật vẫn chưa coi AGP là một bus mở rộng thực
sự AGP được phát triển trên nền bus PCI với sự thay đổi về dạng thức vật lý, cấu tạo
và tối ưu hơn để dành riêng cho các mạch đồ hoạ Không giống như các khe cắm PCI được thiết kế với số lượng nhiều trên bo mạch chủ, AGP chỉ được thiết kế một khe duy nhất Trong cấu trúc máy tính, bus AGP được kết nối thẳng với chip cầu bắc (Cải tiến
so với bus PCI kết nối với chip cầu nam) Do cấu trúc này, AGP cho phép các bo mạch
đồ hoạ có thể truy cập trực tiếp vào bộ nhớ của hệ thống, điều này giúp tăng đáng kể hiệu năng trên các bo mạch đồ hoạ so với khi chúng sử dụng bus PCI trước đó Tuy nhiên những bo mạch đồ hoạ những thế hệ cuối cùng sử dụng giao tiếp AGP ít khi sử dụng bộ nhớ hệ thống do chúng thường được trang bị sẵn các bộ nhớ đồ hoạ riêng
- Ngày nay băng thông của bus PCI Express (X16) cao hơn so với AGP nên các bo mạch đồ hoạ đã chuyển sang sử dụng bus này, các bo mạch chủ ngày nay cũng không còn hỗ trợ bus AGP Người sử dụng muốn nâng cấp bo mạch đồ hoạ trên các hệ thống
có bo mạch chủ sử dụng cổng giao tiếp AGP hiện nay còn rất ít lựa chọn và đa số các
bo mạch đồ hoạ này sử dụng các GPU cũ
Trang 37Hình 2.4 Sơ đồ chân Bus AGP
- Khe cắm AGP được bố trí bên cạnh khe cắm PCI Khe cắm AGP có dạng tương tự PCI nhưng vị trí trên bản mạch chính thì ở xa vỏ máy hơn Sự khác biệt này với ý đồ thiết kế tránh cắm nhầm giữa hai card
- Phân loại AGP theo băng thông bao gồm:
Hình 2.5 Phân loại Bus AGP theo băng thông
Trang 38+ AGP 1X Độ rộng bus: 32 bit; Tần số làm việc: 66 Mhz; Số dữ liệu chuyển một xung nhịp: 1; Băng thông: 266 MBps
+ AGP 2X Độ rộng bus: 32 bit; Tần số làm việc: 66 Mhz; Số dữ liệu chuyển một xung nhịp: 2; Băng thông: 533 MBps
+ AGP 4X Độ rộng bus: 32 bit; Tần số làm việc: 66 Mhz; Số dữ liệu chuyển một xung nhịp: 4; Băng thông: 1066 MBps
+ AGP 8X Độ rộng bus: 32 bit; Tần số làm việc: 66 Mhz; Số dữ liệu chuyển một xung nhịp: 8; Băng thông: 2133 MBps
Điện áp của các loại giao tiếp AGP phân biệt tuỳ thuộc vào từng loại Với AGP 1X, 2X, sử dụng điện áp 3,3 V Với AGP 4X, 8X sử dụng điện áp 1,5 V hoặc thấp hơn (0,8 V) Tuỳ thuộc vào sự hỗ trợ các khe cắm AGP khác nhau mà các bo mạch đồ hoạ sử dụng giao tiếp AGP khác nhau Hình minh hoạ trên cho ta thấy rằng có nhiều loại khe cắm và sự phù hợp đối với chúng Thiết kế các rãnh trên bo mạch đồ hoạ và trên bo mạch chủ sẽ giúp cho người sử dụng không thể cố tình cắm lẫn gây nguy hiểm đến hệ thống chung Đối với một số bo mạch đồ hoạ cho phép sử dụng cả đối với loại AGP 2X và AGP 4X/8X thì tại phần kết nối chúng có cả hai rãnh khuyết để có thể tương thích với cả hai loại
2.1.4 Giao tiếp qua Bus PCI Express (PCIe)
Năm 2001 Intel phát triển công nghệ mới gọi là thế hệ thứ 3 cho thiết bị vào ra gọi
là PCI Express Khác với bus AGP (hay hầu hết tất cả các bus trước đây) truyền dữ liệu theo kiểu song song, PCIe truyền dữ liệu theo kiểu nối tiếp Truyền dữ liệu theo kiểu nối tiếp chỉ truyền được 1 bit/1 xung trong khi chuyền dữ liệu theo kiểu song song truyền được nhiều bit/1 xung Nhưng vấn đề lớn đối với truyền song song là khi truyền dữ liệu ở xung nhịp cao thì sẽ gây ra hiện tượng nhiễu xuyên âm (tương tự nhiễu xuyên âm trong giao tiếp ATA của HDD) Dẫn đến bus PCI không thể truyền đi với xung nhịp cao được Xung nhịp càng cao sự nhiễu càng lớn dẫn đến sai lệch về thông tin Khi đó thiết bị nhận được thông tin không đầy đủ, do đó lại phải đợi nhận lại thông tin phản hồi lần 2 hoặc vài lần mới nhận được đầy đủ thông tin chính xác.Vì vậy
sẽ tăng thời gian trễ lên rất nhiều Một vấn đề nữa là truyền song song thì dữ liệu kiểu bán song công, tại mỗi thời điểm chỉ có một hướng được truyền nên càng không thể cho phép truyền dữ liệu với xung nhịp cao
Trang 39Hình 2.6 Truyền dữ liệu qua bộ Switch trong PCI Express
Truyền dữ liệu theo kiểu nối tiếp tuy chỉ được 1 bit/1 xung nhưng lại đảm bảo thông tin truyền đi nên có thể truyền ở xung nhịp cao hơn nhiều Bus PCI Express truyền dữ liệu song công hoàn toàn trên 2 cặp dây (1 cặp truyền, 1 cặp nhận riêng biệt) được gọi
là 1 Lane Dữ liệu truyền trên Lane được đảm bảo về độ chính xác Mỗi Lane có thể truyền được với tốc độ max là 250 MB/s (gấp đôi bus PCI) PCI Express có 1 Lane thì được gọi là PCI Express x1, PCI Express x16 có 16 Lane tương ứng có tốc độ truyền
là 16x 250= 8000 MB/s
Hình 2.7 Phương thức truyền dữ liệu PCIe
- Khe cắm PCI Express có nhiều độ dài khác nhau, tùy thuộc vào dung lượng dữ liệu có thể hỗ trợ Khe cắm PCI Express x1 thay cho khe PCI tiêu chuẩn, có chiều dài khoảng 26mm và có khả năng hỗ trợ đến 250 MBps dữ liệu vào/ra tại cùng thời điểm Khe cắm PCI Express x16, giống như khe PCI thông thường, có khả năng thay cho khe cắm card đồ họa AGP Một khe PCI Express x16 có thể truyền dữ liệu 4 GBps dữ liệu vào/ra cùng lúc
Trang 40Hình 2.8 Các tiêu chuẩn PCIe
- Với phiên bản PCIe 1.1 có tốc độ bit 2,5Giga transfers/s (GT/s) nhưng với phiên bản PCIe 2.0 thì tốc độ này được tăng gấp đôi lên thành 5GT/s Ví dụ, một PCIe 1.1x8 có băng thông tổng cộng 4GBytes/s, tương đương với băng thông của PCIe 2.0x4 của công nghệ tín hiệu 5GT/s Tuy nhiên, PCIe 2.0 có thể hỗ trợ cùng lúc tốc độ 2,5GT/s và 5GT/s, có thể tương thích ngược với PCIe 1.0 và 1.1 Có nghĩa là một thiết bị được thiết
kế hoạt động ở tốc độ 5GT/s có thể cắm trên khe hỗ trợ tín nhiệu 2,5GT/s và ngược lại
- PCI Express 3.0 là phát triển kế tiếp của chuẩn PCIe 2.0, với tốc độ bít đạt 8GT/s, gấp đôi PCIe 2.0, trong khi vẫn duy trì sự tương thích của các giao tiếp phần mềm và vận hành trong tất cả các phiên bản PCIe 2.0 có tốc độ bit là 5GT/s nhưng tốc độ thực
sự chỉ 4GT/s, 20% còn lại dành cho việc mã hóa 8b/10b (là sự sắp mã theo byte, mỗi byte của dữ liệu vào một hay 2 ký tự 10bit) PCIe 3.0 đã không sử dụng công đoạn mã hóa 8b/10b mà thay vào đó là kỹ thuật scrambling (dùng hàm nhị phân để biểu diễn luồng dữ liệu) Chính nhờ điểm tiết kiệm này, PCIe 3.0 tăng gấp đôi hiệu năng nhưng chỉ cần tốc độ bit là 8GT/s thay vì phải cần đến 10GT/s nếu dùng cơ chế mã hóa 8b/10b Ngoài ra, cả 3 chuẩn PCIe (PCIe 1.x, PCIe 2.0, PCIe 3.0) đều tương thích lẫn nhau Điều này có nghĩa card PCIe 1.x và PCIe 2.0 có thể cắm vào khe PCIe 3.0 và hoạt động ở tốc độ cao nhất mà card hỗ trợ Tương tự, tất cả các card PCIe 3.0 đều có thể cắm vào khe PCIe 1.x và PCIe 2.0 và hoạt động với tốc độ mà khe cắm hỗ trợ.Tuy nhiên, một yêu cầu quan trọng đối với giao tiếp PCIe 3.0 là các sản phẩm phải được thực hiện với công nghệ 65nm hay công nghệ cao hơn nữa thì mới có thể tối ưu được tốc độ của giao tiếp
2.2 Cổng giao tiếp song song
2.2.1.Giới thiệu về cổng giao tiếp song song
Cổng song song thường dùng để giao tiếp máy vi tính với đối tượng bên ngoài nhờ các đặc điểm:
- Lập trình đơn giản, dễ kết nối
- Tốc độ nhanh