CANopen là gì? Định nghĩa CANopen? Mạng CANopen

Tag: CANopen là gì? Định nghĩa CANopen? Nguyên lý của CANopen, ứng dụng của CANopen, truyền thông CANopen

Mạng CAN (Controller Area Network)

Thực sự bạn không cần biết CAN hoạt động như thế nào…

Đã một thời gian rất dài sự hiểu nhầm cơ bản về mạng CAN (Controller Area Network) là CAN chỉ được sử dụng trong xe ô tô. Sự thực là CAN từ khi được giới thiệu vào năm 1986 đã chứng minh là một công nghệ bền vững, đơn giản và linh hoạt, do vậy CAN đã tìm được hướng đi vào tất cả các lĩnh vực ứng dụng cần đến vi xử lý để giao tiếp với nhau.


Cùng với sử dụng trong lĩnh vực ô tô không thể phủ nhận được thì các ứng dụng của CAN không chỉ bao gồm các nhiệm vụ tự động hóa công nghiệp mà còn bất kỳ ứng dụng nào khác mà điều khiển phân phối (distributed control) có lợi thế và một hệ thống bus nối tiếp sẽ lược bớt đi dây nối thừa. CAN chứng tỏ được tính ưu việt hơn bất kỳ một hệ thống bus-trường nào khác nhờ vào đặc tính rẻ, có khả năng tạo chức năng trong một môi trường điện khó khăn, mức độ khả năng thời gian thực cao, phát hiện lỗi tuyệt vời, và có khả năng khống chế lỗi, hầu như là mâu thuẫn với những đặc tính nói trước đây là dễ sử dụng.

Ngày nay không có chỗ thích hợp đặc biệt nào cho CAN, can được sử dụng rộng rãi từ bất kỳ một ứng dụng nào, từ vũ trụ và hàng không, hàng hải, y học tới các đồ gia dụng như máy giặt, máy sấy và thậm chí máy pha cà phê.

Dễ sử dụng đặc biệt hiển nhiên đối với kỹ sư phần mềm có trách nhiệm phát triển ứng dụng dùng CAN. Trong thực tế thì giao thức CAN nghĩ là quản lý truyền dữ liệu toàn bộ bao gồm cả lực chọn bus, phát hiện lỗi và khống chế lỗi v.v… được thực hiện trong silicon. Các bộ điều khiển CAN ngầm định biết làm gì và làm như thế nào.

Kỹ sư phần mềm được “giáng cấp” xuống chĩ làm chức năng cơ bản như nhập các giá trị ban đầu, đọc dữ liệu, viết dữ liệu, kiểm tra tình trạng và kết quả là chỉ tập trung vào phần mềm ứng dụng thực tế.

Cuốn sách này dành cho những người không sẵn lòng phục vụ những người chưa biết và cho những người ham muốn hiểu biết đủ để tìm tòi giải thích tại sao CAN lại dễ sử dụng và cuốn cùng là tại sao lại cực kỳ tin cậy.

1.1 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 là một hệ thống mạng hai dây, nửa kép và tốc độ cao 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 đến chức năng và độ tin cậy và việc thực hiện CAN mang lại hiệu quả hơn. Ví dụ, trong khi TPC/IP được thiết kế để chuyể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à với tốc độ truyền dữ liệu 1 MBit/sec dễ dàng đánh bại kết nối TPC/IP 100 Mbit/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.

Nhiếu nhà sản xuất linh kiện bán dẫn chủ yếu ví dụ như Motorola, Philips, Intel, Infineon và nhiều hãng khác bán chíp CAN, và thực tế rằng hàng triệu chíp CAN được dùng trong xe ô tô đảm bảo rằng giá chíp rẻ và có thể sử dụng được lâu dài. Hầu hết các nhà sản xuất linh liện bán dẫn thường đã kết hợp UART với thiết kế vi xử lý của họ nhằm hỗ trợ giao tiếp nối tiếp cho RS232/485 ngày nay đang có khuynh hướng sử dụng CAN.

