一、前言
SENT 全稱:Single Edge Nibble Transmission,中文名稱為:單邊半字傳輸協議,是 SAE 推出的一種點對點的、單向傳輸的方案,被用於車載傳感器和電子控制單元(ECU)之間的數據傳輸。SENT(SAE J2716) 作為一種汽車傳感器的新型接口標準,較 AD 和 PWM 輸出相比,具有很好的 EMC 特性並節省線束和插針結頭,且能傳輸故障代碼從而使傳感器系統具有很強的故障診斷能力。基於協議簡單和上述優勢,SENT 可作為 Analog Input 的替代品,並可在局部系統中取代 CAN 和 Lin。但卻不能替代 CAN 或是 Lin 因為 SENT 是連續單向傳輸的,CAN 和 Lin 都是雙向傳輸。
E3 MCAL3.1 採用 eTimer 捕獲 sent 信號,在 sent 信號下降沿,觸發 eTimer 中斷,在中斷處理函數中做軟體解碼。
二、測試環境
硬體: E3 Gateway A02 開發板,圖(1)

圖(1)
海拉 sent 傳感器,圖(2),輸出 1.65us tick 24bit(6 個半字) 數據。

圖(2)
軟體:E3 MCAL3.1 e3_ref_gateway 工程。
三、EB 配置
Sent 功能的配置涉及到 port, xtrg ,sent 三個模塊,配置細節如下:
- port
採用 GPIO-A11 作為 sent 信號的輸入引腳,相關的 EB 配置如下,引腳復用選擇 xTRG_IO11

圖(3)
- xTRG
信號經過 GPIO_A11 後,經過 xTRG 進入 eTimer1 的 A 捕獲通道。

圖(4)
3. Sent
SentTickFrenquency 是 sent 信號頻率,需要和傳感器發出的保持一致,1.65us 的 tick,倒數即為 606060。
SentHardwareModule & SentHardwareChannel 表示使用 eTimer2 的 A 捕獲通道。
SentFastChannelFormat & SentDataBitNum 表示 Sent 數據格式。
SentSampleInterval & SentFiterBandwidth 濾波採樣間隔和濾波採樣寬度。
SentNotifyFrameOver 為中斷回調函數,聲明後,需要在測試程序中去具體實現。
圖(5)
四、測試方法
1. 根據原理圖所示,按照圖(6)的方法連接好開發板和 Sent 傳感器。
圖(6)
- 測試代碼
測試代碼位於 ..\test_suite\example\sent_example\sent_example.c
測試代碼初始化流程如圖(7)

圖(7)
EB 中配置聲名的回調函數具體實現如圖(8),中斷處理函數會在解析完數據之後,根據實際
產生中斷的通道(A B C D),調用對應的回調函數。

圖(8)
3. 測試結果

圖 (9)
五、參考文獻
- E3400_E3600_MCU_Technical_Reference_Manual_Rev00.12.pdf
- SemiDrive_E3_SSDK_User_Guide_Rev1.0.pdf
歡迎在博文下方留言評論,我們會及時回復您的問題。
如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:老哥三五瓶
更多資訊,請掃碼關注我們!
評論
Zhulinye
4 個月前
Zhulinye
4 個月前