CN118312466A - 一种用于可靠性评估的信号采集设备 - Google Patents
一种用于可靠性评估的信号采集设备Info
- Publication number
- CN118312466A CN118312466A CN202410426698.7A CN202410426698A CN118312466A CN 118312466 A CN118312466 A CN 118312466A CN 202410426698 A CN202410426698 A CN 202410426698A CN 118312466 A CN118312466 A CN 118312466A
- Authority
- CN
- China
- Prior art keywords
- state
- data
- logic
- signal
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011156 evaluation Methods 0.000 title abstract description 11
- 238000005070 sampling Methods 0.000 claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 37
- 239000007787 solid Substances 0.000 claims abstract description 21
- 230000002093 peripheral effect Effects 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 42
- 101000885321 Homo sapiens Serine/threonine-protein kinase DCLK1 Proteins 0.000 claims description 36
- 102100039758 Serine/threonine-protein kinase DCLK1 Human genes 0.000 claims description 36
- 238000001514 detection method Methods 0.000 claims description 18
- 230000009191 jumping Effects 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000013480 data collection Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 230000000630 rising effect Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 101000904787 Homo sapiens Serine/threonine-protein kinase ATR Proteins 0.000 description 1
- 201000006783 Seckel syndrome Diseases 0.000 description 1
- 102100023921 Serine/threonine-protein kinase ATR Human genes 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Abstract
本发明公开一种用于可靠性评估的信号采集设备,涉及信号采集领域。所述信号采集设备包括主控芯片、外围芯片以及固态硬盘;主控芯片内部包括FPGA和ARM;FPGA内部集成了多种接口逻辑并且每种逻辑都设置了数据缓存区域用于缓存数据;多种接口逻辑包括IEPE信号采样逻辑、电流/电压采样逻辑、RS485/RS422/RS232通讯逻辑、CAN通讯逻辑和网络接口逻辑;ARM负责查询以上逻辑缓存数据并与上位机通讯;固态硬盘用于各种数据信号存储。本发明实现了同时集成多种接口的小型化系统,可以同时采集各种被测对象的数据同时具备数据缓存,可以独立工作采集3个月以上的数据,可以应用于可靠性评估的数据采集任务,以较低成本有效满足了实际需求。
Description
技术领域
本发明涉及信号采集技术领域,特别是涉及一种用于可靠性评估的信号采集设备。
背景技术
在可靠性评估中,被测对象的信号种类有很多,比如来源于IEPE传感器的振动信号、来源于电流/电压传感器的输出信号、来源于RS485/RS422/RS232的传感器接口数据、来源于CAN总线的传感器接口数据以及来源于网络接口的数据等。目前市面上的信号采集产品普遍存在以下问题:一方面,只有各种信号单独的采集系统,在组建可靠性评估系统时,需要多种产品进行系统集成,体积较大;另一方面,需要独立工作采集数月数据,采集系统需要大容量的板级存储器,进一步增加了体积和成本。
发明内容
针对上述背景技术中提出的问题,本发明提供一种用于可靠性评估的信号采集设备,以实现同时采集各种被测对象数据的小型化系统并降低采集成本。
为实现上述目的,本发明提供了如下方案:
一种用于可靠性评估的信号采集设备,包括:主控芯片、外围芯片以及固态硬盘;所述主控芯片内部包括FPGA和ARM;所述外围芯片包括第一AD芯片、第二AD芯片以及CAN收发器;
所述FPGA内部集成了IEPE信号采样逻辑、电流/电压采样逻辑、RS485/RS422/RS232通讯逻辑、CAN通讯逻辑和网络接口逻辑,并且以上逻辑都设置了数据缓存区域用于缓存数据;所述IEPE信号采样逻辑通过第一AD芯片与IEPE传感器振动信号接口连接,用于采集来源于IEPE传感器的振动信号;所述电流/电压采样逻辑通过第二AD芯片与电流/电压传感器输出信号接口连接,用于采集来源于电流/电压传感器的输出信号;所述RS485/RS422/RS232通讯逻辑与RS485/RS422/RS232传感器接口连接,用于采集来源于RS485/RS422/RS232的传感器接口数据;所述CAN通讯逻辑通过CAN收发器与CAN总线接口连接,用于采集来源于CAN总线的传感器接口数据;所述网络接口逻辑与FPGA端网络接口连接,用于采集来源于网络接口的数据;
所述ARM与所述FPGA连接,用于查询逻辑缓存数据;所述ARM还通过ARM端网络接口与上位机通讯,执行上位机命令及数据上传功能;所述ARM还与所述固态硬盘连接,用于存储各种信号及数据。
可选地,所述第一AD芯片采用AD7768转换芯片。
可选地,所述IEPE信号采样逻辑包括AD复位状态、等待开始信号状态、检测DRDY高状态、检测DRDY低状态、检测DCLK高状态、检测DCLK低状态以及数据写入缓存状态;
在所述AD复位状态下,FPGA对AD7768转换芯片执行复位操作;
在所述等待开始信号状态下,FPGA等待开始信号的到来,当开始信号出现时跃迁至所述检测DRDY高状态,若未检测到开始信号则停留在所述等待开始信号状态;
在所述检测DRDY高状态下,FPGA持续监测AD7768转换芯片的DRDY引脚的电平,一旦检测到高电平就进至所述检测DRDY低状态,否则将重回所述检测DRDY高状态;
在所述检测DRDY低状态下,FPGA持续监测DRDY引脚的电平,当检测到低电平时表示AD7768转换芯片开始输出数据,进入所述检测DCLK高状态,若仍为高电平,状态不变;
在所述检测DCLK高状态下,FPGA持续监测AD7768转换芯片的DCLK引脚的电平,当检测到高电平时,8个存储32位数据的寄存器都左移一位,进入所述检测DCLK低状态;若检测到低电平,状态不变;
在所述检测DCLK低状态下,FPGA继续监测DCLK引脚的电平,当检测到低电平时,FPGA读取AD7768转换芯片输出的各通道数据,并将这些数据分别赋值8个32位数据的最低位,同时,移位计数器增加1,跳回到所述检测DCLK高状态,继续读取数据和移位操作;当所有通道的数据都已读取完毕,FIFO写入信号被置位,进入所述数据写入缓存状态;
在所述数据写入缓存状态下,将所有都已读取完毕的通道数据进行并行转串行的处理,按照通道的顺序存储到FIFO中,然后跳至所述检测DRDY高状态。
可选地,所述第二AD芯片采用AD7915转换芯片。
可选地,所述电流/电压采样逻辑包括AD_IDLE状态、AD_CONVST状态、AD_WAIT_EN状态、AD_CLK_HIGH状态、AD_READDATA状态、AD_WRITEDATA状态、AD_WRITEFIFO状态以及AD_WAIT_END状态;
FPGA首先在AD_IDLE状态等待AD开始信号,当AD开始信号出现时跳至AD_CONVST状态;
在AD_CONVST状态下将AD转换信号拉高,使用计数器的形式来对其计时,以达到所要求的转换时间tCONV;当计数到规定的转换时间tCONV时,将AD转换信号拉低,跳至到AD_WAIT_EN状态;
在AD_WAIT_EN状态下同样使用计数器等待规定时间tEN,达到tEN时跳至AD_CLK_HIGH状态;
在AD_CLK_HIGH状态下,时钟信号SCK保持为1,数据计数从复位的16减1,利用ad_sclk_cnt计数SCK的保持时间tHSDO,然后跳至AD_READDATA状态;
在AD_READDATA状态下SCK保持为1,读取AD7915转换芯片的SDO引脚数据,然后再重回AD_CLK_HIGH状态,重复操作16次,当数据计数到0时,跳至AD_WRITEDATA状态;
在AD_WRITEDATA状态下,将读取的数据加通道号存储至规定寄存器,然后跳至AD_WRITEFIFO状态;
在AD_WRITEFIFO状态下,将数据写入FIFO,完成后跳至AD_WAIT_END状态;
在AD_WAIT_END状态下等待规定采样率时间的结束,切换通道,跳至AD_IDLE状态,重新开始采集数据。
可选地,所述RS485/RS422/RS232通讯逻辑包括读写控制逻辑、接收缓存逻辑、接收逻辑、发送缓存逻辑以及发送逻辑;
所述读写控制逻辑用于对数据先进行对应寄存器的设置,来设置帧格式、接收缓存逻辑以及发送缓存逻辑;所述读写控制逻辑通过将相应寄存器的值输入到发送逻辑或接收逻辑来设置帧格式;所述读写控制逻辑还用于对波特率的设置;
所述发送逻辑中采用状态机的形式实现串口协议,开始位、数据位、校验位、停止位,每一位都设置对应的配置寄存器,用于帧格式的修改;
所述接收逻辑根据波特率的不同,其时钟也不同;所述接收逻辑采用检测时钟边沿信号的方式来对数据进行接收,并采用多次采样和加和的方法来判断高低电平。
可选地,所述CAN收发器采用TJA1050芯片或ADM3053芯片。
可选地,所述CAN通讯逻辑包括opencores逻辑和弥补逻辑;
FPGA监测到所述弥补逻辑的开始信号后,查询opencores逻辑中的“读中断寄存器”操作;
如果中断寄存器内容为0,返回监测开始信号操作;
如果中断寄存器内容为1,依次执行“读接收帧数量寄存器”操作、“读接收帧信息寄存器”操作、“读接收bufferIP和读数据buffer数据”操作以及“写释放接收寄存器”操作;
在执行“写释放接收寄存器”操作时,判断FrameCount-1是否等于0,如果等于0,返回监测开始信号操作,否则返回到“读接收帧信息寄存器”操作,重复执行之前的操作。
可选地,所述固态硬盘容量为2TB。
可选地,所述ARM依次查询所述FPGA内部的数据缓存区域,当数据缓存区域有数据时,取出数据并存储到所述固态硬盘内。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明所提供的用于可靠性评估的信号采集设备,包括主控芯片、外围芯片以及固态硬盘;主控芯片内部包括FPGA和ARM;FPGA内部集成了多种接口逻辑并且每种逻辑都设置了数据缓存区域用于缓存数据;其中IEPE信号采样逻辑通过第一AD芯片与IEPE传感器振动信号接口连接,用于采集来源于IEPE传感器的振动信号;电流/电压采样逻辑通过第二AD芯片与电流/电压传感器输出信号接口连接,用于采集来源于电流/电压传感器的输出信号;RS485/RS422/RS232通讯逻辑与RS485/RS422/RS232传感器接口连接,用于采集来源于RS485/RS422/RS232的传感器接口数据;CAN通讯逻辑通过CAN收发器与CAN总线接口连接,用于采集来源于CAN总线的传感器接口数据;网络接口逻辑与FPGA端网络接口连接,用于采集来源于网络接口的数据;ARM负责查询以上逻辑缓存数据并与上位机通讯;固态硬盘用于各种数据信号存储。本发明实现了同时集成多种接口的小型化系统,可以同时采集各种被测对象的数据,同时具备数据缓存,可以独立工作采集3个月以上的数据,以较低成本有效满足了实际需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明用于可靠性评估的信号采集设备的整体结构示意图;
图2为本发明AD7768转换芯片的时序图;
图3为本发明IEPE信号采样逻辑的状态转换图;
图4为本发明AD7915转换芯片的时序图;
图5为本发明电流/电压采样逻辑的状态转换图;
图6为本发明RS485/RS422/RS232通讯逻辑实现的整体框图;
图7为本发明CAN通讯逻辑实现的整体框图;
图8为本发明CAN通讯逻辑的操作过程示意图;
图9为本发明ARM存储固态硬盘数据的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种用于可靠性评估的信号采集设备,以实现同时采集各种被测对象数据的小型化系统并降低采集成本。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种用于可靠性评估的信号采集设备,包括:主控芯片、外围芯片以及固态硬盘。所述主控芯片采用ZYNQ Ultra Scale+系列芯片,芯片内部分为两部分功能:FPGA和ARM。所述外围芯片包括第一AD芯片、第二AD芯片以及CAN收发器。
ZYNQ Ultra Scale+芯片中FPGA内部集成了IEPE信号采样逻辑、电流/电压采样逻辑、RS485/RS422/RS232通讯逻辑、CAN通讯逻辑和网络接口逻辑,并且以上逻辑都设置了数据缓存区域用于缓存数据。ZYNQ Ultra Scale+芯片中ARM负责查询以上逻辑缓存数据,并通过ARM端网络接口(简称网口)与上位机通讯,执行上位机命令及数据上传功能。固态硬盘用于各种数据信号存储。
具体地,所述IEPE信号采样逻辑通过第一AD芯片与IEPE传感器振动信号接口连接,用于采集来源于IEPE传感器的振动信号。所述电流/电压采样逻辑通过第二AD芯片与电流/电压传感器输出信号接口连接,用于采集来源于电流/电压传感器的输出信号。所述RS485/RS422/RS232通讯逻辑与RS485/RS422/RS232传感器接口连接,用于采集来源于RS485/RS422/RS232的传感器接口数据。所述CAN通讯逻辑通过CAN收发器与CAN总线接口连接,用于采集来源于CAN总线的传感器接口数据。所述网络接口逻辑与FPGA端网络接口连接,用于采集来源于网络接口的数据。采集的被测对象的各种信号或数据用于评估被测对象可靠性。
所述ARM与所述FPGA连接,用于查询逻辑缓存数据。所述ARM还通过ARM端网络接口与上位机通讯,执行上位机命令及数据上传功能。所述ARM还与所述固态硬盘连接,用于存储各种信号及数据。
IEPE传感器振动信号采集电路的IEPE传感器振动信号接口振动信号接口最终都是通过AD芯片与FPGA进行交互,系统逻辑主要设计外围AD芯片接口时序。本发明外围电路选定AD7768转换芯片作为第一AD转换芯片与FPGA进行交互,AD7768转换芯片的时序图如图2所示。
如图2所示,AD7768在DRDY引脚信号的下降沿以MSB格式输出数据,但并不是立即输出,其中t1为DRDY引脚信号保持的时间,在下降沿后等待t3时间,t3为DRDY引脚信号下降沿距时钟信号DCLK上升沿需保持的时间。当DRDY引脚信号下降沿后的第一个DCLK上升沿启动后,其DOUTx数据输出引脚才开始输出MSB最高位数据,中间上升沿到数据有效的时间为t5,t4为上一个数据有效延迟时间,此后每经过一个DCLK上升沿输出新的一位数据。从时间t6和t7可得出数据保持的稳定性,虽然DCLK上升沿变化数据可进行捕捉,但为了保证数据的稳定性,在检测到DCLK的下降沿后进行数据的捕捉。t8和t9表示时钟信号DCLK的高低电平保持时间,定义DCLK的周期。当捕捉了32个数据,到LSB最低位数据后,一个采集周期tODR完成。
FPGA内部采用状态机的形式实现了AD7768的硬件并行驱动逻辑,即IEPE信号采样逻辑。所述IEPE信号采样逻辑的状态转换图如图3所示,其主要由以下工作状态组成:
AD复位状态:为逻辑的初始状态,首先FPGA对AD7768执行复位操作。
等待开始信号状态:在此状态下,FPGA并不急于读取AD7768的输出数据,而是静待开始信号Start的到来。只有当开始信号出现时,状态机才会跃迁至下一状态(检测DRDY高状态)。若未检测到开始信号,状态机会停留在此状态。
检测DRDY高状态:由于AD7768在DRDY引脚的下降沿以MSB格式输出数据,因此,为准确捕获此下降沿,FPGA需首先检测到DRDY引脚的高电平。在此状态下,FPGA会持续监测DRDY引脚的电平。一旦检测到高电平,状态机就会进至下一状态(检测DRDY低状态);否则,将重回此状态。
检测DRDY低状态:在捕获到DRDY的高电平后,FPGA还需捕获到其低电平,以确保AD7768开始输出数据。此状态持续监测DRDY引脚的电平。当检测到低电平时,表示AD7768开始输出数据,状态机进入下一状态(检测DCLK高状态),若仍为高电平,状态不变。
检测DCLK高状态:虽然AD7768在DCLK上升沿输出新数据,但为确保数据的稳定性,FPGA选择在DCLK的下降沿读取数据。此状态下,FPGA持续监测DCLK引脚的电平。当检测到高电平时,8个存储32位数据的寄存器都左移一位,状态机进入下一状态(检测DCLK低状态);若检测到低电平,状态机不变。
检测DCLK低状态:采用FPGA继续检测DCLK信号的变化。当检测到低电平时,FPGA读取AD7768输出的各通道数据,并将这些数据分别赋值8个32位信号的最低位,同时,移位计数器增加1,状态机跳回到前一状态(检测DCLK高状态),继续读取数据和移位操作。因为每个通道的输出数据为32位,其中前8位为标头状态,后24位为转换数据,因此当移位计数器的寄存器值达到32后,标志着AD7768完成了通道的数据输出。当所有通道的数据都已读取完毕,FIFO写入信号被置位,状态机进入下一状态(数据写入缓存状态)。
数据写入缓存状态:将所有都已读取完毕的通道数据进行并行转串行的处理,按照通道的顺序存储到FIFO中,然后跳至下一状态(检测DRDY高状态)。
模拟电流/电压采集电路的电流/电压传感器输出信号接口最终都是通过AD芯片与FPGA进行交互,系统逻辑主要设计外围AD芯片接口时序。本发明外围电路选定AD7915转换芯片作为第二AD转换芯片与FPGA进行交互,AD7915的时序图如图4所示。
图4中SDI/CS为器件工作模式,为高电平时代表设置为CS模式。CNV是由FPGA提供给AD7915进行模数转换的信号,SDO则是AD7915将转换完成的数据向FPGA进行传输的引脚,SCK是用于控制所采集数据进行传输的时钟信号,同样由FPGA提供。tCYC为一次数据采集的周期,其采集流程为先将模拟量信号转换为数字量数据,再通过控制器根据时钟来进行数据的读取。图中CNV为AD转换信号,tCONV为模数转换的时间,此段时间内强制SDO(AD7915的数据输出引脚)进入高阻态,不进行读数,当CNV信号出现下降沿时,代表转换完成,此时SDO准备输出MSB(数据最高位),但需等待tEN时间,保证SDO输出数据有效,其随后的数据通过SCK时钟的下降沿逐个输出,tSCK为所需时钟周期,tSCKL和tSCKH分别为时钟高低电平需保持的时间。需要注意的是,时钟信号SCK下降沿后数据不是立即变换为下一个数据,其上一个数据在下降沿后有效时间还保持tHSDO,此后根据引脚VIO电压的不同,下一个新数据进入有效状态总体延迟也不同,为图中的tDSDO,控制器控制住时间可在下降沿和上升沿进行数据的采样,当SCK第16个下降沿或者CNV出现高电平时,将进行下一次数据的转换。
在FPGA控制模数转换芯片完成数据采集与传输的过程中,需要根据手册要求设置适当的采集速率。AD7915在完成一次数据传输后,其转换时间最小值为500ns,当AD7915检测到CNV的上升沿时,会立即进行模数转换,数据的最高有效位在CNV的下降沿被发送到SDO,剩余数据随SCK下降沿逐位输出。根据时序各信号的严格高低电平保持时间,采用状态机实现电流/电压采样逻辑,其状态转换图如图5所示,具体包括AD_IDLE状态、AD_CONVST状态、AD_WAIT_EN状态、AD_CLK_HIGH状态、AD_READDATA状态、AD_WRITEDATA状态、AD_WRITEFIFO状态以及AD_WAIT_END状态。
参见图5,FPGA首先在AD_IDLE状态等待AD开始信号Start,当Start信号出现时跳至AD_CONVST状态,此状态下将CNV拉高,使用计数器的形式来对其计时,以达到所要求的转换时间tCONV;当计数ad_convst_count到规定时间时,将CNV拉低,跳至到AD_WAIT_EN状态,在此状态下同样使用计数器ad_en_count等待规定时间TEN,达到时跳至AD_CLK_HIGH状态,该状态下SCK保持为1,数据计数ad_sclk_count从复位的16减1;ad_sclk_count计数SCK的保持时间,然后跳至AD_READDATA状态,该状态下SCK保持为1,读取SDO引脚数据,然后再重回AD_CLK_HIGH状态,重复操作16次,当数据计数到0时,跳至AD_WRITEDATA状态,将读取的数据加通道号存储至规定寄存器,然后跳至AD_WRITEFIFO状态,写入FIFO,完成后跳至AD_WAIT_END状态等待规定采样率时间的结束,切换通道,跳至AD_IDLE状态,重新开始采集数据。
图6为RS485/RS422/RS232通讯逻辑实现的整体框图。RS485/RS422/RS232是异步串口通信协议(UART),外部电路设计上有所区别,但是逻辑可以兼容。在UART通信中,数据被分成帧,每帧包括起始位、数据位、校验位(可选)和停止位。通信双方需要事先约定一样的波特率,以便正确传输数据。本发明设计的RS485/RS422/RS232通讯逻辑种,波特率可编辑、数据帧格式可设置,接收和发送的缓存可达256个字节。
参见图6,所述RS485/RS422/RS232通讯逻辑具体包括读写控制逻辑、接收缓存逻辑、接收逻辑、发送缓存逻辑以及发送逻辑。其中读写控制逻辑主要是对软件端发过来的数据先进行对应寄存器的设置,来控制帧格式、发接缓存等逻辑的功能。其中帧格式主要通过相应寄存器的值,如数据位5、6、7、8对应着相应的值,将此值输入到发送或接收逻辑,通过其内部逻辑来进行帧格式的实现。
波特率的设置本发明采用计数器的形式来对时钟进行分频,将其作为发送和接收逻辑的运行时钟,从而改变波特率的设置。发送逻辑中采用状态机的形式实现串口协议,开始位、数据位、校验位、停止位,每一位都设置对应的配置寄存器,利于帧格式的修改。
接收逻辑根据波特率的不同,其时钟也不同,此逻辑采用检测时钟边沿的信号,来对数据进行接收,为了确保数据的准确性和可靠性,采用了多次采样和加和的方法。具体而言,时钟变为发送逻辑波特率时钟的16倍,在数据接收端进行连续16次的采样操作,然后将这16次采样结果进行加和运算来判断高低电平。通过这种方式,可以有效降低误码率,抵抗传输中的噪声和干扰,增强数据完整性。
此外,在整体实现中,当多路串口与传感器等设备同时通信时,数据在FPGA端虽可以同时传输,但可能会因为数据处理速度或者资源调度不及时导致数据丢失,所以本发明在整体逻辑框架设计中,配置了数据缓存对多路串口数据进行缓存发送或接收的信息,防止数据的丢失。
CAN通讯逻辑的外围电路可以采用NXP公司的TJA1050芯片作为CAN收发器,或者采用ADI公司一种型号为ADM3053的CAN总线收发器。图7为CAN通讯逻辑实现的整体框图,其波特率可编辑,数据帧格式和数据长度可设置,接收和发送的缓存可达1024个字节。本发明CAN通讯逻辑分为两个部分,opencores逻辑和弥补逻辑。采用opencores开源平台上提供的CAN控制器IP核,该IP核以Verilog HDL源文件的方式提供给设计者,但是opencores逻辑存在缺点,即内部缓存比较小,容易数据溢出,导致接收不及时会出现数据丢失,所以本发明加了一段逻辑来弥补这个缺点。
增加弥补逻辑后的opencores逻辑操作过程如图8所示。Start为此逻辑的开始信号,信号开始后,查询opencores逻辑中的“中断寄存器(地址0x03)”操作,如果中断寄存器内容为0,说明没有接收到CAN数据,返回“开始”操作,如果中断寄存器内容为1,说明接收到CAN数据,执行“读接收帧数量寄存器FrameCount(地址29)”操作,然后执行“读接收帧信息寄存器byte_Count(帧数量),Fram_Ex(帧扩展)”操作,然后执行“读取bufferIP(地址17,18,19,20)读数据buffer数据(地址21,byte_Count-1)”操作,然后执行“写释放接收寄存器(地址1,数据4)”操作,这个时候需要判断FrameCount-1是否等于0,如果等于0,说明把缓存中的CAN数据全部取出返回到“开始”操作,否则CAN缓存中还有数据,返回到“读接收帧信息寄存器byte_Count(帧数量),Fram_Ex(帧扩展)”,重复之前的操作。
本发明FPGA内部集成的网络接口逻辑采用zynq提供的IP核实现。
对于数据存储,本发明设计了2TB的固态硬盘电路,用于存储以上各个接口数据。
ARM查询以上接口缓存,实现了固态硬盘数据存储,程序流程图如图9所示。以上所有的逻辑都设计了数据缓存区域,ARM通过依次查询数据缓存区域,当数据缓存区域有数据时,取出缓存区数据,并且存储到固态硬盘内;或者根据上位机相关命令,采取相应措施,如数据上传上位机等。
本发明用于可靠性评估的信号采集设备,主控芯片采用ZYNQ Ultra Scale+系列芯片,集成了IEPE传感器振动信号接口、电流/电压传感器输出信号接口、RS485/RS422/RS232的传感器接口、CAN接口以及两个网络接口(FPGA端一个网络接口,ARM端一个网络接口)对应的IEPE信号采样逻辑、电流/电压采样逻辑、RS485/RS422/RS232通讯逻辑、CAN通讯逻辑以及网络接口逻辑。其中IEPE信号采样逻辑、电流/电压采样逻辑、RS485/RS422/RS232通讯逻辑和CAN通讯逻辑采集相关接口传感器数据。ARM端网络接口逻辑用于与上位机通讯,执行上位机命令及数据上传功能。固态硬盘用于各种数据信号存储。
本发明实现了一种同时集成这几种接口的小型化系统,可以同时采集各种被测对象的信号或数据。同时本发明信号采集设备自带2TB固态硬盘,内部具备2T缓存,可以独立工作连续采集3个月以上数据,可以应用于可靠性评估的数据采集任务,有效满足实际需求。此外本发明信号采集设备与上位机的通讯采用网络接口,可以进行分布式部署,扩展了可用范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种用于可靠性评估的信号采集设备,其特征在于,包括:主控芯片、外围芯片以及固态硬盘;所述主控芯片内部包括FPGA和ARM;所述外围芯片包括第一AD芯片、第二AD芯片以及CAN收发器;
所述FPGA内部集成了IEPE信号采样逻辑、电流/电压采样逻辑、RS485/RS422/RS232通讯逻辑、CAN通讯逻辑和网络接口逻辑,并且以上逻辑都设置了数据缓存区域用于缓存数据;所述IEPE信号采样逻辑通过第一AD芯片与IEPE传感器振动信号接口连接,用于采集来源于IEPE传感器的振动信号;所述电流/电压采样逻辑通过第二AD芯片与电流/电压传感器输出信号接口连接,用于采集来源于电流/电压传感器的输出信号;所述RS485/RS422/RS232通讯逻辑与RS485/RS422/RS232传感器接口连接,用于采集来源于RS485/RS422/RS232的传感器接口数据;所述CAN通讯逻辑通过CAN收发器与CAN总线接口连接,用于采集来源于CAN总线的传感器接口数据;所述网络接口逻辑与FPGA端网络接口连接,用于采集来源于网络接口的数据;
所述ARM与所述FPGA连接,用于查询逻辑缓存数据;所述ARM还通过ARM端网络接口与上位机通讯,执行上位机命令及数据上传功能;所述ARM还与所述固态硬盘连接,用于存储各种信号及数据。
2.根据权利要求1所述的用于可靠性评估的信号采集设备,其特征在于,所述第一AD芯片采用AD7768转换芯片。
3.根据权利要求2所述的用于可靠性评估的信号采集设备,其特征在于,所述IEPE信号采样逻辑包括AD复位状态、等待开始信号状态、检测DRDY高状态、检测DRDY低状态、检测DCLK高状态、检测DCLK低状态以及数据写入缓存状态;
在所述AD复位状态下,FPGA对AD7768转换芯片执行复位操作;
在所述等待开始信号状态下,FPGA等待开始信号的到来,当开始信号出现时跃迁至所述检测DRDY高状态,若未检测到开始信号则停留在所述等待开始信号状态;
在所述检测DRDY高状态下,FPGA持续监测AD7768转换芯片的DRDY引脚的电平,一旦检测到高电平就进至所述检测DRDY低状态,否则将重回所述检测DRDY高状态;
在所述检测DRDY低状态下,FPGA持续监测DRDY引脚的电平,当检测到低电平时表示AD7768转换芯片开始输出数据,进入所述检测DCLK高状态,若仍为高电平,状态不变;
在所述检测DCLK高状态下,FPGA持续监测AD7768转换芯片的DCLK引脚的电平,当检测到高电平时,8个存储32位数据的寄存器都左移一位,进入所述检测DCLK低状态;若检测到低电平,状态不变;
在所述检测DCLK低状态下,FPGA继续监测DCLK引脚的电平,当检测到低电平时,FPGA读取AD7768转换芯片输出的各通道数据,并将这些数据分别赋值8个32位数据的最低位,同时,移位计数器增加1,跳回到所述检测DCLK高状态,继续读取数据和移位操作;当所有通道的数据都已读取完毕,FIFO写入信号被置位,进入所述数据写入缓存状态;
在所述数据写入缓存状态下,将所有都已读取完毕的通道数据进行并行转串行的处理,按照通道的顺序存储到FIFO中,然后跳至所述检测DRDY高状态。
4.根据权利要求1所述的用于可靠性评估的信号采集设备,其特征在于,所述第二AD芯片采用AD7915转换芯片。
5.根据权利要求4所述的用于可靠性评估的信号采集设备,其特征在于,所述电流/电压采样逻辑包括AD_IDLE状态、AD_CONVST状态、AD_WAIT_EN状态、AD_CLK_HIGH状态、AD_READDATA状态、AD_WRITEDATA状态、AD_WRITEFIFO状态以及AD_WAIT_END状态;
FPGA首先在AD_IDLE状态等待AD开始信号,当AD开始信号出现时跳至AD_CONVST状态;
在AD_CONVST状态下将AD转换信号拉高,使用计数器的形式来对其计时,以达到所要求的转换时间tCONV;当计数到规定的转换时间tCONV时,将AD转换信号拉低,跳至到AD_WAIT_EN状态;
在AD_WAIT_EN状态下同样使用计数器等待规定时间tEN,达到tEN时跳至AD_CLK_HIGH状态;
在AD_CLK_HIGH状态下,时钟信号SCK保持为1,数据计数从复位的16减1,利用ad_sclk_cnt计数SCK的保持时间tHSDO,然后跳至AD_READDATA状态;
在AD_READDATA状态下SCK保持为1,读取AD7915转换芯片的SDO引脚数据,然后再重回AD_CLK_HIGH状态,重复操作16次,当数据计数到0时,跳至AD_WRITEDATA状态;
在AD_WRITEDATA状态下,将读取的数据加通道号存储至规定寄存器,然后跳至AD_WRITEFIFO状态;
在AD_WRITEFIFO状态下,将数据写入FIFO,完成后跳至AD_WAIT_END状态;
在AD_WAIT_END状态下等待规定采样率时间的结束,切换通道,跳至AD_IDLE状态,重新开始采集数据。
6.根据权利要求1所述的用于可靠性评估的信号采集设备,其特征在于,所述RS485/RS422/RS232通讯逻辑包括读写控制逻辑、接收缓存逻辑、接收逻辑、发送缓存逻辑以及发送逻辑;
所述读写控制逻辑用于对数据先进行对应寄存器的设置,来设置帧格式、接收缓存逻辑以及发送缓存逻辑;所述读写控制逻辑通过将相应寄存器的值输入到发送逻辑或接收逻辑来设置帧格式;所述读写控制逻辑还用于对波特率的设置;
所述发送逻辑中采用状态机的形式实现串口协议,开始位、数据位、校验位、停止位,每一位都设置对应的配置寄存器,用于帧格式的修改;
所述接收逻辑根据波特率的不同,其时钟也不同;所述接收逻辑采用检测时钟边沿信号的方式来对数据进行接收,并采用多次采样和加和的方法来判断高低电平。
7.根据权利要求1所述的用于可靠性评估的信号采集设备,其特征在于,所述CAN收发器采用TJA1050芯片或ADM3053芯片。
8.根据权利要求7所述的用于可靠性评估的信号采集设备,其特征在于,所述CAN通讯逻辑包括opencores逻辑和弥补逻辑;
FPGA监测到所述弥补逻辑的开始信号后,查询opencores逻辑中的“读中断寄存器”操作;
如果中断寄存器内容为0,返回监测开始信号操作;
如果中断寄存器内容为1,依次执行“读接收帧数量寄存器”操作、“读接收帧信息寄存器”操作、“读接收bufferIP和读数据buffer数据”操作以及“写释放接收寄存器”操作;
在执行“写释放接收寄存器”操作时,判断FrameCount-1是否等于0,如果等于0,返回监测开始信号操作,否则返回到“读接收帧信息寄存器”操作,重复执行之前的操作。
9.根据权利要求1所述的用于可靠性评估的信号采集设备,其特征在于,所述固态硬盘容量为2TB。
10.根据权利要求1所述的用于可靠性评估的信号采集设备,其特征在于,所述ARM依次查询所述FPGA内部的数据缓存区域,当数据缓存区域有数据时,取出数据并存储到所述固态硬盘内。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118312466A true CN118312466A (zh) | 2024-07-09 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9739834B1 (en) | System and method for transferring serialized test result data from a system on a chip | |
US7921333B2 (en) | Method and systems for providing data replay, reprocess and retrigger functions in an analyzer | |
JPH02227766A (ja) | デジタル・コンピユータのデータ転送装置 | |
JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
EP2434404B1 (en) | Method and arrangement for streaming data profiling | |
CN113468097B (zh) | 基于片上系统的数据交换方法 | |
CN111949577B (zh) | 一种高速高精度采样数据大容量存储快速传输方法 | |
CN102928772A (zh) | 时序测试系统及其测试方法 | |
CN111459052A (zh) | 多功能车辆总线仿真检测系统和方法 | |
CN110941583A (zh) | 一种基于fpga的usb3.0数据传输系统控制方法 | |
US7047155B2 (en) | Bus interface | |
KR20060004946A (ko) | 집적 회로 내에서의 진단 데이터 수집 장치 및 방법 | |
CN206564662U (zh) | 一种视频质量检测系统 | |
CN110959121B (zh) | 用于集成电路的逻辑分析器 | |
CN118312466A (zh) | 一种用于可靠性评估的信号采集设备 | |
CN113806277B (zh) | 基于srio协议的fpga与dsp的数据传输系统 | |
CN108153511A (zh) | 一种星载定长数字信号的毛刺滤除方法 | |
CN114527832A (zh) | 脉冲信号边沿测量方法及装置、存储介质及微控制单元 | |
CN215264805U (zh) | 一种基于fpga的信号实时处理和数据存储装置 | |
CN114509966A (zh) | 一种非同步高速串口实时连续数据采集系统 | |
CN117420342B (zh) | 多通道采集方法、装置、系统、fpga及采样示波器 | |
CN115765743B (zh) | 基于zynq的多通道adc同步采集的装置及方法 | |
CN115328433A (zh) | 基于fpga+dsp架构的功率分析仪数据传输系统 | |
CN117054858B (zh) | 三态配置管脚实现方法和芯片中的io装置 | |
CN115392294A (zh) | 一种基于fpga的数字采样系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |