应用
航电实时测试系统主要应用于航空座舱的实时测试。座舱测试过程中,输入和输出信号的实时性至关重要,尤其是在多任务操作时,必须保证系统稳定的loop时间。为了满足这一需求,客户选择了基于Linux系统的解决方案,并在操作系统中添加了RT补丁以确保实时性能。
挑战
在开发过程中,客户面临的主要挑战是如何确保系统的实时性和稳定性。这不仅涉及到硬件的选择,还包括软件的优化和调试。因此,需要确保在测试过程中,输入和输出能够保持高度的同步性和精确性,以满足航空测试的严格要求。
解决方案
为了解决在航空座舱测试中遇到的实时性和稳定性挑战,我们使用简仪PXIe-3127e控制器,并装载客户指定的CentOS7操作系统搭配RT补丁,以确保系统的实时性。通过PXIe-5711的single point模式间隔输出5 ms的5 V和0 V信号,利用PXIe-5510的CI测量功能记录高低电平的时间,进而计算其均值、标准差、分布以及误差的分布情况,以评估系统的稳定性和精度。此外,简仪提供基于面向对象的C++驱动,方便客户在Linux环境下调用并开发上位机软件,同时提供完整的示例代码,简化编程过程,提高开发效率。 为提高实时性,我们采取了以下措施:
安装RT补丁,内核版本为3.10.0-1160.119.1.rt56.1270.el7.x86_64
关闭超线程,超线程虽然可以提高系统并行处理的能力,但对于实时性却会引入更大的不确定性,因此,关闭超线程可以一定程度上提高实时性,可以在命令行输入以下命令关闭超线程:
echo off | sudo tee /sys/devices/system/cpu/smt/control
隔离 CPU 核心,用于执行高实时性要求的进程,未设置 CPU 亲和度的进程,一般是不执行到北隔离的 CPU 核心的,这样,高实时性要求的进程执行在被隔离的 CPU 上后,则尽可能的不会受到其他进程的影响。可以通过修改内核命令行参数来隔离 CPU 核心,增加参数 isolcpus=3,则可以隔CPU3。
使用pthread_create创建运行实时线程,并配置CPU亲和,线程的调度方式和优先级,参考代码如下:
在代码中利用clock_nanosleep精确控制时间的操作,参考:
clock_gettime(par->clock, &t);
t.tv_sec += interval.tv_sec;
t.tv_nsec += interval.tv_nsec;
clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &t, NULL);
测试结果
图1为未采取提高实时性的措施之前得到的结果,采集得到的时间数据的标准差为5微秒左右,数据与均值的差值的分布较为分散。
图2为采取了提高实时性的措施之后得到的结果,标准差为1微秒左右,且数据与均值的差值的分布集中在1微秒之内,这说明数据误差更小且集中度更好。
图1
图2
使用的简仪产品
硬件
PXIe-2722G3:高数据传输带宽18插槽 PXIe Gen3 机箱
PXIe-3127e:配备第11代Intel Core i7-11850HE处理器的3U尺寸PXle控制器
PXIe-5510:高精度150 ppm,18位分辨率,32通道,2 MS/s 多功能数据采集模块
PXIe-5711:高精度0.02%,32通道 16位 2 MS/s 模拟输出模块
软件
FirmDrive底层驱动:FirmDriveRuntime_V1.5.0_Linux
板卡驱动:JY5500_V4.2.1_Linux、JY5710_V1.2.0_Linux
简仪设备管理器
基于开源免费的锐视测控软件开发应用程序
为什么选择简仪
锐视测控平台:锐视测控平台使用C#语言开发,提供了一个强大且易于使用的开发环境,帮助客户快速实现项目开发。
成熟的产品:简仪产品经过长期市场验证,具有可靠的性能和稳定性。
POC验证服务:简仪提供售前的POC验证服务,帮助客户验证产品性能和适用性。
高精度:简仪的产品满足了客户对测试精度和可靠性的高要求。
成本效益:相比国外品牌,简仪的解决方案不仅性能更优,而且在成本上具有明显优势,降低了客户的整体制造成本。
供货速度:简仪能够快速供货,确保项目按时进行。
技术支持和快速响应能力:简仪提供优质的本地化技术支持,快速响应客户需求,帮助客户解决问题,确保了测试任务的顺利进行。
通过简仪提供的测试设备和解决方案,客户成功构建了实时性高、精度高的航电测试系统,不仅满足了航空座舱测试对于精确度和实时性的严格要求,而且通过我们的技术支持和软件示例,大大缩短了客户的研发周期,提升了座舱系统的测试效率和准确性。
全部0条评论
快来发表一下你的评论吧 !