一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

LIN Bus

 酒仙橋北路 2019-11-15

概述


隨著汽車內(nèi)電子設(shè)備的增多,市場(chǎng)上對(duì)于成本低于 CAN 的總線的需求日益強(qiáng)烈,不同的車廠相繼開發(fā)各自的串行通信(UART/SCI)協(xié)議,以在低速和對(duì)性能要求不高的場(chǎng)合取代CAN。由于不同車廠定義的協(xié)議兼容性的問(wèn)題,在 1998 年由歐洲五大車廠(BMW, Volkswagen Group, Audi Group, Volvo Cars, Mercedes-Benz)成立聯(lián)合工作組,由 Volcano Automotive Group 和 Motorola 提供技術(shù)支持,開發(fā)一種定位于車身電子領(lǐng)域傳感器(Sensors)和執(zhí)行器(Actuators)組網(wǎng)的串行通信總線,要求該總線系統(tǒng)的協(xié)議和時(shí)序控制盡可能簡(jiǎn)單,即使低端MCU沒(méi)有專用通信單元也可以實(shí)現(xiàn)基于該總線的通信。這種總線即為本文所介紹的 LIN 總線。

LIN(Local Interconnect Network)總線是在汽車內(nèi)廣泛應(yīng)用的串行通信協(xié)議,它的第一個(gè)完整版本 V1.3 發(fā)布于 2002 年,在 2016 年LIN總線被正式列為國(guó)際標(biāo)準(zhǔn)(ISO 17987)。LIN,顧名(Local)思義,指總線上所有設(shè)備基本處于相的物理空間(例如車門),由LIN總線構(gòu)建的區(qū)域子系統(tǒng)(Cluster)再經(jīng)由ECU(網(wǎng)關(guān)等)接入到上層的CAN總線。

LIN適用于節(jié)點(diǎn)數(shù)目小于等于 16 個(gè),數(shù)據(jù)速率 20Kbps 以內(nèi)的應(yīng)用場(chǎng)合。通過(guò)LIN總線可以簡(jiǎn)單而快速地組網(wǎng),總線上節(jié)點(diǎn)設(shè)備分為一個(gè)主機(jī)和多個(gè)從機(jī),主機(jī)通常為接入到上層網(wǎng)絡(luò)的 ECU ,而從機(jī)為執(zhí)行器、智能傳感器或包括LIN硬件接口的開關(guān)等。主機(jī)控制LIN總線上的整個(gè)通信過(guò)程,在通信過(guò)程中從機(jī)時(shí)鐘必須與主機(jī)時(shí)鐘同步。LIN總線拓?fù)渫ǔ榫€型,即所有節(jié)電設(shè)備均通過(guò)單線連在一起。

LIN總線作為低成本的串行通信方案,適合汽車內(nèi)遠(yuǎn)距離節(jié)點(diǎn)間的低速通信,它同樣也適用于工業(yè)控制等場(chǎng)合。LINCAN 總線功能/成本互補(bǔ),綜合運(yùn)用兩者,可構(gòu)造汽車內(nèi)層次分級(jí)的網(wǎng)絡(luò)架構(gòu)。簡(jiǎn)言之,LIN總線相當(dāng)于汽車上可靠性較高的串口。

標(biāo)準(zhǔn)化


 ?

歷史沿革

?

1998/10,在德國(guó)召開的汽車電子會(huì)議上 LIN 總線的設(shè)想首次提出;
1999/07,V1.0 初版發(fā)行;
2002/12,V1.3 發(fā)布,主要對(duì)物理層進(jìn)行修改,提高了節(jié)點(diǎn)之間的兼容性;
2003/09,V2.0 發(fā)布,支持配置和診斷的標(biāo)準(zhǔn)化,規(guī)定了節(jié)點(diǎn)性能文件等;
2006/11,V2.1 發(fā)布,澄清了部分內(nèi)容,修正了配置部分,將傳輸層和診斷部分獨(dú)立成章;
2010/12,V2.2 發(fā)布,修正部分內(nèi)容,弱化位采樣規(guī)范;
2010/12,V2.2A 發(fā)布,修正喚醒信號(hào)定義;
2016/08,升級(jí)為國(guó)際標(biāo)準(zhǔn) ISO 17987 Part 1-7

另,SAE J2602 標(biāo)準(zhǔn)為基于 LIN V2.0 的美國(guó)版本。

 ?

標(biāo)準(zhǔn)文本

 ?

2016 年發(fā)布的 ISO 17987 Part 1-7 標(biāo)準(zhǔn)中,其各部分內(nèi)容如下:

  • ISO/CD 17987-1 General information and use case definition
  • ISO/CD 17987-2 Transport protocol and network layer services
  • ISO/CD 17987-3 Protocol specification
  • ISO/CD 17987-4 Electrical Physical Layer (EPL) specification 12V/24V
  • ISO/CD 17987-5 Application Programmers Interface (API)
  • ISO/CD 17987-6 Protocol conformance test specification
  • ISO/CD 17987-7 Electrical Physical Layer (EPL) conformance test specification

LIN供應(yīng)商 ID 的分配任務(wù)已由先前的 CiA(CAN in Automation),轉(zhuǎn)由 SAE(Society of Automotive Engineers)負(fù)責(zé)管理。

 ?

開發(fā)流程

 ?

LIN協(xié)議不但定義總線通信的標(biāo)準(zhǔn),還定義統(tǒng)一的開發(fā)流程(Workflow)以簡(jiǎn)單快速地組建網(wǎng)絡(luò)。如圖1所示,在此開發(fā)流程中的核心組件為描述網(wǎng)絡(luò)特征的 LDFLIN Description File),LDF定義LIN網(wǎng)絡(luò)的所有通信特征,通信主機(jī)基于LDF可以自動(dòng)生成通信過(guò)程的所有軟件組件。同時(shí),LDF可以為測(cè)試測(cè)量工具提供分析LIN網(wǎng)絡(luò)所必須的信息。

LIN Configuration Language Specification 定義了創(chuàng)建LDF的過(guò)程,創(chuàng)建語(yǔ)法相當(dāng)簡(jiǎn)單,既可以手動(dòng)或通過(guò)軟件工具自動(dòng)生成LDF。自 LIN V2.0 規(guī)范起,增補(bǔ)的節(jié)點(diǎn)統(tǒng)一描述語(yǔ)言可以清晰地說(shuō)明商用節(jié)點(diǎn)(Off-the-Shelf Nodes)設(shè)備的通信特征,通過(guò)這種 LIN Node Capability Language 描述的節(jié)點(diǎn)特征文件稱 NCFNode Capability File),而LIN子網(wǎng)(Cluster)中所有節(jié)點(diǎn)NCF正是創(chuàng)建系統(tǒng)LDF的必要條件。

lin_workflow

圖1. LIN 開發(fā)流程

應(yīng)用特點(diǎn)


 ?

LIN總線的特征包括:

  • 基于 UART/SCI 的半雙工通信,低成本硬件接口;
  • 單主機(jī),多達(dá) 15 個(gè)從機(jī),主機(jī)和從機(jī)數(shù)量遵循LIN協(xié)議推薦,以達(dá)到符合兼容性的響應(yīng);
  • 典型的LIN總線中節(jié)點(diǎn)數(shù)目小于等于 12 個(gè);在非標(biāo)準(zhǔn)設(shè)計(jì)中,節(jié)點(diǎn)數(shù)目可以大于 16 個(gè);
  • SNPD(Slave Node Position Detection)允許在上電后分配節(jié)點(diǎn)設(shè)備的地址;
  • 通信速度 19.2Kbps @40m,在LIN v2.2中通信速度達(dá) 20Kbps(與EMC性能權(quán)衡的結(jié)果,在非標(biāo)準(zhǔn)設(shè)計(jì)中,速度到 100Kbps 也不成問(wèn)題喔);
  • 傳輸介質(zhì)為非屏蔽單根電子線;
  • 確定性時(shí)延(Guarantee Lateny Time);
  • 短消息傳輸,數(shù)據(jù)長(zhǎng)度可選1, 2, 4, 8 字節(jié);
  • 基于時(shí)鐘同步的廣播接收,從機(jī)無(wú)需晶振或陶瓷諧振器;
  • 數(shù)據(jù)校驗(yàn)和錯(cuò)誤檢測(cè)功能;
  • 可偵測(cè)錯(cuò)誤節(jié)點(diǎn);
  • 信號(hào)電壓參考電池電壓,在 12V 左右

綜上,總結(jié)出LIN總線的優(yōu)點(diǎn)如下:

  • 方便使用,市場(chǎng)上有標(biāo)準(zhǔn)接口的模塊;
  • 相比 CAN 總線(及其它總線)設(shè)備成本低;
  • 線束更加精簡(jiǎn);
  • 足夠可靠的通信機(jī)制;
  • 應(yīng)用擴(kuò)展簡(jiǎn)單;
  • 不需要授權(quán)費(fèi)用

在低速對(duì)帶寬要求不高的場(chǎng)合,LIN具有較高的成本優(yōu)勢(shì),是比CAN更好的替代選擇,但LIN并不能完全取代CAN總線(速度 可靠性)。一般地,LIN總線主要應(yīng)用在汽車內(nèi)對(duì)安全和整車性能影響不大的子系統(tǒng),比如車門窗控制、雨刮器、空調(diào)、座椅調(diào)整、照明燈等。圖2示例LIN總線在車頂/雨刮區(qū)域的應(yīng)用,在本應(yīng)用中 Central ECU 是主機(jī),包括車后視鏡、車門開啟器、雨/光傳感器和刮雨器四個(gè)從機(jī)。主機(jī)同時(shí)作為 Gateway 模塊接入到底盤CAN、車身CAN和診斷CAN。

lin_application

圖2. LIN總線主機(jī)和從機(jī)節(jié)點(diǎn)舉例

 ?

通信機(jī)制


 ?

網(wǎng)絡(luò)拓?fù)?/strong>

 ?

LIN總線的拓?fù)錇閱尉€總線,總線上包括單個(gè)主機(jī)和多個(gè)從機(jī),主機(jī)包括主機(jī)任務(wù)(Master Task)和從機(jī)任務(wù)(Slave Task),從機(jī)節(jié)點(diǎn)只包括從機(jī)任務(wù),如圖3所示。

lin_top

圖3. LIN總線拓?fù)鋱D

主機(jī)/從機(jī)

 ?

LIN總線是基于主從模式的通信系統(tǒng)。在LIN總線上僅允許有一個(gè)主機(jī),主機(jī)控制總線上所有通信過(guò)程,從機(jī)只有在主機(jī)許可的下才能向總線上發(fā)送消息。主機(jī)通過(guò)向總線上發(fā)送請(qǐng)求(幀頭,Frame Header),相關(guān)的從機(jī)或主機(jī)本身?yè)?jù)此幀頭發(fā)送應(yīng)答(Response),請(qǐng)求和應(yīng)答構(gòu)成LIN總線的幀(Frame),如下圖4所示。

lin_master_slave_task

圖4. LIN主機(jī)任務(wù) & 從機(jī)任務(wù)

在LIN總線上,主機(jī)控制子網(wǎng)內(nèi)每條消息的傳輸過(guò)程,這種總線訪問(wèn)方式稱為授權(quán)令牌(Delegated Token)。授權(quán)令牌方式的優(yōu)點(diǎn)是它可以避免消息傳輸過(guò)程的沖突競(jìng)爭(zhēng),因?yàn)橥耆芍鳈C(jī)協(xié)調(diào)控制每條消息的應(yīng)答請(qǐng)求。LIN總線主機(jī)可以根據(jù)預(yù)設(shè)好的進(jìn)度表(Schedule)規(guī)劃總線上的數(shù)據(jù)傳輸。授權(quán)令牌總線訪問(wèn)方式因此被歸類為確定性總線訪問(wèn)方式。授權(quán)令牌訪問(wèn)方式的缺點(diǎn)有點(diǎn):首先,如果主機(jī)失效,則整個(gè)總線通信隨即失效,因此該方式不適合安全要求高的應(yīng)用;其次,由于每次通信過(guò)程均由主機(jī)控制,該方式不適合事件驅(qū)動(dòng)型(Event-driven)通信,從機(jī)無(wú)法自動(dòng)獲取總線訪問(wèn)權(quán)以發(fā)送數(shù)據(jù)。為彌補(bǔ)這點(diǎn)缺憾,LIN協(xié)議中增補(bǔ)額外的幀類型可以不按授權(quán)令牌方式發(fā)送消息。LIN總線共有種幀類型:無(wú)條件幀、事件觸發(fā)幀、偶發(fā)幀和診斷幀。

主機(jī)任務(wù)包括:

  • 調(diào)度總線上幀的傳輸次序
  • 監(jiān)測(cè)數(shù)據(jù),處理錯(cuò)誤
  • 提供總線上標(biāo)準(zhǔn)參考時(shí)鐘
  • 接收從機(jī)節(jié)點(diǎn)發(fā)出的總線喚醒命令

從機(jī)任務(wù)包括:

  • 發(fā)送應(yīng)答
  • 接收應(yīng)答
  • 忽略應(yīng)答

 ?

通信調(diào)度

 ?

由于沒(méi)有通信控制器,LIN總線協(xié)議在微控制器以軟件組件形式實(shí)現(xiàn)的。主機(jī)和從機(jī)分別對(duì)應(yīng)主機(jī)任務(wù)和從機(jī)任務(wù),以實(shí)現(xiàn)總線通信的過(guò)程。簡(jiǎn)言之,總線上所有節(jié)點(diǎn)均包括接受和發(fā)送消息的從機(jī)任務(wù),而主機(jī)則包括額外的主機(jī)任務(wù)來(lái)協(xié)調(diào)總線上消息發(fā)送和總線訪問(wèn)權(quán)限。

在總線開始工作時(shí),主機(jī)隨即啟動(dòng)主機(jī)任務(wù),周期性地執(zhí)行進(jìn)度表(Schedule)規(guī)定的消息發(fā)送程序。表1示意LIN總線進(jìn)度表的內(nèi)容,在進(jìn)度表中包括各項(xiàng)進(jìn)程的消息 PID(Message Header)和啟動(dòng)時(shí)間。從機(jī)任務(wù)是總線上的節(jié)點(diǎn)根據(jù) LDF 定義的特性,響應(yīng)幀頭規(guī)定的任務(wù),任務(wù)包括發(fā)送應(yīng)答、接收應(yīng)答或忽略應(yīng)答。

lin_schedule

表1. LIN總線進(jìn)度表

在消息調(diào)度中,協(xié)議為單條消息定義 Slot 的概念,Slot持續(xù)的時(shí)間必須大于幀頭(Frame Header)和消息應(yīng)答(Response)的時(shí)間以保證消息傳送完畢。單個(gè)幀總是在同一個(gè)Slot內(nèi)傳輸完的??紤]到收發(fā)器性能的影響,LIN協(xié)議規(guī)定單個(gè)消息傳輸時(shí)間有  40% 裕量,即幀的最小持續(xù)時(shí)間為其典型持續(xù)時(shí)間的 1.4 倍,如圖5所示。

lin_sch_timing
圖5. LIN總線進(jìn)度時(shí)序

幀結(jié)構(gòu)


 ?

如前文所述,LIN總線的幀包括幀頭和應(yīng)答兩部分。主機(jī)任務(wù)負(fù)責(zé)發(fā)送幀頭;從機(jī)任務(wù)接收幀頭并對(duì)幀頭所包含信息進(jìn)行解析,而后決定是發(fā)送應(yīng)答,還是接收應(yīng)答,或不作任何反應(yīng)。幀頭包括同步間隔段、同步段以及受保護(hù)ID(PID, Protected Identifier)段;應(yīng)答段包括數(shù)據(jù)段和校驗(yàn)和(Checksum)段。圖6示意LIN總線的幀結(jié)構(gòu)。

lin_fram_structure
圖6. LIN總線的幀結(jié)構(gòu)

幀頭

 ?

同步間隔段(Sync Break Field)由同步間隔(Sync Break, tSYNBRK)和同步間隔段間隔符(Break Delimiter, tDEL)構(gòu)成,如圖7所示。同步間隔是至少持續(xù) 13 位(以主機(jī)節(jié)點(diǎn)的位速率為準(zhǔn))的顯性(低)電平,由于幀中的所有間隔或總線空閑時(shí)都應(yīng)保持隱性(高)電平,并且?guī)械娜魏纹渌侄味疾粫?huì)發(fā)出大于 9 位的顯性電平,因此同步間隔可以標(biāo)志一個(gè)幀的開始。同步間隔段的間隔符是至少持續(xù) 1 位的隱性電平。從機(jī)任務(wù)接收幀頭的同步間隔段時(shí),以該從機(jī)任務(wù)所在節(jié)點(diǎn)的位速率為準(zhǔn),當(dāng)檢測(cè)總線上出現(xiàn)持續(xù) 11 位的顯性電平時(shí),認(rèn)為是幀的開始。當(dāng)從機(jī)節(jié)點(diǎn)使用精度較高的時(shí)鐘時(shí),識(shí)別閾值可以選擇 9.5 位。

