基于Labview的圆光栅高吞吐率角度测量数据的处理方法与流程

文档序号:16918357发布日期:2019-02-19 19:09阅读:390来源:国知局
基于Labview的圆光栅高吞吐率角度测量数据的处理方法与流程

本发明涉及测控系统信息技术领域,特别涉及一种基于labview的圆光栅高吞吐率角度测量数据的处理方法。



背景技术:

在当前信息化时代,对于高吞吐率,高精度测控系统的要求越来越高。对于众多相关企业而言,测控技术的提高都是急需的。定位的精确度,相应的快速性,高吞吐率的数据传输,这些对于企业的发展具有深远的影响。尤其我国现代工业的发展更需要新型技术的支持。而测控技术的出现正好满足了人们的需求。通过应用测控技术,不仅能逐步提高工业生产效率,提高一系列精密测量仪器的准确性,同时还丰富了新兴技术以及产业的种类,在一定程度上推动了我国工业产业的快速发展。在中国制造2025的背景下,测控技术具有极大的应用及推广价值,需要人们深入研究。其中,

biss通信协议是一种全双工同步串行总线通信协议,专门为满足实时、双向、高速的传感器通信而设计,常用于运动控制领域。biss协议具有高响应速度,采用rs422接口的biss协议波特率为10mbit/s。biss协议具有高的可靠性,可以应用6位crc校验码保证数据的准确性,每一帧数据中还包括一位警告位和一位错误位。biss协议利于进行数据同步,传感器在第一个时钟脉冲到来时进行数据更新,每一帧到达后续电子设备的延迟都是相同的。

fpga(field-programmablegatearray),即现场可编程门阵列,它是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。以硬件描述语言(verilog或vhdl)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至fpga上进行测试,是现代ic设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如and、or、xor、not)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的fpga里面,这些可编辑的元件里也包含记忆元件例如触发器(flip-flop)或者其他更加完整的记忆块。



技术实现要素:

本发明的目的是提供一种解决角度数据在labview环境下实现高速采集与数据高速流盘等问题的基于labview的圆光栅高吞吐率角度测量数据的处理方法。

为此,本发明技术方案如下:

一种基于labview的圆光栅高吞吐率角度测量数据的处理方法,步骤如下:

s1、按时序获取圆光栅的读数头传输的二进制数据;

s2、在fpga模块中,逐帧对步骤s1获得的二进制数据依次进行角度位识别、错误位的识别、警告位识别和循环冗余校验码的识别和处理,得到若干个数据通信帧;

其中,所述处理的方法具体为:

当一个数据通信帧中的错误位处的二进制数据为0时,停止步骤s1,在对圆光栅进行降温处理后再重新开始;

当一个数据通信帧中的警告位处的二进制数据为0时,检查圆光栅上是否存在异物;

当一个数据通信帧中的循环冗余校验码处的6位二进制数据与fpga模块端计算的循环冗余校验码不符时,检查地线是否断开或信号线附近是否有强电干扰,同时将该数据通信帧中的角度数据替换为由插值法计算出的新角度数据;

s3、将经过步骤s2得到的若干个数据通信帧通过dma-fifo上传至realtime系统,由realtime系统将每个数据通信帧中的角度二进制数据换算为实际的角度值并储存。

进一步地,在步骤s1中,采用ni6584适配器在fpga模块与圆光栅的读数头之间搭建数字信号差分通道,使fpga模块从圆光栅读数头处接收到差分数字信号。该步骤中,在labview开发环境中,使用差分信号采集角度信息,实现抑制共模干扰的目的。

更进一步地,在步骤s1中,搭建数字信号差分通道的具体方法为:将ni6584适配器插装在fpga模块的板卡接口内;同时将ni6584适配器任意端口的引脚1与圆光栅读数头的引脚1连接,将相同端口的引脚4与圆光栅读数头的引脚6连接,将相同端口的引脚5与圆光栅读数头的引脚7连接,将相同端口的引脚8与圆光栅读数头的引脚2连接,将相同端口的引脚9与圆光栅读数头的引脚3连接。

进一步地,在步骤s3中,使用dma-fifo对二进制角度数据进行传输,是因为dma-fifo是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个口是存储器的输入口,另一个口是存储器的输出口,使其能够实现1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据,2)数据集中起来进行进机和存储,可避免频繁的总线操作,减轻cpu的负担,3)允许系统进行dma操作,提高数据的传输速度;而接着采用realtime系统读取dma-fifo中的流数据并将角度二进制信息转换为角度信息的原因在于,其一在于使用realtime实时系统将二进制角度数据流换算为角度数据流,相比于直接使用上位机具有更高的实时性,能保证数据流持续稳定传输,其次realtime系统的存储功能实现对角度数据流单独存储至其磁盘中,形成冗余备份,当上位机需要调用角度数据时,realtime系统能够将角度数据流即时通过网络流的方式传输给上位机。可见,在labview开发环境中,通过dma-fifo传输角度二进制信息至realtime系统能够合理分配硬件资源,使系统中硬件发挥各自的优势。

与现有技术相比,该基于labview的圆光栅高吞吐率角度测量数据的处理方法具备如下有益效果:

1)该方法可以通过随时调整数据采集周期,方便进行多路数据的对齐与同步采集;

2)该方法能够实现高速传输角度数据,其1秒钟的数据传输量可以达到25000个;

3)该方法采用realtime系统通过与fpga协同工作,使二进制数据流高速、无损的传输至realtime系统进行角度数据流的高速转换和存储,实现各自发挥自身优势的特点,优化了系统资源。

附图说明

图1为本发明的基于labview的圆光栅高吞吐率角度测量数据的处理方法的流程图;

图2为圆光栅biss协议时序图;

图3为本发明实施例中的ni6584适配器与圆光栅的读数头的接线方式示意图。

具体实施方式

下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。

如图1所示,该基于labview的圆光栅高吞吐率角度测量数据的处理方法的具体处理步骤如下:

s1、按时序获取圆光栅的读数头传输的二进制数据;

s2、在fpga模块中,逐帧对步骤s1获得的二进制数据依次进行角度位识别、错误位的识别、警告位识别和循环冗余校验码的识别和处理,得到若干个数据通信帧;

其中,所述处理的方法具体为:

(1)读数头过热将严重影响角度数据的检测,此时会将错误标志位设置为真,提醒用户进行降温处理;

因此,当一个数据通信帧中的错误位处的二进制数据为0时,停止步骤s1,在对圆光栅进行降温处理后再重新开始;

(2)圆光栅上如出现污渍会导致读数受到影响,读数头可以识别圆光栅上的污渍,并通过将警告位设置为0,提醒用户清洁圆光栅;

因此,当一个数据通信帧中的警告位处的二进制数据为0时,检查圆光栅上是否存在异物;

(3)循环冗余校验码通过对26位二进制角度信息进行crc循环冗余计算并将计算得出的6位模二除余数,并与从圆光栅接收到的6位crc校验码对比,检查余数与6位crc校验码是否一致;

因此,当一个数据通信帧中的循环冗余校验码处的二进制数据与fpga端计算的循环冗余校验码不符时,检查地线是否断开或信号线附近是否有强电干扰,同时将该数据通信帧中的角度数据替换为由插值法计算出的新角度数据;此处,插值法计算的具体方法是:查找需要替换的角度数据的前一个角度数据和后一个角度数据,将前一个角度数据和后一个角度数据进行加和后求取的平均值即为新的角度数据;

s3、将经过步骤s2得到的若干个数据通信帧通过dma-fifo上传至realtime系统,由realtime系统将每个数据通信帧中的角度二进制数据换算为实际的角度值并储存。

具体地,该方法由依次连接的圆光栅的读数头、fpga模块、ni8840控制器和上位机实现;其中,在ni8840控制器上搭载有realtime系统。

在该方法中,信号发射端即圆光删读数头,信号接收端即fpga模块,fpga提供圆光栅读数头需要的时钟信号,圆光栅根据时钟信号确定发送数据位的频率,将数据逐帧发送至fpga。采用fpga芯片作为采集芯片有利于后续多路传感器采集数据的对齐,提高数据采集的同步度。

圆光栅的读数头使用ni6584适配器配置fpga全部端口为差分通道,使fpga接收圆光栅读数头发出的数字信号,以减小采集时的共模干扰。其中,ni6584适配器的接口端与圆光栅读数头的接口端都遵守rs422接口定义,通过基于rs422接口定义的biss-c协议实现数字信号的传输。

如图2所示为圆光栅biss协议时序图,其上信息依次为圆光栅检测到的角度数据、错误位数据、警告位数据和循环冗余校验码;其中,角度数据为26位二进制数据;错误位数据和警告位数据均为1位二进制数据,即1或0,根据biss协议规定,0表示圆光删运行存在错误,1表示圆光删运行正常;循环冗余校验码为6位二进制数据,用于检验数据在传输过程中是否出现错误。

具体地,将ni6584适配器插装在fpga模块的板卡接口内;同时将ni6584适配器任意端口的引脚1与圆光栅读数头的接口端的引脚1连接,将相同端口的引脚4与圆光栅读数头的接口端的引脚6连接,将相同端口的引脚5与圆光栅读数头的接口端的引脚7连接,将相同端口的引脚8与圆光栅读数头的接口端的引脚2连接,将相同端口的引脚9与圆光栅读数头的接口端的引脚3连接;另外,将圆光栅读数头的接口端的引脚4和引脚5均与5v电源正极连接,而其引脚8和引脚9均与5v电源的负极连接,金属外壳接地,即如图3所示。

fpga模块对自圆光栅读数头处接收到的数字信号进行处理,具体来说,在fpga中编写与圆光栅进行通讯的传输协议,输出信号为提供给圆光栅的时钟脉冲,圆光栅以此为频率基准进行每一位数据的发送;输入信号为圆光栅传入的数据信息,以状态机为基础对此传输协议的一个通讯帧进行编写;对时钟信号进行控制可以触发圆光栅的数据传输,调整数据传输速率;然后对接收到的原始数据按时序识别其发送的二进制数据的数据结构,解析出其中的26位角度二进制数据、错误位、警告位、6位crc校验位,还原每一帧的二进制角度信息,保证传输信息的准确性;对于涉及硬件安全的错误位,一旦出现0值,立即停止所有测试,并提醒用户对硬件进行降温。对于涉及光学识别精度的警告位,一旦出现0值,提醒用户对圆光栅栅尺进行清理。对于涉及传输过程是否被强电干扰的6位crc校验位,一旦校验未通过,表示此数据被强电干扰,已经不可信,使用插值法补偿此错误的角度值。特别的,对于多次出现crc校验未通过的情况,提醒用户检查强电干扰或是接地引脚是否未接地。

对于上述的传输协议,具体来说,使用labview开发环境编写传输协议,该传输协议对应程序中包括3个循环:第一为触发采集前的等待循环,用来配置采集频率与端口使能,并触发采集;第二为时钟脉冲信号输出控制循环,用来触发与驱动传感器数据的传输,控制传输中每一帧的时间;第三为圆光栅数据接收循环,使用状态机编写,按等待数据接收、开始位、零位、26位数据位、错误位、警告位、crc校验位、超时为基本状态,进行数据帧的解析,从圆光栅获得传入的角度信息。在超时阶段进行二进制信息的crc校验,检验数据是否在传输中失真。在超时阶段利用dmafifo进行数据的上传,以对数据进行进一步的分析。

接下来,将由fpga模块处理得到的角度二进制流数据通过dma-fifo传输至realtime系统。对于dma-fifo来说,dma指直接内存访问,即一种不经过cpu而直接从内存存取数据的数据交换模式;pio模式下硬盘和内存之间的数据传输是由cpu来控制的;而在dma模式下,cpu只须向dma控制器下达指令,让dma控制器来处理数据的传送,数据传送完毕再把信息反馈给cpu,这样就很大程度上减轻了cpu资源占有率。而fifo是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个口是存储器的输入口,另一个口是存储器的输出口,因此,采用dma-fifo可以使数据高速、无损的传输至realtime系统。

realtime系统作为专用的角度信号转换和存储装置,将dma-fifo发送来的二进制角度流数据转换为角度流数据,而储存在该系统中的角度流数据则可以根据需要通过网络流发送至上位机,进行角度曲线的绘制以及其他相关的数据分析工作。

综上所述,该基于labview的圆光栅高吞吐率角度测量数据的处理方法实现了角度数据的高速采集,高速存储,解决了角度数据在labview环境下的高速采集与数据高速流盘的问题,并且该方法涉及的算法复杂度不高,适用于各种仪器设备的角度采集系统,具有很好的使用价值和推广前景。

上述实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1