一种基于CPLD的IO数据采集卡及其数据采集方法与流程

文档序号:11864616阅读:609来源:国知局
一种基于CPLD的IO数据采集卡及其数据采集方法与流程

本发明涉及可配置的IO数据采集卡技术领域,特别涉及一种基于CPLD的IO数据采集卡及其数据采集方法。



背景技术:

IO采集卡可对现场数据进行采集和控制,在实际应用中发挥着举足轻重的作用。现有的IO采集卡只能单一的采集5V或者24V的信号,目前市场上,暂时没有可以兼容采集5V和24V信号的IO采集卡。

CPLD(Complex Programmable Logic Device)是一种复杂可编程逻辑器件,具有编程灵活、集成度高、设计制造成本低的特点。CPLD具有较大的时间可预测性。CPLD是并行运行的,用于IO数据采集,能极大提高采集速度。

目前,市场上还没有一种基于CPLD的IO数据采集卡。



技术实现要素:

为了克服现有技术中的不足,本发明提供一种基于CPLD的IO数据采集卡及其数据采集方法,采用CPLD作为主控芯片,极大地提高了数据的处理和传输速度,采集系统集成度高,资源利用充分。

本发明实现上述目的所采用的技术方案如下:

本发明公开了一种基于CPLD的I/O数据采集卡,用于数据采集和/或数据输出,包括CPLD模块、数据采集模块、数据输出模块、隔离模块、IO接线端子和SPI总线接口,其中:

数据采集模式:

所述IO接线端子采集外部数字信号,并传输至所述数据采集模块;所述数据采集模块兼容5V和24V的数字信号,并将此数字信号传输给所述CPLD模块;所述CPLD模块采集所述数据采集模块传送过来的数字信号并进行整合和处理后,传输至所述隔离模块;所述隔离模块将所述数字信号电气隔离后,经所述SPI总线接口上传至上位机;

数据输出模式:

所述SPI总线接口接收上位机下发的数字信号,并传输至所述隔离模块;所述隔离模块将此数字信号电气隔离后,发送给所述CPLD模块;所述CPLD模块将所述经电气隔离后的数字信号进行验证和处理后,传输至所述数字输出模块,并经所述数字输出模块输出至所述IO接线端子。

进一步的,所述CPLD模块内部集成了IO配置单元、IO输入单元、IO输出单元、数据处理单元和数据传输单元,其中:

所述IO配置单元的输出端连接所述IO输入单元的输入端,用于配置所述IO数据采集卡中数字信号的输入和输出;

所述IO输入单元的输出端连接所述数据处理单元的输入端,用于采集所述IO配置单元中的数字信号;

所述数据处理单元与所述数据传输单元双向连接,所述数据处理单元的输出端还连接所述IO输出单元的输入端,用于对从所述IO输入单元获得的数字信号进行处理、验证和校验;

所述IO输出单元的输出端连接所述IO配置单元的输入端,用于输出数字信号至所述IO配置单元。

进一步的,还包括一电源模块,所述电源模块与所述CPLD模块连接,用于提供所述CPLD模块的工作电源。

进一步的,所述数据采集模块为一数据采集电路,所述数据采集电路包括电阻R1、R2、R3和R4,以及金属-氧化物半导体场效应晶体管MOSFET,所述电阻R1、R2和R3的一端共接,所述电阻R1的另一端连接5V/24V输入端,所述电阻R2的另一端接地GND,所述电阻R3的另一端接所述金属-氧化物半导体场效应晶体管MOSFET的栅极G,所述金属-氧化物半导体场效应晶体管MOSFET的源极S接地GND,所述金属-氧化物半导体场效应晶体管MOSFET的漏极D同时连接电阻R4和输出端,所述电阻R4的另一端连接电源电压VCC。

优选的,所述电阻R1和R2的阻值相同,所述电阻R4的阻值大于10K,所述金属-氧化物半导体场效应晶体管MOSFET为N型。

进一步的,所述数据输出模块为一推挽输出电路,所述推挽输出电路包括一个P沟道MOSFET和一个N沟道MOSFET,所述P沟道MOSFET的源极S连接电源电压VCC,栅极G连接输入端,漏极D连接输出端并同时连接所述N沟道MOSFET的漏极D,所述N沟道MOSFET的栅极G连接输入端,源极S接地GND。

进一步的,所述SPI总线接口的数据格式包括帧头、地址位、功能位、数据位和奇偶检验位,所述数据位的高低位与所述IO接线端子的顺序一一对应。

优选的,所述IO数据采集卡用于采集8路、16路或32路数据。

优选的,所述CPLD模块为复杂可编程逻辑器件,其型号为LC4064V-75T48I。