Sử dụng mạng CAN trong hầu hết các xe Châu Âu và quyết định của các nhà sản xuất xe tải và xe không chạy trên đường sử dụng CAN dẫn đến việc xuất hiện của chíp CAN vào năm 1987. Các thị trường có khối lượng cao khác như ac1c ứng dụng nội địa và điều khiển công nghiệp cũng gia tăng số liệu bán CAN và đảm bảo sự có sẵn của CAN trong tương lai.

Các mạng 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. Ví dụ một số người sử dụng trong lĩnh vực công nghệ y học đã lựa chọn CAN bởi vì chúng đáp ứng được yêu cầu an toàn tuyệt đối.

Những yêu cầu tương tự phải được xem xét bởi các nhà sản xuất thiết bị khác với độ an toàn rất cao và yêu cầu tin cậy (ví dụ như rô bốt, thang máy, và hệ thống giao thông).

Mạng CAN:

Là một kênh giao tiếp dữ liệu nối tiếp tích hợp cao cho các ứng dụng thời gian thực
Có hiệu quả và rẻ hơn bất kỳ một hệ thống bus nối tiếp nào khác, kể cả RS232 và TCP/IP
Dễ sử dụng hơn bất kỳ một hệ thống bus nối tiếp nào khác
Hoạt động ở tốc độ truyền dữ liệu tới 1 MBit trên giây
Có khả năng hoạt động trong các môi trường điện khó khăn
Đang được sử dụng trong nhiều ứng dụng tự động hóa và điều khiển công nghiệp khác nhau
Là một tiêu chuẩn quốc tế: ISO 11989

1.2 Tóm tắt lịch sử phát triển CAN

Ý tưởng của mạng CAN được nhóm kỹ sư tại GmbH Robert Bosch, Đức, ấp ủ từ đầu thập niên 1980s. Họ đã nghiên cứu thị trường cho một công nghệ bus trường mới dùng trong xe ô tô mà có thể cho phép họ đưa thêm các chức năng vào nữa. Họ tập trung chủ yếu vào hệ thống thông tin giữa các bộ điều khiển điện tử trong xe hơi của hãng Mercedes-Benz.

Bất kỳ một hệ thống bus trường (field-bus system) dựa trên giao tiếp nối tiếp sẽ giảm dây nối mà khởi đầu người ta chỉ xem xét đến hiệu quả khía cạnh cạnh ưu điểm. Điều khiển phân phối, nghĩa là sử dụng một hệ thống nhiều vi xử lý sẽ thường xuyên cho một tính năng gia tăng và trong thị trường giá của chíp vi điều khiển giảm to lớn đã làm cho việc sử dụng nhiều vi xử lý có thể thực hiện được. Những ưu điểm khác là làm tăng độ tin cậy, và cải tiến dịch vụ và bảo trì.

Tuy nhiên không có một giao thức giao tiếp nào có trên thị trường đáp ứng những nhu cầu cụ thể cho độ tin cậy tốc dộ dữ liệu truyền thông tin, kết quả là họ đã phát triển một tiêu chuẩn của chính họ.

Sự quan tâm của nhà sản xuất xe – Mercedes-Benz và nhà sản xuất linh kiện bán dẫn – Intel – và một số đại học khác ở Đức đã giúp cho việc làm mạng CAN thành công.

Tiêu chuẩn CAN đầu tiên được giới thiệu vào năm 1986 trong hội nghị Hiệp hội Kỹ sư Ô tô (SAE = The Society of Automative Engineers) ở Detroi, Michigan. Chíp bộ điều khiển CAN đầu tiên Intel 82526 và Philips 82C2000 được giới thiệu năm 1987.

Từ đó đến nay có nhiều nhá sản xuất linh kiện bán dẫn khác đã quyết định sản xuất loại bộ điều khiển CAN độc lập, hoặc thực hiện chúng trong những thiết kế chíp đơn.

Chú ý: Giao thức CAN được bảo vệ bởi bằng sáng chế cấp cho Robert Bosch GmbH. Bosch sẽ cấp giấy phép sử dụng cho các nhà sản xuất và đại học. Bạn có thể tìm thấy thông tin chi tiết về giấy phép và tiền bản quyền tại địa chỉ:

Giấy phép sử dụng CAN của Bosch

Không cần giấy phép CAN cho các ứng dụng dựa trên các thiết bị CAN do một nhà sản xuất được cấp giấy phép cung cấp.

Một bước phát triển thành công CAN đáng kể khác là sự thành lập tồ chức nhóm các nhà sản xuất và người sử dụng quốc tế, gọi là Hội CAN tự động hóa (CiA = CAN in Automation) năm 1992, hoạt động của hội này dựa trên mối quan tâm, tham gia và khởi xướng của các thành viên.

Bảng sau cho chúng ta tóm tắt một số thời điểm đáng nghi nhớ trong quá trình phát triển và thành lập giao thức CAN:

Bảng 1.2.1 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 Intle 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
1994: 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ô.

can02
Hình 2: Hình 1.2.1 Biểu đồ số CAN (triệu) sử dụng theo thời gian

Phần tóm tắt lịch sử phát triển CAN cũng giải thích phần nào ưu thế vượt trội của các công ty Đức trong lĩnh vực CAN, ít nhất số các kinh doanh CAN cũng là một chỉ số ưu thế vượt trội. Công nghệ CAN, đặc biệt là các giao thức lớp cao dùng CAN như CANopen, DeviceNet và J1939 ngày càng được chấp nhận và sử dụng gia tăng ở vùng Bắc Mỹ mà lần lượt có nghĩa là ưu thế vượt trội (áp đảo) sẽ không phụ thuộc vào quốc gia.

1.3 Các ứng dụng của CAN

Một câu hỏi thường gặp liên quan đến lĩnh vực ứng dụng khác ngoài xe ô tô là CAN được sử dụng thành công trong những lĩnh vực nào? Trong thực tế thì không chỉ có một câu trả lời mà có rất nhiều câu trả lời. Không có chỗ đặc biệt nào cho CAN, mà việc sử dụng CAN mở rộng với nhiều ứng dụng công nghiệp từ hàng không và vũ trụ, hàng hải, y học, tới các đồ gia dụng như máy giặt, máy sấy và thậm chí cả máy pha cà phê.

Ưu điểm chính của hệ thống bus trường như CAN là làm giảm dây nối đắt đỏ và đòi hỏi phải bảo trì nhiêu khê và chúng có đặc tính gia tăng của hệ thống nhiều bộ vi xử lý (thông minh phân phối). CAN đặc biệt thích hợp cho các hệ thống giao tiếp nối tiếp cần lựa chọn khi bắt buộc cần tới tính năng tuyệt vời của nó.

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
Tàu khách và tầu hàng
Hệ thống điện tử hàng hải
Điện tử máy bay và hàng không
Tự động hóa nhà máy
Điều khiển máy công nghiệp
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…

Chú ý: Hầu hết các ứng dụng công nghiệp dang dùng giao thức lớp cao như CANopen hoặc DeviceNet trên đỉnh của lớp ứng dụng CAN (xem thêm Chương 3.5 Các giao thức lớp cao). Ước tính rằng khoảng 90% ứng dụng công nghiệp dùng CANopen liên quan ít nhất tới điều khiển chuyển động.

Hệ thống CISCO, một công ty kết mạng, sử dụng mạng CAN con để thực hiện việc khởi động hệ thống và trao đổi nóng (hot-swapping) trên các bác PC lớn thực hiện routers (cầu dẫn). Số các điểm CAN lắp đặt nằm giữa khoảng 500.000 tới 1 triệu, tạo thành một trong những ứng dụng ngoài xe ô tô lớn hơn.

Một số công ty công nghệ cao cấp nổi tiếng khác sử dụng CAN cho nhiều mục đích và sản phẩm khác nhau ví dụ như Hewlett-Packard, Lockhead, Boeing, NASA, và nhiều công ty khác.

