基于LabVIEW的CSDB总线数据测试技术

发布者:psi33最新更新时间:2010-11-05 来源: 电子发烧友关键字:LabVIEW  CSDB  测试  数据帧 手机看文章 扫描二维码
随时随地手机看文章

  本文分析和研究了CSDB总线的协议,并介绍了通过计算机的RS-232串口及相应电平转换电路,基于LabVIEW7.1软件开发平台实现的计算机与UUT的双向通信。其中,支持通信的软件实现是关键。

  图1 CSDB总线结构

  CSDB总线协议简介

  CSDB总线体系结构的物理层规定了总线的机械特性和电气特性;数据链路层给出了数据帧的定义以及数据帧之间的定时要求,并对总线连接的各种航空设备的参数做出了详细的规定。

  物理层

  CSDB是单向广播式异步串行总线标准,它可以构成单信源、多接收器的传输系统。总线数据采用NRZ编码,全双工差分方式传输。CSDB信号的数据格式与RS-232-C标准完全相同,都为异步串行通信格式,即:一个起始位、八个数据位、一个奇偶校验位、一个停止位,其电气标准为RS-422-A。

  数据链路层

  CSDB总线是面向字节的传输协议,固定长度的字节组成消息块,再由一定长度的消息块组合成帧,封装在数据帧中的不同数据通过各自的地址字节加以区别,不同的数据帧之间通过同步消息块分割。CSDB总线数据结构如图1所示。

  在图1中,消息块(Message Block)的第一个字节Byte 0称为标识 (或地址),消息块都是通过标识来区分的。消息块的长度是固定不变的,为6字节。CSDB采用的是异步串行传输方式,通过起始位和停止位完成字节的位同步,因此,在编码中不必带有时钟信息。帧同步通过识别同步消息块6个字节的十六进制“A5”来实现,同步消息块标识了每个数据帧的开始位置。

  其中:t1=帧时间长=1/最大更新率

  t2=消息块间隙时间长(无限制)

  t3=总线空闲时间(最小11bit的时间)

  t4=字节间隙时长(无限制)

  CSDB总线信号测试[page]

  测试原理

  对CSDB总线信号进行测试,是先将CSDB信号电平转换为和计算机适应的RS-232电平,再根据CSDB总线的规则,实现对控制信息的正确发送和实时反馈信息的正确接收,并根据需要,将有用信息提出送测试系统处理,完成对航空机载设备的自动化测试。具体步骤分为信号电气转换、通信同步、LabVIEW实现。

  图2 CSDB总线信号通信原理框图

  通信配置

  (1)电气转换

  CSDB总线信号经过电气转换芯片后直接与计算机进行串口通信。在进行RS-422-A到RS-232的电气标准转换时,使用MAX488全双工电平转换芯片。

  (2)通信同步

  CSDB总线为异步串行通信,按照串行数据传输的基本原理,实现正确通信的基本条件是保持接收和发送双方时钟一致,以避免发送与接收双方的数据位宽产生累积误差,造成不能正确检测到总线数据。在串行通信中,信息是按位传送的,传送速率用波特率表示,数据的发送和接收受各自的时钟控制,因此,发送方和接收方的波特率应保持一致。经对具体部品测试,CSDB数据总线数据波特率为12.5Kbit/s,为与此同步,要求计算机产生的波特率也应为12.5Kbit/s。

  如图2所示,在计算机中负责串行通信的器件为8250异步通信适配器(UART),或其兼容元器件,程序通过对8250内部的寄存器读写来控制通信模式,8250使用频率为1.8432MHz的基准时钟输入信号作为主数据时钟,通过对8250内部寄存器置位来获得需要的波特率。在异步串行通信中,为防止由于信号畸形、不同步等原因造成对数据的误读,通信适配器规定每读取或发送1bit数据至少要用16个时钟脉冲来控制其波特率,实际应用中波特率时钟是主时钟的1/16或1/(16×N),对于要求的波特率,在写寄存器时用如下公式计算除数因子:

  除数因子=(主数据时钟频率/16)/波特率=115200/波特率

  在算出除数因子后,将相应数据写入8250内部的波特率设置寄存器,即可在串口得到相应波特率的数据。经计算,115200除以12500后不为整数,所以,受到计算机异步通信适配器8250的限制,在波特率设置上不能完全和12.5Kbit/s相同,经计算,当除数因子取9时对应的波特率为12.8Kbit/s,与CSDB总线要求的波特率最为接近,其每bit占据78?S,相对80?S/bit(12.5Kbit/s)误差为0.25%,小于串行通信波特率最大容许误差5%,理论上可实现通信同步,因此在程序上将通信的波特率设置为12.8Kbit/s。[page]

  基于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 甚高频电台等相关产品的自动测试。

