LIN基礎:從LIN Frame開始

目錄:

1、LIN的網絡拓撲

2、LIN Frame

1)Header? ?2)Response

3、LIN的通信規則

1)LIN的發送行為示例? ?2)LIN的接收行為示例


雖然LIN總線的通信速率不高,工程中,最高的速率也就19200bps。但是,LIN總線依然在整車拓撲(汽車電子知識匯總)中被廣泛使用,為什么呢?:成本。LIN總線,作為CAN總線的補充衍生而來。對于一些實時性、安全性要求不高的場景(eg:空調、座椅、門窗、后視鏡),可以使用價格相對低廉的Lin總線,以此降低整車成本。本文,從LIN Frame開始,聊一聊Lin。

1、LIN的網絡拓撲

LIN總線和CAN總線一樣,是串行通信總線。不同于CAN總線的雙絞線,LIN的物理連接,使用單線連接,LIN總線的網絡拓撲如下所示:

圖片

一個Lin網絡拓撲中,受限于電氣特性,一般會約束通信節點的數量,eg:16個。

2、LIN Frame

學習任何總線,都需要清楚其鏈路層的報文格式,也就是"Frame"。對于LIN總線的學習,最權威的規范莫過于17897,LIN Frame的講解主要在Part3部分。LIN Frame結構如下所示:

圖片

如上圖,LIN Frame主要由兩部分組成:Header +?Response

1)Header

Header包含三個Field:Break Field、Sync?Byte?Field、Protected?Identifier Field。

Break Field:間隔域。由Master發送,表示一個新的LIN Frame的開始,至少由13 Bit的顯性位組成,之后跟至少1Bit的隱性位,如下所示:

圖片

LIN總線的顯性(Dominant)和隱性(Recessive)不同于CAN總線,由于Lin總線是單線通信方式,沒有壓差的概念。在LIN總線中,接收端(Receiver)將高于Vbat 60%的電壓看作隱性,將低于Vbat 40%的電壓看作顯性;對于發送端,將高于Vbat 80%的電壓看作隱性,將低于Vbat 20%的電壓看作顯性。如下所示:

圖片

Sync Byte Field:同步域,主要作用是:協調接收端識別發送端的通信速率。按照協議規范,此處固定為0x55。接收端判斷同步域開始和結束的兩個下降沿,再除以8就可以算出發送端每個Bit的時間長度。

圖片

Protected Identifier Field:此域包括Frame Identifier和Parity,這兩個部分構成了常說的PID。

Frame Identifier:報文的唯一標識,由6個Bit組成。6個bit可以表示的數據范圍0x00~0x3F;Parity:奇偶校驗,由兩個Bit組成。Frame Identifier和Parity在Protected Identifier Field中的Mapping如下所示:

圖片

2)Response

LIN通信中,請求只能Master發起,即發送Header,Slave響應主節點請求。各從節點根據Header中的ID來識別是否需要響應。LIN總線的Response部分包括數據和Checksum,數據最大可以傳送8 Byte。Header和Resposne之間有一個響應間隔(response space),每個數據字節之間有inter-byte space。Response格式如下所示:

圖片

對于間隔空間(Space),對應到具體的LIN Controller,可以根據項目需求配置,如下為一個LIN Frame的Maximum Bit示例:

圖片

Master可以處理三種類型的信息:發送幀頭(TxH)、發送響應(TxR)、接收響應(RxR);Slave也可以處理三類信息:接收幀頭(RxH)、發送響應(TxR)、接收響應(RxR)。如下所示:

圖片

3、LIN的通信規則

LIN總線的通信模式:主從模式。即:Master發送Header,Slave或者Master給出響應(Response)。

1)LIN的發送行為示例

圖片

  1. LIN通信啟動以后,Master節點先發送Header 0x10;

  2. Slave A識別0x10,需要給出響應(Response)。同理,其他節點也需要識別0x10,并給出對應的動作(響應、接收響應、忽略);

  3. Master節點按照時序,繼續發送Header 0x11;

  4. Slave C識別0x11,需要給出響應(Response)。同理,其他節點也需要識別0x11,并給出對應的動作(響應、接收響應、忽略);

  5. Master節點按照時序,繼續發送Header0x12;

  6. Slave B識別0x12,需要給出響應(Response)。同理,其他節點也需要識別0x12,并給出對應的動作(響應、接收響應、忽略);

