Vớimong muốn xây dựng một phương thức kết nối giữa máy tính và thiết bị điều khiểntheo chuẩn Ethernet nhằm mục đích nâng cao kiến thức thực tiễn, chúng em đã được sự giúp đỡ của thầy giá
Trang 1LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU THIẾT KẾ MẠCH GIAO TIẾP LABVIEW QUA ETHERNET
Huỳnh Đặng Tứ Khá Ks Nguyễn Văn Khanh MSSV: 1071094
Trần Tấn Phát
MSSV: 1071032
Cần Thơ, 12-2011 TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
Trang 2LỜI CAM ĐOAN
Ngày nay, với sự phát triển nhanh chóng của thiết bị điện - điện tử, việc giaotiếp với máy tính là hết sức cần thiết Điều đó có thể giúp chúng ta theo dõi các đốitượng làm việc ở nơi khác “Nghiên cứu thiết kế mạch giao tiếp Lablview quaEthernet” là một đề tài hay và được ứng dụng phổ biến trong hệ thống nhà máycông nghiệp, các công ty Vì vậy chúng em chọn làm đề tài luận văn tốt nghiệp chomình
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức hạnchế nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu biết vàthành quả của chúng em đạt được dưới sự hướng dẫn của thầy Nguyễn Văn Khanh
Chúng em xin cam đoan rằng: những nội dung trình bày trong quyển báo cáoluận văn tốt nghiệp này không phải là bản sao chép từ bất kỳ công trình nào đã cótrước Nếu không đúng sự thật, chúng em xin chịu mọi trách nhiệm trước nhàtrường
Cần Thơ, ngày 09 tháng 12 năm2011
Nhóm sinh viên thực hiện Huỳnh Đặng Tứ Khá
Trần Tấn Phát
Trang 3LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn đến quý thầy cô khoa Công Nghệ - Đại học Cần Thơ đã tạo điều kiện học tập và truyền đạt kiến thức để chúng em có thể thực hiện luận văn này Đặc biệt chúng em xin chân thành cảm ơn thầy Nguyễn Văn Khanh bộ môn Tự Động Hóa, người đã quan tâm và trực tiếp hướng dẫn hai em trong suốt quá trình thực hiện đề tài này
Chúng em xin chân thành cảm ơn sự giúp đỡ tận tình của thầy Trần Trọng Hiếu bộ môn tự động hóa, khoa công nghệ - Đại học Cần Thơ
Xin cảm ơn tất cả bạn bè và người thân đã cổ vũ , động viên tạo điều kiện để
em hoàn thiện đề tài này
Trong suốt quá trình làm luận văn, do kiến thức còn hạn chế nên chúng em
đã gặp không ít khó khăn Mong nhận được sự quan tâm, góp ý và giúp đỡ của các thầy cô và các bạn để bản đề tài này hoàn thiện hơn
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 4………
………
Cần Thơ, ngày……tháng……năm 2011 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……… Cần Thơ, ngày…… tháng…….năm 2011
Giáo viên phản biện
Trang 5MỤC LỤC
MỤC LỤC ……….4
DANH MỤC HÌNH ẢNH ……….5
KÍ HIỆU VÀ CÁC TỪ VIẾT TẮT………6
TÓM TẮT ……… 7
LỜI NÓI ĐẦU ……… 7
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI ………8
1 ĐẶT VẤN ĐỀ……… 8
2 MỤC TIÊU ĐỀ TÀI ……….8
3 NHIỆM VỤ CỦA ĐỀ TÀI ……… 8
4 HƯỚNG GIẢI QUYẾT ………9
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ……… 9
1 TỔNG QUAN VỀ MẠNG ETHERNET ……… 9
1 KIẾN TRÚC GIAOTHỨC………9
2 CẤU TRÚC MẠNG VÀ KỸ THUẬT TRUYỀN DẪN ……10
3 CƠ CHẾ GIAO TIẾP ……….11
4 KHUÔN DẠNG KHUNG THÔNG TIN CỦA ETHERNET.11 5 TRUY NHẬP BUS ……….12
2 CHUẨN IEEE 802.3 ……… 12
3 CÁC PHƯƠNG THỨC TRUYỀN TIN DỰA THEO CHUẨN ETHERNET ………15
1 GIAO THỨC TCP/IP……… 15
2 CẤU TRÚC GÓI TIN IP VÀ TCP ……….17
3 QUÁ TRÌNH KẾT NỐI CỦA GIAO THỨC TCP 18
4 GIỚI THIỆU SƠ LƯỢC VỀ LABVIEW ………21
1 TÍNH NĂNG ……… 22
2 CÁC THÀNH PHẦN TRONG LABVIEW ……… 23
3 CÁC BƯỚC SOẠN THẢO MỘT VI TRONG LABVIEW…24 4 KỸ THUẬT GỠ RỐI TRONG LABVIEW ……… 25
5 CÁC KHỐI CƠ BẢN ĐƯỢC SỬ DỤNG ……… 25
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ………28
3.1 GIỚI THIỆU VỀ ETHERNET PIC 2 (EP2) ……… 28
3.2 SENSOR NHIỆT ĐỘ DS18B20 ………30
3.3 PHẦN MỀM TRÊN VI ĐIỀU KHIỂN ……… 30
Trang 63.4 LƯU ĐỒ GIẢI THUẬT CHÍNH……….32
3.5 LƯU ĐỒ GỬI GÓI TIN ……….33
3.6 LƯU ĐỒ NHẬN GÓI TIN ……….34
3.7 LƯU ĐỒ XỬ LÝ GÓI TIN DÙNG GIAO THỨC TCP ………36
3.8 CHƯƠNG TRÌNH LABVIEW ……… 38
KẾT LUẬN VÀ HẠN CHẾ ………45
1 KẾT QUẢ ĐẠT ĐƯỢC ……… 45
2 HẠN CHẾ ……… 45
3 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ……… 45
TÀI LIỆU THAM KHẢO ………46
DANH MỤC HÌNH ẢNH
Hình 1: Chuẩn IEEE 802.3
Hình 2: Khuôn dạng khung thông tin Ethernet
Hình 3: Minh họa phương pháp CSMA/CD
Hình 4: Mô hình TCP/IP
Hình 5: Tổ chức địa chỉ IP
Hình 6: Quá trình thiết lập kết nối của giao thức TCP
Hình 7: Ứng dụng của Labview
Hình 8: Front Panel
Hình 9: Block Diagram
Hình 10: Các công cụ gỡ rối
Hình 11: Vòng lặp While
Hình 12: Cấu trúc lựa chọn Case
Hình 13: TCP open connection
Hình 14: TCP close connection
Hình 15: TCP listen.vi
Hình 16: TCP Write
Hình 17: TCP Read
Hình 18: Hình ảnh Ethernet Pic 2
Hình 19: Sơ đồ nguyên lý mạch EP2
Trang 7Hình 20: Mã lệnh Labview gửi gói tin
Hình 21: Mã lệnh Labview nhận gói tin
Hình 22: Mã lệnh Labview chính
KÍ HIỆU VÀ CÁC TỪ VIẾT TẮT
TCP/IP: Transmission Control Protocol / Internet protocol
PC: Personal Computer
LAN: Local Area Network
CSMA/CD: Carrier Sense Multiple Access with Collision Detect
MAC: Medium Access Control
IPX/SPX: Internetwork Packet Exchange/Sequenced Packet Exchange
ACK: Acknowledgement
FIN: Force Identification Number
NI: National Instruments
USB: Universal Serial Bus
PCI: Peripheral Component Interconnect
PID: proportional–integral–derivative
DAQ: Delivered Audio Quality
FTP: File Transfer Protocol
HTTP: HyperText Transfer Protocol
ARP: Address Resolution Protocol
ICMP: Internet Control Message Protocol
DHCP: Dynamic Host Configuration Protocol
Trang 8In this topic, the main contents which we find out a study is a kit compatibleEthernet using microcontroller Pic18F67J60 Also find out how to transfer packetsacross the network protocols and algorithms built to receive and send data over theinternet using TCP/IP Labview programming interface The idea of the subject is
Trang 9moving the quantity to be measured (such as temperature …) into electrical signals,then Pic18F67J60 will read the electrical signal this and decoded by the algorithmshave been programmed The electrical signal is sent over the internet via TCP/IPprotocols Users will access the web of the program and observe the parametersmeasured on the interface of the site.
LỜI NÓI ĐẦU
Internet ngày nay đã trở thành một công cụ hiệu quả trong tất cả các lĩnh vựcđời sống xã hội, việc kết nối giữa các máy tính đã trở nên dễ dàng rất nhiều Vớimong muốn xây dựng một phương thức kết nối giữa máy tính và thiết bị điều khiểntheo chuẩn Ethernet nhằm mục đích nâng cao kiến thức thực tiễn, chúng em đã được
sự giúp đỡ của thầy giáo – kỹ sư Nguyễn Văn Khanh, đã tiến hành nghiên cứu, xâydựng mạch thiết bị điều khiển tích hợp giao diện truyền thông Ethernet
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1 ĐẶT VẤN ĐỀ:
Ngày nay, với sự phát triển nhanh chóng của thiết bị điện- điện tử, việc giaotiếp với máy tính là hết sức cần thiết Điều này không những tận dụng được tàinguyên, khả năng xử lý của máy tính mà còn giúp người sử dụng có thể theo dõi cácđối tượng làm việc phía dưới
Hiện nay, có nhiều phương pháp kết nối máy tính với các thiết bị điều khiểnnhư thực hiện việc kết nối theo chuẩn RS232, RS485, RJ45 rất phổ biến, tuy nhiênkhi thực hiện việc kết nối các theo chuẩn này gặp phải một số vấn đề cơ bản sau:
· Khoảng cách kết nối giữa máy tính với thiết bị điều khiển khoảng30-40m
· Tốc độ truyền thông của RJ45 chỉ khoảng 10Mbs
· Ghép nối điểm-điểm
Trang 10Những nhược điểm của các phương pháp giao tiếp trên cũng chính là những
ưu điểm của mạng Ethernet Với những lợi thế của mình, mạng Ethernet đã trởthành mạng phổ biến nhất trong các hệ thống nhà máy công nghiệp Bên cạnh đóvấn đề thiết kế giao diện điều khiển có thể dùng nhiều phần mềm Labview là mộttrong số đó, nó được dùng nhiều trong các phòng thí nghiệm, lĩnh vực khoa học kỹthuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử
y sinh, với các công cụ mạnh cho việc phân tích và hữu dụng trong lập trình thờigian thực thông qua các hình ảnh trực quan trong môi trường soạn thảo
Để có thể giao tiếp Labview, kết nối thiết bị điều khiển với máy tính theochuẩn Ethernet, chúng em đã thực hiện đề tài này
2 MỤC TIÊU ĐỀ TÀI:
Thực hiện việc kết nối thiết bị điều khiển với PC thông qua cáp mạngEthernet chuẩn RJ45 Qua đó, thực hiện việc truyền và nhận dữ liệu giao tiếpLabview dùng Ethernet
3 NHIỆM VỤ CỦA ĐỀ TÀI:
Để thực hiện được mục tiêu của đề tài, nhiệm vụ cần đặt ra là:
1 Thiết kế mạch phần cứng thiết bị điều khiển
2 Xây dựng phần mềm giao diện Labview
Thiết kế phần mềm giao diện Labview trên PC giúp người sử dụng thực hiện việctruyền nhận dữ liệu, các giá trị đặt và theo dõi trạng thái đối tượng trên PC qua giaodiện Labview
4 HƯỚNG GIẢI QUYẾT:
- Thiết kế mạch dùng vi điều khiển Pic 18F67J60, đây là dòng vi điều khiển có
hỗ trợ giao tiếp internet qua cổng RJ45
- Lập trình Labview: Cách nhận gói tin từ vi điều khiển truyền lên và máy tínhgởi xuống
- Cách truyền và nhận gói tin theo giao thức TCP/IP
- Lập trình phần mềm dùng MicroC với các hàm thư viện có sẵn
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Trang 111 TỔNG QUAN VỀ MẠNG ETHERNET:
Ethernet là công nghệ mạng LAN được sử dụng rộng rãi nhất hiện nay Đượcphát triển vào giữa thập kỷ 1970 bởi các nhà nghiên cứu tại Xerox Palo AtltoResearch Center (PARC), Ethernet là một ví dụ thực tiễn của loại mạng cục bộ sửdụng giao thức CSMA/CD Ethernet ngày càng đóng một vai trò quan trọng trongcác hệ thống công nghiệp Bên cạnh việc sử dụng cáp đồng trục, đôi dây xoắn vàcáp quang, gần đây Ethernet không dây (Wireless LAN, IEEE 802.11) cũng đangthu hút được sự quan tâm lớn
1 KIẾN TRÚC GIAO THỨC:
Kiến trúc giao thức của Ethernet theo chuẩn IEEE 802.3 chỉ bao gồm lớp vật
lí và lớp MAC (Medium Access Control, lớp điều khiển truy nhập môi trường)
Hình 1: Chuẩn IEEE 802.3
2 CẤU TRÚC MẠNG VÀ KỸ THUẬT TRUYỀN DẪN:
Về mặt logic, Ethernet có cấu trúc bus Cấu trúc mạng vật lí có thể là đườngthẳng hoặc hình sao tùy theo phương tiện truyền dẫn Bốn loại cáp thông dụng nhất: Cáp đồng trục dầy, cáp đồng trục mỏng, cáp đôi dây xoắn, cáp quang
Tên hiệu Loại cáp Chiều dài tối đa Số trạm tối đa
Trang 12Bảng 1: Một số loại cáp truyền Ethernet thông dụng
Đa số cấu hình mạng Ethernet có kết nối với thiết bị điều khiển thường sửdụng chuẩn chung 10BASE-T Trong mạng này các trạm được nối với nhau qua một
bộ chia giống như cách nối các mạng điện thoại
Ưu điểm của cấu trúc này là việc bổ xung hoặc tách một trạm ra khỏi mạngcũng như việc phát hiện cáp truyền rất đơn giản
Nhược điểm có thể thấy rõ nhất đó là tốn dây dẫn và công đi dây cũng nhưchi phí cho bộ chia chất lượng cao cũng là một vấn đề Bên cạnh đó, khoảng cáchtối đa cho phép từ một trạm tới bộ chia thường bị hạn chế trong vòng 100 – 150m
Bên cạnh cáp đồng trục và cáp đôi dây xoắn thì cáp quang cũng được sửdụng nhiều trong Ethernet, trong đó đặc biệt là 10BASE-F Với cách ghép nối duynhất là điểm – điểm, cấu trúc mạng có thể là daisy-chain, hình sao hoặc hình cây.Thông thường, chi phí cho các bộ nối và chặn đầu cuối rất lớn nhưng khả năngkháng nhiễu tốt và tốc độ truyền cao lá các yếu tố quyết định trong nhiều phạm viứng dụng
Trong nhiều trường hợp, ta có thể sử dụng phối kết hợp nhiều loại trong mộtmạng Ethernet Ví dụ, cáp quang hoặc cáp đồng trục dầy có thể sử dụng là đườngtrục chính hay xương sống ( backbone ) trong cấu trúc cây, với các đường nhánh làcáp mỏng hoặc đôi dây xoắn Đối với mạng quy mô lớn, có thể sử dụng các bộ lặp,nhưng đường dẫn giữa hai bộ thu phát không được phép dài quá 2,5km cũng nhưkhông đi qua quá bốn bộ lặp
3 CƠ CHẾ GIAO TIẾP:
Sự phổ biến của Ethernet có được là nhờ tính năng mở Thứ nhất, Ethernetchỉ qui định lớp vật lí và lớp MAC, cho phép các hệ thống khác nhau tùy ý thựchiện các giao thức và dịch vụ phía trên Thứ hai, phương pháp truy nhập bus ngẫunhiên CSMA/CD không yêu cầu các trạm tham gia phải biết cấu hình mạng, vì vậy
có thể bổ xung hay tách một trạm ra khỏi mạng mà không ảnh hưởng tới các phần
Trang 13còn lại Thứ ba, việc chuẩn hóa sớm trong IEEE 802.3 giúp cho các nhà cung cấpsản phẩm thực hiện dễ dàng hơn.
Trong một mạng Ethernet, không kể tới bộ chia hoặc bộ chuyển mạch thì tất
cả đều có vai trò bình đẳng như nhau Mỗi trạm có một địa chỉ Ethernet riêng biệt
và thống nhất Việc giao tiếp giữa các trạm thông qua giao tiếp phía trên ví dụNetBUI, IPX/SPX hoặc TCP/IP Tùy theo giao thức cụ thể, căn cước của bên gửi vàbên nhận trong một bức điện của lớp phía trên sẽ được dịch sang địa chỉ Ethernettrước khi được chuyển xuống lớp MAC
Bên cạnh cơ chế giao tiếp tay đôi, Ethernet còn hỗ trợ phương pháp gửithông báo đồng loạt ( multicast và broadcast ) Một thông báo multicast được gửi tớimột nhóm các trạm, trong khi một thông báo broadcast gửi tới tất cả các trạm
4 KHUÔN DẠNG KHUNG THÔNG TIN CỦA ETHERNET:
Bên gởi sẽ bao gói gói tin IP thành khung Ethernet như sau:
Hình 2: Khuôn dạng khung thông tin Ethernet
Preamble: dài 7 bytes với mẫu 10101010 theo sau bởi 1 byte với mẫu 10101011,
được sử dụng để đồng bộ hóa tốc độ đồng hồ giữa bên gởi và bên nhận
Source and dest addresses: Địa chỉ nguồn và đích, gồm 6 bytes Khung được nhận
bởi tất cả các trạm trong LAN Khung bị xóa nếu dest address không trùng với địachỉ MAC của bất kỳ trạm nào hoặc không phải thuộc dạng multicast
Type: chỉ ra giao thức được sử dụng ở tầng cao hơn, thường là IP, nhưng các giao
thức khác vẫn được hỗ trợ - ví dụ: Novell IPX và AppleTalk
CRC: Phần kiểm tra lỗi Lỗi được kiểm tra tại trạm đích Nếu khung có lỗi, nó sẽ
bị xóa
5 TRUY NHẬP BUS:
Một vấn đề lớn thường gây lo ngại trong việc sử dụng Ethernet ở cấp trường
là phương pháp truy nhập bus ngẫu nhiên CSMA/CD ( Carrier Sense Multiple
Trang 14Access with Collision Avoidance ) và sự ảnh hưởng tới hiệu suất cũng như tính năng
thời gian thực của hệ thống Ở đây, một trong những yếu tố quyết định tới hiệu suấtcủa hệ thống là thuật toán tính thời gian truy nhập lại cho các trạm trong trường hợpxảy ra xung đột
Hình 3: Minh họa phương pháp CSMA/CD
1 CHUẨN IEEE 802.3:
IEEE 802 là họ các chuẩn IEEE dành cho các mạng LAN và mạng MAN.
Trong LAN, tầng liên kết dữ liệu được chia làm hai tầng con: LLC (Logical LinkLayer) và MAC MAC quản lý việc truy cập đường truyền, trong khi LLC đảm bảotính độc lập của việc quản lý các liên kết dữ liệu với đường truyền vật lý và phươngpháp truy cập đường truyền MAC IEEE (Institute of Electrical and ElectronicEngineers) là tổ chức đi tiên phong trong lĩnh vực chuẩn hóa mạng cục bộ với dự ánIEEE 802 nổi tiếng bắt đầu được triển khai từ năm 1980 và kết quả là hàng loạtchuẩn thuộc họ IEEE 802.x ra đời, tạo nền tảng quan trọng cho việc thiết kế và càiđặt mạng nội bộ trong thời gian qua Vị trí của họ chuẩn này càng cao hơn khi ISO
đã xem xét và tiếp nhận chúng thành chuẩn quốc tế mang tên 8802.x Họ chuẩn
IEEE 802 được bảo trì bởi Ban Tiêu chuẩn LAN/MAN IEEE 802 (IEEE 802
LAN/MAN Standards Committee (LMSC)) Các chuẩn được dùng rộng rãi nhất là
Trang 15dành cho họ Ethernet, Token Ring, mạng LAN không dây, các mạng LAN dùng
bridge và bridge ảo (Bridging and Virtual Bridged LANs) Mỗi lĩnh vực có một
Working Group tập trung nghiên cứu
Họ IEEE 802.x bao gồm các chuẩn sau:
IEEE 802.1 Các giao thức LAN tầng cao
IEEE 802.2 điều khiển liên kết lôgic
IEEE 802.3 Ethernet
IEEE 802.4 Token bus (đã giải tán)
IEEE 802.5 Token Ring
IEEE 802.6 Metropolitan Area Network (đã giải tán)
IEEE 802.7 Broadband LAN using Coaxial Cable (đã giải tán)
IEEE 802.8 Fiber Optic TAG (đã giải tán)
IEEE 802.9 Integrated Services LAN (đã giải tán)
IEEE 802.10 Interoperable LAN Security (đã giải tán)
IEEE 802.11 Wireless LAN (Wi-Fi certification)
IEEE 802.12 công nghệ 100 Mbit/s plus
IEEE 802.13 (không sử dụng)
IEEE 802.14 modem cáp (đã giải tán)
IEEE 802.15 Wireless PAN
IEEE 802.15.1 (Bluetooth certification)
IEEE 802.15.4 (ZigBee certification)
IEEE 802.16 Broadband Wireless Access (WiMAX certification)
IEEE 802.16e (Mobile) Broadband Wireless Access
IEEE 802.17 Resilient packet ring
IEEE 802.18 Radio Regulatory TAG
IEEE 802.19 Coexistence TAG
IEEE 802.20 Mobile Broadband Wireless Access
IEEE 802.21 Media Independent Handoff
IEEE 802.22 Wireless Regional Area Network
IEEE 802.3: Là chuẩn đặc tả một mạng cục bộ dựa trên mạng Ethernet nổi
tiếng do Digital, Intel và Xerox hợp tác phát triển từ năm 1990 IEEE 802.3 baogồm cả tầng vật lý và tầng con MAC với các đặc tả sau:
Trang 16o Đặc tả dịch vụ MAC
o Giao thức MAC
o Đặc tả vật lý độc lập với đường truyền
o Đặc tả vật lý phụ thuộc vào đường truyền
Phần cốt lõi của IEEE 802.3 là giao thức MAC dựa trên phương pháp CSMA/CD đãtrình bày ở phần trước
Trang 172 CÁC PHƯƠNG THỨC TRUYỀN TIN DỰA THEO CHUẨN
ETHERNET:
1 GIAO THỨC TCP/IP:
TCP là giao thức vận chuyển tinh vi, dùng để cung cấp dịch vụ vận chuyểntin cậy, hướng nối kết theo kiểu truyền thông tin bằng cách phân luồng các bytes.TCP là giao thức truyền hai hướng đồng thời, nghĩa là mỗi một nối kết hỗ trợ hailuồng bytes chạy theo hai hướng Nó cũng bao gồm một cơ chế điều khiển thônglượng cho mỗi luồng bytes này, để cho phép bên nhận giới hạn lượng dữ liệu màbên gởi có thể truyền tại một thời điểm nào đó TCP cũng hỗ trợ cơ chế đa hợp, chophép nhiều tiến trình trên một máy tính có thể đồng thời thực hiện đối thoại với đốitác của chúng
Lớp ứng dụngLớp vận chuyểnLớp InternetLớp truy cập mạng
Hình 4: Mô hình TCP/IP
Lớp ứng dụng:
Lớp ứng dụng thực hiện các chức năng hỗ trợ cần thiết cho nhiều ứng dụngkhác nhau : SMTP ( Simple Mail Transfer Protocol ) cho chuyển thư điện tứ, FTP (
Trang 18File Transfer Protocol ) cho chuyển giao file, TELNET là chương trình mô phỏngthiết bị đầu cuối cho phép người dùng login vào một máy chủ từ một máy tính nào
đó trên mạng, SNMP (Simple Network Management Protocol) giao thức quản trịmạng cung cấp những công cụ quản trị mạng, DNS(Domain Name Server) là dịch
vụ tên miền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉInternet
Lớp ứng dụng trao đổi dữ liệu với lớp dưới ( lớp vận chuyển ) qua cổng Việcdùng cổng bằng số cho phép giao thức của lớp vận chuyển biết loại nội dung nàochứa bên trong gói dữ liệu Những cổng được đánh bằng số và những ứng dụngchuẩn thường dùng cùng cổng Ví dụ: giao thức FTP dùng cổng 20 cho dữ liệu vàcổng 21 cho điều khiển, giao thức SMTP dùng cổng 25…
Lớp vận chuyển:
Lớp vận chuyển có chức năng cung cấp các dịch vụ cho việc thực hiện vậnchuyển dữ liệu giữa các chương trình ứng dụng một cách tin cậy hoàn toàn TCP làgiao thức tiêu biểu nhất, phổ biến nhất với hiệu suất cao và ít lỗi TCP là giao thức
có tạo cầu nối (connection-oriented) Khi dữ liệu nhận, giao thức TCP lấy những góiđược gửi từ lớp Internet và đặt chúng theo thứ tự của nó, bởi vì những gói có thểđến vị trí đích theo phương thức không theo một thứ tự, và kiểm tra nếu nội dungcủa gói nhận có nguyên vẹn hay không và gửi tín hiệu Acknowledge – chấp nhận –tới bên gửi, cho biết gói dữ liệu đã đến đích an toàn Nếu không có tín hiệuAcknowledge của bên nhận (có nghĩa là dữ liệu chưa đến đích hoặc có lỗi ), bêntruyền sẽ truyền lại gói dữ liệu bị mất Bên cạnh TCP, một giao thức khác cũngđược sử dụng cho lớp vận chuyển đó là UDP (User Data Protocol )
Cả hai giao thức UDP và TCP sẽ lấy dữ liệu từ lớp ứng dụng và thêm headervào khi truyền dữ liệu Khi nhận dữ liệu, header sẽ bị gỡ trước khi gửi dữ liệu đếncổng thích hợp Trong header này có một vài thông tin điều khiển liên quan đến sốcổng nguồn, số cổng tới đích, chuỗi số ( để hệ thống sắp xếp lại dữ liệu và hệ thốngAcknowledge sử dụng trong TCP ) và Checksum (dùng để tính toán xem dữ liệuđến đích có bị lỗi hay không )
Header của UDP có 8 byte trong khi header của TCP có 20 hoặc 24 byte (tùy theokiểu byte lựa chọn )
Dữ liệu ở lớp này sẽ được chuyển tới lớp Internet nếu truyền dữ liệu hoặcđược gửi từ lớp Internet tới nếu nhận dữ liệu
Trang 19Lớp Internet:
Lớp Internet có chức năng chuyển giao dữ liệu giữa nhiều mạng được liênkết với nhau Có một vài giao thức mà làm việc ở lớp Internet như : IP (InternetProtocol ) có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyếnchúng tới đích, ICMP ( Internet Control Message Protocol ) có chức năng thôngbáo lỗi trong trường hợp truyền dữ liệu bị hỏng, ARP ( Address Resolution Protocol) có chức năng lấy địa chỉ MAC từ địa chỉ IP
Với giao thức IP, lớp Internet được sử dụng có nhiệm vụ thêm header tới gói
dữ liệu được nhận từ lớp vận chuyển, là một loại dữ liệu điều khiển khác, nó sẽthêm địa chỉ IP nguồn và địa chỉ IP đích – có nghĩa là địa chỉ IP của bên gửi dữ liệu
và bên nhận dữ liệu
Mỗi datagram của IP có kích thước lớn nhất là 65.535 byte, bao gồm cảheader mà có thể dùng 20 hoặc 24 byte, phụ thuộc vào sự lựa chọn trong chươngtrình sử dụng Như vậy datagram của IP có thể mang 65.515 byte hoặc 65.511 byte,giao thức IP sẽ cắt gói xuống thành nhiều datagram nếu thấy cần thiết
Đối với mạng Ethernet, dữ liệu có thể lên tới 1500 byte, nghĩa là kích thướclớn nhất trường dữ liệu của frame được gửi lên mạng MTU ( Maximum TransferUnit ) có giá trị 1500 byte Như vậy hệ điều hành tự động cấu hình giao thức IP đểtạo ra datagram của IP có chiều dài 1500 byte mà không phải là 65.535 byte
Lớp vật lí:
Lớp vật lí đề cập tới giao diện vật lí giữa một thiết bị truyền dữ liệu với môitrường truyền dẫn hay mạng, trong đó có các đặc tính tín hiệu, chế độ truyền, tốc độtruyền và cấu trúc cơ học của các phích cắm, rắc cắm Lớp này có nhiệm vụ chuyểnđổi frame do lớp MAC tạo ra thành tín hiệu điện ( đối với hệ thống dây dẫn mạngbằng cable ) hoặc thành song từ trường ( đối với hệ thống mạng không dây )
2 CẤU TRÚC GÓI TIN IP VÀ TCP:
Địa chỉ IP:
Mỗi máy tính trên mạng TCP/IP phải được gán một địa chỉ luận lý có chiềudài 32 bits và được tách thành 4 vùng (mỗi vùng 1 byte), gọi là địa chỉ IP Mục đíchcủa địa chỉ IP là để định danh duy nhất cho một host bất kì trên liên mạng Do tổ
Trang 20chức và độ lớn của các mạng con (subnet) của liên mạng có thể khác nhau, người tachia các địa chỉ IP thành 5 lớp, kí hiệu là A, B, C, D, E với cấu trúc con như sau:
Class D 1 1 1 0 Multicast address
Class E 1 1 1 1 0 Reverved for future use
Hình 5: Tổ chức địa chỉ IP
· Địa chỉ lớp A:
Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng Nhưhình trên, nó được nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ cógiá trị 0 3 bytes còn lại được sử dụng để đánh địa chỉ máy trong mạng Có
126 địa chỉ lớp A (được đánh địa chỉ trong byte thứ nhất) với số máy tínhtrong mạng là 2563 - 2 = 16.777.214 máy cho mỗi một địa chỉ lớp A (sửdụng 3 bytes để đánh địa chỉ máy)
· Địa chỉ lớp B:
Một địa chỉ lớp B được nhận ra bởi 2 bit đầu tiên của byte thứ nhấtmang giá trị 10 Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉmạng và 2 byte cuối đánh địa chỉ máy trong mạng Có 64*256 - 2 = 16.128địa chỉ mạng lớp B với 65.534 máy cho mỗi một địa chỉ lớp B
· Địa chỉ lớp C:
Một địa chỉ lớp C được nhận ra với 3 bit đầu mang giá trị 110 Mạnglớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địa chỉmáy tính có trong mạng Có 2.097.152 -2 địa chỉ lớp C, mỗi địa chỉ lớp C có
254 máy
· Địa chỉ lớp D:
Dùng để gửi các IP datagram tới một nhóm các host trên một mạng
· Địa chỉ lớp E:
Trang 21Dùng để dự phòng và dùng trong tương lai.
3 QUÁ TRÌNH KẾT NỐI CỦA GIAO THỨC TCP:
Không giống như giao thức UDP - giao thức có thể lập tức gửi mà không cầnthiết lập kết nối, TCP đòi hỏi phải thiết lập kết nối trước khi bắt đầu gửi dữ liệu vàkết thúc kết nối khi việc gửi dữ liệu hoàn tất Cụ thể các kết nối của TCP có 3 pha là:thiết lập kết nối, truyền dữ liệu và kết thúc kết nối
Các trạng thái của kết nối:
LISTEN: đang đợi yêu cầu kết nối từ một TCP và cổng bất kỳ ở xa (trạng thái nàythường do các TCP server đặt)
SYN-SENT: đang đợi TCP ở xa gửi một gói tin TCP với các cờ SYN và ACK được bật (trạng thái này thường do các TCP client cài đặt)
SYN-RECEIVED: đang đợi TCP ở xa gửi lại một tin báo nhận sau khi đã gửi choTCP ở xa đó một tin báo nhận kết nối (connnection acknowledgment) (thường doTCP server đặt)
ESTABLISHED: cổng đã sẵn sàng nhận/gửi dữ liệu với TCP ở xa (đặt bởi TCPclient và server)
Trang 22TIME-WAIT: đang đợi qua đủ thời gian để chắc chắn là TCP ở xa nhận được đãnhận được tin báo nhận về yêu cầu kết thúc kết nối của nó Một kết nối có thể ởtrạng thái TIME-WAIT trong vòng tối đa 4 phút.
Hình 6: Quá trình thiết lập kết nối của giao thức TCP
Thiết lập kết nối:
Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước Trướckhi client thử kết nối với một server, server phải đăng ký một cổng và mở cổng đócho các kết nối: đây được gọi là mở bị động Một khi mở bị động đã được thiết lậpthì một client có thể bắt đầu mở chủ động Để thiết lập một kết nối, quy trình bắt tay
3 bước xảy ra như sau:
1 Mở chủ động được thực hiện bằng các gửi một SYN cho server
2 Server trả lời bằng một SYN-ACK
3 Cuối cùng, client gửi một ACK lại cho server
Đến đây cả client và server đều đã nhận được một tin báo nhận(acknowledgement) về kết nối
Truyền dữ liệu:
Một số đặc điểm cơ bản của TCP để phân biệt với UDP:
Trang 23Truyền dữ liệu không lỗi (do có cơ chế sữa lỗi/truyền lại)
Truyền các gói dữ liệu theo đúng thứ tự
Truyền lại các gói dữ liệu mất trên đường truyền
Loại bỏ các gói dữ liệu trùng lặp
Cơ chế hạn chế tắc nghẽn đường truyền
Ở hai bước đầu tiên trong ba bước bắt tay, hai máy tính trao đổi một số thứ tựgói ban đầu (Initial Sequence Number-ISN) Số này có thể chọn một cách ngẫunhiên Số thứ tự này được dùng để đánh dấu các khối dữ liệu gửi từ mỗi máy tính.Sau mỗi byte được truyền đi, số này được tăng lên Nhờ vậy ta có thể sắp xếp lạichúng cho khi tới máy tính kia bất kể các gói tin tới nơi theo thứ tự thế nào Trên lýthuyết, mỗi byte gửi đi đều có một số thứ tự và khi nhận được thì máy tính nhận lạigửi tin báo nhận (ACK) Trong thực tế thì chỉ có byte dữ liệu đầu tiên được gán sốthứ tự trong trường số thứ tự của gói tin và bên nhận sẽ gửi tin báo nhận bằng cáchgửi số thứ tự của byte đang chờ
Ví dụ máy A gửi 4 byte với số thứ tự ban đầu là 100 (theo lý thuyết thì 4 byte
sẽ có thứ tự là 100, 101, 102 và 103) thì bên nhận sẽ gửi báo nhận có nội dung là
104, bên nhận đã ngầm thông báo rằng nó đã nhận được các byte 100,101,102 và
103 Trong trường hợp 2 byte cuối bị lỗi thì bên nhận sẽ gửi tin báo nhận với nộidung 102 vì 2 byte 100 và 101 đã nhận thành công Giả sử ta có 10000 byte đượcgửi trong 10 gói tin 1000byte và có 1 gói tin mất trên đường truyền Nếu gói tin bịmất là gói đầu tiên thì bên gửi sẽ phải gửi lại toàn bộ 10 gói tin vì không có cáchnào để bên nhận thông báo nó đã nhận được 9 gói tin kia Vấn đề này được giảiquyết trong giao thức SCTP (Stream Control Transmission Protocol-Giao thức điềukhiển truyền vận dòng) với việc bổ sung báo nhận chọn lọc
Số thứ tự và tin báo nhận giải quyết được các vấn đề về lặp gói tin, truyền lạinhững gói tin bị hỏng/mất và các gói tin đến sai thứ tự Để phục vụ mục đích kiểmtra, các gói tin có trường giá trị tổng kiểm (checksum) Với trình độ hiện tại, kỹthuật kiểm tra tổng trong TCP không đủ mạnh Các tầng liên kết dữ liệu với xác suấtlỗi bit cao có thể cần được bổ sung các khả năng phát hiện lỗi tốt hơn Nếu như TCPđược thiết kế vào thời điểm hiện tại, nhiều khả năng nó sẽ bao gồm trường kiểm tra
độ dư tuần hoàn (cyclic rudundancy check-CRC) với độ dài 32 bít Điểm yếu nàymột phần được bù đắp bằng CRC hay những kỹ thuật khác tại tầng thứ 2 trong môhình OSI Tuy nhiên điều này không có nghĩa là trường kiểm tra tổng của TCP làkhông cần thiết: thống kê cho thấy các sai sót do cả phần cứng và phần mềm gây ra
Trang 24giữa các điểm áp dụng kỹ thuật kiểm tra CRT là khá phổ biến và kỹ thuật kiểm tratổng có khả năng phát hiện phần lớn các lỗi đơn giản này.
Điểm cuối cùng là khả năng hạn chế tắc nghẽn Tin báo nhận (hoặc không cótin báo nhận) là tín hiệu về trạng thái đường truyền giữa 2 máy tính Từ đó, hai bên
có thể thay đổi tốc độ truyền nhận dữ liệu cho phù hợp với điều kiện Vấn đề nàythường được đề cập là điều kiển lưu lượng, kiểm soát tắc nghẽn TCP sử dụng một
số cơ chế nhằm đạt được hiệu suất cao và ngăn ngừa khả năng nghẽn mạng Các cơchế này bao gồm: cửa sổ trượt (sliding window), thuật toán slow-start, thuật toántránh nghẽn mạng (congestion avoidance), thuật toán truyền lại và phục hồinhanh,… Hiện nay, vấn đề cải tiến TCP trong môi trường truyền dẫn tốc độ caođang là hướng nghiên cứu được quan tâm
Kích thước cửa sổ TCP là chiều dài (byte) của khối dữ liệu có thể lưu trong
bộ đệm bên nhận Bên gửi chỉ có thể gửi tối đa lượng thông tin chứa trong cửa sổnày trước khi nhận được tin báo nhận
Dãn kích thước cửa sổ: Để tận dụng khả năng truyền dẫn của mạng thì cửa sổdùng trong TCP cần được tăng lên Trường điều khiển kích thước cửa sổ của gói tinTCP có độ dài 2 byte do đó kích thước tối đa của cửa sổ là 65535 byte Do trườngđiều khiển không thể thay đổi nên người ta sử dụng một hệ số dãn nào đó Hệ số nàyđược định nghĩa trong RFC1323 có thể tăng kích thước tối đa của cửa sổ lên tới1GB Việc tăng kích thước cửa sổ chỉ được dùng trong giao thức bắt tay 3 pha Giátrị của trường co dãn cửa sổ thể hiện số bít cần được dịch trái đối với trường kíchthước cửa sổ Hệ số dãn có thể thay đổi từ 0 (không dãn) đến 14 (dãn tối đa)
Kết thúc kết nối:
Để kết thúc kết nối hai bên sử dụng quá trình bắt tay 4 bước và chiều của kếtnối kết thúc độc lập với nhau Khi một bên muốn kết thúc, nó gửi đi một gói tin FIN và bên kia gửi lại tin báo nhận ACK Vì vậy, một quá trình kết thúc tiêu biểu sẽ
có 2 cặp gói tin trao đổi Một kết nối có thể tồn tại ở dạng nửa mở: một bên đã kếtthúc gửi dữ liệu nên chỉ nhận thông tin, bên kia tiếp tục gửi
2.4 GIỚI THIỆU SƠ LƯỢC VỀ LABVIEW:
LabVIEW (viết tắt của nhóm từ Laboratory Virtual Instrumentation
Engineering Workbench) là một phần mềm máy tính được phát triển bởi công tyNational Instruments, Hoa kỳ LabVIEW còn được biết đến như là một ngôn ngữlập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống
Trang 25như ngôn ngữ C, Pascal Bằng cách diễn đạt cú pháp thông qua các hình ảnh trựcquan trong môi trường soạn thảo, LabVIEW đã được gọi với tên khác là lập trình G(viết tắt của Graphical, nghĩa là đồ họa).
LabVIEW được dùng nhiều trong các phòng thí nghiệm, lĩnh vực khoa học
kỹ thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện
tử y sinh, Hiện tại ngoài phiên bản LabVIEW cho các hệ điều hành Windows,Linux, Hãng NI đã phát triển các mô-đun LabVIEW cho máy hỗ trợ cá nhân (PDA)
* Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơn nhiều
so với các ngôn ngữ khác như Visual Basic, Matlab,
* Cho phép thực hiện các thuật toán điều khiển như PID, Logic mờ (Fuzzy Logic),một cách nhanh chóng thông qua các chức năng tích hợp sẵn trong LabVIEW
* Cho phép kết hợp với nhiều ngôn ngữ lập trình truyền thống như C, C++,
Trang 26Một VI bao gồm một giao diện với người sử dụng, một đồ hình truyền dữliệu mà phục vụ như là mã nguồn và biểu tượng kết nối ( icon conection) để chophép có thể gọi được từ các VI cấp cao Chi tiết hơn các VI có cấu trúc như sau:
- Giao diện với người dùng của một VI được gọi là Front Panel bởi vì nó
mô phỏng panel của một thiết bị vật lý Front Panel có thể bao gồm các nút
bấm, nút xoay, đồ thị và các bộ điều khiển (control) và chỉ thị (Indicator)
- VI nhận các lệnh từ Block Diagram mà bạn tạo nên từ ngôn ngữ G Block
Diagram là sự giải quyết bằng hình ảnh cho một vấn đề lập trình Block
Diagram cũng là mã nguồn cho VI của ban
- VI có tính phân cấp và modul Bạn có thể dùng chúng như là những VI
cấp cao hay như những chương trình con cùng với những chương trình
khác Một VI được gắn với một VI khác được gọi là subVI Icon và
conector của một VI làm việc như một danh sách các tham số đồ hoạ để
các VI khác có thể gửi dữ liệu đến subVI
Trang 27Hình 8: Front Panel
Hình 9: Block Diagram
3 CÁC BƯỚC SOẠN THẢO MỘT VI TRONG LABVIEW :
- Tạo giao diện sử dụng: