一种管道漏磁内检测数据采集器及其设计、采集方法与流程

文档序号:19609215发布日期:2020-01-03 13:53阅读:127来源:国知局
一种管道漏磁内检测数据采集器及其设计、采集方法与流程
本发明涉及一种数据采集器及其设计、采集方法,尤其是涉及一种管道漏磁内检测数据采集器及其设计、采集方法。
背景技术
:管道漏磁内检测是依靠内检测器在管道内介质压差的推动下,检测出管道的内外壁金属腐蚀缺陷,并定位缺陷在管道中的位置。为了适应管道内介质的工作压力大,内检测器运行速度快的工况,要求数据采集器减小采样时间,提高采样速率以保证测量精度。由于管道缺陷分布的随机性,漏磁内检测探头沿管壁周向排列密度高,因此要求数据采集器具备多通道同时采样的功能。此外,数据采集器还应具备与主控制器通讯功能,将采集到的数据高速传输到主控制器,便于数据存储。目前,管道漏磁内检测数据采集器主要是通过数据采集板卡进行数据采集和存储。数据采集板卡受到采样率、分辨率和采样通道数目限制导致数据采集实时性不能得到提高。由于数据采集板卡总线协议固定,如果与管道漏磁内检测器相连,必须开发相应的接口转换协议,造成设备复杂,可靠性降低。技术实现要素:本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种管道漏磁内检测数据采集器及其设计、采集方法。本发明的目的可以通过以下技术方案来实现:一种管道漏磁内检测数据采集器,包括:处理器:连接外部主控制器和多个采集外设,用于接收外部主控制器的数据采集指令传送给采集外设,同时将采集外设采集的数据反馈给外部主控制器;rs485收发器:设置多个,分别用于处理器与外部主控制器和各采集外设的通信连接;缓存器:连接处理器,用于处理器给外部主控制器反馈各采集外设采集的数据前进行数据缓存。所述的处理器包括fgpa。所述的rs485收发器包括max3485芯片。所述的缓存器包括ddr2sdram。所述的fgpa包括spartan-6xc6slx45芯片。该采集器还包括用于存储运行程序的spiflash,所述的spiflash连接至处理器。所述的spiflash包括n25q128芯片。该采集器还包括提供时钟的100mhz晶振,所述的100mhz晶振连接至所述的处理器。一种管道漏磁内检测数据采集器的设计方法,该方法具体为:(a1)采用模块内嵌模块的层次化模型设计数据采集器中处理器的程序,不同的模块按照实现的功能来定义和划分;(a2)设置处理器与外部主控制器和采集外设之间的rs485通讯方式,具体设置寄存器桥输入指令和流水线输出指令,处理器通过寄存器桥输入指令接收外部主控制器配置指令和控制指令以及采集外设的配置指令,处理器还通过流水线输出指令实时将采集外设采集到的数据发送给外部主控制器;(a3)设计基于缓存器的数据缓存机制:处理器中配置内存控制器,内存控制器被组态成4个端口p0-p3,每一个端口配置一个数据fifo存储器作为缓存,处理器接收采集外设的采集数据后,将采集数据存储按照数据块进行打包存储于缓存器中,然后按照流水线输出指令将数据实时传输给主控制器。一种管道漏磁内检测数据采集器的采集方法,该方法包括如下步骤:(b1)处理器通过寄存器桥输入指令读取外部主控制器发送过来的数据采集指令;(b2)处理器通过rs485收发器与采集外设通信并接收采集的数据;(b3)处理器将采集的数据按照数据块进行打包并缓存至缓存器中;(b4)处理器采用流水线输出指令将缓存器缓存的数据实时输出。与现有技术相比,本发明具有如下优点:(1)本发明数据采集器设置缓存器和rs485接口等,采集器首先将各种外设的采样数据缓存至缓存器,然后通过rs485接口传输至外部主控制器,设置缓存器能防止数据采集器发送给外部主控制器时总线冲突造成数据瓶颈,保证了数据的高速传输,从而满足数据传输的高速、平稳性要求;(2)本发明数据采集器速度快、功耗低、实时性好。附图说明图1为本发明管道漏磁内检测数据采集器的结构框图;图2为本发明数据采集器的层次化模型的示意图;图3为本发明数据采集器与外部主控制器通讯方式的结构示意图;图4为本发明数据采集器的数据块的结构示意图;图5为本发明数据采集器发送数据时的状态示意图。图1中,1为处理器,2为外部主控制器,3为采集外设,4为rs485收发器,5为缓存器,6为spiflash,7为100mhz晶振,8为电源。具体实施方式下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。实施例如图1所示,一种管道漏磁内检测数据采集器,包括:处理器1:连接外部主控制器2和多个采集外设3,用于接收外部主控制器2的数据采集指令传送给采集外设3,同时将采集外设3采集的数据反馈给外部主控制器2,本实施例处理器1采用spartan-6xc6slx45fgpa,处理器1设置7个外设接口,用于连接采集外设3;rs485收发器4:设置多个,分别用于处理器1与外部主控制器2和采集外设3的通信连接,本实施例rs485收发器4采用max3485芯片实现差分方式信号传输,有效地克服了信号通信过程中的干扰、噪声等缺点,7片max3485中与7个采集外设3相连,1片max3485与外部主控制器2相连,rs485收发器4的传输速率为几百k到几兆bps;缓存器5:连接处理器1,用于处理器1给外部主控制器2反馈采集外设3采集的数据前进行数据缓存,缓存器5包括ddr2sdram,本实施例缓存器5采用mt47h64m168meg*16*8banks1gbsdram,iobuffer通过16根数据线(dq0-dq15)与fpga通信。spiflash6:连接至处理器1,用于存储处理器1的运行程序,本实施例spiflash6采用128mbitn25q128芯片;100mhz晶振7:100mhz晶振8连接至处理器1,用于为系统提供时钟;电源8:为fpga提供+1.8v、+1.2v和+3.3v电源。采集外设3:包括管道漏磁内检测中常用的探头模块、里程轮模块、温度传感器模块、压差传感器模块、gps授时模块和imu模块。漏磁内检测器包含多个数据采集器,外设接口模块接入管道漏磁内检测中不同的数据采集器,数据采集器对7个采集外设的组态为以下两种,如表1所示。表1数据采集器外设接口配置探头模块包含5个三轴霍尔传感器和2个涡流传感器。三轴霍尔传感器负责采集的5个x轴的漏磁强度(x1、x2、x3、x4和x5),5个y轴的漏磁强度(y1、y2、y3、y4和y5),5个z轴的漏磁强度(z1、z2、z3、z4和z5);2个涡流传感器负责采集2组内外壁缺陷测量信号(ed1和ed2)。里程轮模块采用里采用霍尔角度传感器,以增量脉冲方式输出里程轮脉冲,提高抗干扰能力。压差传感器模块,用于实时采集管道内部压差的变化,以确定管道压差对检测器运行速度的影响。温度传感器模块,用于测量管道运行时介质的温度,以便分析介质温度对信号的影响。gps授时模块,用于传递gps同步时钟。gps授时模块上安装gps天线,用于接收gps时钟同步信号,经过处理后发送时钟同步信号和绝对时间戳给主控制器。imu模块包括加速度计和陀螺仪,用于x、y和z轴加速度计的比例输出和陀螺仪的角量输出,以解算检测器的姿势、速度和位置信息。一种管道漏磁内检测数据采集器的设计方法,该方法具体为:(a1)采用模块内嵌模块的层次化模型设计数据采集器中处理器的程序,不同的模块按照实现的功能来定义和划分;(a2)设置处理器与外部主控制器和采集外设之间的rs485通讯方式,具体设置寄存器桥输入指令和流水线输出指令,处理器通过寄存器桥输入指令接收外部主控制器配置指令和控制指令以及采集外设的配置指令,处理器还通过流水线输出指令实时将采集外设采集到的数据发送给外部主控制器;(a3)设计基于缓存器的数据缓存机制:处理器中配置内存控制器,内存控制器被组态成4个端口p0-p3,每一个端口配置一个数据fifo存储器作为缓存,处理器接收采集外设的采集数据后,将采集数据存储按照数据块进行打包存储于缓存器中,然后按照流水线输出指令将数据实时传输给主控制器。具体地:图2为本发明数据采集器的层次化模型。层次化模型通过采用模块内嵌模块的方式说明数据采集器是如何支持自顶向下进行结构化设计的。最上面一层为数据采集器的顶层封装模块,它包含了如下功能模块:(1)主控通讯模块,负责与外部主控制器1进行通讯,接收外部主控制器1的寄存器配置指令,将内存控制模块中的数据发送给外部主控制器1。(2)时钟管理模块,用于配置缓存器5时钟和处理器1的时钟。(3)chipscope用于系统调试。(4)主控制模块包括:寄存器模块、外设指令模块、内存控制模块和中断产生模块。(5)寄存器模块:用于将外部主控制器1的各种配置指令存储到相应的寄存器,设置各种寄存器的地址、字节数等信息。(6)内存控制模块:用于设置缓存器5ddr2sdram的端口组织,设置端口的fifo属性。(7)中断产生模块:产生各种外设端口的对应的中断,以保证程序执行的实时性和优先级。(8)外设指令模块:将寄存器模块中的外设配置指令发送给外设模块(包括如下的(9)、(10)、(11)、(12)、(13)和(14)),设置外设模块的中断优先级顺序,使能外设接口,调用所使能的外设接口服务程序。(9)探头收发模块:用于读取探头对应的寄存器模块中的数据,将从外设指令模块读取到的探头收发模块优先级传输给中断模块,分配探头所采集数据的ddr存储空间给内存控制模块,依次进行探头数据采集,将探头模块采集的数据缓存至fifo,然后将fifo中的数据存储到ddr中。所采集的数据包括:探头x轴主磁通数据,y轴探头主磁通数据,z轴探头主磁通数据,涡流传感器1信息,涡流传感器2信息,探头编号等。(10)里程轮模块:用于读取里程轮对应的寄存器模块中的数据,将从外设指令模块读取到的里程轮模块优先级传输给中断模块,分配里程轮模块所采集数据的ddr存储空间给内存控制模块,依次进行里程轮数据采集,将里程轮脉冲数据缓存至fifo,然后将fifo中的数据存储到ddr中。所采集的数据为里程轮脉冲数。(11)温度传感器模块:用于读取温度传感器对应的寄存器模块中的数据,将从外设指令模块读取到的温度传感器模块优先级传输给中断模块,分配温度传感器模块所采集数据的ddr存储空间给内存控制模块,依次进行温度传感器数据采集,将温度值缓存至fifo,然后将fifo中的数据存储到ddr中。所采集的数据为温度数据。(12)压差传感器模块:用于读取压差传感器对应的寄存器模块中的数据,将从外设指令模块读取到的压差传感器模块优先级传输给中断模块,分配压差传感器模块所采集数据的ddr存储空间给内存控制模块,依次进行压差传感器数据采集,将压差值缓存至fifo,然后将fifo中的数据存储到ddr中。所采集的数据为压差数据。(13)gps模块:用于读取gps对应的寄存器模块中的数据,将从外设指令模块读取到的gps模块优先级传输给中断模块,分配gps模块所采集数据的ddr存储空间给内存控制模块,依次进行gps数据采集,将gps模块的数据缓存至fifo,然后将fifo中的数据存储到ddr中。所采集的数据包括:年份、月份、日期、小时、分钟、秒和毫秒。(14)imu模块:用于读取imu对应的寄存器模块中的数据,将从外设指令模块读取到的imu模块优先级传输给中断模块,分配imu模块所采集数据的ddr存储空间给内存控制模块,依次进行imu模块数据采集,将imu模块的数据缓存至fifo,然后将fifo中的数据存储到ddr中。所采集的数据包括:x轴加速度信息、y轴加速度信息、z轴加速度信息、方位角、俯仰角和横滚角。如图3所示为数据采集器与外部主控制器2通讯方式的结构示意图。数据采集器通过rs485接口与外部主控制器2通讯,本发明设计了寄存器桥输入指令和流水线输出指令。数据采集器通过寄存器桥输入指令接收外部主控制器2和采集外设3的配置指令,数据采集器通过流水线输出指令实时将采集外设3采集到的数据发送给外部主控制器2。这种设计保证rs485接口的高速数据传输,不会造成总线冲突和数据瓶颈。数据采集器通过寄存器桥输入指令接收主控制器2发送过来的配置指令,寄存器桥输入指令包含控制指令,外设模块的寄存器地址、字节数,外设模块的优先级和ddr存储空间等信息。寄存器桥采用32位数据和32位地址方式,寄存器桥的配置如表2所示。表2寄存器桥配置数据采集器通过rs485数据总线,将数据传输给外部主控制器2。数据传输采用流水线输出指令格式。流水线输出采用块状结构进行。1个流水线输出采用若干个扫描周期。1个流水线输出包含若干个数据块,1个数据块包含256个字,一个字包含4个字节,32比特。数据块的最后一个字为32比特的数据校验位。主控制器接收到数据块后,通过数据校验位来判断接收到的数据字节数是否正确。数据块的结构如图4所示,具体包括:探头数据10:管道漏磁内检测一个探头中包含5个三维霍尔传感器和2个涡流传感器。每个三维霍尔传感器包含2字节x轴的数据,2字节y轴数据和2字节z轴数据。每个涡流传感器数据为2个字节。此外,探头还包含1个2字节的探头编号信息。探头数据10包含36个字节。每个数据采集器可以支持7组探头数据。备份数据11:备份,用于将来数据扩展。里程轮数据12:里程轮脉冲数为2个字节。备份数据13:备份,用于将来数据扩展。imu数据14:每个imu包含x、y和z轴的加速度输出和陀螺仪的角量输出,加速度输出为2个字节,陀螺仪角量输出为2个字节。gps数据15:gps时间信息包括年份2个字节,月份1个字节,日期1个字节,小时1个字节,分钟1个字节,秒1个字节,毫秒2个字节。温度数据16:温度输出为2个字节。压差数据17:压差输出为2个字节。crc数据18:crc校验为4个字节。数据块中探头数据的存储格式如表3所示,其它数据的存储格式如表4所示。数据块的1024个字节的数据定义如表5所示。表3数据块中探头数据存储格式名称描述字节数x1探头1中霍尔传感器1的x轴主磁通数据2x2探头1中霍尔传感器2的x轴主磁通数据2x3探头1中霍尔传感器3的x轴主磁通数据2x4探头1中霍尔传感器4的x轴主磁通数据2x5探头1中霍尔传感器5的x轴主磁通数据2y1探头1中霍尔传感器1的y轴主磁通数据2y2探头1中霍尔传感器2的y轴主磁通数据2y3探头1中霍尔传感器3的y轴主磁通数据2y4探头1中霍尔传感器4的y轴主磁通数据2y5探头1中霍尔传感器5的y轴主磁通数据2z1探头1中霍尔传感器1的z轴主磁通数据2z2探头1中霍尔传感器2的z轴主磁通数据2z3探头1中霍尔传感器3的z轴主磁通数据2z4探头1中霍尔传感器4的z轴主磁通数据2z5探头1中霍尔传感器5的z轴主磁通数据2ed1探头1中涡流传感器1的内外壁缺陷信息2ed2探头1中涡流传感器2的内外壁缺陷信息2sn1探头1编号2表4数据块中其它数据存储格式表5数据块字节地址定义数据块字节地址定义0-35探头1数据36-71探头2数据72-107探头3数据108-143探头4数据144-179探头5数据180-215探头6数据216-251探头7数据252-987备份数据988-989里程轮数据990-991备份数据992-1003imu数据1004-1015gps数据1016-1017温度数据1018-1019压差数据1020-1023crc校验数据如图5所示为数据采集器发送数据时的状态示意图,数据采集器有一个1gb的ddr2sdram,ddr2的作用是防止数据采集器发送给主控制器数据时总线冲突造成数据瓶颈。fpga中有一个内存控制器mcb用于控制ddr2sdram。mcb被组态成4个端口,p0-p3。每一个端口都有一个数据fifo作为缓存,数据fifo占用256个字节,宽度32比特,深度64行(32比特*64行=256字节)。由于1个数据块包含1024个字节,数据采集器必须将1个数据块的数据一次性发送给主控制器,这里设计了4个mcb端口p0-p3用于流水线输出指令的数据传输(4*256字节=1024字节)。mcb端口解码器用于将1024字节的数据分配给4个端口。mcb端口仲裁器用于将数据发送给rs485收发器4。基于上述设计方式,本发明一种管道漏磁内检测数据采集器的采集方法包括如下步骤:(b1)处理器通过寄存器桥输入指令读取外部主控制器发送过来的数据采集指令;(b2)处理器通过rs485收发器与采集外设通信并接收采集的数据;(b3)处理器将采集的数据按照数据块进行打包并缓存至缓存器中;(b4)处理器采用流水线输出指令将缓存器缓存的数据实时输出。上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1