Một thị trường quan trọng khác của CAN (kết hợp với CANopen) là trang thiết bị y tế, khởi đầu từ các cơ cấu phòng mổ như đèn, bàn, máy quay, máy chụp X-quang, máy siêu âm, và hơn nữa là các thiết bị lớn hơn như máy quét CAT. Những công ty thiết bị y tế chính ở Mỹ gồm Công ty GE Medical, Philips Medical và Siemens Medical ưa sử dụng CAN/CANopen hơn bất kỳ một công nghệ bus-trường nào khác và kết quả là họ đã yêu cầu CAN/CANopen tương thích nhau giữa các nhà cung cấp khác nhau.

DeviceNet, một giao thức lớp trên phổ biến khác dùng cho tự động hóa công nghiệp đặc biệt phù hợp cho tự động hóa nhà máy và được sử dụng rộng rãi trong công nghiệp hóa học và bán dẫn (máy làm bánh xốp, và các máy móc rô bốt khác).

Chúng ta hãy xét một ví dụ điển hình:

Một trong những nhiệm vụ tự động hóa có nhu cầu nhất theo tốc độ và độ chuẩn xác là điều khiển chuyển động (motion control). Sự liên kết giữa bộ xử lý điều khiển (ví dụ máy tính công nghiệp) với một bộ điều khiển chuyển động (vị trí) tích hợp và một động cơ có bộ phân tích tích hợp hoặc encoder cần có dây nối mở rộng. Tình huống nhanh chóng trở nên tồi tệ hơn khi mà nhiệm vụ yêu cầu sử dụng nhiều trục chuyển động. Không chỉ số dây dẫn dễ dàng đến con số hàng nghìn mà còn trở nên khó khăn gia tăng khi kết nối thêm nhiều bộ điều khiển vị trí, ví dụ, một chiếc máy vi tính chỉ có thể điều tiết được một số bảng giao diện. Một yếu tố nan giải khác là mỗi tính năng của máy tính sẽ chỉ giới hạn ở một điểm nào đó khi nó đến thời điểm phản ứng cần thiết dùng mỗi bộ điều khiển chuyển động.

can03
Hình 3: Hình 1.3.1 Mạng CANopen mẫu

Chú thích:
stepper motor controller = bộ điều khiển động cơ bước
digital I/O = giao tiếp vào ra số
analog I/O = giao tiếp vào ra tương tự
DC servo controller = bộ điều khiển động cơ servo
switches = công tắc chuyển mạch
relays, lamps = rơ le, đèn báo
sensor readings = số đọc cảm biến
actuator control = bộ chấp hành điều khiển

Giải pháp cho vấn đề nan giải này là sử dụng điều khiển phân tán (phân phối) như trình diễn trong ví dụ trong Hình 1.3.1. Mỗi thành phần, giao diện I/O số và tương tự, và mỗi trục chuyển động được lắm một bộ điều khiển riêng. Liên kết mạng giữa các thành phần và bộ điều khiển chính được thực hiện bằng CAN, trong trường hợp thực tế là CANopen. CANopen là một giao thức lớp trên, một phần mềm phụ thêm ở phía trên của lớp liên kết vật lý và dữ liệu (tham khảo Chương 3.5 Các giao thức lớp trên).

Thiết kế này tạo ra sự dễ dàng kết nối thêm các thành phần hầu như không giới hạn một cách dễ dàng (CANopen được giới hạn tới 125 nút, đủ để cho phần lớn các ứng dụng tự động hóa) mà không mất đi đặc tính. Số các dây nối giữa các thành phần (phần tử) giảm còn hai, không chỉ giảm giá dây nối mà còn giảm thời gian bảo trì và dịch vụ trong lúc khởi động máy hoặc trong trường hợp máy chạy có trục trặc.

Sự bảo dưỡng cho mỗi thành phần trong mạng sẽ được cải thiện nhờ vào sự kiện thực tế là kỹ sư chỉ cần cắm một bộ dịch vụ (ví dụ một máy tính xách tay) vào chỗ nào đó trong mạng nhằm giao tiếp với bất kỳ một bộ phận nào của mạng. Việc này có thể được làm chỉ bằng một chương trình phần mềm dịch vụ vì tất cả cát nút trong mạng nói cùng một ngôn ngữ. Không cần phải có một chương trình dịch vụ riêng nào dành cho mỗi một bộ phận riêng biệt.

