基于LabVIEW的CSDB总线信号测试
t/s)误差为0.25%, 小于串行通信波特率最大容许误差5%,理论上可实现通信同步,因此在程序上将通信的波特率设置为12.8Kbit/s。
基于LabVIEW7.1的总线通信
用LabVIEW7.1编程来实现总线通信时,用户不必对GPIB,RS-232,VXI等硬件有专门的了解,LabVIEW为用户提供了标准的I/O接 口函数库,在Lab VIEW的Functions→All Functions→Instrument I/O中提供了GPIB、串口通信等各种函数模块,为实现串口通信提供了便捷的实现方法。软件流程如图3所示。
图3 串口通信软件流程图
软件设计中的关键问题及解决方法
(1) 发送数据帧结构多样化解决方法
通过对系统中不同部品的实际测试发现,由于其互联情况不同,相应部品控制码的帧结构也不尽相同,同步字后跟1~4个控制消息块不等,而在自动化测试系统中 要求此通信软件具有通用性。为此,将发送程序中控制消息块接口设为最大(4个),当程序检测到某一接口有数据输入时就发送此数据,若没有,则以相等长度的 延时替代。这样,在保证所有数据帧周期相同的情况下,满足了不同部品控制码的不同要求。
(2) 接收数据多重校验
数据接收程序中,LabVIEW要求设置接收数据缓冲长度,程序在接收此长度数据后才能进行后续处理。实际程序运行后发现,如缓冲长度仅为一帧(24× 8bit),接收数据有可能误接收。为避免此情况,将缓冲长度设置为一帧字长的4~6倍,在接收到数据后,再根据同步字、标号等多重匹配原则进行验证后将 数据取出,再将4~6组数据相比较,如相同,则认为数据可信,如不相同,则认为数据不可信。
结语
作CSDB总线数据测试时,可以方便通过界面改变需要发送的数据,接收的数据也可实时显示出来,便于测试分析。把此程序封装成一个子函数模块,可应用于某 航空无线电自动测试系统中,基于对CSDB总线的收发控制,成功实现了VIR-32导航接收机、VHF-22 甚高频电台等相关产品的自动测试。CSDB 相关文章:
- 基于LabVIEW的CSDB总线数据测试(09-15)