一种面向多元信号产生和检测的控制系统及控制方法与流程

文档序号:22320309发布日期:2020-09-23 01:53阅读:133来源:国知局
一种面向多元信号产生和检测的控制系统及控制方法与流程

本发明属于信号检测技术领域,具体涉及一种面向多元信号产生和检测的控制系统及控制方法。



背景技术:

在现有的信号产生和检测领域中,传统信号产生和检测的控制系统的设计方法是,针对特定类型的信号采用特定的设计方案,一般只能满足单一信号的产生和检测,适用面有限,移植性不高;如果外部信号类型改变,则该控制系统需要重新设计,重新设计周期长,设计效率低。

上述传统信号产生和检测的控制系统的设计方法存在一定的缺陷,只能满足单一信号的产生和检测,很难满足复杂多元信号的产生和检测的应用需求。该方法的缺陷是:(1)信号控制方法单一,只支持单一信号的产生和检测;(2)单一信号类型的固定,不可配置;(3)通用性不强,功能不够完善,重新设计周期长,效率低,成本高。



技术实现要素:

针对电平信号、脉冲信号和方波信号在多种应用领域使用的广泛性,以及其应用场景的多样性,本发明提供了一种面向多元信号产生和检测的控制系统及控制方法,支持对电平信号、脉冲信号和方波信号的产生和检测的综合管理和控制,可以覆盖多种场景的应用需求。

为达到上述目的,本发明一种面向多元信号产生和检测的控制系统,包括总线接口模块,总线接口模块上双向连接有2~3个控制模块,每个控制模块用于完成32路可配置输入信号和输出信号的控制;

控制模块包括寄存器控制模块、输入信号滤波模块、方波和脉冲产生控制模块以及方波和脉冲检测控制模块,寄存器控制模块与总线接口模块、输入信号滤波模块、方波和脉冲检测控制模块以及方波和脉冲产生控制模块双向连接;输入信号滤波模块和方波和脉冲检测控制模块双向连接;

寄存器控制模块用于配置输入信号滤波模块的滤波参数,配置方波和脉冲检测控制模块以及方波和脉冲产生控制模块的控制参数,寄存器控制模块包括输入信号滤波时间寄存器、输入信号滤波屏蔽寄存器、方波测量因子寄存器、普通电平输出信号控制寄存器、脉冲输出类型寄存器、输出控制寄存器、32个方波测频和脉冲测宽高电平寄存器、32个方波测频和脉冲测宽低电平寄存器、32个方波和脉冲输出高电平寄存器、32个方波和脉冲输出低电平寄存器和32个方波和脉冲输出个数寄存器;

输入信号滤波模块用于32路输入信号的滤波;方波和脉冲检测控制模块用于对32路输入信号的方波测频和脉冲测宽;方波和脉冲产生控制模块用于对32路方波或脉冲输出信号进行控制。

进一步的,输入信号滤波时间寄存器,用于配置滤波时间参数;输入信号滤波屏蔽寄存器,用于屏蔽或者打开滤波功能;方波测量因子寄存器,用于配置方波测频时,对连续多少个方波周期数进行测量,用于求平均;普通电平输出信号控制寄存器,当输出控制寄存器对应通道被配置成普通电平信号输出时,该寄存器对应位写“0”,对应通道输出低电平,对应位写“1”,对应通道输出高电平;脉冲输出类型寄存器,用于配置脉冲输出的类型;输出控制寄存器用于控制输出信号的类型;方波测频和脉冲测宽高电平寄存器,用于记录输入信号高电平的宽度和超时状态;方波测频和脉冲测宽低电平寄存器,用于记录输入信号低电平的宽度和超时状态;方波和脉冲输出高电平寄存器,用于配置高电平的宽度;方波和脉冲输出低电平寄存器,用于配置低电平的宽度;方波和脉冲输出个数寄存器,用于配置输出脉冲的个数、配置输出是方波或者是脉冲以及启动方波或者脉冲输出。

进一步的,寄存器控制模块还包括输入信号上升沿计数寄存器、输入信号下降沿计数寄存器、输出信号上升沿计数寄存器以及输出信号下降沿计数寄存器;输入信号上升沿计数寄存器,用于记录输入信号上升沿的次数;输入信号下降沿计数寄存器,用于记录输入信号下降沿的次数;输出信号上升沿计数寄存器用于记录输出信号上升沿的次数;输出信号下降沿计数寄存器用于记录输出信号下降沿的次数。

进一步的,寄存器控制模块还包括输入信号上升沿中断使能寄存器、输入信号下降沿中断使能寄存器、输入信号上升沿中断状态寄存器和输入信号下降沿中断状态寄存器;输入信号上升沿中断使能寄存器用于使能上升沿中断,当输入信号发生上升沿变化时,产生中断信号;输入信号下降沿中断使能寄存器用于使能下降沿中断,当输入信号发生下降沿变化时,产生中断信号;输入信号上升沿中断状态寄存器,用于记录上升沿中断状态,当处理器检测到中断时,读取该中断状态寄存器的值,用来确定是哪一路输入信号产生的中断;输入信号下降沿中断状态寄存器用于记录下降沿中断状态,当处理器检测到中断时,读取该中断状态寄存器的值,用来确定是哪一路输入信号产生的中断。

进一步的,寄存器控制模块还包括输入信号状态寄存器,输入信号状态寄存器用于记录输入信号的高电平或低电平状态。

进一步的,寄存器控制模块还包括软复位寄存器,软复位寄存器用于复位所有寄存器的值。

进一步的,寄存器控制模块还包括输入输出自环使能寄存器,输入输出自环使能寄存器用于配置输入信号和输出信号内部自环。

一种基于上述控制系统的滤波宽度可调的滤波方法,包括以下步骤:

步骤a1、配置输入信号滤波屏蔽寄存器,当输入信号滤波屏蔽寄存器对应位为“1”时,对应的输入通道信号不进行滤波,对应位为“0”时,对对应的输入通道信号进行滤波;

步骤a2、根据输入信号的滤波时间,配置输入信号滤波时间寄存器的滤波参数,滤波参数=滤波时间/滤波功能使用的时钟信号周期;

步骤a3、在输入信号滤波模块内部设置一个计时器,当输入信号连续两次采样结果相同时,计时器加1,当连续两次采样结果不同时,计时器置1,当计时器的值达到步骤a2配置的滤波参数的值时,则认为输入信号有效,否则认为输入信号无效,然后过滤掉无效信号。

一种基于上述控制系统的方波测频和脉冲测宽的控制方法,包括以下步骤:

步骤b1、将配置方波测量因子寄存器配置为n;

步骤b2、启动方波和脉冲检测控制模中的两个计时器:

方波测频时,第一个计时器用于记录连续n个方波周期信号的高电平的时间t1,第二个计时器用于记录连续n个方波周期信号的低电平的时间t2;在第n个方波周期信号的下降沿,将第一个计时器的时间t1锁存在方波测频和脉冲测宽高电平寄存器里;在第n个方波周期信号的上升沿,将第二个计时器的时间t2锁存在方波测频和脉冲测宽低电平寄存器中;

脉冲测宽时,第一个计时器用于记录最近一个正脉冲信号的高电平的时间,第二个计时器用于记录最近1个负脉冲信号的低电平的时间;在正脉冲信号的下降沿,将第一个计时器的时间t1锁存在方波测频和脉冲测宽高电平寄存器里;在负脉冲信号的上升沿,将第二个计时器的时间t2锁存在方波测频和脉冲测宽低电平寄存器里;

步骤b3、当设定时间内被测试的信号没有上升沿和下降沿变化时,则返回超时状态,超时状态下,方波测频或者脉冲测宽无效;

步骤b4、获取方波测频和脉冲测宽高电平寄存器的值t1和方波测频和脉冲测宽低电平寄存器的值t2;方波测频时,如果t1的比特31为“0”且t2的比特31也为“0”,则认为方波测频有效;脉冲测宽时,如果t1的比特31为“0”,则认为正脉冲测宽有效,如果t2的比特31为“0”,则认为负脉冲测宽有效;

步骤b5、方波测频时,方波周期=(高电平时钟个数+低电平时钟个数)/n*时钟周期,方波占空比=高电平时钟个数/(高电平时钟个数+低电平时钟个数),方波的频率=1/方波周期;脉冲测宽时,正脉冲宽度=高电平时钟个数*时钟周期,负脉冲宽度=低电平时钟个数*时钟周期。

一种基于上述控制系统的方波和脉冲产生的控制方法,包括以下步骤:

步骤c1、配置输出控制寄存器,某一位写“1”,表示对应输出通道要输出方波或者脉冲;

步骤c2、配置方波和脉冲输出高电平寄存器和方波和脉冲输出低电平寄存器,该寄存器中填写时钟个数,时钟周期记为t;

步骤c3、如果要输出方波,则先计算出方波周期,再计算出方波高电平宽度和低电平宽度,方波周期=1/方波频率,方波高电平宽度=方波周期*占空比,方波低电平宽度=方波周期-方波高电平宽度,方波和脉冲输出高电平寄存器的值是方波高电平宽度/t,方波和脉冲输出低电平寄存器的值是方波低电平宽度/t;

