本发明涉及数据采集技术领域,尤其涉及一种基于光栅的数据采集系统。
背景技术:
在高精度伺服系统中,光栅传感器常用于采集待测目标的位置信息。按运动形式分,光栅传感器可分为直线型和旋转型。其中,直线型光栅传感器主要由光栅尺和读数头构成,旋转型光栅传感器主要由码盘和读数头构成。在实际使用光栅传感器时,用户只需按照固定的时钟频率向读数头发送脉冲信号,读数头就会将封装好的数据返回给用户。但是,如果用户想要得到待测目标的角度信息,则还需要对读数头的数据进行采集。
在现有技术中,运动控制器可以针对光栅进行数据采集、并进行高精度的伺服控制。但是,运动控制器价格昂贵,即使便宜的也高达几万元。并且在很多情况下,用户并不需要进行伺服控制,而只需要获取角度信息,那么将运动控制器作为信息采集的中转站就会造成极大的浪费。此外,虽然在现有技术中也存在专用于角度信息采集的数据采集卡,但是其通用性较差、结构复杂、成本较高。
针对现有技术的缺陷,亟需一种通用性强、结构简单、成本低,能适用于多种绝对式光栅和增量式光栅的数据采集系统。
技术实现要素:
本发明的目的在于提出一种通用性强、结构简单、成本低,能适用于多种绝对式光栅和增量式光栅的数据采集系统。
本发明提出的基于光栅的数据采集系统,包括:第一信号转换模块、FPGA模块、总线模块、第二信号转换模块;
第一信号转换模块用于将FPGA模块发送的单端时钟信号转换为双端时钟信号,并将所述双端时钟信号发送至编码器;
第二信号转换模块用于将所述编码器发送的差分数据信号转换为单端数据信号,并将所述单端数据信号发送至FPGA模块;
FPGA模块用于对接收的单端数据信号进行解码、CRC校验,并将校验成功的数据信号经总线模块传送至上位机;
其中,FPGA模块、总线模块还用于为数据采集系统供电。
优选的,FPGA模块还用于将接收的单端数据信号发送至第一信号转换模块,然后,第一信号转换模块将所述单端数据信号转换为差分数据信号、并将所述差分数据信号输出至外部设备。
优选的,所述系统还包括:IO输入输出模块、DA转换模块;所述IO输入输出模块包括:IO输入接口、IO输出接口、以及用于隔离IO输入接口与IO输出接口的光耦;所述DA转换模块包括:DA转换芯片、电压调节电路;所述电压调节电路与DA转换芯片相连,用于对DA转换芯片输出的模拟信号的电压幅值进行调节。
优选的,所述FPGA模块采用最小FPGA系统,包括:编码器信号选择单元、编码器数据读取单元、自测试单元、系统监控模块、地址译码单元;其中,所述编码器信号选择单元与总线模块、编码器数据读取单元分别相连,所述编码器数据读取单元与总线模块、第一信号转换模块分别相连;所述地址译码单元与总线模块、编码器信号选择单元、编码器数据读取单元、自测试单元、系统监控单元分别相连;
所述编码器信号选择单元用于对待采集的编码器数据信号进行选取,并将选取的编码器数据信号发送至编码器数据读取单元;其中,所述编码器数据信号包括外部编码器数据信号、内部模拟编码器数据信号;
所述编码器数据读取单元用于通过第一信号转换模块将时钟信号发送至相应的编码器;以及,所述编码器数据读取单元还用于对采集的数据信号进行解码、校验,并将校验成功的数据信号经总线模块传送至上位机;
所述自测试单元用于通过总线模块接收上位机的配置信息,以产生内部模拟编码器数据信号;
所述系统监控单元用于对FPGA模块的状态进行监控,并在FPGA模块的状态异常时令FPGA模块复位。
优选的,所述FPGA模块还包括:读写测试单元、通用IO单元;所述读写测试单元与总线模块、地址译码单元分别相连,所述通用IO单元与总线模块、地址译码单元分别相连;所述读写测试单元用于测试上位机与FPGA模块的通信状态;所述通用IO单元用于接收上位机的控制指令、并将所述控制指令发送至外部设备,以及,接收外部设备的状态反馈信息,并将所述状态反馈信息发送至上位机。
优选的,所述FPGA模块、总线模块为数据采集系统供电,具体为:所述FPGA模块提供5V和3.3V的供电信号,所述总线模块提供12V的供电信号。
优选的,第一信号转换模块为DS26LS31芯片,第二信号转换模块为DS26LS32芯片,所述总线模块为ISA数据总线,所述光耦为4N25光耦,所述DA转换芯片为AD7545芯片。
从以上技术方案可以看出,本发明的基于光栅的数据采集系统,主要包括:第一信号转换模块、FPGA模块、总线模块、第二信号转换模块;第一信号转换模块用于将FPGA模块发送的单端时钟信号转换为双端时钟信号,并将所述双端时钟信号发送至编码器;第二信号转换模块用于将所述编码器发送的差分数据信号转换为单端数据信号,并将所述单端数据信号发送至FPGA模块;FPGA模块用于对接收的单端数据信号进行解码、CRC校验,并将校验成功的数据信号经总线模块传送至上位机;其中,FPGA模块、总线模块还用于为数据采集系统供电。在本发明中,通过设置第一、二信号转换模块,便于采用差分输入和差分输出的方式进行数据采集,提高了数据采集的通用性。另外,本发明通过由FPGA、总线模块为系统供电,而不是采用传统的开关电源为系统供电,大大简化了系统的结构设计、提高了系统的可靠性。进一步的,本发明的数据采集系统能适用于多种绝对式光栅、增量式光栅,且扩展性强、成本低。
附图说明
通过以下参照附图而提供的具体实施方式部分,本发明的特征和优点将变得更加容易理解,在附图中:
图1示出了本发明实施例中的数据采集系统的结构示意图;
图2示出了本发明实施例中的FGPA模块的组成示意图;
图3a示出了本发明实施例中FPGA最小系统的部分结构;
图3b示出了本发明实施例中的FPGA最小系统的部分结构电连接示意图;
图3c示出了本发明实施例中的FPGA最小系统的部分结构电连接示意图;
图3d示出了本发明实施例中的FPGA最小系统的部分结构电连接示意图;
图4示出了本发明实施例中的DS26LS32芯片的电连接示意图;
图5示出了本发明实施例中的DS26LS31芯片的电连接示意图;
图6示出了本发明实施例中的IO输入输出模块的结构示意图;
图7a示出了本发明实施例中的AD7545芯片的电连接示意图;
图7b示出了本发明实施例中DA转换模块中的电压调节电路的结构示意图;
图7c示出了本发明实施例中DA转换模块中的电源滤波电路的结构示意图;
1、第一信号转换电路;2、第二信号转换电路;3、FPGA模块;4、总线模块;5、编码器;6、上位机;7、外部设备;8、IO输入输出模块;9、DA转换模块;301、编码器信号选择单元;302、编码器数据读取单元;303、地址译码单元;304、自测试单元;305、系统监控单元;306、读写测试单元;307、通用IO单元。
具体实施方式
下面参照附图对本发明的示例性实施方式进行详细描述。对示例性实施方式的描述仅仅是出于示范目的,而绝不是对本发明及其应用或用法的限制。
现有的基于光栅的数据采集设备普遍存在通用性较差、可靠性较低、价格昂贵等问题。鉴于此,本发明的发明人提出了一种新的基于光栅的数据采集系统。本发明的数据采集系统能够适用于多种绝对式光栅和增量式光栅,通用性强、可靠性高、结构简单、成本较低。
下面结合附图和具体实施例对本发明的技术方案进行详细说明。
图1示出了本发明实施例中的数据采集系统的结构示意图。从图1可见,该系统具体包括:第一信号转换模块1、FPGA模块3、总线模块4、第二信号转换模块2。
第一信号转换模块1用于将FPGA模块3发送的单端时钟信号转换为双端时钟信号,并将所述双端时钟信号发送至编码器5。第二信号转换模块2用于将编码器5发送的差分数据信号转换为单端数据信号,并将所述单端数据信号发送至FPGA模块3。FPGA模块3用于对接收的单端数据信号进行滤波、解码、CRC校验,并将校验成功的数据信号经总线模块4传送至上位机6。并且,FPGA模块3、总线模块4还用于为该数据采集系统供电。其中,由FPGA模块3提供5V和3.3V的供电信号,由总线模块4提供12V的供电信号。在具体实施时,为了提高FPGA模块的滤波效率与滤波精度,可优先选取以下滤波方法进行滤波:
式中,k、Ts、wn、均为预设的滤波系数,PreIn2代表前前一时刻的输入、PreIn1代表前一时刻输入、In代表当前时刻输入、PreOut2代表前前一时刻输出、PreOut1代表前一时刻输出,Out代表当前时刻输出。该滤波方法相对于现有的算术均值滤波、中位值滤波等滤波方法,能够显著提高滤波精度,同时与现有的卡尔曼滤波等滤波方法相比,降低了算法的复杂度,提高了滤波效率,从而间接提高了数据采集系统的实时性。
本发明实施例中,通过设置第一、二信号转换模块,便于采用差分输入和差分输出的方式进行数据采集。具体来说,既可以利用第一信号转换模块将FPGA模块输出的单端时钟信号转换为双端时钟信号传送至编码器(即光栅读数头);又可以利用第二信号转换模块将编码器(光栅读数头)产生的差分数据信号转换为单端数据信号传送至FPGA模块。这样一来,极大提高了数据采集系统的通用性。另外,在硬件电路设计中,电源模块的稳定关系到整个硬件电路设计的成败。本系统需要使用5V、3.3V、±12V等电源,传统的设计思路是利用开关电源提供5V、±12V的电源,并利用电源转换芯片如AM1117芯片得到3.3V的电源。但是,在该设计思路下为了得到稳定的电源需要加很多滤波电路,从而导致电路结构复杂。并且,基于该传统设计思路设计的电源容易受外部电压的影响,从而降低了系统的稳定性。而在本发明中,利用FPGA模块提供5V、3.3V的供电电压,利用总线模块提供±12V的供电电压,从而大大提高了系统的可靠性、稳定性,并大大简化了电路结构。
进一步的,考虑到用户除了需要对光栅产生的信号进行采集以外,可能还需要将光栅产生的信号传到别的设备。但是,如果直接将光栅信号分为两路,一路输入FPGA、另一路输入外部设备,则会大大降低光栅信号的驱动能力,进而很可能导致无法采集到正确的光栅信息。鉴于此,本发明的发明人想到,还可利用FPGA模块3将接收的单端数据信号发送至第一信号转换模块1。然后,利用第一信号转换模块1将所述单端数据信号转换为差分数据信号、并将所述差分数据信号输出至外部设备7。通过将光栅产生的信号输入FPGA、并将FPGA作为中转站,使得FPGA将光栅的信息通过第二信号转换模块输出,既满足了将光栅信息传到外部设备的需求,又避免了光栅信号驱动能力的降低,从而提高了系统的通用性与可靠性。
进一步的,考虑到系统的扩展性,该实施例中的数据采集系统还包括IO输入输出模块8、DA转换模块9。其中,IO输入输出模块8包括:IO输入接口、IO输出接口、以及用于隔离IO输入接口与IO输出接口的光耦。DA转换模块9包括:DA转换芯片、电压调节电路。所述电压调节电路与DA转换芯片相连,用于对DA转换芯片输出的模拟信号的电压幅值进行调节。
图2示出了本发明实施例中的FPGA模块的组成示意图。从图2可见,该FPGA模块采用FPGA最小系统,具体包括:编码器信号选择单元301、编码器数据读取单元302、自测试单元304、系统监控模块305、地址译码单元303。其中,编码器信号选择单元301与总线模块4、编码器数据读取单元302分别相连,编码器数据读取单元302与总线模块4、第一信号转换模块1分别相连;地址译码单元303与总线模块4、编码器信号选择单元301、编码器数据读取单元302、自测试单元304、系统监控单元305分别相连。
结合图2可知,编码器信号选择单元301用于对待采集的编码器信号进行选取,并将选取的编码器数据信号发送至编码器数据读取单元302。所述编码器数据信号具体包括外部编码器数据信号、内部模拟编码器数据信号。编码器数据读取单元302用于通过第一信号转换模块1将时钟信号发送至与相应的编码器,以触发相应的编码器发送光栅信号。比如,当编码器信号选择单元选取的是外部编码器数据信号时,所述相应的编码器为外部编码器。当编码器信号选择单元选取的是内部模拟编码器数据信号时,所述相应的编码器为内部模拟编码器。以及,编码器数据读取单元302还用于对采集的数据信号进行解码、CRC校验,并将校验成功的数据信号经总线模块4传送至上位机6。自测试单元304用于通过总线模块4接收上位机的配置信息,以产生内部模拟编码器数据信号。系统监控单元305用于对FPGA模块3的状态进行监控,并在FPGA模块的状态异常时令FPGA模块3复位。地址译码单元303用于在上位机与FPGA模块中的其他单元通信时,获取上位机发送的5位地址信号以及CS(选通)信号,并输出32位片选信号至指定的单元。
在该实施例中,较佳的,FPGA模块3还包括:读写测试单元306、通用IO单元307。读写测试单元306与总线模块4、地址译码单元303分别相连,通用IO单元307与总线模块4、地址译码单元303分别相连。在该实施中,读写测试单元306用于测试上位机6与FPGA模块3的通信状态。通用IO单元307用于接收上位机6的控制指令、并将所述控制指令发送至外部设备7,以及,通用IO单元7还用于接收外部设备7的状态反馈信息,并将所述状态反馈信息发送至上位机6。在本发明实施例中,通过在FPGA模块设置读写测试单元便于对数据采集系统与上位机的通信状态进行测试。
在进行数据采集系统的硬件电路设计时,FPGA最小系统可选用EP2C5T144C8芯片构建,第一信号转换模块可选用DS26LS31芯片、第二信号转换模块可选用DS26LS32芯、总线模块可选用ISA数据总线或PCI数据总线、光耦可选用4N25光耦、DA转换芯片可选用AD7545芯片。图3a至图3d分别示出了本发明实施例中的FPGA最小系统的结构电连接示意图。在图3a至图3d中,管脚ASDO、nCSO、TMS_F、TCK_F、TDI_F、DATA0、DCLK、nCE与外部的AS(下载和调试)电路相连,主要用于程序的下载。INx管脚主要用于接收外部IO输入接口输入的状态信号;CHx_OUTA(B)管脚主要用于将接收的编码器信号按照原来的格式进行输出,以方便用户使用;BISSx_MA管脚用于向编码器发送时钟信号;BISSx_IN_SLO管脚主要用于接收外部编码器的数据信号;DADATAx管脚用于FPGA芯片与外部DA芯片之间的连接;OUTx管脚用于FPGA芯片向IO输出接口输出状态信号。
图4示出了本发明实施例中的DS26LS32芯片的电连接示意图。从图4可见,DS26LS32芯片可通过管脚1A与1B、管脚2A与2B、管脚3A与管脚3B、管脚4A与4B接收编码器传进来的差分数据信号BISSx_IN_SLO+和BISSx_IN_SLO-,并将其转化为单端数据信号BISSx_IN_SLO_P,并通过管脚1Y、管脚2Y、管脚3Y、管脚4Y将转化的单端数据信号BISSx_IN_SLO_P传递给FPGA,以供其进行解码。
图5示出了本发明实施例中的DS26LS31芯片的电连接示意图。从图5可见,DS26LS31芯片可通过管脚INA、INB、INC、IND接收FPGA芯片输出的单端信号BISSx_MA,并将其转化为双端信号BISSx_MA+和BISSx_MA-,并通过管脚OUTA1与OUTA2、OUTB1与OUTB2、OUTC1与OUTC2、OUTD1与OUTD2将双端信号BISSx_MA+和BISSx_MA-输出,以供编码器使用。
图6示出了本发明实施例中的IO输入输出模块的结构示意图。从图6可见,IO输入电路和IO输出电路都采用了光耦进行隔离,这样就保证了外部信号不会对FPGA芯片造成伤害。
图7a至图7c示出了本发明实施例中的DA转换模块的示意图。其中,图7a示出了本发明实施例中的AD7545芯片的电连接示意图,图7b示出了本发明实施例中DA转换模块中的电压调节电路的结构示意图,图7c示出了本发明实施例中DA转换模块中的电源滤波电路的结构示意图。从图7a可见,管脚DADATAx与FPGA芯片相连,以将FPGA芯片输出的数字信号直接传递给AD7545芯片,管脚DAWR和管脚DACS0主要用于FPGA芯片对AD7545芯片进行使能和片选。图7b中的电压调节电路主要用对AD7545芯片输出的模拟信号的电压幅值进行调节。图7c中的电源滤波电路主要用于电源滤波、稳压。
从以上技术方案可以看出,本发明实施例中的基于光栅的数据采集系统至少具有以下优点:一、适用于多种绝对式光栅和增量式光栅,通用性强;二、结构简单,电路焊接完成后调试成功率非常高;三、制作成本在两百元左右,大大降低了科研成本;四、集成了多个IO输入输出模块和DA转换模块,大大增强了系统的功能;五、以FPGA作为中转站输出光栅信息,系统可靠性强。
虽然参照示例性实施方式对本发明进行了描述,但是应当理解,本发明并不局限于文中详细描述和示出的具体实施方式,在不偏离权利要求书所限定的范围的情况下,本领域技术人员可以对所述示例性实施方式做出各种改变。