SENT協議學習

2021-10-10 20:48:14 字數 1335 閱讀 6861

sent協議(single edge nibble transmission,單邊半字傳輸協議)是一種將感測器資料編碼成一系列脈衝訊號的單向通訊方案,用於感測器向發動機控制單元(engine control unit,ecu)的資料傳送。使用該協議傳輸的感測器訊號,具有訊號頻率高,傳輸速度快,資料單向連續傳送等特點。它旨在作為一種替代方法,代替10位a/d和pwm的較低解析度的訊號傳輸,並且是can或lin的一種更簡單的低成本替代產品。

sent訊號以tick為單位計時,1個tick的名義長度是3us。資料每4 bit記為1個nibble,即半字,半字的脈衝週期為12 ~ 27個tick,代表資料0 ~ 15。

一幀sent訊號包含如下幾個部分:

下圖是一幀帶有2個12位資料的sent訊號。除了可選的pause pulse外,包含1個校驗/同步脈衝,1個狀態nibble,6個資料nibble,1個crc nibble。因crc nibble的值由前面6個資料nibble的大小經迴圈冗餘校驗得到,一幀不含pause pulse的sent訊號最短為154個tick,最長為270個tick。

sent訊號是將資料值對應到相鄰下降沿的時間間隔上,因此解析sent訊號的關鍵也就是檢測出時間間隔,計算出tick數。標準的1個tick為3us,實際訊號中會存在一些偏差,可根據校驗/同步脈衝修正。修正過程如下:

首先,sent訊號中校驗/同步脈衝的理論週期為56個標準tick(3us),實際處理中允許週期長度存在±20%的誤差。解析時,用校驗/同步脈衝的實際週期與理論週期(168us)相除,得到乙個修正因子;後面資料nibble的實際週期與修正因子相除,得到當前資料nibble的理論週期,該值與36us的差,除以3us,就可以得到資料nibble對應的資料值(範圍是0~15)。協議中的描述如下圖所示。

一般sent訊號由「校驗/同步脈衝+1個狀態nibble+6個資料nibble+crc nibble」組成,6個資料nibble傳輸的是感測器發出的快通道(fast channel)資料,傳輸的是主要資訊。而狀態nibble中可以儲存感測器的額外資訊(例如感測器的型號、製造商、環境溫度等),構成慢通道(slow channel)資料。

慢通道分為簡短型序列資訊(short serial message)和增強型序列資訊(enhanced serial message)。簡短型序列資訊由16幀連續的無錯誤sent訊號拼接而成,而增強型序列資訊由18幀拼接而成。同時增強型根據傳遞的資料量不同,又可以分為12位資料+8位id,和16位資料+4位id兩種。

arp協議學習

arp定義 arp address resolution protocol,位址解析協議 是tcp ip底層的協議,負責把ip位址轉為對應的mac位址 即網上48位的實體地址 之所以要arp協議,因為tcp ip有兩個位址,網絡卡的48位實體地址和32位 ip4是32位,ip6是128位 的ip位址...

XMPP協議學習

xmpp協議簡介 xmpp extensible messageing and presence protocol 可擴充套件訊息與存在協議 是目前主流的四種im im instant messaging,即時訊息 協議之一,其他三種分別為 即時資訊和空間協議 impp 空間和即時資訊協議 prim...

TCP IP協議學習

tcp ip參考模型 是乙個抽象的分層模型,這個模型中,所有的 tcp ip 系列網路協議 都被歸類到4個抽象的 層 中。每一抽象層建立在低一層提供的服務上,並且為高一層提供服務。完成一些特定的任務需要眾多的協議協同工作,這些協議分布在參考模型的不同層中的,因此有時稱它們為乙個 協議棧。最上面的是應...