Chủ Nhật, 2 tháng 6, 2019

Mạng LIN - Local Interconnect Network

LIN bus vs CAN bus Signal
LIN (Mạng kết nối cục bộ) là một giao thức mạng nối tiếp được sử dụng để liên lạc giữa các thành phần trong xe. Nhu cầu về một mạng nối tiếp giá rẻ nảy sinh khi các công nghệ và phương tiện được triển khai trong xe hơi tăng lên, trong khi mạngCAN quá đắt để thực hiện cho mọi thành phần trong xe. Các nhà sản xuất ô tô châu Âu bắt đầu sử dụng các công nghệ truyền thông nối tiếp khác nhau, dẫn đến các vấn đề 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.


Đường dây LIN trên DC (DC-LIN) đang được chuẩn hóa thành ISO / AWI 17987-8. [1]

CAN trong Tự động hóa đã được Hội đồng quản lý kỹ thuật ISO (TMB) chỉ định làm Cơ quan đăng ký cho ID nhà cung cấp LIN được chuẩn hóa trong loạt ISO 17987.

1. Cấu trúc liên kết mạng
LIN là một mạng nối tiếp phát sóng bao gồm 16 nút (một chủ và thường lên đến 15 slaves). [2] [3] [4] [5]

Tất cả các tin nhắn được master khởi xướng với tối đa một slave trả lời một định danh tin nhắn đã cho. Nút Master cũng có thể hoạt động như một slave bằng cách trả lời các thông điệp của chính nó. Bởi vì tất cả các thông tin liên lạc được khởi xướng bởi Master, nên Master không cần thiết phải thực hiện phát hiện va chạm. [6]

Master và slave thường là vi điều khiển, nhưng có thể được triển khai trong phần cứng hoặc ASIC chuyên dụng để tiết kiệm chi phí, không gian hoặc năng lượng.

Việc sử dụng hiện tại kết hợp hiệu quả chi phí thấp của LIN và các cảm biến đơn giản để tạo ra các mạng nhỏ. Các hệ thống phụ này có thể được kết nối bằng mạng xương lưng (tức là CÓ THỂ trong ô tô). [7]


2. Tổng quan
Bus LIN là một giao thức truyền thông nối tiếp rẻ , hỗ trợ hiệu quả cho ứng dụng từ xa trong mạng của xe hơi. Nó đặc biệt dành cho các nút cơ điện tử trong các ứng dụng ô tô phân tán, nhưng cũng phù hợp không kém với các ứng dụng công nghiệp. Nó được dự định để bổ sung cho mạng CAN hiện tại dẫn đến các mạng phân cấp trong xe ô tô.

Vào cuối những năm 1990, Hiệp hội Mạng liên kết cục bộ (LIN) được thành lập bởi năm nhà sản xuất ô tô châu Âu, Mentor Graphics (Tập đoàn ô tô Volcano trước đây) và Freescale (trước đây là Motorola, nay là NXP). Phiên bản được triển khai đầy đủ đầu tiên của đặc tả LIN mới được xuất bản vào tháng 11 năm 2002 với tên LIN phiên bản 1.3. 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 cấu hình và cung cấp các quy định cho các tính năng chẩn đoán bổ sung và giao diện công cụ quan trọng.

Các tính năng chính của giao thức được liệt kê dưới đây:

  • Master duy nhất, tối đa 16 slave . Đây là giá trị được đề xuất bởi Liên minh LIN để đạt được đáp ứng thời gian xác định. [8]
  • Phát hiện vị trí nút Slave (SNPD) cho phép gán địa chỉ nút sau khi bật nguồn [9]
  • Truyền thông dây đơn lên đến 19,2 kbit / s @ 40 mét chiều dài bus. [8] [10] Trong đặc tả LIN 2.2, [9] tốc độ lên tới 20 kbit / s.
  • Đảm bảo thời gian trễ.
  • Độ dài thay đổi của khung dữ liệu (2, 4 và 8 byte).
  • Cấu hình linh hoạt.
  • Multi-cast reception với đồng bộ hóa thời gian, không cần thạch anh tinh thể hoặc gốm.
  • Kiểm tra dữ liệu và phát hiện lỗi.
  • Phát hiện các nút bị lỗi.
  • chi phí thấp dựa trên phần cứng UART / SCI tiêu chuẩn.
  • Enabler cho các mạng phân cấp.
  • Điện áp hoạt động  12 V. [8]