优选的,所述隔离模块为数字隔离器,其型号为ISO7241C。

本发明另外公开了一种基于CPLD的IO数据采集方法,包括以下步骤:

S1:CPLD在上电复位后,系统进行初始化,CPLD内部各个模块对应的寄存器清零;

S2:DSP或者上位机通过SPI总线接口发送一帧数据到IO数据采集卡,经过SPI总线接口和隔离模块进入CPLD中的数据传输单元;

S3:数据处理单元在接收到数据传输单元传输过来的数据后,验证该帧数据的帧头是否为01,如果是则验证地址位是否正确,如果不是则返回步骤S2,重新接收数据;

S4:验证该帧数据的地址位是01,则进行奇偶校验位的验证,如果是则进行功能位的验证,如果不是则返回步骤S2,重新接收数据;

S5:验证该帧数据的功能位是否为01或10,如果是10则此帧数据为配置帧,如果是01则此帧数据为数据帧,其它的数据情况则返回步骤S2,重新接收数据;

S6:根据配置帧[9:2]位的数据配置IO数据采集卡的数据采集与数据输出,如果配置帧[9:2]位的全为低,则此IO采集卡全部配置为数据采集模式,如果配置帧[9:2]位的全为高,则此IO采集卡全部配置为数据输出模式;

S7:如果全部配置为数据输出模式,配置完成后,CPLD再次通过SPI总线接口接受数据,进行数据验证,如果是数据帧则可以传输数据到IO接线端子,如果为配置帧则再次进行采集卡的配置;

S8:如果全部配置为数据采集模式,IO采集卡通过IO接线端子采集数据,经过数据处理模块,其中包括帧头、地址位、功能位、数据位、奇偶检验位的整合与处理,通过SPI总线接口发送到DSP或者上位机,完成数据采集。

与现有技术相比,本发明的有益效果如下:

1、本发明中的数据采集模块采用OD门和上拉电阻的电路,可以兼容5V和24V信号的采集,同时可以隔离外部信号对采集系统的干扰;

2、本发明中的数据输出模块采用两个MOSFET组成的推挽输出电路,用于提高输出信号的驱动能力,同时隔离外部5V和24V信号,减少对采集系统的干扰;

3、本发明采用CPLD作为主控芯片,CPLD的并行执行,极大提高数据的处理和传输速度,采集卡数据更新的最大时间为3us,CPLD内部的IO输入单元采用敏感触发机制,可以随时捕捉外部信号的变化;

4、本发明的SPI总线接口中的数据传输具有特定的数据格式,方便用户使用,保证数据传输的正确性;

6、本发明中的采集系统集成度高,资源利用充分。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:

图1是本发明一种基于CPLD的IO数据采集卡的系统框图;

图2是本发明一种基于CPLD的IO数据采集卡的CPLD内部集成模块示意图;

图3是本发明一种基于CPLD的IO数据采集卡的一路数据采集模块电路图;

图4是本发明一种基于CPLD的IO数据采集卡的一路数据输出模块电路图;

图5是本发明一种基于CPLD的IO数据采集方法的使用流程示意图。

【主要符号标记】

1-IO接线端子;

2-数据输出模块;

3-CPLD模块;

4-隔离模块;

5-SPI总线接口;

6-数据采集模块;

7-电源模块;

8-IO配置单元;

9-IO输出单元;

10-数据处理单元;

11-数据传输单元;

12-IO输入单元。

具体实施方式

以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

实施例一

如图1所示,本发明公开了一种基于CPLD的IO数据采集卡,采用CPLD为主控芯片,实现IO功能的配置、数据的采集和输出,I/O数据采集卡包括CPLD模块3、数据采集模块6、数据输出模块2、隔离模块4、IO接线端子1和SPI总线接口5(Serial Peripheral Interface,串行外设接口),其中:

数据采集模式:

所述IO接线端子1采集外部数字信号,并传输至所述数据采集模块6;所述数据采集模块6兼容5V和24V的数字信号,并将此数字信号传输给所述CPLD模块3;所述CPLD模块3采集所述数据采集模块6传送过来的数字信号并进行整合和处理后,传输至所述隔离模块4;所述隔离模块4将所述数字信号电气隔离后,经所述SPI总线接口5上传至上位机(未绘示);

数据输出模式:

所述SPI总线接口5接收上位机下发的数字信号,并传输至所述隔离模块4;所述隔离模块4将此数字信号电气隔离后,发送给所述CPLD模块3;所述CPLD模块3将所述经电气隔离后的数字信号进行验证和处理后,传输至所述数字输出模块2,并经所述数字输出模块2输出至所述IO接线端子1。

具体的连接关系为,所述IO接线端子1的输出端连接所述数据采集模块6的输入端;所述数据采集模块6的输出端连接所述CPLD模块3;所述CPLD模块3与所述隔离模块4双向连接;所述隔离模块4与所述SPI总线接口5双向连接;所述CPLD模块3的输出端还连接所述数据输出模块2的输入端;所述数据输出模块2的输出端连接所述IO接线端子1的输入端。

如图2所示,所述CPLD模块3内部集成了IO配置单元8、IO输入单元12、IO输出单元9、数据处理单元10和数据传输单元11,其中:

所述IO配置单元8的输出端连接所述IO输入单元12的输入端,所述IO配置单元8包括16个三态门,用于配置所述IO数据采集卡中数字信号的输入和输出;

所述IO输入单元12的输出端连接所述数据处理单元10的输入端,用于采集所述IO配置单元8中的数字信号,并采用敏感触发机制;

所述数据处理单元10与所述数据传输单元11双向连接,其中,数据传输单元采用四线制SPI通讯模式;

所述数据处理单元11的输出端还连接所述IO输出单元9的输入端,用于对从所述IO输入单元12获得的数字信号进行处理和验证,同时进行数据校验;

所述IO输出单元9的输出端连接所述IO配置单元8的输入端,用于输出数据至所述IO配置单元8;

数据采集过程中,外部数字信号通过所述IO接线端子1进入所述数据采集模块6,并依次进入所述CPLD模块3中的IO配置单元8和IO输入单元12完成数字信号的采集,再依次通过所述CPLD模块3中的数据处理单元10和数据传输单元11,以及所述隔离模块4和SPI总线接口5,以此完成数字信号的传输;

数据输出过程中,数字信号经过所述SPI总线接口5、隔离模块4后,进入所述CPLD模块3中的数据传输单元11,并经所述数据处理单元10进行数字信号处理,然后通过所述IO输出单元9、IO配置单元8、数据输出模块2、和IO接线端子1完成数字信号的输出。

进一步的,还包括一电源模块7,所述电源模块7与所述CPLD模块3连接。本实施例中,所述电源模块7采用5V电源供电,所述电源模块7中的隔离电源芯片采用DCP010505BP,电压转换电路采用稳压芯片LM3940和三端滤波器ACH4518。所述隔离电源芯片输出电压为5V,所述稳压芯片可实现5V到3.3V的电压转换。

如图3所示,所述数据采集模块6包括一数据采集电路,兼容5V和24V电压信号的采集,其中,电阻R1与R2的阻值相等,构成分压电路,5V/24V输入电压经过分压电阻R1和R2分压后进入MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor,金属-氧化物半导体场效应晶体管),降低了MOSFET栅极和源极之间的承受电压,延长MOSFET的使用寿命,电阻R4的阻值大于10K,本实施例中,所述MOSFET的型号为IRF7313PbF,所述MOSFET的VGS为20V,VGS(th)为1V。具体的,所述数据采集电路包括电阻R1、R2、R3和R4,以及金属-氧化物半导体场效应晶体管MOSFET,所述电阻R1、R2和R3的一端共接,所述电阻R1的另一端连接5V/24V输入端,所述电阻R2的另一端接地GND,所述电阻R3的另一端接所述金属-氧化物半导体场效应晶体管MOSFET的栅极G,所述金属-氧化物半导体场效应晶体管MOSFET的源极S接地GND,所述金属-氧化物半导体场效应晶体管MOSFET的漏极D同时连接电阻R4和输出端,所述电阻R4的另一端连接电源电压VCC。本实施例中,所述金属-氧化物半导体场效应晶体管MOSFET为N型。

当5V/24V输入端的电压信号为高电压时,MOSFET导通,电阻R4的阻值远远大于MOSFET的内阻Rd,输出端的电压等于MOSFET两端的电压,约等于零,即输出信号为低电压;

当5V/24V输入端的电压信号为低电压时,MOSFET关断,电阻Rd的阻值远远大于R4的阻值,输出端的电压等于MOSFET两端的电压,约等于VCC,即输出信号为高电压。

参考图4,本实施例中,所述数据输出模块采用由两个MOSFET组成的推挽输出电路,具体由一个P沟道的MOSFET和一个N沟道的MOSFET组成。具体的,所述P沟道MOSFET的源极S连接电源电压VCC,栅极G连接输入端,漏极D连接输出端并同时连接所述N沟道MOSFET的漏极D,所述N沟道MOSFET的栅极G连接输入端,源极S接地GND。本实施例中,所述MOSFET的型号为IRF7309PbF,所述MOSFET的VDS为30V。当采集卡的相应通道工作在采集模式时,对应的配置模式使推挽输出电路的输入端处于关断状态,此时,从外部进入输出端的信号不会影响输入端的信号,实现隔离外部信号的作用;当采集卡工作在输出模式时,推挽输出提高了信号的驱动能力。