2)LIN的接收行為示例

(1)Slave A給出0x10報文響應,Slave B接收0x10報文的響應,其他節點忽略此信息;

(2)Slave C給出0x11報文響應,Slave B接收0x11報文的響應,其他節點忽略此信息;

(3)Slave B給出0x12報文響應,Slave Master接收0x12報文的響應,其他節點忽略此信息。

具體接收流程示意如下所示:

圖片

原文出處:LIN基礎:從LIN Frame開始。?


世上無難事,只要肯登攀。覺得不錯,動動發財的小手點個贊哦!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715782.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715782.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715782.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言extern關鍵字

extern 是C和C中的關鍵字,用于聲明一個變量或函數的存在,但不進行定義。 它通常用于在一個源文件中引用另一個源文件中定義的變量或函數。 例如,extern int x; 表示 x 是一個整數變量,但它的實際定義將在其他文件中。在引用它的文…

StarRocks——Stream Load 事務接口實現原理

目錄 前言 一、StarRocks 數據導入 二、StarRocks 事務寫入原理 三、InLong 實時寫入StarRocks原理 3.1 InLong概述 3.2 基本原理 3.3 詳細流程 3.3.1 任務寫入數據 3.3.2 任務保存檢查點 3.3.3 任務如何確認保存點成功 3.3.4 任務如何初始化 3.4 Exactly Once 保證…

Leetcode - 周賽386

目錄 一,3046. 分割數組 二,3047. 求交集區域內的最大正方形面積 三,3048. 標記所有下標的最早秒數 I 四,3049. 標記所有下標的最早秒數 II 一,3046. 分割數組 將題目給的數組nums分成兩個數組,且這兩個…

探索RedisJSON:將JSON數據力量帶入Redis世界

探索RedisJSON:將JSON數據力量帶入Redis世界 當我們談論數據存儲和查詢時,Redis和JSON都是無法忽視的重要角色。Redis以其高效的鍵值存儲、快速的讀/寫速度、以及豐富的數據結構贏得了開發者的喜愛。而JSON,作為一種輕量級的數據交換格式&am…

「Vue3系列」Vue3 條件語句/循環語句

文章目錄 一、Vue3 條件語句1. v-if2. v-else-if 和 v-else3. v-show4. 使用計算屬性進行條件渲染5. v-if與v-show比較v-ifv-show性能考慮使用場景 二、Vue3 循環語句1. 遍歷數組2. 遍歷對象3. 使用索引4. 注意事項 三、相關鏈接 一、Vue3 條件語句 在 Vue 3 中,你…

盲人出行:科技創造美好的未來

在繁忙的都市中,我每天都要面對許多挑戰,盲人出行安全保障一直難以得到落實。我看不見這個世界,只能依靠觸覺和聽覺來感知周圍的一切。然而,我從未放棄過對生活的熱愛和對未來的憧憬。在一次機緣巧合下,我認識了一款名…

C3_W2_Collaborative_RecSys_Assignment_吳恩達_中英_Pytorch

Practice lab: Collaborative Filtering Recommender Systems(實踐實驗室:協同過濾推薦系統) In this exercise, you will implement collaborative filtering to build a recommender system for movies. 在本次實驗中,你將實現協同過濾來構建一個電影推薦系統。 …

VLAN實驗報告

實驗要求: 實驗參考圖: 實驗過程: r1: [r1]int g 0/0/0.1 [r1-GigabitEthernet0/0/0.1]ip address 192.168.1.1 24 [r1-GigabitEthernet0/0/0.1]dot1q termination vid 2 [r1-GigabitEthernet0/0/0.1]arp broadcast enable [r1]int g 0/0/…

Mysql學習之MVCC解決讀寫問題

多版本并發控制 什么是MVCC MVCC (Multiversion Concurrency Control)多版本并發控制。顧名思義,MVCC是通過數據行的多個版本管理來實現數據庫的并發控制。這項技術使得在InnoDB的事務隔離級別下執行一致性讀操作有了保證。換言之&#xff0…

django的模板渲染中的【高級定制】:按數據下標id來提取數據