Dữ liệu được truyền qua bus dưới dạng tin nhắn cố định có độ dài có thể chọn. Tác vụ chính truyền một header bao gồm tín hiệu ngắt theo sau là các trường đồng bộ hóa và định danh. Các slave  trả lời với một khung dữ liệu bao gồm từ 2, 4 đến 8 byte dữ liệu cộng với 3 byte thông tin điều khiển. [9]


3. Khung tin nhắn LIN
Một message chứa các trường sau: [9]

  • Ngắt đồng bộ hóa
  • Byte đồng bộ hóa
  • Mã định danh byte
  • Byte dữ liệu
  • Check sum
Các loại khung
1. Khung vô điều kiện.
Chúng luôn mang tín hiệu và số nhận dạng của chúng nằm trong phạm vi 0 đến 59 (0x00 đến 0x3b). Tất cả các thuê bao của khung vô điều kiện sẽ nhận được khung và cung cấp cho ứng dụng (giả sử không có lỗi nào được phát hiện).

2.Khung kích hoạt sự kiện. 
Mục đích của việc này là để tăng khả năng phản hồi của cụm LIN mà không chỉ định quá nhiều băng thông bus cho việc bỏ phiếu của nhiều nút nô lệ với các sự kiện hiếm khi xảy ra. Byte dữ liệu đầu tiên của khung vô điều kiện mang theo phải bằng với mã định danh được bảo vệ được gán cho khung kích hoạt sự kiện. Một nô lệ sẽ trả lời với một khung vô điều kiện liên quan chỉ khi giá trị dữ liệu của nó thay đổi. Nếu không có tác vụ phụ nào phản hồi tiêu đề, phần còn lại của khe khung sẽ im lặng và tiêu đề bị bỏ qua. Nếu có nhiều hơn một tác vụ nô lệ phản hồi tiêu đề trong cùng một khung khung thì sẽ xảy ra xung đột và chủ phải giải quyết xung đột bằng cách yêu cầu tất cả các khung vô điều kiện liên quan trước khi yêu cầu lại khung kích hoạt sự kiện.

3.Khung lẻ tẻ. 
Khung này được truyền bởi chủ theo yêu cầu, do đó không thể xảy ra va chạm. Tiêu đề của khung lẻ tẻ chỉ được gửi trong khe khung liên kết của nó khi tác vụ chính biết rằng tín hiệu mang trong khung đã được cập nhật. Nhà xuất bản của khung lẻ tẻ sẽ luôn cung cấp phản hồi cho tiêu đề.

4. Khung chẩn đoán. 
Chúng luôn mang dữ liệu chẩn đoán hoặc cấu hình và chúng luôn chứa tám byte dữ liệu. Mã định danh là 60 (0x3C), được gọi là khung yêu cầu chính hoặc 61 (0x3D), được gọi là khung phản hồi nô lệ. Trước khi tạo tiêu đề của khung chẩn đoán, tác vụ chính sẽ hỏi mô-đun chẩn đoán của nó nếu nó được gửi hoặc nếu bus sẽ im lặng. Các tác vụ nô lệ xuất bản và đăng ký phản hồi theo mô-đun chẩn đoán của họ.

4.Khung do người dùng định nghĩa.
Có thể mang bất kỳ loại thông tin nào. Định danh của họ là 62 (0x3E). Tiêu đề của khung do người dùng xác định, luôn được truyền khi một khe khung được phân bổ cho khung được xử lý

5.Khung dành riêng.
Chúng không được sử dụng trong cụm LIN 2.0. Định danh của họ là 63 (0x3F).


4.Phần cứng LIN
LIN được thiết kế dựa trên ISO 9141. [11] Trong cấu trúc liên kết mạng xe hơi ngày nay, các bộ vi điều khiển có UART hoặc phần cứng LIN chuyên dụng được sử dụng. Bộ vi điều khiển tạo ra tất cả dữ liệu LIN cần thiết (giao thức ...) (một phần) bằng phần mềm và được kết nối với mạng LIN thông qua bộ thu phát LIN (nói một cách đơn giản, bộ dịch mức với một số tiện ích bổ sung). Làm việc như một nút LIN chỉ là một phần của chức năng có thể. Phần cứng LIN có thể bao gồm bộ thu phát này và hoạt động như một nút LIN thuần túy mà không cần thêm chức năng.

Vì các nút LIN Slave nên càng rẻ càng tốt, họ có thể tạo đồng hồ bên trong bằng cách sử dụng bộ dao động RC thay vì bộ dao động tinh thể (thạch anh hoặc gốm). Để đảm bảo độ ổn định tốc độ baud trong một khung LIN, trường SYNC trong header được sử dụng.


5. Giao thức LIN
LIN-Master sử dụng một hoặc nhiều bảng lập lịch được xác định trước để bắt đầu gửi và nhận đến bus LIN. Các bảng lập lịch này chứa ít nhất thời gian tương đối, trong đó việc gửi tin nhắn được bắt đầu. Một khung LIN bao gồm hai phần header và respone. Header luôn được gửi bởi LIN Master, trong khi phản hồi được gửi bởi một LIN-Slave chuyên dụng hoặc chính chủ LIN.

Dữ liệu được truyền trong LIN được truyền tuần tự dưới dạng 8 bit dữ liệu với một bit start, một stop-bit và không có chẵn lẻ (trường ngắt không có bit start và bit stop). Tốc độ bit thay đổi trong phạm vi từ 1 kbit / s đến 20 kbit / s. Dữ liệu trên xe buýt được chia thành recessive (logic CAO) và chiếm ưu thế (logic THẤP). Thời gian bình thường được xem xét bởi nguồn đồng hồ ổn định LIN Masters, thực thể nhỏ nhất là thời gian một bit (52 lời nói @ 19,2 kbit / s).

Hai trạng thái bus - Chế độ ngủ và hoạt động - được sử dụng trong giao thức LIN. Trong khi dữ liệu trên bus, tất cả các nút LIN được yêu cầu ở trạng thái hoạt động. Sau một khoảng thời gian chờ đã chỉ định, các nút vào chế độ Ngủ và sẽ được giải phóng trở lại trạng thái hoạt động bằng khung WAKEUP. Khung này có thể được gửi bởi bất kỳ nút yêu cầu hoạt động nào trên bus, hoặc LIN Master theo lịch trình nội bộ của nó hoặc một trong các Slave LIN đính kèm được kích hoạt bởi ứng dụng phần mềm nội bộ của nó. Sau khi tất cả các nút được đánh thức, Master tiếp tục lên lịch cho Mã định danh tiếp theo.

5.1 Header
Tiêu đề bao gồm năm phần:

BREAK: Trường BREAK được sử dụng để kích hoạt tất cả các slave LIN  lắng nghe các phần sau của Header Msg. Nó bao gồm một bit start và một số bit trội. Độ dài ít nhất là truyền 11 bit; hiện nay là 13 bit và do đó khác với định dạng dữ liệu cơ bản. Điều này được sử dụng để đảm bảo rằng các nút LIN nghe với đồng hồ chính khác với tốc độ truyền bus được đặt trong các phạm vi được chỉ định sẽ phát hiện BREAK khi khung bắt đầu giao tiếp và không phải là byte dữ liệu tiêu chuẩn với tất cả các giá trị 0 (thập lục phân 0x00).

SYNC: SYNC là một byte định dạng dữ liệu tiêu chuẩn với giá trị thập lục phân 0x55. Các slave LIN chạy trên bộ tạo dao động RC sẽ sử dụng khoảng cách giữa một lượng cố định của các cạnh tăng và giảm để đo thời gian bit hiện tại trên bus (thời gian bình thường của Master) và để tính toán lại tốc độ truyền bên trong.

INTER BYTE SPACE: Inter Byte Space được sử dụng để điều chỉnh cho jitter bus. Nó là một thành phần tùy chọn trong đặc tả LIN. Nếu được bật, thì tất cả các nút LIN phải được chuẩn bị để đối phó với nó.
Có một không gian Inter Byte giữa trường BREAK và SYNC, một giữa SYNC và IDENTIFIER, một giữa tải trọng và Checksum và một giữa mỗi byte dữ liệu trong tải trọng.

IDENTIFIER: IDENTIFIER định nghĩa một hành động được thực hiện bởi một hoặc một số nút slave  LIN đính kèm. Nhà thiết kế mạng phải đảm bảo chức năng không có lỗi trong giai đoạn thiết kế (một slave  được phép gửi dữ liệu tới bus trong một khung thời gian).
Nếu mã định danh khiến một slave LIN vật lý gửi phản hồi, mã định danh có thể được gọi là mã định danh Rx. Nếu tác vụ slave  của Master gửi dữ liệu đến bus, nó có thể được gọi là định danh Tx.

RESPONSE SPACE: Không gian đáp ứng là thời gian giữa trường IDENTIFIER và byte dữ liệu đầu tiên khởi động phần LIN RESPONSE của khung LIN. Khi một khung LIN cụ thể được truyền hoàn toàn, Header + Feedback, bởi LIN MASTER, LIN MASTER sẽ sử dụng toàn bộ THỜI GIAN KHÔNG GIAN LẠI để tính toán khi nào gửi phản hồi sau khi gửi tiêu đề. Nếu phần phản hồi của khung LIN đến từ SLAVE NODE vật lý khác nhau, thì mỗi nút (chính & phụ) sẽ sử dụng 50% thời gian Không gian đáp ứng trong các tính toán thời gian chờ của chúng.

5.2 Respone
Phản hồi đượ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. [9]

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.



6. Phát hiện vị trí nút Slave (SNPD) hoặc tự động đánh địa chỉ
Các phương thức này cho phép phát hiện vị trí của các nút tớ trên bus LIN và cho phép gán địa chỉ nút duy nhất (NAD). [12]

Cho phép các thiết bị tương tự hoặc tương tự được kết nối trên bus.
Hạn chế:
Tất cả các slave địa chỉ tự động phải ở trong một line
Slave  tiêu chuẩn có thể được kết nối theo bất kỳ cách nào
SNPD MethodSNPD Method IDCompany
Extra wire daisy chain0x01NXP (formerly Philips)
Bus shunt method0x02Elmos Semiconductor
Reserved0x03TBD
Reserved0x04TBD
Reserved0xFFTBD

6.1 Chuỗi cúc dây bổ sung (XWDC)
Mỗi nút Slave   phải cung cấp thêm hai chân, một đầu vào, D1 và một đầu ra, D2.

Đầu vào nút SNPD đầu tiên D1 được đặt thành GND hoặc được kết nối với đầu ra của bản gốc.
Đầu ra của nút đầu tiên, D2, được kết nối với đầu vào, D1 của nút thứ hai, và do đó dẫn đến một chuỗi daisy.
Mỗi chân cấu hình Dx (x = 1-2) có thêm mạch để hỗ trợ phát hiện vị trí.

Chuyển đổi điện trở kéo lên Vbat
Kéo xuống GND
Bộ so sánh được tham chiếu đến Vbat / 2

6.2 Quy trình đánh địa chỉ tự động XWDC
Khi bắt đầu thủ tục, không có thiết bị SNPD nào được gán NAD

1 Tin nhắn LIN địa chỉ tự động đầu tiên
1.1 Tất cả các đầu ra (Output) được đặt ở mức cao, tất cả các lần kéo xuống đều bị tắt
1.2 Nút SNPD đầu tiên được chọn. Nó được xác định bằng cách có D1 đầu vào thấp (cứng).
1.3 Nút được chọn sẽ lấy địa chỉ từ thông báo cấu hình LIN
1.4 Nút được phát hiện bật xuống kéo xuống ở đầu ra D2

2 tin nhắn LIN địa chỉ tự động tiếp theo
2.1 Nút SNPD không có địa chỉ đầu tiên được chọn. Nó được xác định bằng cách có D1 đầu vào thấp (D2 của nút trước đó).
2.2 Nút được chọn sẽ lấy địa chỉ từ thông báo cấu hình LIN
2.3 Nút được phát hiện bật xuống kéo xuống ở đầu ra D2
2.4 Các bước 2.1-2.4 được lặp lại cho đến khi tất cả các nút nô lệ được gán một địa chỉ

3 Tất cả các thao tác kéo và kéo xuống đều bị tắt khi hoàn tất quy trình đánh địa chỉ

6.3 Phương pháp shunt xe buýt (BSM)
Mỗi nút slave có hai chân LIN:
Rx và Tx
Mỗi nút slave cần một số mạch bổ sung so với mạch LIN tiêu chuẩn để hỗ trợ phát hiện vị trí.

  1. Kéo lên tiêu chuẩn phải có thể chuyển đổi
  2. Nguồn hiện tại có thể chuyển đổi 2 mA từ Vbat
  3. Điện trở shunt
  4. Bộ khuếch đại vi sai
  5. Chuyển đổi tương tự sang kỹ thuật số


6.4 Thủ tục địa chỉ tự động BSM
Khi bắt đầu thủ tục, không có thiết bị SNPD nào được gán NAD. Thói quen tự động tải được thực hiện trong trường đồng bộ hóa. Trường đồng bộ được chia thành ba giai đoạn:

1 Offset đo hiện tại
1.1 Tất cả các đầu ra pull-up và các nguồn hiện tại đều bị tắt
1.2 Dòng bus được đo, Ioffset

2 Chế độ kéo lên
2.1 Pull-up được bật và nguồn hiện tại vẫn tắt
2.2 Dòng bus được đo, IPU
2.3 Các nút có ΔI = IPU-Ioffset <1 mA được "chọn

3 Chế độ nguồn hiện tại
3.1 Các nút được chọn bật nguồn hiện tại và các nút khác tắt pull-up
3.2 Dòng bus được đo, ICS
3.3 Nút có ΔI = ICS-Ioffset <1 mA được phát hiện là nút cuối cùng
3.4 Các nguồn hiện tại đã được tắt và pull-up được bật
3.5 Nút cuối cùng sẽ chấp nhận địa chỉ chứa trong thông báo cấu hình LIN
Kỹ thuật này được bảo vệ bởi các bằng sáng chế EP 1490772 B1 và ​​US 7091876.

Các ứng dụng
Ví dụ ứng dụng LIN cụ thể
Cảm biến mái, cảm biến ánh sáng, điều khiển ánh sáng, mái nhà mặt trời
Tay lái Điều khiển hành trình, gạt nước, bật đèn, kiểm soát khí hậu, radio, khóa bánh xe
Ghế ngồi động cơ vị trí, cảm biến người ngồi, bảng điều khiển
Cảm biến động cơ, động cơ nhỏ, động cơ quạt làm mát
Lưới tản nhiệt
Động cơ khí hậu nhỏ, bảng điều khiển
Gương cửa, ECU trung tâm, công tắc gương, cửa sổ nâng, công tắc điều khiển ghế, khóa cửa
Chiếu sáng Tăng cường trang trí xe, tấm ngưỡng được chiếu sáng bằng đèn LED RGB

Không có nhận xét nào:

Đăng nhận xét