进一步的,所述SPI总线接口5的数据格式包括帧头、地址位、功能位、数据位和奇偶检验位,所述数据位的高低位与所述IO接线端子1的顺序一一对应。

本实施例中,所述IO数据采集卡用于采集8路数据,但可扩展至采集16路或32路数据。

优选的,所述CPLD模块3为复杂可编程逻辑器件,其型号为LC4064V-75T48I,其逻辑寄存器为64个,所述IO采集卡的CPLD使用的逻辑寄存器为62个。本实施例中,所述CPLD的晶振为30M,SPI总线接口5的通讯速率为10Mbps,所述IO采集卡采集8路数据的最大更新时间为3us。提高SPI总线接口5的通讯速率可以缩短所述IO采集卡采集8路数据的时间。

优选的,所述隔离模块4为数字隔离器,其型号为ISO7241C。用于对SPI总线接口5的电气隔离。所述隔离模块4有三个相同方向的通道和一个相反方向的通道,三个相同方向的通道分别连接SPI总线的SDO(数据输出)、SCLK(时钟)、CS(片选),一个相反通道连接SPI总线的SDI(数据输入)。所述隔离模块4的信号速率为25Mbps,可以满足SPI总线10Mbps的传输速率。

实施例二

表1是本发明一种基于CPLD的IO数据采集方法中的SPI总线数据格式表,表2是本发明一种基于CPLD的IO数据采集方法中的SPI总线数据字段描述表。

如图5、表1和表2所示,本发明另外公开了一种基于CPLD的IO数据采集方法,包括以下步骤:

S1:CPLD在上电复位后,系统进行初始化,CPLD内部各个模块对应的寄存器清零;

S2:DSP或者上位机通过SPI总线接口发送一帧数据到IO数据采集卡,经过SPI总线接口和隔离模块进入CPLD中的数据传输单元;

S3:数据处理单元在接收到数据传输单元传输过来的数据后,验证该帧数据的帧头是否为01,如果是则验证地址位是否正确,如果不是则返回步骤S2,重新接收数据;

S4:验证该帧数据的地址位是01,则进行奇偶校验位的验证,如果是则进行功能位的验证,如果不是则返回步骤S2,重新接收数据;

S5:验证该帧数据的功能位是否为01或10,如果是10则此帧数据为配置帧,如果是01则此帧数据为数据帧,其它的数据情况则返回步骤S2,重新接收数据;

S6:根据配置帧[9:2]位的数据配置IO数据采集卡的数据采集与数据输出,如果配置帧[9:2]位的全为低,则此IO采集卡全部配置为数据采集模式,如果配置帧[9:2]位的全为高,则此IO采集卡全部配置为数据输出模式;

S7:如果全部配置为数据输出模式,配置完成后,CPLD再次通过SPI总线接口接收数据,进行数据验证,如果是数据帧则可以传输数据到IO接线端子,如果为配置帧则再次进行采集卡的配置;

S8:如果全部配置为数据采集模式,IO采集卡通过IO接线端子采集数据,经过数据处理模块,其中包括帧头、地址位、功能位、数据位、奇偶检验位的整合与处理,通过SPI总线接口发送到DSP或者上位机,完成数据采集。

本实施例中,所述IO数据采集卡可根据使用者的需求通过配置帧[9:2]位任意配置IO的方向。

表1 TXDAT(CPLD通过SPI总线接口接收的数据)

表2 TXDAT字段描述

以8路IO全部用于数据采集为例,DSP(Digital Signal Processing,数字信号处理)或者上位机先通过SPI总线接口5发送数据01-01-01-00000000-10到CPLD模块3,其中,该帧数据的帧头[15:14]为01,则进一步验证其地址位[13:12],地址位[13:12]为01,则进一步进行奇偶校验位[1]的验证,该帧数据的[15:2]为01-01-01-00000000,其中有奇数个1,则奇偶校验位[1]正确,进一步验证功能位[11:10],而功能位[11:10]为01,参照表1和2可知,该帧数据为数据帧,而配置帧[9:2]位为00000000,全为低,则此IO采集卡全部配置为数据采集。5V/24V的电压信号经IO接口端子1,进入数据采集模块6和CPLD模块3,CPLD模块3同时采集8路端口的数据,传输至CPLD模块3中的数据处理单元10,整合之后通过SPI总线接口5传输到DSP或者上位机。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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