步骤c4、如果要输出脉冲,则将脉冲宽度和脉冲间隔换算成时钟个数,如果输出正脉冲,则方波和脉冲输出高电平寄存器填写正脉冲宽度的时钟个数,方波和脉冲输出低电平寄存器填写脉冲间隔的时钟个数;如果输出负脉冲,则方波和脉冲输出低电平寄存器填写低脉冲宽度的时钟个数,方波和脉冲输出高电平寄存器填写脉冲间隔的时钟个数;

步骤c5、配置方波和脉冲输出个数寄存器,方波和脉冲输出个数寄存器的比特31为“1”表示启动方波或者脉冲输出,比特31为“0”表示停止方波或者脉冲输出,比特30为“1”表示输出信号类型是方波,比特30为“0”表示输出信号类型是脉冲,比特29至比特0是输出脉冲个数;

步骤c6、若要输出方波,配置方波和脉冲输出个数寄存器比特31为“1”,比特30为“1”,比特29至比特0为0,同时启动一个计时器,计时器在每个时钟上升沿加1;当输出电平为低电平,且计时器的值等于方波和脉冲输出低电平寄存器的值时,则输出方波信号由低电平变成高电平,同时计时器置1;当输出电平为高电平,且计时器的值等于方波和脉冲输出高电平寄存器的值时,则输出方波信号由高电平变成低电平,同时计时器置1,如此循环运行,即可产生需要的方波信号;

若要输出脉冲,配置方波和脉冲输出个数寄存器的比特31为“1”,比特30为“0”,比特29至比特0为脉冲个数n,同时启动一个计时器,计时器在每个时钟上升沿加1;当输出电平为低电平,且计时器的值等于方波和脉冲输出低电平寄存器的值时,则输出方波信号由低电平变成高电平,同时计时器置1;当输出电平为高电平,且计时器的值等于方波和脉冲输出高电平寄存器的值时,则输出方波信号由高电平变成低电平,同时计时器置1,同时再启动一个计数器,如果当前输出正脉冲,则该计数器在脉冲下降沿时刻加1,表示成功产生一次正脉冲;如果当前输出负脉冲,则该计数器在脉冲上升沿时刻加1,表示成功产生一次负脉冲,当该计数器的值等于脉冲个数n时,停止产生脉冲。

与现有技术相比,本发明至少具有以下有益的技术效果:

本发明设置2-3组控制模块,分别控制完成一组32路可配置输入、输出信号的控制,通过参数配置的方式实现至少64路输入信号检测和至少64路输出信号产生的功能;方波测量因子寄存器和方波测频和脉冲测宽高电平寄存器配合实现方波输入测频功能;方波测频和脉冲测宽高电平寄存器以及方波测频和脉冲测宽低电平寄存器所采集的高电平时钟个数和低电平时钟个数可用来计算占空比和脉冲输入信号测宽。通过配置输入信号滤波模块中的滤波参数,实现滤波宽度可配置的滤波功能。通过配置输出控制寄存器中对应位的数值,实现输出信号类型可配置功能,可配置成电平输出,方波输出或脉冲输出。该系统支持多元信号的检测和产生,功能丰富,适应面广。

进一步的,寄存器控制模块包括输入信号上升沿计数寄存器、输入信号下降沿计数寄存器、输出信号上升沿计数寄存器以及输出信号下降沿计数寄存器,支持输入信号沿计数功能以及输出信号沿计数功能。

进一步的,寄存器控制模块包括输入信号上升沿中断使能寄存器、输入信号下降沿中断使能寄存器、输入信号上升沿中断状态寄存器和输入信号下降沿中断状态寄存器,支持沿中断触发功能。

进一步的,寄存器控制模块还包括输入信号状态寄存器,输入信号状态寄存器用于记录输入信号经过滤波后(或者不滤波)的高、低电平状态,支持电平输入状态检测。

进一步的,寄存器控制模块还包括输入输出自环使能寄存器,输入输出自环使能寄存器用于配置输入信号和输出信号内部自环,用于自检功能。

一种滤波宽度可调的滤波方法,通过配置寄存器控制模块中的输入信号滤波屏蔽寄存器和输入信号滤波时间寄存器参数,实现滤波宽度可调的滤波功能,滤波的采样点数随着滤波宽度的增加而增加,在每一个时钟的上升沿都会进行采样,一旦发现信号有电平变化,滤波时间会重新计时,直到保证滤波时间内的所有采样点的电平一致,才会认为该电平信号有效,所以这种滤波方法非常严谨。

一种方波测频和脉冲测宽的控制方法,通过配置方波测量因子寄存器、方波测频和脉冲测宽高电平寄存器参数,实现方波测频和脉冲测宽,操作方便,测量实时性高,精度高(纳秒级),测量范图广(0.5hz~50mhz)。

一种方波和脉冲产生的控制方法,通过配置输出控制寄存器、方波和脉冲输出高电平寄存器和方波和脉冲输出低电平寄存器参数,产生需要的方波和脉冲,操作简便;方波周期和占空比可调,脉冲正负极性可配置,脉冲宽度可配置,脉冲数量可配置,精度高(纳秒级)。

本发明还具备输入、输出信号自检功能,即通过一种方波和脉冲产生的控制方法产生的方波或者脉冲信号,通过内部自环设置,将方波或者脉冲接到输入端,再通过一种方波测频和脉冲测宽的控制方法进行方波测频和冲测宽,同时对输入信号的上升沿和下降沿进行计数,这样可以达到一个自检的功能。

附图说明

图1为一种面向多元信号产生和检测的控制系统结构框图;

图2为一种面向多元信号产生和检测的控制系统的应用示例示意图;

图3为滤波功能的效果图。

附图中:101、总线接口模块,102a、第一寄存器控制模块,102b、第二寄存器控制模块,103a、第一输入信号滤波模块,103b、第二输入信号滤波模块,104a、第一方波和脉冲检测控制模块,104b、第二方波和脉冲检测控制模块,105a、第一方波和脉冲产生控制模块,105b、第二方波和脉冲产生控制模块。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

一种面向多元信号产生和检测的控制系统及控制方法:(1)自定义片内总线接口可以配置相关的参数;(2)通过参数配置的方式,实现一种宽度可调的滤波方法;(3)支持高达64路输入信号的方波测频和脉冲测宽的功能,并且每路输入信号都可以根据需要配置需要的功能;(4)支持高达64路可配置输出信号,每路输出信号可配置成电平输出,方波输出,脉冲输出。

参照图1,一种面向多元信号产生和检测的控制系统主要由9个基本模块组成,具体包括:总线接口模块101、第一寄存器控制模块102a、第二寄存器控制模块102b、第一输入信号滤波模块103a、第二输入信号滤波模块103b、第一方波和脉冲检测控制模块104a、第二方波和脉冲检测控制模块104b、第一方波和脉冲产生控制模块105a和第二方波和脉冲产生控制模块105b。因为片内总线接口是32位数据总线,每次只能访问32位位宽的寄存器,为了设计多达64路可配置输入输出信号控制,所以设计了两组相同的控制模块,一组控制模块由第一寄存器控制模块102a、第一输入信号滤波模块103a、第一方波和脉冲检测控制模块104a和第一方波和脉冲产生控制模块105a组成,完成一组32路可配置输入、输出信号的控制;另一组由第二寄存器控制模块102b、第二输入信号滤波模块103b、第二方波和脉冲检测控制模块104b和第二方波和脉冲产生控制模块105b组成,完成另一组32路可配置输入、输出信号的控制。这样设计的优点是方便扩展,目前64路可配置输入、输出信号的控制可以满足大多数需求,如果需要扩展更多通道,则可以再增加一组或多组控制模块。

其中:第一寄存器控制模块102a和总线接口模块101、第一输入信号滤波模块103a、第一方波和脉冲检测控制模块104a以及第一方波和脉冲产生控制模块105a双向连接,第一输入信号滤波模块103a和第一方波和脉冲检测控制模块104a双向连接;第二寄存器控制模块102b和总线接口模块101、第二输入信号滤波模块103b、第二方波和脉冲检测控制模块104b以及第二方波和脉冲产生控制模块105b双向连接,第二输入信号滤波模块103b和第二方波和脉冲检测控制模块104b双向连接。

总线接口模块101采用自定义片内总线,处理器通过该总线可以对该系统中的相关参数进行配置。

