MẠNG CAN VÀ ỨNG DỤNG
BỘ CÔNG THƯƠN TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH KHOA ĐIỆN -------- TIỂU LUẬN MÔN MẠNG TRUYỀN THÔNG CÔNG NGHIỆP TÊN ĐỀ TÀI : MẠNG CAN VÀ ỨNG DỤNG GVHD:NGUYỄN ĐỨC TOÀN LỚP:DHDI6A SVTH: MSSV: NGUYỄN THẾ THỊNH 10283581 NGUYỄN ĐÌNH LONG 10057951 TRẦN NGỌC SƠN 10218501 NGUYỂN TẤN THÀNH 10044361 PHAN TRẦN NGỌC PHÁT 10076551 TP.HCM, tháng 06/2013 1-Tổng quan về đặc tính của CAN Hình 1.1 – Trước đây CAN chủ yếu được sử dụng cho xe ô tô CAN (Control Area Network) xuất phát là một phát triển chung của hai hãng Bosch và Intel phục vụ việc nối mạng trong các phương tiện giao thông cơ giới để thay thế cách nối điểm điểm cổ điển, sau được chuẩn hóa quốc tế trong ISO 11898. Ngày nay, những nhà sản xuất linh kiện bán dẫn như Motorola, Philips, Intel, Atmel, Microchip, Infineon đã tích hợp CAN vào trong các chíp bán dẫn của họ, và thực tế đã chứng minh điều đó. Atmel có cả một dòng vi điều khiển riêng dành cho các ứng dụng về automation trong đó các linh kiện bán dẫn đều tích hợp CAN vào trong đó, giá thành sản xuất được giảm xuống tới mức tối thiểu thay vì phải dùng các chip CAN đặc thù. Trước đây các nhà sản xuất chíp thường hay tích hợp các chuẩn UART vào các thiết kế của họ nhằm hỗ trợ các giao tiếp RS232/RS485 thì ngày nay các nhà sản xuất này đã tích hợp cả chuẩn CAN vào trong các thiết kế vi xử lý CAN là một hệ thống mạng hai dây, nữa kép và tốc độ vượt trội hơn hẳn so với các công nghệ nối tiếp thông thường như R232 liên quan tới chức năng và độ tin cậy và việc thực hiện CAN mang lại nhiều hiệu quả hơn. Ví dụ, trong khi TPC/IP được thiết kế để truyền tải số lượng lớn dữ liệu còn CAN được thiết kế theo yêu cầu thời gian thực và tốc độ truyền dữ liệu 1Mbit/sec khi CAN có thời gian phản ứng ngắn, dò sai số đúng giờ, khôi phục và sữa chữa sai số nhanh một vài đặc tính cơ bản của CAN: -Kết hợp tuyệt vời của chuẩn truyền thông cổ điển RS232 và hiện đại theo mô hình TCP/IP - Cung cấp một hệ thông bus truyền nối tiếp dễ sử dụng - Hoạt động với tốc độ lên tới 1Mbs. - Bộ phát hiện lỗi tuyệt vời và chức năng sữa lỗi ưu việt. - Tính năng ưu việt đáp ứng được những ứng dụng khác nhau tùy thuộc vào hoàn cảnh sử dụng - Là một chuẩn quốc tế được công nhận ISO 11898 1. Ứng dụng của CAN Sử dụng cho công nghệ bus trường trong xe ô tô để có thể đưa thêm các chức năng mới vào, chủ yếu là ở trong hệ thống thông tin giữa các bộ điều khiển từ trong xe hơi. CAN có thể dùng được làm hệ thống thông tin nhúng cho vi điều khiển cũng như hệ thống thông tin mở cho các thiết bị thông minh. Các công ty mạng máy tính nổi tiếng khắp thế giới, Cisco Systems, sử dụng CAN cho hệ thống mạng con để triển khai và cải tiến những tính năng cho router mà không cần phải dừng hệ thống. Sau đó một vài công ty trong lĩnh vực y tế đã chọn CAN để thiết kế cho các thiết bị y tế đòi hỏi tính an toàn cao. Không những vậy CAN còn vương tới các nghành công nghiệp như roobot, vận tải và vận chuyển. Sau đây là một vài ví dụ về các thiết bị có hỗ trợ chuẩn giao tiếp theo tiêu chuẩn CAN: Card CAN – PCI của hãng ESD Electronic có hỗ trợ giao tiếp CAN, card này có chuẩn giao tiếp PCI được gắn vào các máy tính công nghiệp, ngoài một cổng CAN DB9 ra card này còn được thiết kế thêm một cổng truyền thông nối tiếp COM Card CAN của hãng National Instrument cũng có giao diện CAN tương tự, có giao tiếp PCI gắn vào máy tính công nghiệp. Công cụ scan bus can Đây là một thiết bị giao tiếp CAN với máy tính thông qua cổng truyền thông nối tiếp COM cổ điển, thiết bị này được bán giá rẻ hơn các loai Card giao tiếp nói trên nhưng bù lại nó thường có phần mền đi kèm theo thiết bị Thiết bị này có giao tiếp USB với máy tính thân thiện với người sử dụng hơn vì hầu hết các máy tính mới ngay không còn hổ trợ chuẩn truyền thông nối tiếp COM (giao tiếp truyền thông nối tiếp chuẩn seria port – RS232). Lợi ích chính của một hệ thống bus trường giống như CAN là giảm tối thiểu đa số lượng dây mà không hề ảnh hưởng đến hiệu suất của toàn bộ hệ thống, không những thế hiệu suất còn được tăng lên rất nhiều lần trong mô hình mạng đa điểm, vì thế CAN là sự lựa chọn tuyệt vời cho hệ thống thông tin nối tiếp yêu cầu về hiệu suất thông tin cũng như hiệu suất về giá thành một cách tuyệt đối. Những ứng dụng chính dùng CAN trong các lĩnh vực: -Xe khách,xe tải và xe buýt,xe không chạy trên đường -Hệ thống điện tử hàng hải, tàu khách và tàu hàng. -Điện tử máy bay và hàng không. -Điều khiển máy công nghiệp,tự động hóa nhà máy. -Tự động hóa tòa nhà. -Thang máy (thang nâng và thang trượt). -Thiết bị phụ tùng y tế.Và bất kỳ một lĩnh vực nào khác Mạng CANopen mẫu 2. Giao thức của CAN a. Đặc tính chung của CAN - Cho phép nhiều master có thể truy cập chung bus - Sự phân xử các message không có cấu trúc - Bằng cách chấp nhận nhiều cấu trúc lọc, nhiều message có thể truyền đi được - Remote data request - Cấu hình mềm dẻo - Khả năng truyền dẫn trong môi trường công nghệp cao - Có khả năng phát hiện lỗi - Khả năng tự động gủi lại message nếu bị lỗi b. Giao thức của CAN Đối chiếu với mô hình ISO/OSI 7 lớp, CAN tiêu chuẩn bỏ qua mô hình từ lớp thứ 3 tới lớp thứ 6, mà chỉ sử dụng ba lớp của mô hình ISO/OSI 7 lớp Lớp vật lý ( Physical Layer) đề cập tới vấn đề truyền tín hiệu Lớp liên kết dữ liệu ( Data link layer) là phần cốt lõi trong kiến trúc giao thức CAN nó có trách nhệm tạo khung thông báo điều khiể truy cập môi trường xác nhận thông báo và kiểm soát lỗi. Lớp mạng( Network layer ) gồm các địa chỉ đích và các đường định tuyến. Sử dụng những fragmentation để truyền được những messages hơn một frame truyền. Phát hiện và trả lời giới hạn băng thông qua mạng Lớp truyền ( Transport layer) cung cấp khả năng truyền nhận đáng tin cậy giữa source và destination host. Kiểm tra 2 lần không bị mất data khi qua switch, gateway, và bridge giữa các thiết bị end to end Lớp phiên ( Session layer) cho phép những host trên cùng một mạng bắt đầu và kết thúc mỗi sessions truyền thông. Quản lý token, chỉ có modum nào nắm token mới có thể tạo hàm như viết địa chỉ để chia sẻ thông tin. Lớp trình bày( Presentation layer) Hiển thị và mã hóa dữ liệu theo tiêu chuẩn CAN Lớp ứng dụng ( Application layer) là lớp giao tiếp với hệ thống điều khiển giao tiếp với người dùng hoặc giao tiếp với các thiết bị CAN khác Trong phiên bản CAN2.0B miêu tả CAN chỉ đinh nghĩa lớp MAC- điều khiển truy nhập môi trường và một phân lớp LLC- điều khiển logic. C. Nhiều Master cùng truy cập cùng một lúc Can sử dụng phương pháp truy xuất môi trường CSMA/CR tức điều khiển phân tán theo tùng bít , phương pháp phân mức ưu tiên truy nhập bus dựa theo tính cấp thiết của mội dung messages. Mức ưu tiên này phải được cố định ,trước khi hệ thống đưa vào vận hành D.Message boardcasting Một node khi gửi đi một thông điệp sẽ là máy phát con tất cả các node còn lại sẽ là máy thu, tất cả các node máy thu đó sẽ cùng nhận một message trong cùng một thời gian. Giao thức truyền nhận của CAN hỗ trợ bộ lọc dữ liệu, chỉ node nào nhận được dữ liệu được truyền đi mới có xử lý tín hiệu đó, các node còn lại không phải là node nhận dữ liệu thì sẽ bỏ qua không xử lý dữ liệu đó mạc dù các node đó vẫn đang nhận dữ liệu 2.7-khung lỗi-error frame Một khun lỗi được gửi từ bất kỳ trạm phát nào phát hiện lỗi trên bus.khung lỗi bao gồm cờ lỗi (error frame ) và các phân tử lỗi ( error Delimiter ).CAN phân biệt 2 loại lỗi là lỗi chủ động ( active )và lỗi bị động (passive error ). Tương ứng chúng là hai loại cờ lỗi : - Dạng cờ lỗi chủ động bao gồm 6 bít trội liền nhau - Dạng cờ lỗi bị động bao gồm 6 bít lặn liền nhau,trừ trường hợp nó bị ghi đè lên bởi các bit trội từ các trạm khác. Một trạm chủ động khi phát hiện sẽ báo hiệu bằng cách gửi 1 cờ lỗi chủ động . Cờ lỗi chủ động vi phạm luật nhồi bit hoặc phá bỏ dạng cố định của ô ACK hay ô kết thúc khung.tổng chiều dài của dãy này xe dịch trong khoảng từ 6-12 bit . Phân tích lỗi được đánh dấu bằng 8 bit lặn lien tục.sau khi giư xong 1 cờ lỗi,mỗi trạm phải gửi tiếp 1 số bit lặn và đồng thời quan sát bus . Cho đến khi phát hiện ra 1 bit lặn,chúng sẽ phát hiện ra 7 bit lặn 3.cấu trúc 1 thông điệp can Trong ngôn ngữ tiêu chuẩn của CAN thì tất cả cá thông điệp truyền đi dười dạng một khung truyền.trên CAN sẽ bao gồm khung truyền dữ liệu: A- khung truyền dữ liệu (Data Frame ): Dữ liệu được gửi đi từ 1 node này sang node khác hoặc nhiều node khác nhau.khung dữ liệu sẽ truyền phát thông điệp lên CAN bus,thông điệp ở đây chính là dữ liệu. khung dữ liệu được chỉ định duy nhất 1 meassage ID và có thể nhận cũng lúc bởi 1 hoặc nhiều node trong hệ thống mạng,nhưng chỉ có node thỏa yêu cầu mới xử lý được dữ liệu đó , những node còn lại sẽ bỏ qua frame dữ liệu mà mình khôn cần. một khung truyền dữ lieu được phát hiện ra bởi mức trội tại bit RTR.khi một node nào trong hệ thống mạng CAN phát hiện ra bit RTR nó sẽ biết đó thong điệp chuẩn bị nhận là khung truyền dữ liệu. B- khung điều khiển ( remote Frame ): Là khung truyền yêu cầu gửi dữ liệu nào đó thì phải gửi khung điều khiển lên bus CAN, node có ID thích hợp sẽ gửi khung dữ liệu tới node yêu cầu, và ngược lại . khi một node muốn gửi dữ liệu sang 1 node khác thì phải gửi khung điều khiển đi trước rồi khung dữ liệu sẽ gửi sau. Một khung truyền điều khiển yêu cầu sự truyền đi tứ 1 meassage từ 1 node khác, khung điều khiển có thể yêu cầu 1 node khác gửi dữ liệu cho mình hoặc chuẩn bị gửi đi một khung dữ liệu đến 1 hoặc nhiều node nào đó. Cấu trúc một khung điều khiển C – khung lỗi (error Frame ) Khung lỗi được tạo bởi khi kết thúc khung truyền dữ liệu hoặc khung truyền điều khiển không còn chính xác . Mục đích đồng bộ thời gian truyền nhận giữa các node trong mạng CAN . CAN tiêu chuẩn cho phép 5 bit liên tục của các thong điệp giống nhau giữa SOF bit và dài CRC . Mỗi một thong điệp nào có nhiều hơn 5 sự phân cực như nhau ( cả bít trội và bit lặn ) thì nó sẽ xảy ra lỗi. Cấu trúc của 1 khung lỗi Khung lỗi bao gồm 6 bit cờ lỗi và 8 bit tách lỗi,chiều dài của khung lỗi vào khoảng 14-20 bit. D – khung quá tải ( overload Frame ) Khung quá tải là một phiên bản đặc biệt của khung lỗi , nhưng khác khung lỗi ở chỗ nó không yêu cầu gửi lại khung truyền trước đó . Điêm giống ở đây chính là khung quá tải cũng có cấu trúc giống như khung lỗi Một node nào đó có thể yêu cầu 1 khoảng thời gian chờ giữa khung truyền dự liệu hoặc khung điều khiển, khung lỗi chính là chức năng này . khung lỗi được đẩy lên bus CAN bởi một node nào đó và báo cho biết nó đang ở tình trạng quá tải và không thể chuyền nhận ngay được và kết quả là sự truyền dữ liệu giữa các node sẽ điều chỉnh chậm lại để node quá tải trở lại trạng thái bình thường. . HỒ CHÍ MINH KHOA ĐIỆN -------- TIỂU LUẬN MÔN MẠNG TRUYỀN THÔNG CÔNG NGHIỆP TÊN ĐỀ TÀI : MẠNG CAN VÀ ỨNG DỤNG GVHD:NGUYỄN ĐỨC TOÀN LỚP:DHDI6A SVTH: MSSV:. đã tích hợp CAN vào trong các chíp bán dẫn của họ, và thực tế đã chứng minh điều đó. Atmel có cả một dòng vi điều khiển riêng dành cho các ứng dụng về automation