Sự tiết kiệm giá thành từ việc giảm dây nối sẽ không thể tính được hết. Minh họa ví dụ này như sau: Một nhà sản xuất ở vùng Boston sản xuất máy móc yêu cầu trong bình có ba đến 5 trục vị trí trên một máy và vài trăm điểm giao diện I/O. Họ đã đại tu thiết kế máy móc sử dụng các công nghệ CANopen thay cho dây dẫn thông thường. Tiết kiệm giá thành trong khoảng 1.500 USD trên một máy. Trong thời điểm bán chạy hàng, họ bán được 500 máy một năm. Bạn hãy làm thử một phép toán…
1.4 CAN tự động hóa CiA

“CAN tự động hóa (CiA) là một tổ chức của các nhà sử dụng và sản xuất quốc tế đã phát triển và ủng hộ Các tiêu chuẩn CAN và giao thức lớp cao dùng CAN. Tất cả các hoạt động được dựa trên sự quan tâm, tham gia và khởi điểm của các thành viên CiA. Các đại biểu CiA chủ động hỗ trợ việc tiêu chuẩn hóa các giao thức CAN và đại diện cho mối quan tâm của các thành viên trong các ủy ban tiêu chuẩn hóa quốc gia và quốc tế, như là ISO và IEC. Các thành viên CiA khởi đầu và phát triển các thông số kỹ thuật được xuất bản dưới dạng Các tiêu chuẩn CiA. Các thông số kỹ thuật này bao trùm các định nghĩa lớp vật lý cũng như lớp ứng dụng và các mô tả đặc tính thiết bị.”

1.5 Tiêu chuẩn quốc tế ISO 11898

ISO (Tổ chức tiêu chuẩn hóa quốc tế) là một liên đoàn thế giới. Như tên gọi, ISO cung cấp các tiêu chuẩn quốc tế được chuẩn bị và phác thảo bởi các ủy ban kỹ thuật. Mỗi thành viên của ISO quan tâm tới chủ đề mà ủy ban kỹ thuật đã thiết lập có quyền tham gia vào quá trình tiêu chuẩn hóa chủ đề tương ứng.

Tiêu chuẩn ISO 11898, với tên gọi “Xe ô tô đường bộ – Mạng CAN” được xuất bản lần đầu tiên năm 1993, lần xuất bản tiếp theo là năm 1995 kèm theo bản sửa đổi mô tả khung mở rộng (xem thêm Chương 4.6 Giao thức CAN mở rộng). Phiên bản đầu tiên ISO 11898-2, cùng với ISO 11898-1 thay cho ISO 11898:1991 đã được sử đổi kỹ thuật.

ISO 11898 bao gồm các phần sau:

1. Lớp liên kết dữ liệu và phát tín hiệu vật lý
2. Bộ tiếp cận trung gian cao tốc
3. Giao tiếp phụ thuộc vận tốc thấp, fault-tolerant và trung gian
4. Giao tiếp time-triggered

Các tiêu chuẩn ISO 11898 có thể tải xuống được từ trang web Tổ chức tiêu chuẩn hóa quốc tế (ISO). Các tài liệu này cung cấp một mô tả (có thể nói gần như đầy đủ) về tiêu chuẩn CAN và mặc dù nội dung đôi khi khá rải rác, nhưng đó là một tài liệu đọc thú vị mà cho đến nay những tài liệu tốt hơn thế chưa có. Tuy nhiên tìm sâu vào phần tài liệu ISO thì thấy rằng tải xuống đến với một bảng giá đắt kinh khủng! (Nguyên văn: The downside to the ISO documents, however, is that the download comes with a hefty price tag.)

(Trích dịch từ Wilfried Voss, 2008)

(Xin tìm đọc tiếp: Wildried Voss (2008). A Comprehensive Guide to Controller Area Network. Copperhill Technologies Corporation.)

Xem thêm CAN trên Wikipedia.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s