Giải pháp ban đầu của mạng CAN không phù hợp với đa số các ứng dụng điều khiển tự động.. Một sự cải tiến của mạng CAN là mỗi đơn vị điều khiển ECUs chỉ cần một giao diện CAN, tương tự ho
Trang 1VIỆN ĐÀO TẠO SAU ĐẠI HỌC
BÁO CÁO TIỂU LUẬN
MÔN: HỆ THỐNG THÔNG TIN CÔNG NGHIỆP
ĐỀ TÀI: ĐẶC ĐIỂM VÀ NGUYÊN LÍ HOẠT ĐỘNG
CỦA MẠNG CAN
(Operating Principles and Features of CAN Networks)
GVHD : PGS.TS Nguyễn Văn Khang
Hà Nội, tháng 06 năm 2012
Trang 2MÔN: HỆ THỐNG THÔNG TIN CÔNG NGHIỆP
ĐỀ TÀI: ĐẶC ĐIỂM VÀ NGUYÊN LÍ HOẠT ĐỘNG
CỦA MẠNG CAN
(Operating Principles and Features of CAN Networks)
GVHD : PGS.TS Nguyễn Văn Khang
Trang 3MỤC LỤC
1 Giới thiệu về mạng CAN 2
2 Triển khai mạng CAN 5
3 Giao thức cơ bản của mạng CAN 6
4 Một số mạng ứng dụng CAN 11
4.1 CANopen11
5 Tài liệu tham khảo 15
Trang 41. Giới thiệu về mạng CAN
1.1 Lịch sử phát triển của mạng CAN
Mạng CAN (Controller Area Network) được nghiên cứu bởi nhóm kĩ sư công ty Bosch GmbH và được ứng dụng lần đầu vào những năm 1980 trên xe ô
tô khách Giải pháp ban đầu của mạng CAN không phù hợp với đa số các ứng dụng điều khiển tự động Bus hệ thống cần phải cung cấp một số tính năng mới
mà kiến trúc fieldbus hiện thời không có Nhóm nghiên cứu còn có sự tham gia của một vài học viện và công ty bán dẫn Intel.[1]
Kiến trúc fieldbus mới được đề xuất vào năm 1986 tại hội nghị SAE tại Detroit với tên gọi “Automotive Serial Controller Area Network” Hệ thống cho phép nhiều thiết bị cùng kết nối tới bus dùng chung và sử dụng phương thức đa truy nhập cảm nhận sóng mang CSMA (Carrier-Sense-Multiple-Access) Tuy nhiên nhóm thực hiện đã thử nghiệm phương thức phân chia quyền truy nhập bằng cơ khí, giải quyết xung đột trên bus bằng việc phân quyền ưu tiên cho các gói tin Hơn nữa, đặc tính fieldbus cũng bao gồm các phương pháp phát hiện lỗi
và phương pháp quản lí cơ khí nhằm tăng khả năng kháng lỗi của toàn hệ thống Sau đó, hai hãng Intel và Philips tiếp tục nghiên cứu sản xuất IC điều khiển CAN theo hai hướng khác nhau Giải pháp của Intel (FullCAN) yêu cầu công suất CPU chủ (host CPU) thấp Giải pháp của Philipps (BasicCAN) có thiết kế đơn giản nhưng lại yêu cầu tải lớn hơn trên bộ xử lí thường giao diện với bộ điều khiển CAN Từ giữa những năm 1990, có trên 15 nhà sản xuất gồm Simens, Motorola, NEC, đã cung cấp ra thị trường hàng triệu mẫu IC CAN phục vụ cho ngành công nghiệp ô tô như Mercedes-Benz, Volvo, Saab, Volkswagen, BMW, Renault, và Fiat
Đặc tính Bosch (CAN v2.0) được đệ trình như chuẩn quốc tế vào đầu những năm 1990 Đề xuất đó được chấp thuận và ban hành thành chuẩn ISO11989 vào cuối năm 1993 bao gồm mô tả về giao thức truy nhập mạng và kiến trúc lớp vật
lý Năm 1995, ban hành phụ lục cho ISO11989 mô tả định dạng gói tin mở rộng dùng trong CAN Hiện nay đặc tính kĩ thuật của CAN vẫn đang được chỉnh sửa
và chia thành bốn phần: [ISO1, ISO2, ISO3, TTC]
Các tài liệu chuẩn thường chỉ cung cấp các đặc tính kĩ thuật của lớp truyền thông thấp và ít mô tả về các lớp cao trong mô hình OSI Đây là lí do ban đầu CAN ít được dùng trong môi trường tự động hóa
Mặc dù được thiết kế dùng ứng dụng trong ô tô, CAN cũng được dùng trong nhiều ứng dụng khác Ngay đầu những năm 1990, Allen-Bradley và Honeywell
Trang 5cũng hợp tác nghiên cứu dự án điều khiển dựa trên mạng CAN Mặc dù dự án bị tạm dừng một vài năm nhưng Allen-Bradley và Honeywell vẫn độc lập nghiên cứu về giao thức cho các lớp cao Kết quả là sự ra đời các giải pháp DeviceNet của Allen-Bradley và hệ thống phân phối thông minh (Smart Distributed System - SDS) của Honeywell Do một vài lí do, SDS không phát triển thêm, chỉ có sự cải tiến thành Honeywell Microswitch, trong khi DeviceNet được phổ biến và đã có hiệp hội các nhà cung cấp DeviceNet “Open DeviceNet Vendor Association” DeviceNet được ứng dụng rộng rãi trong các công ty tự động tại
Mỹ và trở thành đối thủ của nhiều giải pháp khác như Profibus-DP, Interbus
1.2 Các ưu điểm và những hạn chế của mạng CAN
1.2.1 Ưu điểm
Có thể triển khai mạng CAN với giá thành thấp, mạng ổn định cho phép kết nối nhiều thiết bị với nhau Một sự cải tiến của mạng CAN là mỗi đơn vị điều khiển (ECUs) chỉ cần một giao diện CAN, tương tự hoặc số, tới bus hệ thống để kết nối tới mọi thiết bị trong hệ thống Điều này làm giảm giá thành và trọng lượng của hệ thống.[2]
Hình 1 Mạng CAN giúp giảm đáng kể số dây nối
Hình trên cho thấy khi sử dụng mạng CAN sẽ giúp mạng kết nối đơn giản hơn tạo thuận tiện trong quá trình thiết kế và bảo trì mạng
Mỗi thiết bị trong mạng có một IC điều khiển CAN và do đó hệ thống rất thông minh Tất cả các thiết bị trong mạng đều thu được gói tin Mỗi thiết bị có thể lọc lấy gói tin gửi đến mình Kiến trúc này cho phép thay đổi mạng CAN
Trang 6với tác động tối thiểu Các nút không phát có thể thêm vào mà không cần thay đổi kiến trúc mạng
Mỗi gói tin đều có mức ưu tiên nhất định, do đó nếu hai node phát gói tin cùng lúc, gói tin có mức ưu tiên cao hơn sẽ giành được quyền phát gói tin, gói tin còn lại sẽ bị trì hoãn Sự phân mức ưu tiên giúp việc truyền gói tin có mức
ưu tiên cao nhất không bị gián đoạn Điều này giúp mạng đạt được ràng buộc thời gian xác định
Mạng CAN đơn giản và ưu việt hơn nhiều so với phương pháp truy nhập dùng thẻ (token) như mạng Profibus khi cấu hình đa truy nhập Do đó không cần phải tạo vòng kết nối cục bộ, hay phải chuyển gói tín vòng qua trạm gốc Mạng CAN linh hoạt hơn nhiều so với phương thức đa truy nhập phân chia thời
gian (TDMA) hay dạng gói tin phức hợp (combined-message), vì mạng không
nhất thiết phải biết về gói tin chuyển đi. [1]
So với phương pháp quay vòng tập trung (centralized-polling) như FIP,
trong mạng CAN không cần có node mạng làm nhiệm vụ phân quyền truy nhập bus, đó có thể là điểm gây lỗi cho toàn hệ thống Với mạng CAN tất cả các nút đều là nút chủ, rất đơn giản trong việc thông báo các sự kiện không đồng bộ ví
dụ như báo hiệu hay báo lỗi các điều kiện ngưỡng Trong hầu hết các trường hợp, mạng CAN có nhiều ưu điểm hơn các mạng kể trên
Một điều hiển nhiên là các gói tin có mức ưu tiên thấp nhất sẽ bị trì hoãn nếu
có nhiều gói tin có mức ưu tiên cao hơn cùng được phát, nhưng đây cũng là vấn
đề của các kiến trúc mạng khác Tuy nhiên, khung tin trong mạng CAN rất nhỏ (khung chuẩn dài 135 bit) nên thời gian trì hoãn bởi một gói tin khẩn cấp thường rất nhỏ, và ít ảnh hưởng đến thời gian đáp ứng của hệ thống, điều đó là
lí do mạng CAN được sử dụng trong nhiều ứng dụng điều khiển thời gian thực mặc dù dải thông của nó khá thấp
Gói tin có mức ưu tiên cao nhất sẽ được đánh số thứ tự thấp nhất (đầu tiên),
ví dụ bức điện có mức ưu tiên cao nhất sẽ được đánh số 0
Các gói tin trong mạng đều có phần kiểm tra độ dư chu trình CRC, nhằm phát hiện lỗi trong nội dung các khung tin Khung tin bị lỗi sẽ bị loại bỏ tại tất
cả các nút và khung tin bị lỗi sẽ phát tín hiệu lỗi trở lại mạng Các lỗi toàn cục
Trang 7và lỗi cục bộ được phân loại bởi khối điều khiển, nếu có quá nhiều lỗi được phát hiện, các nút bị lỗi sẽ ngừng phát hoặc tự cách li ra khỏi mạng
1.2.2 Những hạn chế của mạng CAN
Tuy đạt được sự đơn giản về kiến trúc, kĩ thuật phân quyền truy nhập của mạng CAN vẫn có một số hạn chế Với sự phân quyền cơ khí, gói tín phải có thể truyền từ một đầu cua bus đến node xa nhất (đến đầu còn lại) và quay trở lại node đầu trong khoảng thời gian lấy mẫu tín hiệu trên bus.[1]
Điểm lấy mẫu thường lệch khỏi điểm giữa của mỗi bít (điểm mở rộng có thể cấu hình bằng các thanh ghi thích hợp), sự trễ truyền lệnh đầu cuối bus bao gồm
cả trễ tại phần cứng thu phát phải nhỏ hơn ¼ thời bít (giá trị mở rộng phụ thuộc vào việc cấu hình thời gian một bít trong bộ điều khiển CAN)
Nếu tốc độ truyền tín hiệu là cố định (khoảng 200m/µs với cáp đồng) thì độ dài cho phép của bus sẽ bị giới hạn và còn phụ thuộc vào chiều truyền bit của mạng Ví dụ mạng CAN có tốc độ dữ liệu 250 kb/s thì bus có độ dài tối đa 200m Tương tự, độ dài tối đa của bus khi tốc độ bít là 1 Mb/s chỉ là 40m Đó là
lí do tại sao tốc độ bít cho phép của mạng CAN bị giới hạn ở 1 Mb/s
Mặc dù có những hạn chế trên nhưng trong một tương lai gần mạng CAN sẽ vẫn thích hợp trong nhiều lĩnh vực ở đó giá thành rẻ và kĩ thuật bắt lỗi tốt còn quan trọng hơn cả hiệu năng, ví dụ ngành tự động hóa, điều khiển quá trình Tuy nhiên cũng cần biết rằng CAN còn có nhiều đối thủ khác như Profibus-DP (12 Mb/s), Sercos (16 Mb/s), Interbus (2 Mb/s), industrial Ethernet (100 Mb/s) với khả năng truyền dữ liệu tốc độ cao dùng với các hệ thống yêu cầu chu trình thời gian ngắn (<1ms)
Đã có nhiều giải pháp nhằm cải thiện hiệu năng của mạng CAN, trong đó có
giao thức time triggered CAN (TTCAN) Giao thức này dùng tín hiệu đồng bộ
chung và tiếp cận thời gian kích khởi, nó có thể giảm rung pha (jitter) và cung cấp đầy đủ các đặc tính xác định Nếu trong mạng không thực hiện truyền thông không đồng bộ thì mạng TTCAN có các đặc tính giống với hệ thống TDMA và
do đó không bị giới hạn về tốc độ bít Tuy nhiên đặc tính của mạng này sẽ có những khác biệt so với mạng CAN truyền thống
2. Triển khai mạng CAN
Dựa vào kiến trúc nội, bộ điều khiển CAN có thể chia làm hai loại: BasicCAN và FullCAN
Trang 8Bộ điều khiển BasicCAN có một bộ đệm phát và một bộ đệm thu như với bộ điều khiển UART thông thường Hàm lọc khung tin thường ở bên trái của chương trình ứng dụng (ví dụ nằm dưới phần điều khiển của bộ điều khiển chủ), ngay cả khi một vài dạng lọc được thực hiện bởi bộ điều khiển Nhằm tránh tràn
bộ đệm, một số bộ đệm thu phụ được sử dụng, cho phép thu khung tin tiếp theo trong khi khung tin trước đang được đọc bởi bộ điều khiển chủ Một ví dụ về bộ điều khiển BasicCAN là PCA82C200 của hãng Philips
Với bộ điều khiển FullCAN số lượng bộ đệm bên trong có thể cấu hình trước là đệm thu hoặc phát với các gói tin đặc thù Hàm lọc được thực thi trực tiếp trong bộ điều khiển CAN Khi thu được khung tin mới, nó sẽ được lưu vào
bộ nhớ đệm tương ứng Thông thường, gói tin mới sẽ ghi đè lên gói tin trước
đó, nhờ vậy sẽ không gây hiện tượng tràn bộ đệm Ví dụ về kiến trúc FullCAN
có các IC điều khiển CAN của Intel như 82526, 82527
Kiến trúc FullCAN thường không giới hạn số thiết bị tích cực cho bộ điều khiển chủ, đó là tính năng cao cấp hơn so với kiến trúc BasicCAN Tuy nhiên
đã có những bộ điều khiển kết hợp nguyên lí hoạt động của hai kiến trúc trên,
do dó, sự phân loại trên có thể sẽ bị thay thế
Trang 93. Giao thức cơ bản của mạng CAN
3.1 Khái quát
Kiến trúc giao thức mạng CAN được cấu trúc theo cách tiếp cận lớp của mô hình OSI Tuy nhiên, như hầu hết các mạng hiện nay cho sử dụng ở mức cơ sở trong các môi trường tự động kết hợp, chỉ có một vài lớp được xem xét trong giao thức ngăn xếp của nó Điều này làm cho việc triển khai hiệu quả hơn và ít tốn kém Rất ít các lớp giao thức trên thực tế hàm ý giảm trễ xử lý khi nhận và truyền thông điệp và phần mềm giao tiếp đơn giản
Đặc điểm kỹ thuật mạng CAN, đặc biệt chỉ bao gồm lớp vật lý và những lớp liên kết dữ liệu, như mô tả trong hình dưới, Lớp vật lý nhằm mục đích quản lý việc truyền tải có hiệu lực dữ liệu qua sự hỗ trợ của truyền thông,và khắc phục những khía cạnh cơ khí, điện, và chức năng Bit định thời và đồng bộ đặc biệt thuộc lớp này
Lớp liên kết dữ liệu thay vào đó được chia thành hai lớp con riêng biệt: điều khiển truy cập môi trường (MAC) và điều khiển liên kết lô gic(LLC) Mục đích của phần tủ MAC về cơ bản để quản lý truy cập để hỗ trợ truyền tải được chia sẻ bằng cách cung cấp một cơ chế nhằm phối hợp việc sử dụng bus để tránh các chức năng không thể quản lý được xung đột Những chức năng của lớp con MAC bao gồm mã hóa và giải mã, giám sát, kiểm tra lỗi tín hiệu, và cũng có thể giảm lỗi, Lớp con LLC thay vào đó cung cấp cho người dùng một giao thức thích hợp,
mà được đặc trưng bởi một tập hợp được xác định những dịch vụ truyền thông, ngoài khả năng để quyết định một thông điệp có liên quan đến nút hay không
Giao thức ngăn xếp CAN
Trang 10Đáng chú ý trong CAN là có sự linh hoạt đáng kể cả về việc thực hiện các dịch vụ LLC và cũng trong sự giới hạn chọn lựa hỗ trợ vật lý, trong khi đó có thể không thay đổi chế độ của lớp con MAC
Không như hầu hết các mạng bus, Đặc điểm của CAN không bao gồm bất
kỳ lớp ứng dụng gốc nào Tuy nhiên một số các giao thức tồn tại dựa trên CAN
dễ dàng thiết kế và thực hiện các hệ thống CAN phức tạp
3.2 Cấu hình và định dạng khung gói tin trong mạng CAN
Lớp vật lý
Đặc trưng lớp vật lý của mạng CAN có giá trị với một số hệ thống, như những liên quan của chúng đến tín hiệu vật lý được mô tả trong ISO 11898-1 Thay vào đó các đơn vị truy cập trung gian được định nghĩa trong ISO 11898-2
và ISO 11898-3 cho truyền thông tốc độ cao và tốc độ thấp, tương ứng Các định nghĩa của giao tiếp trung gian được đề cập trong các tài liệu khác
Cấu hình liên kết mạng
Mạng CAN được dựa trên một cấu trúc chia sẻ bus Các bus này phải được nối bởi một điện trở đầu cuối giá trị tham khảo 120 OHM để chặn lại tín hiệu phản hồi Với cùng lý do trong một số tài liệu chuẩn về cầu hình liên kết mạng CAN càng gần càng tốt như một dòng kín trên một dây đơn Các gốc kết nối với bus chiều dài càng ngắn càng tốt ví dụ với tốc độ truyền 1Mb/s thì khoảng cách nên nhỏ hơn 30 cm
Một số loại phương tiện truyền thông được sử dụng như:
- Bus hai dây, nó cho phép truyền hai tín hiệu khác biệt và đảm bảo truyền thông tin cậy Trong trường hợp này một cặp soắn đôi được sử dụng tăng cường chống nhiễu điện từ trường
- Bus một dây là giải pháp đơn giản giá rẻ, khả năng chống nhiễu thấp, thường ứng dụng trong ôtô
- Truyền dẫn quang đảm bảo khả năng hoàn chống nhiễu điện từ và dùng trong những môi trường phức tạp Sợi quang được kết nối khác biệt các mạng con CAN được khai triển bao phủ trong các nhà máy với một vùng rộng khắp Tốc độ bít với mạng thường từ 50Kb/s đến 1Mb/s
Chiều dài tối đa của bus CAN phụ thuộc trực tiếp vào tốc độ bít Với 500Kb/
s thì chiều dài cho phép khoảng 100m và có thể tăng lên tới 500m với tốc độ bít 125kb/s
Trang 11Mã hóa bit và đồng bộ:
Trong mạng CAN giao diện về mạch điện của nút tới bus dựa trên sơ đồ open-collector Mức trên bus CAN mang hai giá trị bù, được ký hiệu là mức cao
và thấp, tương ứng với các giá trị lô gic 1 và 0
CAN dựa trên mã hóa bít(NRZ), có tính hiệu năng cao trong đồng bộ thông tin không được mã hóa một cách riêng biệt từ dữ liệu Bit đồng bộ trong mỗi nút được thực hiện bằng vòng lặp khóa pha số (DPLL), nó trích từ thông tin định thời trực tiếp từ dòng bít nhận được trên bus Đặc biệt các sườn của tín hiệu dùng để đồng bộ vị trí của sung, để bù dung sai và sự trôi của dao động
Để cung cấp một mức độ thỏa mãn sự đồng bộ giữa các nút, dòng bít truyền nên gồm một số đủ lớn các sườn Để thực hiện điều này CAN dựa trên kỹ thuật nhồi bít, trên thực tế bất cứ khi nào cứ năm bit liên tiếp có cùng giá trị xuất hiện trên dòng bít truyền nút truyền sẽ chèn thêm một bít nhồi ở giá trị bổ sung Như
mô tả trong hình dưới đây
Kỹ thuật nhồi bít
Không phải tất cả các trường trong một khung của CAN được mà hóa theo kỹ thuật nhồi bít, trong thực tế chỉ áp dụng một phần của những khung tuần tự từ bít SOF đến bít CRC Những trường còn lại là cố định và không được nhồi vào
Định dạng của khung
Định dạng khung của CAN được chỉ rõ trong ISO 1 được định nghĩa theo cả hai dạng chuẩn và chuẩn mở rộng, những định dạng này điểm khác nhau chính
là ở kích thước của trường Trong thực tế định dạng khung chuẩn (CAN 2.0A) được định nghĩa bởi 11bits, có nghĩa là nó có thể nhận dạng tới 2048 thiết bị được ứng dụng trên cùng một mạng Với định dạng chuẩn mở rộng (CAN 2.0B) thêm vào đó 29 bít nhận dạng, nên có thể lên đến hang tỉ đối tượng có thể tồn tại trên cùng một mạng, nó có thể đủ cho đủ cho bất kỳ một loại ứng dụng nào
Sử dụng định danh mở rộng trọng một mạng cũng như chuẩn 2.0A những bộ điều khiển thường không quản lý được lỗi, mạng hoạt động không ổn định, vì vậy một loại bộ điều khiển CAN thứ ba đã được phát triển được biết đến như là