色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LIN總線幀結構及各場干擾

北匯信息POLELINK ? 2022-09-29 12:19 ? 次閱讀

一、LIN總線幀結構

一個完整的LIN總線報文幀“Message Frame”包含報頭“Header”和響應“Response”,主任務發送報頭,從任務用響應來補充報頭形成完整的報文。

poYBAGM1HCKAehWnAACW7jZQDJI720.png

截取自LIN Specification PackageRevision 2.1

其中幀頭包括間隔場、同步段以及標識符場,應答包括數據段和校驗和場。每個字節之間存在字節間隔(Inter-byte Space);在報頭與響應之間存在響應間隔(Response Space);兩幀LIN報文之間存在幀間間隔(Inter-frame Space)。下面將詳細介紹每個段的具體內容格式。

1.間隔場

間隔場由間隔信號和間隔界定符組成。間隔場表示一幀報文的起始,由主節點發出。間隔信號至少由13個顯性位組成,間隔界定符至少由1個隱形位組成。間隔場是唯一一個不符合字節場格式的場,從節點需要檢測到至少連續11個顯性位才認為是間隔信號。

pYYBAGM1HCKABaRQAABXTObfLH4776.png

截取自LIN Specification PackageRevision 2.1

2.同步場

同步場顧名思義它的作用是確保所有從節點使用與主節點相同的波特率發送和接收數據,以下降沿為判斷標志,同步段采用一個固定的字節結構0X55。從節點通過接收主節點發出的同步段,計算出主節點位速率,根據計算結果對自身的位速率重新作調整。計算公式如下:1位時間 =(第7位的下降沿時刻 - 起始位的下降沿時刻)/ 8

poYBAGM1HCKAfU4sAABudEHLgI8268.png

截取自LIN Specification PackageRevision 2.1

3.標識符場

標識符場由兩部分組成,受保護 ID 段的前 6 位叫作幀 ID(Frame ID),加上兩個奇偶校驗位后稱作受保護 ID段。

pYYBAGM1HCKARLFSAACIJ0HMqYA484.png

截取自LIN Specification PackageRevision 2.1

幀ID的范圍在0x00~0x3F之間,共64個。幀ID標識了幀的類別和目的地。從任務對于幀頭作出的反應(接收/發送/忽略應答部分)都是依據幀ID判斷的。如果幀ID傳輸錯誤,將會導致信號無法正確到達目的地,因此引入奇偶校驗位。校驗公式如下,其中“⊕”代表“異或”運算,“?”代表“取非”運算。

P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4

P1 = ? (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)

4.數據場

數據場用于存儲節點發送的數據,數據場長度1到8個字節,采用低字節先發,低位先發策略,如果某一信號長度超過1個字節,采用低位在前的方式發送。

pYYBAGM1HCKAIuBXAACtZI5Wqo8792.png

截取自LIN Specification PackageRevision 2.1

5.校驗和場

檢驗和場用于校驗接收到的數據是否正確。校驗分為經典校驗(Classic Checksum)和增強校驗(Enhance Checksum)。經典校驗僅校驗數據場,適用于診斷幀和與 LIN1.x 從機節點通信;增強校驗校驗標識符場和數據場,適用于與 LIN2.x 從機節點通信(診斷幀除外)。采用標準型校驗和還是增強型校驗和由主機節點管理,發布節點和各收聽節點根據幀ID來判斷采用哪種校驗和。

poYBAGM1HCKACITmAAA-tVctdv8361.png

截取自LIN Specification PackageRevision 2.1

  1. LIN總線幀結構干擾

LIN幀的不同場格式需要按照協議進行開發,為了測試樣件是否不響應錯誤的幀結構,就需要對LIN幀中各個場分別進行干擾以達到所需要的測試目的。實現干擾的方式有很多,本文通過CAPL自帶函數來進行相應的干擾,下面將對CAPL函數linSendHeaderError()、linInvertRespBit()、linInvertHeaderBit()