需求: 1:在一個頁面中顯示一張數據表的數據 2:不能使用遍歷的方式 3:頁面中的數據允許通過admin后臺來進行修改 4:把一張數據表的某些內容渲染到[xxx.html]頁面 5:如公司的新商品頁面,已有固定的…

《夢幻西游》本人收集的34個單機版游戲,有詳細的視頻架設教程,值得收藏

夢幻西游這款游戲,很多人玩,喜歡研究的趕快下載吧。精心收集的34個版本。不容易啊。里面有詳細的視頻架設教程,可以外網呢。 《夢幻西游》本人收集的34個單機版游戲,有詳細的視頻架設教程,值得收藏 下載地址&#xff1…

FDM打印機學習

以下內容摘自網絡,僅供學習討論,侵刪。 持續更新。。。 FDM打印機是通過噴頭融化絲狀耗材(PLA,ABS等材料),然后逐層涂在熱床上,一層一層逐級抬高。 結構分類 Prusa i3型是一種龍門結構&#…

JavaWeb 下拉菜單怎么實現選擇不同的顏色?

在JavaWeb中實現下拉菜單選擇不同顏色的功能是一種常見的需求&#xff0c;可以通過HTML、CSS和JavaScript結合Java后端來實現。 第一步&#xff1a;編寫HTML頁面 首先&#xff0c;我們需要創建一個HTML頁面&#xff0c;其中包含一個下拉菜單和一個用于顯示顏色的區域。 <…

python 爬取文本內容并寫入json文件

背景: 項目需要從html 提取說明書目錄 實現: 由于html是包含所有內容,所以將其中目錄部分手動重新生成一個html 文件dir26.html python import requests from bs4 import BeautifulSoup import jsonfilename "dir26.html" # 替換為實際的文件路徑 with open(fil…

ES 備份索引

1、先創建索引 PUT file_info_sps_demo1 {"settings": {"index": {"number_of_shards": "1","blocks": {"read_only_allow_delete": "true"},"max_result_window": "500000",&quo…

階躍信號與沖擊信號

奇異信號&#xff1a;信號與系統分析中&#xff0c;經常遇到函數本身有不連續點&#xff08;跳變電&#xff09;或其導函數與積分有不連續點的情況&#xff0c;這類函數稱為奇異函數或奇異信號&#xff0c;也稱之為突變信號。以下為一些常見奇異函數。 奇異信號 單位斜變信號 …

C#雙向鏈表實現:Append()方法追加并顯示數據

目錄 一、涉及到的知識點 1.定義 2.雙向鏈表與單向鏈表的區別 二、實例 一、涉及到的知識點 1.定義 在雙向鏈表中&#xff0c;每個節點有兩個指針域&#xff0c;一個指向它的前一個節點&#xff08;即直接前驅&#xff09;&#xff0c;另一個指向它的后一個節點&#xff0…

Ubuntu18.04安裝RTX2060顯卡驅動+CUDA+cuDNN

Ubuntu18.04安裝RTX2060顯卡驅動CUDAcuDNN 1 安裝RTX2060顯卡驅動1.1 查看當前顯卡是否被識別1.2 安裝驅動依賴1.3 安裝桌面顯示管理器1.4 下載顯卡驅動1.5 禁用nouveau1.6 安裝驅動1.7 查看驅動安裝情況 2 安裝CUDA2.1 查看當前顯卡支持的CUDA版本2.2 下載CUDA Toolkit2.3 安裝…

車燈修復UV膠的優缺點有哪些?

車燈修復UV膠的優點如下&#xff1a; 優點&#xff1a; 快速固化&#xff1a;通過紫外光照射&#xff0c;UV膠可以在5-15秒內迅速固化&#xff0c;提高了修復效率。高度透明&#xff1a;固化后透光率高&#xff0c;幾乎與原始車燈材料無法區分&#xff0c;修復后車燈外觀更加…

對緩沖區的初步認識——制作進度條小程序

對緩沖區的初步認識--進度條小程序 前言預備知識回車和換行的區別輸出緩沖區/n 有清空輸出緩沖區的作用stdout是什么&#xff1f;驗證一切皆文件為什么是\n行刷新&#xff1f; 倒計時程序原理 代碼實現為什么這里要強制刷新&#xff1f;沒有會怎樣&#xff1f;為什么是輸出的是…