第一寄存器控制模块102a和第二寄存器控制模块102b,复用2次,第一寄存器控制模块102a和第二寄存器控制模块102b结构完全相同,每个寄存器控制模块包含输入信号状态寄存器、输入信号滤波时间寄存器、输入信号滤波屏蔽寄存器、输入输出自环使能寄存器、输入信号上升沿中断使能寄存器、输入信号下降沿中断使能寄存器、输入信号上升沿中断状态寄存器、输入信号下降沿中断状态寄存器、方波测量因子寄存器、普通电平输出信号控制寄存器、脉冲输出类型寄存器、输出控制寄存器、软复位寄存器、32个输入信号上升沿计数寄存器、32个输入信号下降沿计数寄存器、32个方波测频和脉冲测宽高电平寄存器、32个方波测频和脉冲测宽低电平寄存器、32个输出信号上升沿计数寄存器、32个输出信号下降沿计数寄存器、32个方波和脉冲输出高电平寄存器、32个方波和脉冲输出低电平寄存器和32个方波和脉冲输出个数寄存器,每个模块一共301个寄存器。

其中,输入信号状态寄存器,用于记录输入信号经过滤波后(或者不滤波)的高、低电平状态;输入信号滤波时间寄存器,用于配置滤波时间参数;输入信号滤波屏蔽寄存器,用于屏蔽或者打开滤波功能;输入输出自环使能寄存器,用于配置输入信号和输出信号内部自环,用于自检功能;输入信号上升沿中断使能寄存器,用于使能上升沿中断,当输入信号发生上升沿变化时,会产生中断信号;输入信号下降沿中断使能寄存器,用于使能下降沿中断,当输入信号发生下降沿变化时,会产生中断信号;输入信号上升沿中断状态寄存器,用于记录上升沿中断状态,当处理器检测到中断时,会读取该中断状态寄存器的值,用来确定是哪一路输入信号产生的中断,该状态被读取后清除,当所有中断状态被清除时,中断信号也会撤销;输入信号下降沿中断状态寄存器,用于记录下降沿中断状态,当处理器检测到中断时,会读取该中断状态寄存器的值,用来确定是哪一路输入信号产生的中断,该状态被读取后清除,当所有中断状态被清除时,中断信号也会撤销;方波测量因子寄存器,用于配置方波测频时,对连续多少个方波周期数进行测量,用于求平均,提高测量精度;普通电平输出信号控制寄存器,当输出控制寄存器对应通道被配置成普通电平信号输出时,该寄存器对应位写“0”,对应通道输出低电平,对应位写“1”,对应通道输出高电平;脉冲输出类型寄存器,用于配置脉冲输出的类型,对应位写“0”表示对应通道输出是正脉冲,无效状态是低电平,对应位写“1”表示对应通道输出是负脉冲,无效状态是高电平;输出控制寄存器,对应位写“0”表示对应的输出通道输出普通电平信号,对应位写“1”表示对应的输出通道输出方波或脉冲信号;软复位寄存器,用于复位所有寄存器的值;输入信号上升沿计数寄存器,用于记录输入信号上升沿的次数,当检测到输入信号上升沿变化时,该寄存器加1;输入信号下降沿计数寄存器,用于记录输入信号下降沿的次数,当检测到输入信号下降沿变化时,该寄存器加1;输出信号上升沿计数寄存器,用于记录输出信号上升沿的次数,当检测到输出信号上升沿变化时,该寄存器加1;输出信号下降沿计数寄存器,用于记录输出信号下降沿的次数,当检测到输出信号下降沿变化时,该寄存器加1;方波测频和脉冲测宽高电平寄存器,用于记录输入信号高电平的宽度和超时状态;方波测频和脉冲测宽低电平寄存器,用于记录输入信号低电平的宽度和超时状态;方波和脉冲输出高电平寄存器,配置高电平的宽度,配置参数是时钟个数;方波和脉冲输出低电平寄存器,配置低电平的宽度,配置参数是时钟个数;方波和脉冲输出个数寄存器,用于配置输出脉冲的个数、配置输出是方波或者是脉冲以及启动方波或者脉冲输出,该寄存器只有在输出控制寄存器对应位设置为“1”时有效,该寄存器的比特29到比特0,表示方波和脉冲输出的阈值个数,比特30位为“1”时,表示输出方波,且输出不停止,为“0”时表示输出脉冲,当脉冲输出的个数达到比特29到比特0的个数时,脉冲停止输出,且比特31位自动清“0”,该寄存器的比特31位为“1”时,表示启动方波和脉冲输出,为“0”时表示停止方波和脉冲输止。

第一输入信号滤波模块103a和第二输入信号滤波模块103b结构完全相同,复用2次,每个模块均支持32路输入信号的滤波功能。每个输入信号滤波模块设置一个计时器,每路输入信号滤波功能需要通过与其连接的寄存器控制模块配置参数产生滤波时钟,当滤波参数设置成1000时,则当连续1000次时钟采集到的输入信号都是低电平时,则认为低电平有效,或者当连续1000次时钟采集到的输入信号都是高电平时,则认为高电平有效。

第一方波和脉冲检测控制模块104a、第二方波和脉冲检测控制模块104b结构完全相同,复用2次,每个模块支持32路输入信号的方波测频和脉冲测宽功能。每个方波和脉冲检测控制模块设置两个计时器,分别对高、低电平进行计时,当方波测量因子寄存器设置为n时,则连续记录n个高电平的时间和n个低电平的时钟个数,该时钟周期为10纳秒,在下降沿锁存高电平计时时钟个数,存放在方波测频和脉冲测宽高电平寄存器,在上升沿锁存低电平的计时时钟个数,存放在方波测频和脉冲测宽低电平寄存器,处理器通过驱动软件读方波测频和脉冲测宽高电平寄存器和方波测频和脉冲测宽低电平寄存器,来获取到高电平时钟个数和低电平时钟个数后,可以计算方波的周期和占空比,或者脉冲的宽度,方波周期(单位:纳秒)=(高电平时钟个数+低电平时钟个数)/n*10纳秒,方波占空比=高电平时钟个数/(高电平时钟个数+低电平时钟个数),方波的频率=1/方波周期,正脉冲宽度=高电平时钟个数*10纳秒,负脉冲宽度=低电平时钟个数*10纳秒。该模块支持0.5hz频率以上的方波或者脉冲测量,周期最大是2秒,所以在该模块内部设置2秒超时时间,当2秒内该信号没有上升沿或者下降沿跳变时,则计时器清零,且返回超时状态,软件获取到超时状态时,会认为当前的输入信号是异常方波或者异常脉冲信号。所以,方波测频高电平时间和低电平时间都不超过2秒钟,正脉冲测宽时高电平宽度不得超过2秒钟,负脉冲测宽时低电平宽度不得超过2秒钟。

第一方波和脉冲产生控制模块105a和第二方波和脉冲产生控制模块105b结构完全相同,每个方波和脉冲检测控制模块设置一个计数器和两个计时器,复用2次,每个方波和脉冲产生控制模块支持32路方波或脉冲输出信号的控制功能。处理器通过驱动软件设置寄存器控制模块中的相关寄存器,实现对脉冲产生控制模块的参数配置;寄存器控制模块中的输出控制寄存器,对应位写“0”表示对应通道输出普通电平,对应位写“1”表示对应通道输出方波或者脉冲;配置脉冲输出类型寄存器,对应位写“0”表述对应通道输出是正脉冲,默认输出无效电平是低电平,对应位写“1”表述对应通道输出是负脉冲,默认输出无效电平是高电平;配置方波和脉冲输出高电平寄存器,确定方波或脉冲输出高电平时钟个数;配置方波和脉冲输出低电平寄存器,确定方波或脉冲输出低电平时钟个数;如果需要输出普通电平,则通过设置普通电平输出信号控制寄存器对应位的值,使对应输出通道输出相应的电平,对应位写“0”则对应通道输出低电平,对应位写“1”则对应通道输出高电平;如果需要输出方波或者脉冲,则通过配置方波和脉冲输出个数寄存器,用于配置输出脉冲的个数、配置输出是方波或者是脉冲以及启动方波或者脉冲输出,该寄存器只有在输出控制寄存器对应位设置为“1”时有效,该寄存器的比特29到比特0,表示方波和脉冲输出的阈值个数,比特30位为“1”时,表示输出方波,且输出不停止,为“0”时表示输出脉冲,当脉冲输出的个数达到比特29到比特0的个数时,脉冲停止输出,且比特31位自动清“0”,该寄存器的比特31位为“1”时,表示启动方波和脉冲输出,为“0”时表示停止方波和脉冲输止。

图2是一种面向多元信号产生和检测的控制系统的应用示例,该系统是在fpga中通过verilog代码实现的,在fpga内部需要再实现一个桥接模块,该桥接模块把该系统和外部处理器相连接,在处理器上需要开发和运行该系统的驱动软件,这样才能控制该系统正常工作。

根据本发明的内容,详细介绍一种滤波宽度可调的滤波方法,在图1中第一输入信号滤波模块103a、第二输入信号滤波模块103b中实现,图3是滤波功能的效果图。

一种滤波宽度可调的滤波方法如下:

(1)处理器通过驱动软件配置输入信号滤波屏蔽寄存器,该输入信号滤波屏蔽寄存器对应位为“1”时,对应的输入通道信号不进行滤波,对应位为“0”时,对应的输入通道信号需要进行滤波;

(2)处理器通过驱动软件配置输入信号滤波时间寄存器,该滤波功能使用的时钟信号是10纳秒周期,如果需要对输入信号进行10000纳秒时间的滤波,则该寄存器滤波参数配置成1000,表示1000个时钟个数,该计算公式为滤波参数=滤波时间(纳秒)/10纳秒;

(3)输入信号滤波模块内部设置一个计时器,在输入信号连续两次采样结果相同时,该计时器加1,当连续两次采样结果不同时(两次采样是图3中滤波前信号和滤波前信号延迟1个时钟信号),该计时器置1;当该计时器的值达到输入信号滤波时间寄存器的值(滤波时间是10000纳秒时,该寄存器值是1000)时,则认为输入信号有效,否则认为输入信号无变化,保持之前的值,即输入信号要保持1000个时钟不变化,才认为该信号有效,图3中时间宽度等于1000个时钟的信号是有效信号,时间宽度等于999个时钟的信号是无效信号,无效信号会被过滤掉。

根据本发明的内容,详细介绍一种方波测频和脉冲测宽的控制方法,在图1中第一方波和脉冲检测控制模块104a、第二方波和脉冲检测控制模块104b中实现。

一种方波测频和脉冲测宽的控制方法如下:

(1)处理器通过驱动软件配置方波测量因子寄存器,配置为n;

(2)方波测频时,启动方波和脉冲检测控制模中的两个计时器,计时器1用于记录连续n个方波周期信号的高电平的时间t1,计时器2用于记录连续n个方波周期信号的低电平的时间;在第n个方波周期信号的下降沿,将计时器1的时间t1锁存在一个32位的方波测频和脉冲测宽高电平寄存器里,在第n个方波周期信号的上升沿,将计时器2的时间t2锁存在一个32位的方波测频和脉冲测宽低电平寄存器里,t1和t2都是用时钟个数表示,时钟周期是10纳秒;

(3)脉冲测宽时,内部启动两个计时器,计时器1用于记录最近1个正脉冲信号的高电平的时间,计时器2用于记录最近1个负脉冲信号的低电平的时间,在正脉冲信号的下降沿,将计时器1的时间t1锁存在一个32位的方波测频和脉冲测宽高电平寄存器里,在负脉冲信号的上升沿,将计时器2的时间t2锁存在一个32位的方波测频和脉冲测宽低电平寄存器里,t1和t2都是时钟个数,时钟周期是10纳秒;

(4)当2秒内该信号没有上升沿和下降沿变化时,则返回超时状态,超时状态下,t1时间寄存器的比特31为“1”或者t2时间寄存器的比特31为“1”,表示方波测频或者脉冲测宽无效;

(5)处理器通过驱动软件,获取方波测频和脉冲测宽高电平寄存器t1的值和方波测频和脉冲测宽低电平寄存器t2的值,方波测频时,如果t1的比特31为“0”且t2的比特31也为“0”,则认为方波测频有效;脉冲测宽时,如果t1的比特31为“0”,则认为正脉冲测宽有效,如果t2的比特31为“0”,则认为负脉冲测宽有效;

(6)方波测频时,则通过计算公式可以计算出方波频率和占空比,方波周期(单位:纳秒)=(高电平时钟个数+低电平时钟个数)/n*10纳秒,方波占空比=高电平时钟个数/(高电平时钟个数+低电平时钟个数),方波的频率=1/方波周期,如果n=10,t1=10000,t1=30000,则方波周期为40000纳秒,方波频率是25000hz,方波占空比是25%(单位的换算不在这里进行阐述);

(7)脉冲测宽时,则可以通过计算公式计算出脉冲宽度,正脉冲宽度测量公式:正脉冲宽度(单位:纳秒)=高电平时钟个数*10纳秒,负脉冲宽度测量公式:负脉冲宽度(单位:纳秒)=低电平时钟个数*10纳秒,如果t1=10000,t2=30000,则正脉冲宽度为100000纳秒,负脉冲宽度为300000纳秒(单位的换算不在这里进行阐述)。

根据本发明的内容,详细介绍一种方波和脉冲产生的控制方法,在图1中第一方波和脉冲产生控制模块105a和第二方波和脉冲产生控制模块105b中实现。

一种方波和脉冲产生的控制方法如下:

(1)处理器通过驱动软件配置输出控制寄存器,对应位写“1”,表示对应输出通道要输出方波或者脉冲;

(2)处理器通过驱动软件配置方波和脉冲输出高电平寄存器和方波和脉冲输出低电平寄存器,该寄存器中填写的是时钟个数,时钟周期是10纳秒;

(3)如果方波频率是10000hz和占空比30%,则可以先计算出方波周期,方波周期=1/方波频率=100000纳秒,再计算出方波高电平宽度和低电平宽度,方波高电平宽度=方波周期*占空比=30000纳秒,方波低电平宽度=方波周期-方波高电平宽度=70000纳秒,则方波和脉冲输出高电平寄存器的值是方波高电平宽度/10纳秒即3000,方波和脉冲输出低电平寄存器的值是方波低电平宽度/10纳秒即7000(单位的换算不在这里进行阐述);

(4)如果脉冲宽度100000纳秒和脉冲间隔10000000纳秒,则将脉冲宽度换算成10纳秒周期的时钟个数是100000纳秒/10纳秒=10000,脉冲间隔分别换算成10纳秒周期的时钟个数是10000000纳秒/10纳秒=1000000,如果要输出正脉冲,则方波和脉冲输出高电平寄存器填写正脉冲宽度的时钟个数10000,方波和脉冲输出低电平寄存器填写脉冲间隔的时钟个数1000000;如果要输出负脉冲,则方波和脉冲输出低电平寄存器填写低脉冲宽度的时钟个数10000,方波和脉冲输出高电平寄存器填写脉冲间隔的时钟个数1000000;

(5)处理器通过驱动软件配置方波和脉冲输出个数寄存器,该寄存器是一个32位位宽的寄存器,比特31为“1”表示启动方波或者脉冲输出,比特31为“0”表示停止方波或者脉冲输出,比特30为“1”表示输出信号类型是方波,比特30为“0”表示输出信号类型是脉冲,比特29至比特0是输出脉冲个数;

(6)如果要输出方波,可以配置方波和脉冲输出个数寄存器为0xc000000,即比特31为“1”和比特30为“1”,比特29至比特0为0,同时启动一个计时器,计时器会在每个时钟上升沿加1,当输出电平为低电平,且计时器的值等于方波和脉冲输出低电平寄存器的值时,则输出方波信号由低电平变成高电平,同时计时器置1,当输出电平为高电平,且计时器的值等于方波和脉冲输出高电平寄存器的值时,则输出方波信号由高电平变成低电平,同时计时器置1,如此循环运行,即可产生需要的方波信号;

(7)如果要输出脉冲,可以配置方波和脉冲输出个数寄存器为0x8000008,即比特31为“1”和比特30为“0”,比特29至比特0为8,同时启动一个计时器,计时器会在每个时钟上升沿加1;当输出电平为低电平,且计时器的值等于方波和脉冲输出低电平寄存器的值时,则输出方波信号由低电平变成高电平,同时计时器置1;当输出电平为高电平,且计时器的值等于方波和脉冲输出高电平寄存器的值时,则输出方波信号由高电平变成低电平,同时计时器置1;同时再启动一个计数器,如果当前输出正脉冲,则该计数器在脉冲下降沿时刻加1,表示成功产生一次正脉冲,如果当前输出负脉冲,则该计数器在脉冲上升沿时刻加1,表示成功产生一次负脉冲,当该计数器的值等于脉冲个数8(脉冲个数是比特29至比特0的值)时,停止产生脉冲。

本发明中一种滤波宽度可调的滤波方法、一种方波测频和脉冲测宽的控制方法和一种方波测频和脉冲测宽的方法具有良好的可实时性,功能配置灵活,具有通用性强,适应面广的特点,可以在很大程度上缩短设计周期和降低设计成本。

根据上述方案,用veriloghdl语言对一种面向多元信号产生和检测的控制系统的逻辑设计进行描述,并完成逻辑综合与布局布线,将该控制器逻辑设计映射到可编程逻辑器件中实现,并对控制系统的功能进行测试。测试结果表明本发明具有很好的可实施性,且性能满足预期。

本发明的设计方案,优点在于:(1)本发明支持电平输入信号状态检测,方波输入信号测频,脉冲输入信号测宽,输入信号上升沿计数和中断,输入信号下降沿计数和中断以及输入输出信号自检等功能;(2)本发明支持电平信号输出,周期、占空比可调的方波信号输出,脉冲类型、脉冲宽度和脉冲个数可调的脉冲输出功能;(3)本发明支持滤波宽度可调的滤波功能;(4)本发明最多可支持64路输入信号的检测和64路输出信号的产生;(5)本发明功能更富,通用性强,适应面广,可以在很大程度上缩短设计周期和降低设计成本。

本发明功能设计丰富,通用性强,可以提高设计效率,可以在很大程度上缩短设计周期和降低设计成本,提高设计可靠性。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

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