進行介紹。

  1. linSendHeaderError()

該函數用于干擾報文頭,包含三個參數,一個是syncByte,用于設置同步場位;一個是idWithParity,用于設置標識符場;最后一個是StopAfterError,該位置1表示如果報頭中一旦有某個場出現錯誤,則終止之后報頭場的發送。

具體參數如圖所示

poYBAGM1HCOAdWPHAACjetH76cY597.png

截取自Vector Browser Helper

下面通過一個干擾ID為0x33的報文PID場中奇偶校驗位的實例,來幫助大家進一步深入理解該函數。

// Force an error in header of LIN frame with ID=0x33 by setting wrong protected ID

on key 'h'
{
byte linID, protectedID, corParity, errParity, errPID;
// calculate protected ID with wrong parity bits
linID = 0x33; // use frame ID=0x33
protectedID = linGetProtectedID(linID); // get protected ID
corParity = (protectedID & 0xC0) >> 6; // extract parity (0xC=0=11000000)
errParity = (corParity ^ 0x2) & 0x3; // calculate wrong parity using XOR
errPID = linID | (errParity << 6); // calculate PID with wrong parity
linSendHeaderError(0x55, errPID, 0);
}

給大家大致解釋一下腳本的實現邏輯,首先通過linGetProtectedID()可以獲取該報文正確的PID值,然后通過corParity = (protectedID & 0xC0) >> 6提取出奇偶校驗位,與0x2異或干擾校驗位,最后通過errPID = linID | (errParity << 6)得出一個干擾過奇偶校驗位的PID值并賦值給自己先前聲明的errPID即得到了一個帶有錯誤奇偶校驗位的PID值,通過函數linSendHeaderError(0x55,errPID,0)發送錯誤PID值的LIN報頭,即實現了對PID場的干擾。

2.linInvertRespBit()

該函數用于干擾響應,主要關注的參數如下,byteIndex用來指定干擾數據場第幾字節(如果該參數值設置為報文長度,則干擾的是校驗位長度);bitIndex用來指定干擾相對應第幾位;level值為0的話,則把相應位從隱形干擾成顯性,如果為1則反之從顯性干擾成隱性;numberOfExecutions這個參數用來定義干擾的個數。

具體參數如圖所示

pYYBAGM1HCOAHwZNAADw6HUOCPE221.png

截取自Vector Browser Helper

下面通過下面的示例,來幫助大家進一步深入理解該函數。

on key 'i'
{
...
// Invert first bit of byte field 8 for LIN frame with ID=0x33
linInvertRespBit(0x33, 7, 0);
...
// Invert bit 7 of checksum byte field for LIN frame with ID=0x33
linInvertRespBit(0x33, 8, 6);
...
// Invert stop bit of byte field 8 for LIN frame with ID=0x33
linInvertRespBit(0x33, 7, 8);
...
}

第一個函數是干擾第8個比特,由于bitIndex是0,所以干擾的是該比特的第一個位,其中第二個函數如果byteIndex的長度和DLC長度一樣,則說明干擾的是該報文的checksum位。

3.linInvertHeaderBit()

該函數用于干擾報頭,主要關注的參數如下,byteIndex用來指定干擾數據場類型,如果為-1,則是干擾間隔場,如果為0干擾同步場,如果為1干擾PID場;bitIndex用來指定干擾相對應第幾位,如果為8則是干擾stopbit;level值為0的話,則把相應位從隱形干擾成顯性,如果為1則反之從顯性干擾成隱性;numberOfExecutions這個參數用來定義干擾的個數;disturbAfterHeaderID這個參數用來指定在該ID之后進行干擾,這個參數需要搭配waitForHeaders使用,如果設置waitForHeaders為0,disturbAfterHeaderID為5,則是等收到ID為5的報文后,在下一個報頭直接進行干擾。

具體參數如圖所示

poYBAGM1HCSACCVcAAFGVBLjB5A454.png

截取自Vector Browser Helper

  1. 小結

通過上述的介紹,大家應該對基于CAPL對LIN報文各場干擾有了一定的了解了。通過發送干擾的報頭或者對從節點的響應進行干擾,然后再發送正常幀,即可通過該正常幀的數據,對ResponseError位是否能正確置位進行測試了。

北匯信息作為Vector中國的合作伙伴,致力于為中國汽車客戶提供優質的工具支持、解決方案以及測試服務。

圖片來源:LIN Specification PackageRevision 2.1以及Vector

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LIN
    LIN
    +關注

    關注

    4

    文章

    216

    瀏覽量

    40302
  • CANoe
    +關注

    關注

    4

    文章

    66

    瀏覽量

    8665
收藏 人收藏

    評論

    相關推薦

    LIN總線錯誤類型介紹#lin總線 #汽車電子

    LIN總線
    北匯信息POLELINK
    發布于 :2024年12月21日 14:04:56

    CAN總線LIN總線的區別

    不同的數據傳輸速率,從最低的10 kbps到最高的1 Mbps。 拓撲結構: 通常采用雙絞線結構,支持多點通信。 錯誤檢測: 具有強大的錯誤檢測機制,包括位錯誤、錯誤等。 仲裁機制: 使用基于優先級的非破壞性
    的頭像 發表于 11-12 10:13 ?1751次閱讀

    CAN總線通信中的數據結構解析

    CAN總線由Bosch公司在1980年代開發,旨在為汽車電子系統提供一個可靠的通信網絡。隨著技術的發展,CAN總線已經被廣泛應用于各種工業和自動化領域。 2. CAN總線數據概述 C
    的頭像 發表于 11-12 10:12 ?733次閱讀

    Lin總線的定義以及靜電保護方案

    1、Lin總線介紹LIN(LocalInterconnectNetwork,本地互連網絡)是一種低成本、串行通信協議,主要用于汽車電子系統中的微控制器和智能傳感器之間的通信。LIN
    的頭像 發表于 10-13 08:03 ?349次閱讀
    <b class='flag-5'>Lin</b><b class='flag-5'>總線</b>的定義以及靜電保護方案

    干貨分享 | TSMaster—LIN 喚醒與休眠機制

    在汽車總線中常見的喚醒方式有硬線喚醒、網絡喚醒和特定信號喚醒,而LIN總線則是通過休眠與喚醒電平來實現的,本文將介紹LIN的喚醒與休眠機制
    的頭像 發表于 09-25 08:03 ?1800次閱讀
    干貨分享 | TSMaster—<b class='flag-5'>LIN</b> 喚醒與休眠機制

    CAN總線的數據結構

    CAN總線是一種基于時間分割的通信協議,它允許多個設備共享一個通信介質(如雙絞線或光纖)。CAN總線的數據傳輸速率可以達到1 Mbps,適用于短距離通信。CAN總線具有以下特點: 多主站結構
    的頭像 發表于 07-24 15:06 ?973次閱讀

    XMC4700通過發送相應的報頭來獲取LIN總線上的可用數據,沒有從從屬設備上得到任何響應,為什么?

    我正試圖通過發送相應的報頭來獲取 LIN 總線上的可用數據,但我沒有從從屬設備上得到任何響應。 我可以在 LIN 分析儀上看到 ID,但無法獲得數據
    發表于 07-19 06:15

    虹科直播 | 原來LIN總線故障還能這樣查?!教你LIN總線譯碼技巧及運用!

    LIN總線大家都并不陌生,遇上這類故障,你的第一反應可能是使用萬用表測量電壓,看看是不是存在短路等故障。然而,萬用表所測得的僅僅是總線信號的平均電壓,即使平均電壓正常也不代表通訊信號就是正常
    的頭像 發表于 06-20 08:08 ?579次閱讀
    虹科直播 | 原來<b class='flag-5'>LIN</b><b class='flag-5'>總線</b>故障還能這樣查?!教你<b class='flag-5'>LIN</b><b class='flag-5'>總線</b>譯碼技巧及運用!

    LIN數據總線ESD保護方案

    LIN數據總線ESD保護方案 LIN總線(Local Interconnect Network)是一種用于車輛電子系統中的串行通信協議。LIN
    發表于 05-28 16:56 ?622次閱讀
    <b class='flag-5'>LIN</b>數據<b class='flag-5'>總線</b>ESD保護方案

    LIN數據總線ESD保護方案

    LIN數據總線ESD保護方案
    的頭像 發表于 05-17 14:35 ?459次閱讀
    <b class='flag-5'>LIN</b>數據<b class='flag-5'>總線</b>ESD保護方案

    LIN數據總線ESD保護方案

    LIN總線(Local Interconnect Network)是一種用于車輛電子系統中的串行通信協議。LIN接口與其他外露的接口一樣,也會受到靜電放電 (ESD) 的影響。電子工程師需設計具有
    的頭像 發表于 04-21 17:56 ?1055次閱讀
    <b class='flag-5'>LIN</b>數據<b class='flag-5'>總線</b>ESD保護方案

    CAN總線干擾的6條“軍規”

    的6條“軍規”。在汽油車時代,CAN總線遇到的干擾少之又少,即使有一些繼電器和電磁閥的脈沖,也不會有很大影響,稍微進行雙絞處理,完全可以實現零錯誤。可是到了電動
    的頭像 發表于 03-05 08:24 ?1420次閱讀
    CAN<b class='flag-5'>總線</b>抗<b class='flag-5'>干擾</b>的6條“軍規”

    TC367-Lin通信超時是什么原因導致的?

    請教各位大神,調試TC367芯片主模式時,調用英飛凌的庫函數,只能夠發送Lin通訊的同步間隔段、同步段,PID段一直發送不出去,故障顯示:發送超時。請問一下會是什么原因導致?
    發表于 02-02 16:50

    請問用CAN存儲器存儲的CAN總線數據格式有哪些呢?

    之間的信息傳輸。下面將詳細介紹CAN總線數據的格式。 CAN總線數據分為兩種類型:標準和擴展
    的頭像 發表于 01-31 13:46 ?1295次閱讀

    CAN總線的標準和擴展有什么區別呢?分別適用于什么工況?

    CAN總線的標準和擴展是CAN協議中的兩種類型。
    的頭像 發表于 01-30 09:41 ?6309次閱讀
    CAN<b class='flag-5'>總線</b>的標準<b class='flag-5'>幀</b>和擴展<b class='flag-5'>幀</b>有什么區別呢?分別適用于什么工況?
    主站蜘蛛池模板: 青青草原国产在线观看| 久久国产高清字幕中文| 一本道高清不卡v免费费| 手机在线国产视频| 欧美不卡一区二区三区| 男女牲交大战免费播放| 李亚男三级| 久久伊人青青| 久久综合色超碰人人| 久久国产精品福利影集| 久久国产精品高清一区二区三区 | 九九九色成人网| 国内精品七七久久影院| 国产综合欧美区在线| 国产一区内射最近更新| 国产人成高清在线视频99| 国产毛A片啊久久久久久A| 国产乱码免费卡1卡二卡3卡四卡| 国产成人无码视频一区二区三区| 岛国片免费在线观看| 国产a级黄色毛片| 国产色婷亚洲99精品AV| 国精产品一区一区三区M | 色偷偷亚洲天堂| 桃花论坛POWERED2019| yellow高清免费观看日本| a级毛片高清免费视频| yellow免费| 福利一区福利二区| 国产欧美另类久久久精品免费 | 久久亚洲AV成人无码动态图| 美女内射少妇一区二区四区| 男人一生要读的书| 日本夜夜夜| 香蕉久久夜色精品国产小说| 亚洲国产精品一区二区三区在线观看 | 国产亚洲精品精品国产亚洲综合 | 亚洲精品人成电影网| 伊人无码高清| 99热久久这里只精品国产WWW| www.伊人网|