Bên cạnh các chuẩn truyền thông vật lý thông thường như RS232, RS485, Ethernet,...hay các giao thức truyền thông như Modbus RTU, Modbus TCP....đang được sử dụng rộng rãi trong mọi ngành nghề. Hôm nay, BKAII sẽ cùng các bạn trao đổi về một chuẩn truyền thông từ trước đến bây giờ hay được dùng trong ngành công nghiệp ô tô, ngoài ra hiện nay đang được sử dụng rộng rãi trong các ngành tự động hóa, y tế, máy móc sản xuất, công nghiệp.... đó là giao tiếp CAN. Chúng ta sẽ bắt đầu bằng các khái niệm cơ bản, các bạn nhé!
CAN - Controller Area Network là một giao thức truyền thông bus nối tiếp phát triển bởi Bosch (một nhà sản xuất thiết bị điện tại Đức) vào đầu những năm 1980. Sau đó, CAN đã được chuẩn hóa theo tiêu chuẩn ISO-11898 và ISO-11519, thiết lập chính nó như là giao thức chuẩn để giao tiếp kết nối mạng trong ngành công nghiệp ôtô. Trong những ngày đầu của ngành công nghiệp ô tô, bộ điều khiển độc lập cục bộ đã được sử dụng để quản lý cơ cấu truyền động khác nhau và các các hệ thống cơ điện phụ. Bởi kết nối mạng các thiết bị điện tử trong xe theo chuẩn CAN,và được được điều khiển từ một điểm trung tâm, bộ điều khiển động cơ (ECU), do đó làm tăng chức năng, thêm mô đun, và làm cho quá trình chẩn đoán hiệu quả hơn.
Thời gian đầu giao tiếp CAN được phát triển chủ yếu hỗ trợ cho ngành công nghiệp xe, vì vậy nó đã được sử dụng trong xe ô tô chở khách, tàu thuyền, xe tải, và các loại xe khác. Ngày nay giao thức CAN được sử dụng trong nhiều lĩnh vực khác trong các ứng dụng với tên gọi mạng điều khiển nhúng (networked embedded control), bao gồm cả tự động hóa công nghiệp, ứng dụng y tế, xây dựng tự động hóa, máy dệt, máy móc sản xuất. CAN cung cấp một giao thức truyền thông hiệu quả giữa các bộ cảm biến, cơ cấu truyền động, điều khiển, và các nút khác trong các ứng dụng thời gian thực, và được biết đến với sự đơn giản, độ tin cậy và hiệu suất cao.
Các giao thức CAN được dựa trên một topo bus, và chỉ có hai dây là cần thiết cho thông tin liên lạc trênmột bus CAN. Các bus có một cơ cấu đa chủ nơi mỗi thiết bị trên bus có thể gửi hoặc nhận dữ liệu. Chỉ có một thiết bị có thể gửi dữ liệu bất cứ lúc nào trong khi tất cả những thiết bị khác lắng nghe. Nếu hai hoặc nhiều thiết bị cố gắng để gửi dữ liệu cùng một lúc, thiết bị ưu tiên cao nhất được phép gửi dữ liệu của nótrong khi những thiết bị khác trở về chế độ nhận.
Như thể hiện ở hình bên dưới, trong một ứng dụng xe điển hình thường có nhiều hơn một CAN bus, và các bus này hoạt động ở các tốc độ khác nhau. Các thiết bị chậm, chẳng hạn như kiểm soát cửa, điều hòa nhiệt, và thông tin điều khiển mô-đun, có thể được kết nối với một bus tốc độ chậm. Thiết bị yêu cầu đáp ứng nhanh hơn, chẳng hạn như hệ thống chống bó cứng phanh ABS, module điều khiển truyền dẫn, vàcác mô-đun ga điện tử, được kết nối với một bus CAN nhanh hơn.
Hình dưới cho thấy một bus CAN với ba nút. Các giao thức CAN được dựa trên giao thức CSMA / CD+AMP (Carrier-Sense Multiple Access: Đa truy cập có tránh xung đột / Collision Detection Arbitration on Message Priority: Giám sát phát hiện xung đột dựa trên thông điệp ưu tiên ) , nó tương tự như các giao thức được sử dụng trong mạng Ethernet LAN.
Khi mạng Ethernet phát hiện một vụ xung đột, các nút đang gửi dữ liệu chỉ đơn giản là dừng truyền và đợi một khoảng thời gian ngẫu nhiên trước khi cố gắng để gửi một lần nữa. Tuy nhiên, đối với giao thức CAN có một chúc khác biệt đó là các vấn đề xung đột được giải quyết bằng cách sử dụng các nguyên tắc của trọng tài, nơi chỉ có các nút ưu tiên cao nhất được trao quyền để gửi dữ liệu của nó.
Về cơ bản có hai loại giao thức CAN: 2.0a và 2.0b. CAN 2.0a là tiêu chuẩn trước đó với 11 bit của bộ định danh, trong khi CAN 2.0b là tiêu chuẩn mở rộng mới với 29 bit của bộ định danh. Bộ điều khiển 2.0b là hoàn toàn tương thích ngược với bộ điều khiển 2.0A và có thể nhận và truyền tải thông điệp trong hai định dạng.
Đỗi với bộ điều khiển 2.0 được chia làm hai loại. Loại đầu tiên chỉ có khả năng truyền và nhận những thông điệp 2.0a, và đón nhận thông điệp được gửi từ bộ điều khiển 2.0b bằng cách bật cờ lỗi. Loại thứ hai của loại điều khiển 2.0a (được gọi là thụ động 2.0b) truyền và nhận các thông điệp 2.0b nhưng cũng sẽ xác nhận đã nhận thông điệp 2.0b và sau đó sẽ bỏ qua chúng.
Một số các tính năng giao thức CAN là:
CAN bus là đa chủ. Khi bus dữ liệu rỗi, bất kỳ thiết bị gắn vào bus đều có thể bắt đầu gửi một thông điệp.
CAN giao thức bus là linh hoạt. Các thiết bị kết nối với bus không có địa chỉ, có nghĩa là tin nhắn không được truyền đi từ một nút này đến một nút khác dựa trên các địa chỉ. Thay vào đó, tất cả các nút trong hệ thống nhận mọi tin nhắn truyền đi trên bus, và nó là đến mỗi nút để quyết định xem đã nhận tin nhắn sẽ được lưu giữ hay loại bỏ. Một tin nhắn duy nhất có thể được dành cho một nút cụ thể hoặc cho nhiều nút, tùy thuộc vào cách hệ thống được thiết kế.
Một lợi thế của việc không có địa chỉ là khi một thiết bị được thêm vào hay lấy đi khỏi bus, không cần phải thay đổi cấu hình dữ liệu (tức là, các bus "có thể gắn nóng (hot pluggable)").
Bus CAN cung cấp theo yêu cầu truyền tải từ xa (RTR), có nghĩa là từ một nút trên bus có thể yêu cầu thông tin từ các nút khác. Như vậy thay vì chờ đợi cho một nút để liên tục gửi thông tin, yêu cầu thông tin có thể được gửi đến nút. Ví dụ, trong một chiếc xe, nơi nhiệt độ động cơ là một tham số quan trọng, hệ thống có thể được thiết kế để nhiệt độ gửi định kỳ trên bus. Tuy nhiên, một giải pháp thanh lịch hơn là yêu cầu nhiệt độ là cần thiết, vì nó giảm thiểu lưu lượng bus trong khi duy trì tính toàn vẹn của hệ thống. Tốc độ giao tiếp bus CAN là không cố định. Bất kỳ tốc độ truyền thông có thể được thiết lập cho các thiết bị gắn vào một bus. Tất cả các thiết bị trên bus có thể phát hiện một lỗi. Các thiết bị đã phát hiện một lỗi ngay lập tức thông báo cho tất cả các thiết bị khác. Nhiều thiết bị có thể được kết nối với xe buýt tại cùng một thời điểm, và không có được giới hạn hợp lý về số lượng các thiết bị có thể được kết nối. Trong thực tế, số thiết bị có thể được gắn vào một bus bị hạn chế bởi thời gian trễ của bus và tải điện. Các dữ liệu trên bus CAN là vi sai và có thể ở hai trạng thái: dominant and recessive. Hình dưới cho thấy trạng thái của điện áp trên bus. Các xe buýt định nghĩa một chút logic 0 là một bit chi phối và một chút logic 1 là một bit lặn. Khi có trọng tài trên xe buýt, một trạng thái bit chi phối luôn thắng ra trên một trạng thái bit lặn. Trong trạng thái lặn, các CANH điện áp khác biệt và CANL là ít hơn so với ngưỡng tối thiểu (tức là ít hơn 0.5V nhận đầu vào và ít hơn 1.5V đầu ra máy phát). Trong nhà nước chi phối, CANH điện áp khác biệt và CANL là lớn hơn ngưỡng tối thiểu.
Các tiêu chuẩn ISO-11898 CAN bus chỉ rõ rằng một thiết bị trên xe bus đó phải có khả năng truyền 40 mét tại tốc điiộ 1Mb / s. Nếu truyền xa hơn phải giảm tốc độ Bus. Hình 9.4 cho thấy sự thay đổi chiều dài bus so với tốc độ truyền thông. Ví dụ, với chiều dài bus là một nghìn mét, chỉ có thể truyền ở tốc độ tốc độ tối đa 40KB / s.
"BKAII - Thiết bị truyền thông TỐT nhất với giá CẠNH TRANH nhất!"