Tóm tắt lịch sử CAN1983: Bắt đầu dự án phát triển mạng trên xe hơi trong nội bộ hãng Bosch 1986: Chính thức giới thiệu giao thức CAN 1987: Những chíp điều khiển CAN đầu tiên xuất hiện ở
Trang 1GIỚI THIỆU VỀ HỆ THỐNG CAN TRÊN Ô TÔ
Bài Báo Cáo
Trang 2A Giới Thiệu Tổng quan CAN
I Giới thiệu
CA
N
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
ISO 11898
Trang 3A Giới Thiệu Tổng quan CAN
Trang 5II Tóm tắt lịch sử CAN
1983: Bắt đầu dự án phát triển mạng trên xe hơi trong nội bộ hãng Bosch
1986: Chính thức giới thiệu giao thức CAN
1987: Những chíp điều khiển CAN đầu tiên xuất hiện ở nhà sản xuất linh kiện bán dẫn Intel và Philips
1991: Bosch xuất bản thông số kỹ thuật CAN 2.0
1992: Thành lập nhóm các nhà sử dụng và sản xuất CAN quốc tế: Hội CAN tự động hóa (CiA)
1992: Hội CiA xuất bản giao thức Lớp ứng dụng CAN (CAN Application Layer, CAL)
1992: Những chiếc xe Mercedes-Benz đầu tiên được trang bị CAN xuất hiện
1993: Xuất bản tiêu chuẩn ISO 11898
Trang 61994: CIA tổ chức Hội nghị CAN quốc tế lần thứ nhất (ICC)
1994: Allen-Bradley giới thiệu giao thức DeviceNet
1995: Xuất bản Tiêu chuẩn ISO 11898 sửa đổi (định dạng khung
mở rộng)
1995: CIA xuất bản giao thức CANopen
Tại thời điểm hiện nay, ngành công nghiệp ô tô vẫn còn đang
chiếm ưu thế việc bán bộ điều khiển CAN và bộ điều khiển chíp đơn tích hợp với bộ điều khiển CAN với tỷ suất 80%, so với 20%
cho các ứng dụng khác Tỷ lệ 20% tiêu biểu cho các ứng dụng khác nhau trong các thị trường ngoài xe ô tô
II Tóm tắt lịch sử CAN
Trang 7Biểu đồ số CAN (triệu) sử dụng theo thời gian
Trang 8III Mạng CAN là gì?
CAN viết tắt của Controller Area Network, tạm dịch là "mạng khu vực điều khiển", hay gọi đơn giản Mạng CAN, là một công nghệ mạng ghép nối tiếp (a serial network technology) khởi nguồn được thiết kế dùng cho công nghiệp xe ô tô, đặc biệt các loại xe Châu Âu, nhưng rồi đã trở thành một bus (kênh) phổ biến trong tự động hóa công nghiệp cũng như các ứng dụng khác Kênh dữ liệu CAN (CAN bus) khởi đầu được dùng cho các hệ thống nhúng, và như tên đã bao hàm ý là một công nghệ mạng
cung cấp truyền thông tin nhanh chóng trong các vi điều khiển theo yêu cầu thời gian thực đang dần thay thế cho công nghệ sử dụng bộ nhớ cổng đôi (Dual-Ported RAM) đắt đỏ và phức tạp hơn nhiều.
CAN-bus về cơ bản là một tiêu chuẩn kỹ thuật cho máy tính như thế nào
và mô-đun nói chuyện với nhau thông qua các xe buýt nối tiếp dữ liệu trong hệ thống dây điện của chiếc xe Đó là một tiêu chuẩn tốc độ cao được thiết kế cho module điều khiển hệ thống truyền lực, hệ thống phanh chống bó cứng và hệ thống kiểm soát ổn định.
Trang 9B Cấu tạo và nguyên lý hoạt động
Trang 10I Lớp vật lý
1.1 Cấu tạo đường truyền
Tùy theo yêu cầu mà có thể sử dụng các loại phương tiện để truyền dữ liệu K line (dây điện thoại thương hoặc cáp quang).
Trang 11Công nghệ cap của mạng CAN có đường dây dẫn đơn giản, sự truyền dữ liệu thực hiện nhờ cặp dây (hay gọi là kênh hoặc bus) truyền tín hiệu vi sai Đường dây bus kết thúc bằng điện trở 120 ohm (thấp nhất là 108 ohm và cao nhất 132 ohm) ở mỗi đầu
Các kênh này có nhiệm vụ kết nối các node trong mạng CAN lại với nhau đồng thời kết nối với các bộ phẩn kiểm tra, xử lý để tạo thành một hệ thống hoàn chỉnh
Trang 121.2 Kênh truyền dữ liệu
Bao gồm một số giắc đấu dây (J/C) tạo thành tạo thành 2 đầu bus chính có mạch đầu, cuối và đường nhánh nối các ECU và các cảm biến (trong xe oto)
Việc truyền và phát tín hiệu có thể thực hiện từ một ECU hoặc nhiều ECU đến một ECU khác, nếu vài ECU cùng truyền dữ liệu một lúc, việc truyền dữ liệu bị dừng lại và được bắt đầu truyền lại với dữ liệu có mức ưu tiên cao
nhất Việc này đảm bảo cho việc tạo nên một hệ thống
thống nhất
Trang 131.3 Truyền dữ liệu
Đường truyền dữ liệu mạng CAN gồm hai dây
xoắn với nhau thành một cặp Việc truyền dữ liệu diễn ra bằng cách cấp điện áp High (+) và Low (-) đến hai đường dây để gửi một tín hiệu (truyền
dẫn bằng điện áp vi sai)
Trang 14Điện áp chênh lệch tạo ra giữa hai dây được phát hiện dưới dạng tín hiệu dữ liệu, nó có đặc điểm là không thể bị ảnh hưởng bởi nhiễu bên ngoài Vì giả sử khi có nhiễu thì phần nhiễu trên dây High và dây Low
sẽ khử lẫn nhau
Trang 151.4 Phân loại các kênh (bus)
Bởi tính chất vật lý
của bus và đặc trưng
của công việc mà ta có
Trang 16Bảng sau tổng kết những tính chất cơ bản khác nhau giữa 2 dạng truyền, đặc biệt là tốc độ.
Trang 201.5 Tín hiệu
Trong bus CAN định nghĩa 2 trạng thái là
“ dominant ” và “ recessive ” tương ứng với 2 trạng thái là “ 0 ” và “ 1 ”.
Trạng thái “ dominant ” chiếm nhiều ưu thế so
với trạng thái “ recessive ”.
Điều này tạo ra khả năng giải quyết tranh chấp khi nhiều hơn một Master cùng muốn chiếm
quyền sử dụng bus.
Trang 222 Lớp liên kết dữ liệu (data layer)
Lớp liên kết dữ liệu là tầng mạng có nhiệm vụ truyền dữ liệu.
Nhiệm vụ của liên kết dữ liệu là gửi
thông tin từ nơi này đến một số nơi
khác.
Lớp liên kết dữ liệu cung cấp dịch vụ chuyển dữ liệu qua các liên kết vật lý
Trang 23Lớp liên kết dữ liệu được chia làm 2 lớp nhỏ là
Logical link control ( LLC )
Medium Accesss Control ( MAC ): Định nghĩa frame truyền và những nguyên tắc arbittration để tránh trường hợp cả hai master được truyền đồng thời.
Trang 242.1 Điều khiển liên kết logic (LLC)
Lớp này có nhiệm vụ multiplex các giao
thức hoạt động ở trên lớp liên kết dữ liệu, và theo tùy chọn có thể cung cấp chức năng
điều khiển lưu lượng, khôi phục lỗi.
Trang 252.2 Lớp điều khiển truy cập môi trường dữ
liệu (MAC)
Lớp con này quyết định tại mỗi thời điểm ai sẽ được
phép truy nhập môi trường truyền dẫn
Có hai dạng điều khiển truy nhập môi trường dữ liệu:
- Điều khiển phân tán
- Điều khiển tập trung.
Lớp con MAC còn quyết định một frame dữ liệu kết
thúc tại đâu và frame tiếp theo bắt đầu từ đâu.
Trang 262.3 Can FRAME (cấu trúc bức điện)
Có 4 loại frame trong CAN:
Data frame : Dùng khi nút mạng (node) muốn truyền
dữ liệu tới các nút khác.
Remote frame : Dùng để yêu cầu truyền data frame.
Error frame và overload frame : Dùng để xử lý lỗi.
Trang 272.4 Cơ chế giao tiếp
Đặc trưng của Can là phương pháp định địa chỉ và giao tiếp hướng đối tượng
Mỗi thông tin (messages) được trao đổi trong mạng được coi như một đối tượng và được gắn một mã
căn cước (identifier)
Do liên kết ngang hàng trong mạng (multicast,
multi master) nên các trạm có thể quyết định xử lý hay không xử lý messages thông qua bộ lọc
Trang 282.5 Giải quyết tranh chấp trên bus
Giao thức CAN cho phép các node khác nhau trong mạng đưa dữ liệu cùng một lúc và quá trình nhanh chóng, ổn định của cơ chế
arbitration sẽ xác định xem node nào được
phát – xử lý đầu tiên.
Để xử lý real time, dữ liệu phải được truyền
nhanh Điều này ảnh hưởng không chỉ ở đường truyền vật lý lên tới 1Mbs mà đòi hỏi sự ưu
tiên bus trong trường hợp xảy ra xung đột, khi
mà rất nhiều node được truyền đồng thời.
Trang 29Vd: Các giá trị hay biến đổi nhanh, như trạng thái của một cảm biến, hay phản hồi của một động cơ, phải được truyền liên tục với độ trễ thấp nhất, hơn là các
giá trị khác như nhiệt độ của động cơ, các giá trị thay đổi ít
Trong mạng CAN, phần ID trong messages là một tín hiệu gồm
11 bit xác định mức ưu tiên, phần ưu tiên này nằm ở đầu mỗi messages
Quy trình arbitration của bus dựa trên phân giải từng bit.
Trang 30Cách dữ liệu được gửi và nhận
Trang 31Nguyên lý hoạt động
Sơ đồ khối bộ nhận tín hiệu
Trang 32Sơ đồ khối bộ truyền tín hiệu.
Trang 33Đây là cách dữ liệu được xử lý trên một hệ thống CAN-tuân thủ Mỗi mô-đun (node) được gắn vào mạng lưới xe buýt dữ liệu có khả năng gửi và nhận tín hiệu Mỗi mô-đun (node) có địa chỉ duy nhất của
mình trên mạng Điều này cho phép các mô-đun để nhận các đầu vào
và dữ liệu cần thiết để hoạt động, trong khi bỏ qua thông tin dành cho các module khác mà chia sẻ mạng Khi một mô-đun truyền thông tin qua mạng, các thông tin được mã hóa vì vậy tất cả các mô-đun khác nhận ra nó đến từ đâu
Dữ liệu được gửi như một loạt các bit kỹ thuật số bao gồm "0" và "1 của" Nếu bạn nhìn vào các dữ liệu trên một phạm vi, bạn sẽ thấy một
mô hình sóng vuông thay đổi giữa một đọc điện áp cao và thấp Đọc điện áp thấp thường tương ứng với "0" trong khi đọc điện áp cao
tương ứng với "1" Các bài đọc điện áp thực tế sẽ khác nhau tùy thuộc vào ứng dụng và các giao thức nhà sản xuất xe đang sử dụng, nhưng hầu hết các hoạt động trong phạm vi 5-7 volt
Trang 34Điều này có nghĩa là cho mỗi tin nhắn riêng biệt gửi hoặc nhận bởi một mô-đun trên mạng, có một chút đầu (được gọi là "bắt đầu của
khung" hoặc "bắt đầu thông báo" bit), tiếp theo là một "định danh" mã (một 11 bit mã cho loại dữ liệu tin nhắn có chứa), tiếp theo là một mã
số ưu tiên ("yêu cầu truyền tải từ xa") nói rằng tầm quan trọng của dữ liệu, tiếp theo là 0-8 byte (một byte bằng 8 bit) của dữ liệu thực tế , tiếp theo là một số bit hơn xác nhận thông tin (cyclic redundancy
check), tiếp theo là một số kết thúc của các bit thông báo và "cuối
cùng của khung" bit
Trang 35Thông thường các module điều khiển cơ thể hoặc mô-đun cụ cụm được giao nhiệm
vụ quản lý lưu lượng mạng Khi nó thấy một tin nhắn tới trên xe buýt, nó nhìn vào bit đầu tiên trong dòng dữ liệu Nếu bit là một "0", tin nhắn được ưu tiên hơn những
người khác Này được gọi là "thống trị" tin nhắn Nếu bit đầu tiên là một "1" được cho một ưu tiên thấp hơn (một "lặn" tin nhắn).
Trang 36KHẢ NĂNG TỰ CHUẨN ĐOÁN VÀ XỬ LÝ LỖI CỦA CAN
Khả năng tự chuẩn đoán:
Hệ thống mạng Can được trang bị một số chức năng để tìm lỗi Chúng bao gồm tín hiệu kiểm tra ở khung dữ liệu và trong bộ
phận theo dõi, trong mỗi bộ truyền sẽ nhận lại tín hiệu mà nó
truyền đi, do đó có thể phát hiện ra bất cứ sai lệch nào
Nếu cứ một trạm phát hiện ra lỗi, thì nó sẽ gửi một cờ báo lỗi và ngăn việc truyền thông tin Điều này ngăn cản các trạm khác
nhận thông tin bị lỗi này
Trong trường hợp một trạm phát hiện ra lỗi có thể xảy ra trường hợp là tất cả thôgn tin , bao gồm cả thôgn tin bị lỗi sẽ bị loại bỏ khi có một Để ngăn điều này xảy ra, thì hệ thống CAN có thêm chức năng có thể phân biệt giữa lỗi gián đoạnvà lỗi thường trực,
và nhờ đó có thể xác định vị trí của trạm bị lỗi, quá trình này dựa vào thống kê tình trang lỗi
Trang 37Xử lý lỗi:
Khi truyền một fame trên bus, lỗi truyền có thể ảnh hưởng đến hoạt động của các nút trên bus Lỗi có thể đến từ một nút , làm cho mạng không còn hoạt động chính khác Vì vậy, nhiều cách phát hiện lỗi được sử dụng trong CAN
Các loaị lỗi:
Bit Error: mỗi khi nút truyền gửi một bit xuống bus, nó kiểm tra xem mức điện áp trên bus có đúng với bit cần gửi hay không Nếu không đúng, nó sẽ gửi tín hiệu bằng một Bit Error.
Trang 38Lỗi stufing ( Stufing Error ): Mỗi lỗi Stuffing được phát hiện trong mỗi một lần có 6 bit hay nhiều hơn liên tục trên một đường dây cảu Bus Tuy nhiên , lỗi Stuffing sẽ không báo trong vùng ID, vùng điều khiển và vùng CRC
Cơ chế Bit Stuffing không áp dụng sau CRC Trong mọi trường hợp , lỗi Bit
Stuffing sẽ không báo trong đoạn kết thúc của frame hay trong vùng ACK
Lỗi Cyclic Ređunancy( CRC Error ):
Nếu một giá trị CRC tính toán bởi nút nhận không giống với giá trị gửi đibởi nút phát Sẽ có một lỗi CRC (CRC Error)
Lỗi ACK Delimiter:
Một lỗi ACK Delimiter được báo khi nút nhận không thấy một bit recessive trong vùng ACK Delimiter hay trong vùng CRC Delimiter.
Lỗi Slot ACK ( ACK Error ):
Một lỗi Slot ACK được báo bởi nút phát khi nó không đọc thấy bit dominant trong vùng Slot ACK.
Hình tổng hợp những loại khác nhau trong từng phần cảu một message frame
Các loại lỗi