一、前言
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 作者:老哥三五瓶
更多资讯,请扫码关注我们!