lin_fram_header圖7. LIN總線幀頭

在介紹同步段(Sync Field)之前,先介紹一下字節(jié)域(Byte Field)的概念,字節(jié)域共 10 位,包括 1 位起始位(Start Bit,顯性) 8 位數(shù)據(jù)位 1 位停止位(Stop Bit,隱性),它是一種標(biāo)準(zhǔn) UART 數(shù)據(jù)傳輸格式,如圖8左所示。在LIN 幀中, 除了同步間隔段,后面的各段都是通過(guò)字節(jié)域的格式傳輸?shù)?。?LIN 幀中,數(shù)據(jù)傳輸都是先發(fā)送 LSB(Least Significant Bit,最低有效位),最后發(fā)送 MSB(Most Significant Bit,最高有效位)。

LIN 同步段以下降沿為判斷標(biāo)志,采用字節(jié) 0x55(二進(jìn)制: 01010101b)。同步段的字節(jié)域如圖8右所示。從機(jī)節(jié)點(diǎn)可以不采用精度高的時(shí)鐘,而采用片上振蕩器等精度和成本相對(duì)較低的時(shí)鐘,由此帶來(lái)的與主機(jī)節(jié)點(diǎn)時(shí)鐘產(chǎn)生的偏差,需要通過(guò)同步段進(jìn)行調(diào)整,調(diào)整的結(jié)果是使從機(jī)節(jié)點(diǎn)數(shù)據(jù)的位速率與主機(jī)節(jié)點(diǎn)一致。同步段用于同步的基準(zhǔn)時(shí)鐘為主機(jī)節(jié)點(diǎn)的時(shí)鐘。從機(jī)節(jié)點(diǎn)通過(guò)接收主機(jī)節(jié)點(diǎn)發(fā)出的同步段,計(jì)算出主機(jī)節(jié)點(diǎn)位速率,根據(jù)計(jì)算結(jié)果對(duì)自身的位速率重新作調(diào)整。主機(jī)節(jié)點(diǎn)的位速率由同步段的第一個(gè)和最后一個(gè)下降沿的時(shí)間差除以 8 計(jì)算得出。

lin_byte_field_sync_field

圖8. 字節(jié)域的概念及LIN幀的同步段

緊接著同步段的是受保護(hù)ID(PID, Protected Identifier)段,PID的前 6 位稱為幀 ID ,它依據(jù)節(jié)點(diǎn) LDF 生成,標(biāo)識(shí)幀的類別和目的地,從機(jī)任務(wù)對(duì)于幀頭作出的反應(yīng)(接收/發(fā)送/忽略應(yīng)答)都是基于幀 ID 判斷的。如果幀 ID 傳輸錯(cuò)誤,將會(huì)導(dǎo)致信號(hào)無(wú)法正確到達(dá)目的地,幀 ID 相當(dāng)重要,因此對(duì)其引入 2 位奇偶校驗(yàn),由6位幀ID和2位奇偶校驗(yàn)組成受PID段。

幀ID的范圍為0 ~ 63,根據(jù)幀ID不同將幀分類如下:

  • 無(wú)條件幀(ID 0 ~ 59
    • 每個(gè)幀頭都對(duì)應(yīng)一個(gè)消息應(yīng)答
    • 在主機(jī)分配給它的固定幀時(shí)隙(Reserved Frame Slot)中傳輸
  • 診斷幀(ID 60, 61
    • 主機(jī)請(qǐng)求幀 ID = 60, ID = 0x3C
    • 從機(jī)應(yīng)答幀 ID = 61, ID = 0x3D
  • 保留幀(ID 62, 63
    • 用戶自定義 ID = 62, ID = 0x3E
    • 未來(lái)擴(kuò)展 ID = 63, ID = 0x3F

PID的奇偶校驗(yàn)位的產(chǎn)生規(guī)則為:

  • P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4
  • P1 = ? (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)

由公式可以看出, PID 不會(huì)出現(xiàn)全 0 或全 1 的情況,因此,如果從機(jī)節(jié)點(diǎn)收到了 “0xFF” 或 “0x00” ,可判斷為傳輸錯(cuò)誤。

 ?

應(yīng)答

 ?

節(jié)點(diǎn)發(fā)送的數(shù)據(jù)位于數(shù)據(jù)段(Data Field),包含 1 ~ 8 個(gè)字節(jié),先發(fā)送編號(hào)最低的字節(jié) DATA1,編號(hào)依次增加。數(shù)據(jù)段包含了兩種數(shù)據(jù)類型,信號(hào)(Signal)和診斷消息(Diagnostic messages)。

信號(hào)(Signal)由信號(hào)攜帶幀傳遞,一個(gè)幀 ID 對(duì)應(yīng)的數(shù)據(jù)段可能包含一個(gè)或多個(gè)信號(hào)。信號(hào)更新時(shí)要保證其完整性,不能只更新一部分。一個(gè)信號(hào)通常由一個(gè)固定的節(jié)點(diǎn)發(fā)出,此節(jié)點(diǎn)稱為該信號(hào)的發(fā)布節(jié)點(diǎn)(Publisher); 其余的一個(gè)或多個(gè)節(jié)點(diǎn)接收,它們稱為信號(hào)的收聽節(jié)點(diǎn)(Subscriber)。

診斷消息(Diagnostic message)由診斷幀傳遞,對(duì)消息內(nèi)容的解析由數(shù)據(jù)自身和節(jié)點(diǎn)狀態(tài)決定。

注意:

  • 協(xié)議沒(méi)有規(guī)定幀中的哪一部分顯示數(shù)據(jù)長(zhǎng)度碼的信息,數(shù)據(jù)的內(nèi)容和長(zhǎng)度是由系統(tǒng)設(shè)計(jì)者根據(jù)幀 ID 事先約定好的
  • 總線上的數(shù)據(jù)是以廣播形式被發(fā)送到總線上的,任何節(jié)點(diǎn)均能接收,但并非所有信號(hào)對(duì)每個(gè)節(jié)點(diǎn)都有用。收聽節(jié)點(diǎn)接收幀的應(yīng)答是因?yàn)樵摴?jié)點(diǎn)的應(yīng)用層會(huì)使用這些信號(hào),而對(duì)于其余節(jié)點(diǎn),由于用不到這些信號(hào),所以沒(méi)有必要作接收處理,將忽略幀的應(yīng)答部分。發(fā)布和收聽由哪個(gè)節(jié)點(diǎn)進(jìn)行完全根據(jù)應(yīng)用層的需要由軟件或配置工具實(shí)現(xiàn)。一般情況下,對(duì)于一個(gè)幀中的應(yīng)答,總線上只存在一個(gè)發(fā)布節(jié)點(diǎn),否則就會(huì)出現(xiàn)錯(cuò)誤。事件觸發(fā)幀例外,可能存在零個(gè)、一個(gè)或多個(gè)發(fā)布節(jié)點(diǎn)

lin_response

圖9. LIN總線幀應(yīng)答

校驗(yàn)和(Checksum)段是對(duì)幀中所傳輸?shù)膬?nèi)容進(jìn)行校驗(yàn),校驗(yàn)和分為標(biāo)準(zhǔn)型校驗(yàn)和(Classic Checksum)及增強(qiáng)型校驗(yàn)和(Enhanced Checksum)。采用標(biāo)準(zhǔn)型校驗(yàn)和還是增強(qiáng)型校驗(yàn)和由主機(jī)節(jié)點(diǎn)管理,發(fā)布節(jié)點(diǎn)和各收聽節(jié)點(diǎn)根據(jù)幀 ID 來(lái)判斷采用哪種校驗(yàn)和。標(biāo)準(zhǔn)校驗(yàn)和只保護(hù)數(shù)據(jù)段,增強(qiáng)型校驗(yàn)和同時(shí)保護(hù)數(shù)據(jù)段和幀ID段。LIN 1.X 的節(jié)點(diǎn)只支持標(biāo)準(zhǔn)型校驗(yàn)和,LIN 2.X開始支持增強(qiáng)型校驗(yàn)和。另外,幀ID為 60/61 的診斷幀亦只支持標(biāo)準(zhǔn)校驗(yàn)和。

lin_checksum

圖10. LIN總線幀的校驗(yàn)和

幀傳輸時(shí)間

 ?

LIN總線的幀由幀頭和應(yīng)答組成,其中幀頭包括同步段、幀ID段和兩位奇偶校驗(yàn),應(yīng)答的數(shù)據(jù)段最長(zhǎng)8 Byte,如圖11所示。LIN的信息傳輸是基于 SCI 接口的,每個(gè)字節(jié)域包括 8 bit 數(shù)據(jù)、1 bit 起始位和 1 bit停止位。若同步間隔段是 13 bit 顯性位 1 bit 隱性位,則幀頭計(jì) 34 bit;應(yīng)答包括數(shù)據(jù)段和校驗(yàn)和段,根據(jù)數(shù)據(jù)段長(zhǎng)度的不同,應(yīng)答最短為 20 bit(數(shù)據(jù)段 1 Byte),應(yīng)答最長(zhǎng)為 90 bit(數(shù)據(jù)段 8 Byte)。綜上,LIN總線的幀最長(zhǎng)為 124 bit(數(shù)據(jù)段 8 Byte),最短為 54 bit(數(shù)據(jù)段 1 Byte)。幀的額定傳輸時(shí)間計(jì)算公式如下:

lin_fram_timing_calc
其中:n 為數(shù)據(jù)段的字節(jié)數(shù),tBit 為波特率的倒數(shù),例如 (19.2 kBit/s)^-1 = 52.1 us

lin_frame_timing1

圖11. LIN總線幀的額定傳輸時(shí)間

LIN協(xié)議規(guī)定幀的最大傳輸時(shí)間為額定傳輸時(shí)間的 1.4 倍,即為幀傳輸預(yù)留 40% 的裕量。該特性是考慮到總線上節(jié)點(diǎn)設(shè)備性能參差不齊,允許節(jié)點(diǎn)不必收到指令后立即執(zhí)行。也就是說(shuō),協(xié)議允許節(jié)點(diǎn)推遲下一個(gè) UART 字符的發(fā)送,但推遲的總時(shí)間不能超出額定值的40%。延遲時(shí)間包括兩類:Interbyte SpaceResponse Space。它們?cè)趲械奈恢萌鐖D12所示。幀的最大傳輸時(shí)間計(jì)算公式如下:

lin_fram_timing_calc_max

 ?

lin_fram_timing_max

圖12. LIN總線幀的最大傳輸時(shí)間

綜上,在設(shè)置總線進(jìn)度表(圖5)時(shí),需要考慮到幀傳輸時(shí)間的因素,確保每個(gè)步驟都有足夠的時(shí)間裕量。

 ?

幀信號(hào)波形

 ?

圖13為使用 Tektronix 示波器 捕獲LIN總線幀信號(hào)波形的示例,更多調(diào)試手段見(jiàn)鏈接。

lin_wave

圖13. LIN總線的幀波形舉例

幀種類


 ?

LIN總線上數(shù)據(jù)傳輸包括 4 種不同的幀,分別為無(wú)條件幀、事件觸發(fā)幀、偶發(fā)幀、診斷幀(保留幀咱就保留不提了……)。

 ?

無(wú)條件幀

 ?

幀ID 0 ~ 59。無(wú)條件幀(Unconditional Frame)是具有單一發(fā)布節(jié)點(diǎn),無(wú)論信號(hào)是否發(fā)生變化,幀頭都被無(wú)條件應(yīng)答的幀。無(wú)條件幀在主機(jī)任務(wù)分配給它的固定的幀時(shí)隙中傳輸??偩€上一旦有幀頭發(fā)送出去,必須有從機(jī)任務(wù)作應(yīng)答(即無(wú)條件發(fā)送應(yīng)答)。

 ?

事件觸發(fā)幀

 ?

幀ID 0 ~ 59。事件觸發(fā)幀(Event-triggered Frame)是主機(jī)節(jié)點(diǎn)在一個(gè)幀時(shí)隙中查詢各從機(jī)節(jié)點(diǎn)的信號(hào)是否發(fā)生變化(事件)時(shí)使用的幀,當(dāng)存在多個(gè)發(fā)布節(jié)點(diǎn)時(shí),通過(guò)沖突解決進(jìn)度表(Collision Resolving Schedule)來(lái)解決沖突。當(dāng)從機(jī)節(jié)點(diǎn)信號(hào)發(fā)生變化的頻率較低時(shí),主機(jī)任務(wù)一次次地輪詢各個(gè)信號(hào)會(huì)占用一定的帶寬。為了減小帶寬的占用,引入了事件觸發(fā)幀的概念。同一個(gè) PID 的事件觸發(fā)幀進(jìn)和無(wú)條件幀對(duì)應(yīng)的第一個(gè)字節(jié)數(shù)據(jù)是相同的,從機(jī)只有在自身數(shù)據(jù)變化時(shí)才發(fā)送應(yīng)答,當(dāng)總線上沒(méi)有任何從機(jī)應(yīng)答時(shí),該幀的應(yīng)答部分為空。如果總線上有超過(guò)一個(gè)從機(jī)應(yīng)答,則發(fā)生沖突,主機(jī)則通過(guò)發(fā)送無(wú)條件幀輪詢所有從機(jī),解決沖突的問(wèn)題。

圖14示例事件觸發(fā)幀的進(jìn)度表。圖上半部分表示無(wú)沖突時(shí)的情況,主機(jī)發(fā)送事件觸發(fā)幀,只有從機(jī) 1 信號(hào)發(fā)生變化,因此在總線上發(fā)送應(yīng)答(Event A);圖下半部分表示有沖突時(shí)的情況,主機(jī)發(fā)送事件觸發(fā)幀,從機(jī) 2 和從機(jī) 4 信號(hào)都發(fā)生變化,因此都向總線上發(fā)送應(yīng)答,從而產(chǎn)生沖突,這時(shí)候主機(jī)執(zhí)行沖突解決進(jìn)度表,通過(guò)發(fā)送無(wú)條件幀輪詢所有從機(jī),從而依次讀取從機(jī) 2Event B 和從機(jī) 4Event D。

lin_event_trig_frame

圖14. 事件觸發(fā)幀

事件觸發(fā)幀的典型應(yīng)用就是輪詢四個(gè)車門的開關(guān)情況。與其利用無(wú)條件幀每個(gè)車門輪詢一遍,不如同時(shí)對(duì)四個(gè)車門進(jìn)行詢問(wèn),如果其中一個(gè)車門打開(事件發(fā)生),該車門要對(duì)詢問(wèn)作應(yīng)答,即事件觸發(fā)。這樣做可以減小帶寬,但同時(shí)會(huì)導(dǎo)致兩種現(xiàn)象,其一就是沒(méi)有車門被打開,即無(wú)節(jié)點(diǎn)應(yīng)答——事件觸發(fā)幀允許一幀中只有幀頭無(wú)應(yīng)答;另外一種情況就是沖突,即同時(shí)有大于等于兩個(gè)車門被打開,對(duì)于同時(shí)應(yīng)答的問(wèn)題——事件觸發(fā)幀允許兩個(gè)以上的節(jié)點(diǎn)對(duì)幀頭作應(yīng)答而不視為錯(cuò)誤。當(dāng)發(fā)生沖突時(shí),主機(jī)節(jié)點(diǎn)重新輪詢,這樣會(huì)增加一些響應(yīng)時(shí)間,但由于事件觸發(fā)幀本身就用來(lái)處理低概率事件,總的來(lái)說(shuō)還是節(jié)省了帶寬。

 ?

偶發(fā)幀

 ?

幀ID 0 ~ 59。偶發(fā)幀(Sporadic Frame)是主機(jī)節(jié)點(diǎn)在同一幀時(shí)隙中當(dāng)自身信號(hào)發(fā)生變化時(shí)向總線啟動(dòng)發(fā)送的幀。當(dāng)存在多個(gè)關(guān)聯(lián)的應(yīng)答信號(hào)變化時(shí),通過(guò)事先設(shè)定的優(yōu)先級(jí)來(lái)仲裁。偶發(fā)幀主要用于主機(jī)發(fā)送不經(jīng)常變化的信息,可以理解為主機(jī)用的事件觸發(fā)幀。與事件觸發(fā)幀一樣,偶發(fā)幀的應(yīng)答也關(guān)聯(lián)了一組無(wú)條件幀。

偶發(fā)幀的傳輸可能出現(xiàn) 3 種狀況:

  1. 當(dāng)關(guān)聯(lián)的無(wú)條件幀沒(méi)有信號(hào)發(fā)生變化時(shí),該時(shí)隙保持沉默,主機(jī)節(jié)點(diǎn)連幀頭都不需要發(fā)送;
  2. 當(dāng)其中一個(gè)關(guān)聯(lián)的無(wú)條件幀包含的信號(hào)發(fā)生了變化, 則發(fā)送該關(guān)聯(lián)的無(wú)條件幀的應(yīng)答部分,如圖15上半部分所示;
  3. 如果有兩個(gè)或以上關(guān)聯(lián)的無(wú)條件幀包含的信號(hào)發(fā)生了變化,則按照事先規(guī)定好的優(yōu)先級(jí),優(yōu)先級(jí)較高的關(guān)聯(lián)的無(wú)條件幀獲得發(fā)送權(quán),優(yōu)先級(jí)較低的要等到下一個(gè)偶發(fā)幀的幀頭到來(lái)時(shí)才能發(fā)送應(yīng)答。由于主機(jī)節(jié)點(diǎn)是唯一的發(fā)布節(jié)點(diǎn),所以主機(jī)節(jié)點(diǎn)事先就知道各個(gè)關(guān)聯(lián)信號(hào)的優(yōu)先級(jí)別,這樣在傳輸時(shí)不會(huì)產(chǎn)生沖突,如圖15下半部分所示

引入偶發(fā)幀和事件觸發(fā)幀是為了讓LIN總線的通信機(jī)制更加靈活,只在信號(hào)變化或未變化時(shí)傳輸消息可有效提高總線的通信效率。

lin_sporadic_frame

圖15. 偶發(fā)幀

診斷幀

 ?

診斷幀包括主機(jī)請(qǐng)求幀和從機(jī)應(yīng)答幀,主要用于配置、識(shí)別和診斷。診斷基于 ISO 15765-2 傳輸標(biāo)準(zhǔn)和 ISO 14229 UDSUniform Diagnostic Services)標(biāo)準(zhǔn)。主機(jī)請(qǐng)求幀的幀 ID = 0x3C,應(yīng)答部分的發(fā)布節(jié)點(diǎn)為主機(jī)節(jié)點(diǎn),一般用于診斷請(qǐng)求或配置從機(jī);從機(jī)應(yīng)答幀的幀 ID = 0x3D, 應(yīng)答部分的發(fā)布節(jié)點(diǎn)為從機(jī)節(jié)點(diǎn),一般為診斷應(yīng)答。數(shù)據(jù)段規(guī)定為 8 個(gè)字節(jié),一律采用標(biāo)準(zhǔn)型校驗(yàn)和。診斷幀的幀頭和應(yīng)答方向如圖16所示。

lin_diag_frame

圖16. 診斷幀

狀態(tài)管理


 ?

LIN總線的狀態(tài)管理主要指網(wǎng)絡(luò)的休眠和喚醒。協(xié)議規(guī)定從機(jī) 4 種狀態(tài):關(guān)機(jī)、初始化、運(yùn)行和休眠。各個(gè)狀態(tài)的切換關(guān)系如圖17所示,在系統(tǒng)上電時(shí)從機(jī)在 100ms 以內(nèi)完成初始化,隨后從機(jī)自行進(jìn)入運(yùn)行狀態(tài)。主機(jī)可以通過(guò)主機(jī)請(qǐng)求幀(幀ID = 0x3C)的 Go-to-Sleep 命令從機(jī)進(jìn)入休眠狀態(tài)(DAT0 = 0x00, DAT1-7 = 0xFF)。從機(jī)也可以在總線上沒(méi)有活動(dòng)后的 4 ~ 10s 內(nèi)進(jìn)入休眠狀態(tài)。

lin_state_machine

圖17. LIN總線狀態(tài)機(jī)

主機(jī)和從機(jī)都可以喚醒整個(gè)網(wǎng)絡(luò),喚醒為持續(xù)時(shí)間 250us ~ 5ms 的顯性信號(hào),所有節(jié)點(diǎn)在檢測(cè)到喚醒信號(hào)后旋即退出休眠狀態(tài),進(jìn)行初始化,最長(zhǎng)在 100ms 后進(jìn)入運(yùn)行狀態(tài)。如果節(jié)點(diǎn)發(fā)送出喚醒信號(hào)后,在 150 ~ 250ms 內(nèi)沒(méi)有接收到總線上的任何命令(幀頭),則可以重新發(fā)送一次喚醒。喚醒信號(hào)最多可以發(fā)送 3 次, 3 次之后,必須等待至少 1.5s 之后才可以再次發(fā)送喚醒。圖18示意LIN總線的喚醒流程。

lin_wake_up

圖18. LIN喚醒流程

硬件電路


 ?

供電 & 信號(hào)電平

 ?

LIN總線要求所有節(jié)點(diǎn)的信號(hào)電壓相同,信號(hào)電壓參考收發(fā)器供電電壓 VSUP,低于VSUP的 40% 視為顯性電平(Dominant),即為“0”,高于VSUP的 60% 視為隱性電平(Recessive),即為“1”。此處顯性/隱性的含義與 CAN 總線的定義相同,即總線上實(shí)行“線與”邏輯:當(dāng)總線上有大于等于一個(gè)節(jié)點(diǎn)發(fā)送顯性電平時(shí),總線呈顯性電平;所有的節(jié)點(diǎn)都發(fā)送隱性電平或不發(fā)送信息(發(fā)送任何信息時(shí)總線默認(rèn)呈隱性電平)時(shí),總線才呈現(xiàn)隱性電平,即顯性電平起主導(dǎo)作用。

考慮到傳輸線路上的壓降,LIN協(xié)議要求驅(qū)動(dòng)器的低電平要低于VSUP的 20% ,高電平要高于VSUP的 80% ,以保證接收器在判斷高低電平時(shí)有足夠裕量。

lin_voltage

圖19. LIN總線電平

VSUP 指總線收發(fā)器的電源電壓,注意它并不等同于蓄電池電壓(VBAT)??紤]將電池引入到ECU單元在電源濾波(二極管等)電路上的壓降,VSUP要低于電池電壓VBAT,如圖20所示。

vbat_vsup

圖20. 外部供電VBAT和內(nèi)部供電VSUP的區(qū)別

收發(fā)器

 ?

LIN總線收發(fā)器本質(zhì)上是個(gè)雙向工作的電平轉(zhuǎn)換器,LIN 規(guī)范要求總線收發(fā)器要能承受 ±11.5% 的電源波動(dòng)和參考點(diǎn)電平波動(dòng),并且能承受電源和參考點(diǎn)之間 8% 的電位差波動(dòng)。在要求不高的場(chǎng)合,可采用簡(jiǎn)單的收發(fā)器電路如圖21所示。

lin_xcrvs_simplified

圖21. 簡(jiǎn)易的 LIN 收發(fā)器電路

端接電阻

 ?

為實(shí)現(xiàn)“線與”特性,LIN協(xié)議規(guī)定了主機(jī)和從機(jī)節(jié)點(diǎn)的端接電阻,端接電阻一端連LIN總線,另一端通過(guò)串接二極管。主機(jī)端接電阻 1K(范圍:0.9 ~ 1.1K),從機(jī)端接電阻 30K(范圍:20 ~ 60K)。如圖22所示,圖中串接二極管是必須的,當(dāng)ECU電源斷路時(shí),它可以防止LIN總線上電源倒灌。

lin_terminate_res

圖22. LIN總線端接電阻

LIN所有節(jié)點(diǎn)并聯(lián)在一起,構(gòu)成圖23所示的等效電路。其中,總線負(fù)載電阻等于各節(jié)點(diǎn)端接電阻的 并聯(lián)等效電阻,總線負(fù)載電容等于各節(jié)點(diǎn)輸入電容和總線分布電容的并聯(lián)等效電容??偩€電阻決定了總線收發(fā)器驅(qū)動(dòng)級(jí)的功率和通信期間的功耗;總線電容可以吸收周圍環(huán)境的噪聲干擾。總線電阻和總線電容構(gòu)成的 RC 濾波器還有助于控制壓擺率。

為確保最惡劣情況下正常通信的需要, LIN 規(guī)范除了限制節(jié)點(diǎn)的端接電阻、電容和時(shí)間常數(shù)。協(xié)議規(guī)定主機(jī)/從機(jī)端接電容典型值為 220pF ,根據(jù)具體應(yīng)用調(diào)整主機(jī)/從機(jī)端接電容滿足 EME/EMI 性能,從機(jī)端接電容可調(diào)范圍不大,主要通過(guò)調(diào)整主機(jī)電容實(shí)現(xiàn)。有的 收發(fā)器 規(guī)定主機(jī) 1nF,從機(jī) 220pF,具體參考收發(fā)器應(yīng)用手冊(cè)。協(xié)議還規(guī)定 LIN 總線長(zhǎng)度不超過(guò) 40 米,一個(gè) LIN 網(wǎng)絡(luò)的最大節(jié)點(diǎn)數(shù)目不超過(guò) 16。由于端接電阻連接著電源和 LIN 總線,當(dāng)出現(xiàn) LIN 總線對(duì)地短路時(shí),如果不采取保護(hù)措施,會(huì)有較大的電流流過(guò)端接電阻,產(chǎn)生顯著的功耗。

lin_equ_sche

圖23. 總線等效電路

比較


?

本章列舉LIN與市場(chǎng)上常見(jiàn)的其它通信總線 CANUARTI2C 的特性對(duì)比,如下表2所示。

lin_cmp

表2. LIN與其它通信總線的特性比較

參考資料


 ?

  1. LIN入門 -Renesas
  2. Local_Interconnect_Network -Wikipedia

  3. E-Learning: LIN Introduction -Vector

  4. LIN Webinar -Vector

  5. Bosch Automotive Electrics and Automotive Electronics Systems

Post Views: 3,141

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧洲亚洲精品自拍偷拍| 少妇高潮呻吟浪语91| 中文字字幕在线中文乱码二区 | 香蕉久久夜色精品国产尤物| 国产一区二区久久综合| 中文字幕人妻日本一区二区 | 成人精品欧美一级乱黄| 欧美91精品国产自产| 国产亚洲二区精品美女久久| 欧美日韩综合在线第一页| 五月婷婷六月丁香亚洲| 国产永久免费高清在线精品| 日韩欧美一区二区久久婷婷| 欧美午夜国产在线观看| 偷拍美女洗澡免费视频| 99国产高清不卡视频| av免费视屏在线观看| 国产免费一区二区不卡| 国产传媒免费观看视频| 欧美日韩乱码一区二区三区| 亚洲一区二区精品久久av | 69久久精品亚洲一区二区| 欧美午夜一区二区福利视频| 在线视频三区日本精品| 久久本道综合色狠狠五月| 国产一级片内射视频免费播放| 日韩欧美二区中文字幕| 成人欧美一区二区三区视频| 亚洲精品国产福利在线| 亚洲精品国产美女久久久99| 午夜福利视频日本一区| 福利一区二区视频在线| 久久国产成人精品国产成人亚洲| 欧美夫妻性生活一区二区| 久久这里只有精品中文字幕| 国产老女人性生活视频| 国产精品国三级国产专不卡| 国产一级二级三级观看| 成人精品视频在线观看不卡| 久热香蕉精品视频在线播放| 区一区二区三中文字幕|