【ATE-SENT协议】使用LabVIEW采集并解析SENT协议

本文介绍了如何使用LabVIEW及NI硬件采集并解析SENT协议,重点在于CI方案的选择和补偿解码算法,以实现100%解码成功率。讨论了错误的处理方式,并提供了解码函数的VI。
摘要由CSDN通过智能技术生成

SENT协议大多用于车载行程传感器上,具体协议规范这里不讲,不了解的朋友可以看一下其他人的帖子。我这里只讲如何使用LabVIEW及NI硬件采集并解析SENT协议。

硬件采集方案

SENT协议的解析,物理本质是测量连续方波信号的周期。

目前市面上常用的硬件方案有三种:

        NI FPGA 直接处理数字信号

        NI AI采集数字波形并解码

        NI CI 用计数器测量脉冲周期并解码

以上三种方案均可实现SENT协议的硬件采集,本人强烈推荐使用CI方案。原因如下:

1、FPGA虽然灵活,但是太贵。

2、AI采集要求AI的采样率至少达到1MHz,且如果要降低误码率采样率要更高。无论是价格还是CPU处理效率,都没有优势。

3、CI的解决方案,价格便宜,虽然抗干扰能力较差,但通过补偿解码算法将误码率降为≈0%。这个“补偿解码算法”是本文的重点。

硬件选型

由于CI的运行模式需要使用“CI脉冲时钟滴答”模式,此模式并非所有NI采集卡的CI资源均支持。

本人使用的型号是PCIe-6361,据我所知NI 多功能采集卡中X系列的卡应该都支持这种模式。

 SENT解码干扰

SENT信号的时基一般是3us,像这种频率的信号频率相对来说比较高。CI是数字信号,只要你的电压值满足其高低电平阈值范围,均会触发其逻辑。这种敏感性会导致通讯信号上的一些高频干扰会误触发CI的测量。

下图是一组实测的SENT数据,我们可以看到,画圆圈的部分就是由于高频干扰产生的误触发。

对于这种误触发,我先列举几个错误的处理方式(都是我走过的弯路) 

1、加滤波

此方案不可行,因为SENT协议是一个用方波周期表达数据的协议,滤波电路会导致方波的上升下降沿发生变化,影响方波周期的测量,增大误码率。

2、使用NI CI自带的数字滤波器硬件功能实现

NI的CI资源有一个数字滤波器功能,可以靠硬件将脉宽小于设定时间的脉冲忽略掉。这个功能理论上能解决这个问题,但我没研究明白这玩意到底怎么用。也不清楚它只是单纯的去除了小脉冲,还是将小脉冲补偿到了大脉冲里,如果是前者会造成误码。

3、不处理,用CRC校验去除校验失败的数据。

这种方案会造成很高的误码率,因为SENT协议的CRC校验只有4个bit,即使错误的数据,也有可能通过CRC校验。

4、直接删掉这些高/低滴答明显小的数据

也不行,因为这些数据也是有效数据周期的一部分,去掉他们会影响到SENT的周期测量。

 解码算法

 正确的方式是将这些高/低滴答数据明显小的数据,补偿到上一帧或者下一帧。下图是经过补偿算法后解析到的数据。这个数据后面3个Nibble是一个累加器,大家可以看到所有数据都是连续的,说明没有出现误码。

还有一点要额外说一下,SENT协议每帧的第一个脉冲是同步用的,固定56个时基。这个时基虽然理论上是3us,但是实际上会有上下浮动。如果要做到100%的解码率,需要对每个帧根据这个56求实际的时基时间,然后用这个时间去解析后面的数据。不能使用常量。

本人实测下来,此方法可以做到100%的解码成功率。

程序层面 

硬件初始化部分: 

数据读取部分:

解码函数 

解码函数比较复杂,我直接贴VI吧。LabVIEW2020版本的。

SENT协议解码函数

LabVIEW (Laboratory Virtual Instrument Engineering Workbench),是一款由美国国家仪器公司(National Instruments)开发的图形化程序设计环境和开发平台。ATE (Automatic Test Equipment) 则是自动测试设备,用于对电子元器件、电路板或电子产品进行自动化测试和验证。 在ATE测试框架中,LabVIEW是一种常见的开发工具。LabVIEW提供了丰富的功能和工具,可以帮助工程师创建和执行各种自动化测试任务。利用LabVIEW中的图形化编程方式,工程师可以通过拖拽和连接函数块来组织测试流程,而无需编写传统的代码。这使得测试框架的开发变得更加快速和高效。 LabVIEWATE测试框架可以通过多种方式与被测试设备进行通讯,包括使用标准的数据采集卡、通过网络通讯或者基于各种通讯总线的协议LabVIEW还支持各种常用的测试仪器和设备,如示波器、信号发生器、多用途IoT设备等。这使得ATE测试框架可以很容易地与现有的测试设备集成,实现自动化测试。 通过LabVIEW的图形化界面,工程师可以直观地监测和分析测试结果。LabVIEW提供了各种可视化工具和函数库,供用户自定义测试报告和结果显示。工程师可以根据需要设置测试参数、编写测试脚本、进行数据分析和生成详细的测试报告。 总的来说,LabVIEWATE测试框架是为了简化和优化自动化测试流程而设计的。它提供了强大的图形化编程工具,可与多种测试设备和仪器集成,使测试工作更加高效和准确。LabVIEWATE测试框架在电子产品制造和研发领域具有广泛的应用,帮助工程师快速开发测试系统,提高生产效率和产品质量。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值