0.0基礎(chǔ)知識(shí)
LIN的全稱為L(zhǎng)ocal Interconnect Network。LIN主要功能是為CAN總線網(wǎng)絡(luò)提供輔助功能,應(yīng)用場(chǎng)合有智能傳感節(jié)點(diǎn)、自動(dòng)車窗節(jié)點(diǎn)等。
1.0硬件
1.1特點(diǎn)
1.采用單主多從的組網(wǎng)方式,無(wú)CAN總線那樣的仲裁機(jī)制,最多可連接16個(gè)節(jié)點(diǎn)(1主15從)。
2.對(duì)硬件要求簡(jiǎn)單,僅需UART/SCI 接口,輔以簡(jiǎn)單驅(qū)動(dòng)程序便可實(shí)現(xiàn) LIN 協(xié)議。故幾乎所有的MCU均支持LIN。
3.不需要單獨(dú)的晶振,便能完成主、從節(jié)點(diǎn)的同步,硬件成本大幅降低。
4.僅使用一根信號(hào)線便可完成信息的傳輸,即所謂的 單總線設(shè)備 。
5.傳輸速率最高可達(dá)20Kbps,符合A類網(wǎng)絡(luò)標(biāo)準(zhǔn),滿足車身控制需要。
6.LIN 網(wǎng)絡(luò)中新節(jié)點(diǎn)的加入,對(duì)網(wǎng)絡(luò)中其他原有節(jié)點(diǎn)的軟硬件設(shè)計(jì)不會(huì)造成影響。
1.2LIN網(wǎng)絡(luò)主從節(jié)點(diǎn)的功能
LIN網(wǎng)絡(luò)中的節(jié)點(diǎn)任務(wù)分為主機(jī)任務(wù)和從機(jī)任務(wù)兩類。其中,主機(jī)任務(wù)只在主機(jī)節(jié)點(diǎn)上運(yùn)行,而從機(jī)任務(wù)在主機(jī)節(jié)點(diǎn)和從機(jī)節(jié)點(diǎn)上均可運(yùn)行。也就是說(shuō),主機(jī)節(jié)點(diǎn)可以實(shí)現(xiàn)主機(jī)任務(wù)和從機(jī)任務(wù)。
A.主機(jī)任務(wù)主要執(zhí)行以下功能:
- 1.定義總線上的 通信速率 。
- 2.發(fā)送 報(bào)文幀頭 ,包含同步間隔場(chǎng)、同步場(chǎng)和標(biāo)識(shí)符場(chǎng)三個(gè)部分。
- 3.監(jiān)控總線通信,通過(guò) 校驗(yàn)和確定數(shù)據(jù)正確性與否 。
- 使從機(jī)進(jìn)入喚醒或睡眠狀態(tài) ,并響應(yīng)從機(jī)的喚醒要求。
B.從機(jī)任務(wù)既可運(yùn)行于主機(jī)又可運(yùn)行于從機(jī),它主要完成以下功能:
- 1.等待主機(jī)任務(wù)發(fā)送的同步間隔,使從機(jī)與主機(jī)于同步場(chǎng)中獲得同步。
- 2.分析標(biāo)識(shí)符場(chǎng),若與自己相關(guān),則接收或發(fā)送數(shù)據(jù),若與自己無(wú)關(guān)則什么都不做。
- 3.檢查和發(fā)送校驗(yàn)和。
- 4.接受主機(jī)任務(wù)的喚醒和睡眠請(qǐng)求。
2.0軟件
2.1顯隱性
LIN 總線上具有“顯性”和“隱性”兩種互補(bǔ)的邏輯電平。
其中,顯性電平(參考地電壓)是邏輯 0,隱性電平(電源電壓)是邏輯1。
2.2LIN報(bào)文的幀結(jié)構(gòu)
LIN總線的一幀主要由兩部分組成,即 報(bào)文頭(Header)和報(bào)文響應(yīng)(Response) 。
報(bào)文頭是由一個(gè)主機(jī)節(jié)點(diǎn)的主機(jī)任務(wù)發(fā)出的,而 報(bào)文響應(yīng)(以下簡(jiǎn)稱響應(yīng)) 是由一個(gè)主機(jī)節(jié)點(diǎn)或從機(jī)節(jié)點(diǎn)的從機(jī)任務(wù)發(fā)出的。
其中報(bào)文頭由 同步間隔場(chǎng) (最小13個(gè)顯性位)、 同步場(chǎng) (1個(gè)字節(jié),數(shù)據(jù)不變,0x55)、和 標(biāo)識(shí)符PID場(chǎng) (1個(gè)字節(jié))三部分組成;
報(bào)文響應(yīng)由2/4/8個(gè)字節(jié)的 數(shù)據(jù)場(chǎng) 、 校驗(yàn)和場(chǎng) (1個(gè)字節(jié))所組成。
報(bào)文頭和響應(yīng)之間有一個(gè) 幀內(nèi)空間分隔 ,最小空間為0。
2.3字符場(chǎng)格式
LIN 的字節(jié)場(chǎng)格式就是通常的“ SCI ”或“ UART ”串行數(shù)據(jù)格式(N81編碼)。即每個(gè)字節(jié)場(chǎng)的長(zhǎng)度是10個(gè)位定時(shí)(BIT TIME): 1bit起始位+8bits數(shù)據(jù)位+1bit停止位 。
起始位(START BIT) 是一個(gè)“顯性”位,它標(biāo)志著字節(jié)場(chǎng)的開(kāi)始。
接著是8個(gè)數(shù)據(jù)位,首先發(fā)送最低位。
停止位(STOP BIT) 是一個(gè)“隱性”位,它標(biāo)志著字節(jié)場(chǎng)的結(jié)束。LIN報(bào)文幀中的同步場(chǎng)、標(biāo)識(shí)符場(chǎng)、數(shù)據(jù)場(chǎng)、校驗(yàn)和場(chǎng)的格式都符合上述字節(jié)場(chǎng)的格式。
2.4間隔場(chǎng)
間隔場(chǎng)是唯一一個(gè)不符合字節(jié)場(chǎng)格式的場(chǎng)。 從節(jié)點(diǎn)需要檢測(cè)到至少連續(xù)11個(gè)顯性位才認(rèn)為是間隔信號(hào)。
2.5同步場(chǎng)
一個(gè)字節(jié),即0x55。
2.6LIN的被保護(hù)標(biāo)識(shí)符場(chǎng)(PID場(chǎng))
PID場(chǎng)定義了 報(bào)文的內(nèi)容和長(zhǎng)度 。
如圖,PID場(chǎng)分為6個(gè)標(biāo)識(shí)符位和2個(gè)ID奇偶校驗(yàn)位。
6個(gè)標(biāo)識(shí)符位我們稱之為ID 。如果加上2個(gè)奇偶校驗(yàn)位就變成PID了,即Protected ID。
6個(gè)標(biāo)識(shí)符位中,標(biāo)識(shí)符后兩位為 數(shù)據(jù)長(zhǎng)度控制位 。
總的來(lái)看,ID的范圍是0-0x3F。
注意是ID,不是PID,要區(qū)分開(kāi)。
上圖中的ID4和ID5為數(shù)據(jù)長(zhǎng)度控制位(ID4是低位)。
- 值為00或10時(shí),數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié)。
- 值為01時(shí),數(shù)據(jù)長(zhǎng)度為4個(gè)字節(jié)。
- 值為11時(shí),數(shù)據(jù)長(zhǎng)度為8個(gè)字節(jié)。
P0和P1為奇偶校驗(yàn)位。
2.7數(shù)據(jù)場(chǎng)
數(shù)據(jù)場(chǎng)主要需注意每個(gè)字節(jié)先傳輸?shù)氖亲畹臀弧<慈绻骋恍盘?hào)長(zhǎng)度超過(guò)1個(gè)字節(jié),采用低位在前的方式發(fā)送(小端)。
2.8校驗(yàn)和場(chǎng)(checksum)
校驗(yàn)和場(chǎng) 是數(shù)據(jù)場(chǎng)所有字節(jié)的和的反碼 。所有 數(shù)據(jù)字節(jié)的和的補(bǔ)碼,與校驗(yàn)和字節(jié)相加所得的和必須是0xFF 。
下圖是一些LIN總線數(shù)據(jù),以最后一組為例,2個(gè)0xFF之和為0x1FE,處理后仍然為0xFF。故8個(gè)0xFF加和之后仍為0xFF,取反碼為0x00。
3.0形象理解
總線原理:
物理上就一根線,關(guān)聯(lián)節(jié)點(diǎn)都接上,有且僅有一個(gè)主設(shè)備,N多從設(shè)備,每個(gè)節(jié)點(diǎn)要通信的內(nèi)容都事先編號(hào)號(hào)。
這就好比大家開(kāi)晚會(huì),話筒就一個(gè),主持人一個(gè),N個(gè)嘉賓,每人的話題都有一個(gè)編號(hào)。
表達(dá)順序是這樣的,
晚會(huì)開(kāi)始前,大家睡覺(jué)的睡覺(jué),閑的閑
1 主持人,把話筒對(duì)著大鼓,敲-停-, 敲-停-, … 敲-停-
這樣大家都被吵醒了,晚會(huì)開(kāi)始了
晚會(huì)都是談話內(nèi)容,都是下面步驟的重復(fù)
- t1 主持人把話筒同音閉了一會(huì),--LIN總線的Break
- t2 主持人試了試話題,呼呼呼呼--LIN總線的同期
- t3 主持人說(shuō),下面是由 PID編號(hào)的人講話--LIN總線的PID
- t4 有PID的人,就開(kāi)始說(shuō)了 D0,D1,D2,D3,D4,D5,D6,D7 --LIN總線的數(shù)據(jù)
- t5 有PID的人,接著說(shuō)了就這樣了--LIN總線的 CRC
就這樣重復(fù)了多次之后,主持人
- e1 主持人把話筒同音閉了一會(huì),--LIN總線的Break
- e2 主持人試了試話題,呼呼呼呼--LIN總線的同期
- e3 主持人說(shuō),下面是由 PID編號(hào)是睡眠的人講話(就他自己)--LIN總線的PID
- e4 有PID的人,就開(kāi)始說(shuō)了 Go to sleep --LIN總線的數(shù)據(jù),最多8個(gè)Byte
- e5 有PID的人,接著說(shuō)了就這樣了--LIN總線的 CRC
就這樣,晚會(huì)結(jié)束了,大家睡覺(jué)的睡覺(jué) 休息的休息
搞笑的結(jié)束了,稍微來(lái)點(diǎn)關(guān)鍵詞
- . 物理上就一根線,多節(jié)點(diǎn)送信,又沒(méi)有沖突檢測(cè),怎么辦,主設(shè)備調(diào)度啊
- . 速度怎么樣,和CAN相比,十幾kbps不算高,不過(guò)連接上的設(shè)備就那么大信息量,正好啦
- . 價(jià)額怎么樣,便宜啊,一個(gè)物理tranceiver,一個(gè)帶UART的CPU,再來(lái)的點(diǎn)軟件,搞定了
- . 安全系數(shù)怎么樣,PID帶校驗(yàn),數(shù)據(jù)帶CRC校驗(yàn),能發(fā)現(xiàn)錯(cuò)誤,報(bào)告
- . 擴(kuò)展性怎么樣,用兩個(gè)特定的PID,做數(shù)據(jù)鏈路層,創(chuàng)送上層的大包TP層,
- TP層上面在支持個(gè)診斷功能,能做些其他事情了
- . 各版本兼容性怎么樣,主設(shè)備版本高,就能管理協(xié)調(diào)好
- 反之,從設(shè)備版本高,有些浪費(fèi)
-
CAN總線
+關(guān)注
關(guān)注
145文章
1987瀏覽量
132888 -
接口
+關(guān)注
關(guān)注
33文章
9005瀏覽量
153772 -
LIN總線
+關(guān)注
關(guān)注
19文章
111瀏覽量
28196 -
uart
+關(guān)注
關(guān)注
22文章
1276瀏覽量
103982
發(fā)布評(píng)論請(qǐng)先 登錄
LIN總線的基礎(chǔ)知識(shí)
LIN總線簡(jiǎn)介





LIN是什么LIN總線的入門資料免費(fèi)下載

LIN總線是什么?CAN/LIN總線的區(qū)別與結(jié)構(gòu)

LIN礎(chǔ)知識(shí)和8位PIC單片機(jī)上實(shí)現(xiàn)的MCC LIN協(xié)議棧庫(kù)

CAN總線基礎(chǔ)知識(shí)
什么是LIN總線?車載總線之LIN總線概述

LIN基礎(chǔ)知識(shí)和8位PIC單片機(jī)上實(shí)現(xiàn)的MCC LIN協(xié)議棧庫(kù)

評(píng)論