一、 前言
SENT 全稱:Single Edge Nibble Transmission,中文名稱為:單邊半字傳輸協議,是 SAE 推出的一種點對點的、單向傳輸的方案,被用於車載傳感器和電子控制單元(ECU)之間的數據傳輸。SENT(SAE J2716) 作為一種汽車傳感器的新型接口標準,較 AD 和 PWM 輸出相比,具有很好的 EMC 特性並節省線束和插針結頭,且能傳輸故障代碼從而使傳感器系統具有很強的故障診斷能力。基於協議簡單和上述優勢,SENT 可作為 Analog Input 的替代品,並可在局部系統中取代 CAN 和 Lin。但卻不能替代 CAN 或是 Lin 因為 SENT 是連續單向傳輸的,CAN 和 Lin 都是雙向傳輸。
E3 SSDK 提供了專門 的 IAR 測試工程,用於對 Sent 信號的採集做測試,以下內容為該測試 demo 的原理與測試方法講解。
二、測試環境
硬體: E3 Gateway A02 開發板,圖(1)
圖(1)
軟體:E3 SSDK3.0 e3_ref_gateway 工程。
三、 demo說明
1. E3 SSDK Sent 的 IAR demo 工程位於 ssdk\boards\e3_gateway\driver_demo\sent\IAR\sent.eww,雙擊該文件即可 打開。
2. 配置文件 ssdk\boards\e3_gateway\driver_demo\sent\configs\sent_cfg.c 中定義了 2 路 Sent 信號,如圖(2),這些 參數必須和 Sent 的信號源保持一致,在本次測試中,我們將採用 Sent 信號盒子,設置出和文件中的參數相匹配的信號。
圖(2)
- main 函數中定義了一個數組 channel_recv_message,當上位機設置參數是,發送數據必須和該數組中的數據一致。當接收回調函數 sent_recv_callback ()從接收 Buffer 中讀取到的數據和該數組中的數據一致時,認為 Sent 傳輸正確。函數原型見圖(3)。
圖(3)
- 代碼運行流程在 main 函數中,依次初始化 E3,綁定 GPIO 到 etimer 的 capture 通道,啟動etimer,等待捕獲信號並觸發解析函數將數據保存在 buf 中,停止捕獲。圖(4)所示為這些流程的具體代碼實現。
圖(4)
四、 測試方法
1. 根據原理圖所示,按照圖(5)的方法連接好開發板和 Sent 盒子(圖莫斯 UTA0503)。
圖(5)
2. 打開 sent 盒子上位機軟體,按照第二章的代碼中的參數設置,見圖(6)
圖(6)
數據設置方法見圖(7)
圖(7)
3. 啟動開發板,並點擊 Sent 上位機數據發送,觀察log,見圖(8)。
圖(8)
五、 參考文獻:
- E3400_E3600_MCU_Technical_Reference_Manual_Rev00.12.pdf
- SemiDrive_E3_SSDK_User_Guide_Rev1.0.pdf
歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Sim Guo / 郭夕峰
更多資訊,請掃碼關注我們!:
評論