关键字:LabVIEW  CSDB  测试  数据帧 引用地址:基于LabVIEW的CSDB总线数据测试技术

上一篇:自制便携式虚拟仪器的一种快速实现方法
下一篇:NI推出眼球控制马里奥的LabView源码

推荐阅读最新更新时间:2024-03-30 22:12

脉宽调制(PWM) 马达驱动器电源的测试分析
1.概述 自电机工程诞生以来,三相交流马达一直是工业领域的主力。它们可靠、高效、费效比高,需要少量维修或根本不需要维修。此外,交流马达(如感应马达和磁阻马达)无需与转子的电气连接,因此很容易实现阻燃,用于危险环境(如矿山)。 为了提供适当的交流马达速度控制,必须为马达提供三相电源,其电压和频率可以变化。这种电源将在定子中形成一个变速旋转磁场,使得转子按照所需的速度旋转,且滑动很小,如图1 所示。这个交流马达驱动器可以高效提供从零速到全速的全转矩,如果需要的话,还可以超速,而且通过改变相位旋转,可以很容易使马达双向运转。具有这些特点的驱动器称作脉宽调制马达驱动器。 交流马达驱动系统示意图 脉宽调制驱动器可以生成复杂
[测试测量]
脉宽调制(PWM) 马达驱动器电源的<font color='red'>测试</font>分析
什么是HAC测试?(一)
使用助听器的用户总是抱怨说当附近有人打电话时经常听见助听器发出 咔咔 的噪声,这表明手机和助听器可能不兼容。根据此种情况2006年9月,美国FCC针对手机各制造商强制实施了HAC(Hearing Aid Compatibility)的认证计划,其的HAC参考标准为ANSI C63.19(美国无线通讯设备与助听器兼容性测量国家标准方法)。根据标准定义消费者可通过对助听器抗干扰级别和相应的手机信号发射级别来判断某型号助听器与手机的兼容性。 HAC测试计划要求被测手机的限值在M3 (测试结果是分M1~M4). 限值的具体定义后文中将做具体说明。除了HAC之外,T-coil(音频测试)也必须要求限值在T3(测试结果是分T1~T4)范围
[测试测量]
什么是HAC<font color='red'>测试</font>?(一)
庖丁解牛看功率器件双脉冲测试平台
双脉冲测试是表征功率半导体器件动态特性的重要手段,适用于各类功率器件,包括MOSFET、IGBT、Diode、SiC MOSFET、GaN HEMTs。 同时,这项测试发生在器件研发、器件生产、系统应用等各个环节,测试结果有力地保证了器件的特性和质量、功率变换器的指标和安全,可以说是伴随了功率器件生命的关键时刻。 随着先进功率器件的问世以及功率变换器设计愈发精细,器件研发工程师和电源工程师都越来越关注双脉冲测试。 工欲善其事,必先利其器,拥有一套双脉冲测试平台是获得正确评估结果的第一步。本文将破解双脉冲平台搭建的难题,快来看看吧。 下图是双脉冲测试平台架构,并不复杂,主要包括:测试板、高压电源、辅助电源、信号发生器、负
[测试测量]
庖丁解牛看功率器件双脉冲<font color='red'>测试</font>平台
ASEMI实用三板斧之SBT2045VFCT二极管测试
借助万用表测量电阻的办法或通断测试档位,可以很方便的找出二极管正负极的极性以及粗略的测量出二极管的好坏。 二极管正负极 大家都知道,一般二极管(如SBT2045VFCT)上都是有直接表示正负极的,当看到管壳上有白色线圈的那一段,便是负极。或者线脚较短的一边为负极。但如果没有这些特征怎么办? 万用表是电工手上都有的工具,使用万用表的欧姆档(测电阻)去测二极管的正负极电阻时,由于万用表内接有电池,要注意到万用表壳上标有“-”的接线端的黑表笔相连;表壳上标有“+”的接线端的红表笔相接。电流是由红表笔流出,而从黑表笔流回。另外应选用Rx1000的欧姆档来测量,因为Rx1档电流太大,Rx10K档电压太高,都容易损坏二极管,所以不宜选
[测试测量]
ASEMI实用三板斧之SBT2045VFCT二极管<font color='red'>测试</font>法
AVR系列之PWM测试
现在都已经开始上课了 总结还没做完呢 还是不急 都说是慢工出细活的 不过偶是不知道自己的算不算是细活呢 自我安慰下 姑且就当是吧 今天整理的是关于定时器的PWM功能测试 不多说了 继续写出代码吧 #include iom16v.h #include macros.h #define OC0_OUT_EN DDRB |= 0b00001000 //OCO设置为输出端 //PWM初始化 void Timer0Init(void) { TCCR0 = (1 WGM01)|(1 WGM00)|(1 COM01)|(1 COM00)|(1 CS00); /* WGM01=1; WGM00=1; -- fast PWM m
[单片机]
无源互调测试仪的几个关键指标
无源互调测试仪目前使用越来越广泛,然而大家对如何选择无源互调测试仪,它包含哪些关键的技术指标还并不是太熟悉,下面就给大家谈谈,希望能对大家有所帮助。 残留互调 简单的说就是无源互调测试仪自身的互调水平,它是互调仪内部双工器、连接电缆、测试电缆和低互调负载四大部件的互调总和。目前各大互调仪厂商的出厂标准都在-125dBm以下,这可以满足95%以上的测试需求,如果需要更低的残留互调需要特别定制。 一般情况下,我们要求互调仪的残留互调必须低于被测产品互调值10dB,这样由于测试不确定性引起的误差才能小于3dB。 底噪声 底噪声指的是发射功率关闭时,接收机所能测得信号的平均值。目前各大互调仪厂商的出厂标准都在-135dBm以下,这个
[测试测量]
无源互调<font color='red'>测试</font>仪的几个关键指标
轻松简单搞定USB线缆和充电器质量测试
有史以来首款以简单且直观的方式鉴定USB线缆和充电器质量的测试仪,尤其适用于非技术人员。 QooPowqualMeter介绍   QooPowqualMeter是一款革命性、智能且具备成本效益的DIY设备,它可以帮助你快速且简单地诊断并了解USB线缆和充电器,即使不具备任何技术背景知识也没关系。 qualMeter能用于各种主流的USB充电线缆的测试,它还可以测试5V充电器的带负载能力,从而大致确定其质量。 技术提示 想知道你的设备为什么充电这么慢吗?因为不合格的充电线缆可能会产生较大的电压降。比如,如果你选用的充电线缆就像大部分低质量线缆那样,内部阻抗为500毫欧,那么在进行1A电流充电时,便会产生0.5V的电压下降,这就意
[嵌入式]
matlab的电机模型仿真测试
模型搭建背景电机控制器是电机驱动系统中的关键部分,其中,控制器及其功率驱动模块的好坏直接影响电机控制的性能及安全性,因此,在电机的研究和评估过程中,往往需要真实的电机和机械负载来检验电机的控制能力。由于传动机械电机台架的机械负载获取及安装不易,若采用连接同轴发电机的方式模拟电机运行,会使测试方式能耗、成本等大大增加,同时灵活性也会变差,从而在某些条件或复杂工况下运行测试困难。为解决这一问题,如果将电机及机械负载被视为电机驱动的一个功率负载,通过功率换流器来模拟电机端口电压和电流,来实现对电机的模拟不失为一种很好的选择,采用此种方法模拟的设备一般统称为电子负载,如果用来模拟电机,一般称作电机模拟器。电机模拟器系统结构电机模拟器可以理
[嵌入式]
matlab的电机模型仿真<font color='red'>测试</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved