2.Sự ra đời của LINSau khi CAN được phát triển vào cuối những năm 1980, nó ngày càng được các nhà sản xuất ô tô sử dụng để kết nối các Bộ điều khiển điện tử ECU với nhau trong ô tô.. Mặc
Trang 2Mục lục
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TÌM HIỂU VỀ CHUẨN GIAO TIẾP LIN
Giảng viên HD :Dương Quang Duy
Trang 35.So sánh LIN với CAN 5
6 Ưu điểm của LIN 5
I.Giới thiệu về LIN
1.Khái niệm về chuẩn giao tiếp LIN
LIN (Local Interconnect Network) là một giao thức mạng cục bộ LAN của phương
tiện sử dụng một máy chủ duy nhất để đạt được tỷ lệ hiệu suất chi phí vượt trội Trên
hệ thống body không cần tốc độ truyền cao và có thể giao tiếp 2 chiều
Trang 42.Sự ra đời của LIN
Sau khi CAN được phát triển vào cuối những năm 1980, nó ngày càng được các nhà sản xuất ô tô sử dụng để kết nối các Bộ điều khiển điện tử (ECU) với nhau trong ô
tô Tuy nhiên, đối với tốc độ thấp hơn, các chức năng ít quan trọng hơn, bus CAN trở nên quá đắt để thực hiện Các nhà sản xuất đã bắt đầu sử dụng nhiều công nghệ giao tiếp nối tiếp khác nhau để giải quyết vấn đề này, nhưng điều này gây ra các vấn đề về tính tương thích
Vào cuối những năm 1990, LIN Consortium được thành lập bởi năm nhà sản xuất ô tô (BMW, Tập đoàn Volkswagen, Tập đoàn Audi, Volvo Cars, Mercedes-Benz), với các công nghệ được cung cấp (chuyên môn về mạng và phần cứng) từ Tập đoàn ô tô Volcano và Motorola Phiên bản được triển khai đầy đủ đầu tiên của đặc tả LIN mới (phiên bản LIN 1.3) đã được xuất bản vào tháng 11 năm 2002 Vào tháng 9 năm 2003, phiên bản 2.0 đã được giới thiệu để mở rộng khả năng và cung cấp các tính năng cho các tính năng chẩn đoán bổ sung LIN cũng có thể được sử dụng trên đường dây ắc quy của xe với bộ thu phát LIN qua đường dây điện DC (DC-LIN) đặc biệt
3.Nguyên nhân của sự ra đời và phát triển của LIN
LIN (Local Interconnect Network) thường sử dụng trong mạng giao tiếp nội
bộ trên hệ thống body không cần tốc độ truyền cao và có thể giao tiếp 2 chiều Có thể hiểu LIN thường sử dụng trên những hệ thống phụ “Sub system”, những hệ thống không cần tốc độ truyền cao và dữ liệu nhiều Một số hệ thống thường dùng mạng giao tiếp LIN ví dụ như: điều khiển gương, điều khiển ghế, khóa cửa, cửa sổ trời, gạt mưa, nâng hạ kính…
Trang 5LIN được phát triển như một tiêu chuẩn bus bổ sung cho giáo thức CAN để giải quyết nhu cầu về mạng hiệu quả về chi phí cho các thiết bị hiệu suất thấp hơn trong xe Mặc dù mạng CAN đã có sẵn trong các phương tiện, tuy nhiên băng thông cao và khả năng phát hiện lỗi nâng cao của nó là quá mức cần thiết cho các ứng dụng hiệu suất thấp hơn như bộ điều khiển ghế và cửa sổ Các phương tiện ngày nay sử dụng kết hợp CAN cho hệ thống truyền động và liên lạc thân xe, LIN cho các ứng dụng chi phí thấp như thiết bị điện tử thân xe và FlexRay để liên lạc dữ liệu đồng bộ tốc độ cao
4.Giao thức LIN
LIN hoạt động theo kiến trúc Master – Slave:
● 1 cụm LIN bao gồm 1 tác vụ chính (master task) và các tác vụ phụ (slave
task)
● Node chính (master node) chứa tác vụ chính cũng như tác vụ phụ
● Các node còn lại đều chỉ gồm tác vụ phụ
● Tác vụ chính sẽ quyết định frame nào sẽ được vận chuyển trên bus
● Tác vụ phụ sẽ cung cấp data được vẫn chuyển bởi mỗi frame
4.1.Header
Header trong mạng LIN gồm 5 thành phần
● Header
Trang 6● Sync
● Inter byte space
● Identifier
● Response space
4.2.Respond
Respond được gửi bởi một trong các nhiệm vụ slave LIN đính kèm và được chia thành
dữ liệu và tổng kiểm tra
DATA: Slave đáp ứng có thể gửi 0 đến 8 byte dữ liệu tới bus Lượng dữ liệu được cố định bởi nhà thiết kế ứng dụng và phản ánh dữ liệu liên quan đến ứng dụng mà slave LIN chạy
KIỂM TRA: Có hai mô hình tổng kiểm tra có sẵn trong LIN - Đầu tiên là tổng kiểm tra chỉ bao gồm các byte dữ liệu (đặc điểm kỹ thuật cho đến Phiên bản 1.3), lần thứ hai bao gồm cả định danh (Phiên bản 2.0+) Mô hình tổng kiểm tra được sử dụng được xác định trước bởi nhà thiết kế ứng dụng
5.So sánh LIN với CAN
● LIN có chi phí thấp hơn CAN (khai thác ít hơn, không có phí giấy phép, các nút giá rẻ)
● CAN sử dụng dây kép được bảo vệ xoắn (5V), trong khi LIN sử dụng dây đơn (12V)
● Một chủ LIN thường đóng vai trò là cổng vào bus CAN
● LIN mang tính quyết định, không phải do sự kiện (nghĩa là no bus arbitration)
● Các cụm LIN có một chủ duy nhất - CAN có nhiều
● CAN sử dụng định danh 11 hoặc 29 bit so với định danh 6 bit trong LIN
● CAN cung cấp tối đa 1 Mbit / s so với LIN tối đa 20 kbit / s
6 Ưu điểm của LIN
● Dễ sử dụng
Trang 7● Các thành phần có sẵn
● Rẻ hơn CAN và các xe buýt truyền thông khác
● Giảm khai thác
● Phương tiện đáng tin cậy hơn
● Tiện ích mở rộng dễ thực hiện
● Không yêu cầu phí cấp phép giao thức
7.Các loại khung LIN
Unconditional Frames
Đây là loại giao tiếp LIN "bình thường" Master gửi một tiêu đề khung trong một khe khung đã lên lịch và nút Slave được chỉ định sẽ lấp đầy khung bằng dữ liệu Các khung vô điều kiện mang tín hiệu và số nhận dạng khung của chúng nằm trong phạm
vi từ 0 (không) đến 59 (0x3B)
Event Triggered Frames
Trang 8Mục đích của một khung kích hoạt sự kiện là tăng khả năng phản hồi của cụm LIN mà không gán quá nhiều băng thông bus cho việc thăm dò nhiều nút Slave với các sự kiện hiếm khi xảy ra
● Chủ nhân hỏi Nô lệ nếu một sự kiện nào đó đã xảy ra
● Chỉ những người đã xem sự kiện mới xuất bản phản hồi
● Số nhận dạng 0x00 đến 0x3b (0-59)
● Va chạm là có thể - Nếu nhiều hơn một Slave đã phát hiện ra sự kiện được chỉ định, tất cả đều phản ứng đồng thời, dẫn đến va chạm
● Khi được phát hiện, Master sẽ hoàn nguyên về các khung vô điều kiện
● Có thể dẫn đến việc sử dụng băng thông tốt hơn
Sporadic Frames
Mục đích của các khung lẻ tẻ là pha trộn một số hành vi động vào bảng lịch trình tập trung vào thời gian thực và xác định mà không làm mất tính quyết định trong phần còn lại của bảng lịch trình
Trang 9● Chỉ được gửi bởi Master khi biết rằng một Slave đã cập nhật thông tin để xuất bản
● Kết hợp hành vi động vào bảng lịch trình
Diagnostic Frames
Chúng được sử dụng trong phần Đặc tả lớp vận chuyển của Đặc tả LIN v2.2A Chức năng chính của chúng là trong khu vực thực hiện các chức năng chẩn đoán và cấu hình trên LIN Slaves
● Mang theo dữ liệu chẩn đoán / cấu hình
● Luôn chứa tải trọng dữ liệu 8 byte
● Số nhận dạng được chỉ định:
o 0x3C (60) Khung yêu cầu chính
o 0x3D (61) Khung phản ứng nô lệ
8.Ứng dụng của LIN trong thực tế
Mạng LIN thường được sử dụng trong mạng giao tiếp nội bộ trên hệ thống body không cần tốc độ truyền cao và có thể giao tiếp 2 chiều
LIN cũng được sử dụng trên những hệ thống phụ “Sub system”, những hệ thống không cần tốc độ truyền cao và dữ liệu nhiều
Một số hệ thống thường dùng mạng giao tiếp LIN :
Ứng dụng Ví dụ cụ thể
Mái Cảm biến ánh sáng, điều khiển ánh sáng, mái che nắng
Bánh lái Kiểm soát hành trình, gạt nước, bật đèn, radio, khóa bánh xe Ghế Động cơ vị trí ghế, cảm biến người ngồi, bảng điều khiển
Động cơ Cảm biến, động cơ nhỏ, động cơ quạt làm mát
Grille Màn trập lưới tản nhiệt
Khí hậu Động cơ nhỏ, bảng điều khiển
Trang 10Cửa Gương, công tắc gương, công tắc khóa cửa, khóa cửa sổ
Chiếu sáng Tăng cường trang trí xe, tấm ngưỡng cửa chiếu sáng bằng đèn
II Nguyên lý hoạt động
1.Mô hình ghép nối
Trang 11Hoạt động:
Để nêu rõ giao tiếp khi yêu cầu được gửi từ thiết bị bus LIN chính đến header( các loại khung frame nêu trên ) kiểm tra trường của bit dữ liệu này bao gồm dữ liệu này thành 13 bit ưu tiên.(bit đủ cho giao tiếp UART)
Sau đó, trường Sync đồng bộ hóa dữ liệu sẽ xác định dữ liệu này thành ký tự x55 được định sẵn trong trường sync và cho phép thiết bị slave tự động thiết lập tốc độ baud của dữ liệu này
Sau đó, trường ID là trường cuối cùng của header mesage Nó cung cấp việc xác định từng tin nhắn trên mạng và quyết định nút slave của ai sẽ được phản hồi trên dữ liệu hoặc tin nhắn này (các slave đều được định danh sẵn)
Chiều dài 6 Bit
4 lớp 1/2/4/8 byte dữ liệu Độ dài mã hóa trong
2 LSB của ID-Field Mỗi lớp có 16 mã định danh Tổng cộng
trong số 64 Mã nhận dạng có thể
Tương tự như vậy, trường Dữ liệu trong phản hồi tin nhắn kiểm tra dữ liệu này,
chuyển đổi nó thành 0 đến 8 bit và sau đó gửi nó đến bus slave Trường checksum kiểm tra các thuật toán của dữ liệu này và cuối cùng gửi dữ liệu này đến bus slave
2.Thiết lập giữa bên thu và bên phát
Bộ thu phát L9637 K-Line là một mạch tích hợp nguyên khối chứa các chức năng giao diện tương thích tiêu chuẩn ISO 9141 Các tính năng của nó được liệt kê dưới đây
Trang 12● Dải điện áp cung cấp điện hoạt động 4,5V ≤ VS ≤ 36V (40V đối với tạm thời)
● Pin nguồn ngược được bảo vệ xuống VS ≥ -24V
● Chế độ chờ với mức tiêu thụ dòng điện rất thấp ISSB 1µA @Vcc 0,5V
● Dòng tĩnh thấp khi TẮT điều kiện ISOOFF = 120µA
● Đầu vào TX tương thích TTL
● Chân KI/O hai chiều với ngưỡng đầu vào phụ thuộc vào điện áp nguồn
● Chức năng tắt quá nhiệt chọn lọc cho chân KI/O
● Dải điện áp đầu vào và đầu ra rộng -24V ≤ VK ≤ VS
● Giới hạn dòng điện đầu ra K, điển hình IK = 60mA
● Trạng thái đầu ra TẮT được xác định trong điều kiện có điện áp và gián đoạn VS hoặc GND
● Độ dốc đầu ra được kiểm soát đối với EMI thấp
● Trở kháng đầu vào cao cho kết nối VS hoặc GND mở
● Đầu ra được xác định về trạng thái LO hoặc RX cho đầu vào LI hoặc K mở
● Đầu ra được xác định về trạng thái LO hoặc RX cho đầu vào LI hoặc K mở
● Điện trở kéo lên tích hợp cho TX, RX và LO
● Độ mạnh của EMI được tối ưu hóa
3.Cấu trúc dữ liệu
LIN là một mạng nối tiếp phát sóng Lớp liên kết dữ liệu thực hiện nguyên tắc Master-Slave để kiểm soát truy cập trung bình Tất cả các tin nhắn được khởi xướng bởi Master với tối đa một Slave trả lời một mã định danh tin nhắn nhất định Nút Master kiểm soát việc phát hành các khung dữ liệu trên bus, đảm bảo rằng chúng được gửi với khoảng thời gian và chu kỳ phù hợp và mọi khung hình đều có đủ không gian thời gian trên bus
Bus LIN được thiết kế để vận chuyển các thông báo điều khiển ngắn (2, 4 hoặc 8 byte) Dữ liệu được trao đổi trong các khung được gọi là Tín hiệu
Trang 13Một cụm LIN chứa (nhiều nhất) 1 nút được chỉ định là LIN-Master:
● Chứa một Tác vụ Chính gửi Tiêu đề đều đặn dựa trên LDF
● Chứa một Nhiệm vụ Nô lệ:
o Gửi phản hồi
o Đọc một câu trả lời
o Bỏ qua tiêu đề
Một cụm LIN chứa tối đa 16 nút được chỉ định là LIN-Slaves:
● Chứa một Nhiệm vụ Nô lệ:
o Gửi phản hồi
o Đọc một câu trả lời
o Bỏ qua tiêu đề
III.Ví dụ
Giao tiếp LIN
Trang 15Code gửi dữ liệu:
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
//tham số LCD
const int rs = 7;
const int en = 8;
const int d4 = 9;
const int d5 = 10;
const int d6 = 11;
const int d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
//tham số LIN
int END = 0; //giá trị để xác định độ dài của dữ liệu đọc
const int Rx = 2; //pin number of the LIN recive pin
const int Tx = 3; //số chân của chân nhận LIN
const int EN = 4; //Số chân của LIN Enable lưu ý chân này không được sử dụng trên HW hoặc trong SW
char inByte[70]; //dự trữ một khối tin nhắn receded lớn
const int baud = 9600;// đặt tốc độ truyền cho nối tiếp USB và LIN
SoftwareSerial LIN(Rx, Tx); // đặt nối tiếp Phần mềm với các chân Rx và Tx
Trang 16 void setup() {
LIN.begin(baud); //bắt đầu nối tiếp SW với tốc độ Baud đã xác định
lcd.begin(16, 2); //đặt hiển thị thành 16 cột và 2 hàng
lcd.print("awating data"); //hiển thị tin nhắn trên LCD
delay(1000); //độ trễ
lcd.clear();
pinMode (EN, OUTPUT);
digitalWrite (EN, HIGH);
}
void loop() {
LIN.read(); // đọc bus đầu vào
if (LIN.available() > 0) {
END = LIN.readBytes(inByte, sizeof inByte); //có bao nhiêu byte & lưu dữ liệu vào vị trí inByte
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("END Data: ");
lcd.print(END);
delay(1000);
lcd.clear();
//hiển thị dữ liệu
for (int i = 0; i < END; i++) {
lcd.print("In Data: ");
lcd.print(i);
lcd.setCursor(0, 1);
lcd.print(inByte[i], HEX);
delay(3000);
lcd.clear();
}
}
else {
lcd.setCursor(0, 0);
lcd.print("No data");
lcd.setCursor(0, 1);
lcd.print(Serial.available(), HEX);
}
Trang 17
delay (1000);
}
Code nhận dữ liệu:
#include <SoftwareSerial.h>
//tham số LIN
int END = 0;
const int Rx = 2;
const int Tx = 3;
const int EN = 4;
char inByte[70];
const int baud = 9600;
SoftwareSerial LIN(Rx, Tx);
void setup() {
Serial.begin(baud);
LIN.begin(baud);
while (!Serial) {
;
}
}
void loop() {
LIN.read();
if (LIN.available() != 0) {
END = LIN.readBytes(inByte, sizeof inByte);
Serial.print("number of bytes recived: ");
Serial.println(END);
for (int i = 0; i < END; i++) {
Serial.print("data byte(");
Serial.print(i);
Serial.print("): ");
Trang 18 Serial.println(inByte[i], HEX);
}
}
else {
Serial.print("no data");
Serial.println(".");
}
delay (1000);
}
TÀI LIỆU THAM KHẢO
1 Local Interconnect Network: Local Interconnect Network - Wikipedia
2 LIN (LOCAL INTERCONNECT NETWORK) SOLUTIONS): LIN (Local Interconnect Network) solutions (st.com)
3 Mạng LIN - Local Interconnect Network:
http://cogetechcorp.blogspot.com/2019/06/mang-lin-local-interconnect-network.html
4 MẠNG GIAO TIẾP TRÊN Ô TÔ LÀ GÌ? TẦM QUAN TRỌNG CỦA MẠNG GIAO TIẾP Ô TÔ: https://skyauto.vn/mang-giao-tiep-tren-o-to-la-gi-tam-quan-trong-cua-mang-giao-tiep-o-to
Trang 195 Mạng giao tiếp trên ô tô – Tầm quan trọng, phân loại và xu hướng tương lai:
https://skyauto.vn/mang-giao-tiep-tren-o-to-la-gi-tam-quan-trong-cua-mang-giao-tiep-o-to
6 Hoạt động cơ bản mạng LIN trên ôtô: https://www.youtube.com/watch?
v=K_a2xY78i0g&ab_channel=H%E1%BB%8Dc%C4%91i%E1%BB%87n
%C3%B4t%C3%B4