一种在fpga内实现的数字信号产生方法

文档序号:6188703阅读:237来源:国知局
一种在fpga内实现的数字信号产生方法
【专利摘要】本发明提供一种在FPGA内实现的数字信号产生方法,管脚状态、相位、格式是组成数字信号的三部分,三者结合起来产生了待测板所需要的数字激励信号,并通过FPGA外部驱动器送给待测板。每个硬件设备有11种管脚状态、4个相位、5种格式可供所有数字通道选择。采用上述方案,通过简单的相位、管脚状态、格式的设置,每个通道数字信号的波形都可以不同,同一个数字信号在每个时钟内可以多次改变状态,能精确控制信号的时序,因此能灵活的产生待测电路板所需要的各种数字信号。
【专利说明】—种在FPGA内实现的数字信号产生方法
【技术领域】
[0001]本发明属于数字信号产生【技术领域】,尤其涉及的是一种在FPGA内实现的数字信号产生方法。
【背景技术】
[0002]利用数字电路功能测试设备对数字电路板进行功能测试,是当今各行各业中对数字电路板进行故障诊断的一种重要的方式,其基本原理是:功能测试设备根据待测电路板的原理产生数字激励信号,通过接口连接器施加到待测电路板输入端上,并通过输出端检测其返回的响应信号,最后与期望的正确响应进行比较,通过比较结果得到电路的故障信息。产生数字激励信号的方法通常有基于直接数字频率合成(DDS)技术或者数字输入/输出(数字I/O)技术的。
[0003]DDS是一种全数字化的频率合成器,由相位累加器、波形存储器、D/A转换器和低通滤波器构成,如图1所示。相位累加器由N位加法器与N位累加寄存器级联构成。每来一个时钟脉冲fs,加法器将频率控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字k相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累力口。相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。相位累加器输出的数据作为波形存储器的相位取样地址,把存储在其中的波形数据经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器和低通滤波器,将波形数据转换成所需要的模拟波形信号。DDS技术产生的方波信号如图2所示。
[0004]DDS信号发生器的专利已有很多,如CN202150069U公开了一种DDS信号发生器,可以输出不同频率的正弦波、方波、三角波;CN201266240公开了一种用于高频波段的多通道DDS信号发生器;CN101799704A公开了一种具有精密相位控制功能的多通道DDS信号发
生器等。
[0005]DDS技术可以通过DDS芯片实现,或者在FPGA内实现波形数据产生部分,然后与FPGA外的D/A转换器和低通滤波器共同完成DDS功能。
[0006]数字I/O实现较为简单,直接通过时钟信号从波形存储器中取出预先存储的波形数据,通过相应外围电路转换为所需要的信号,如图3所示。波形可以存储在主控计算机中,计算机以恒定的速率释放向量、观察响应;波形也可以存储在硬件设备中,在时钟控制下发送预存的波形数据。数字I/O技术产生的数字信号在每个时钟周期内状态是固定的“O”或“1”,如图4所示。
[0007]DDS技术产生的信号通常是周期信号,其信号频率不变,不能灵活实现非周期的、高低电平持续时间可以灵活变化的数字信号。特殊用途情况下,DDS技术可以得到非周期数字信号,但是需要提高内部时钟频率,进行复杂的手动波形编辑、存储和运算,并且产生的数字信号也用作给待测板提供激励信号,不能同数字电路故障仿真软件、检测电路、故障诊断算法配合对待测板进行故障诊断。
[0008]数字I/O技术产生的数字信号在每个时钟周期内状态是固定的“O”或“1”,不能改变状态,不能用作复杂时序逻辑电路的激励信号。
[0009]因此,现有技术存在缺陷,需要改进。

【发明内容】

[0010]本发明所要解决的技术问题是针对现有技术的不足,提供一种在FPGA内实现的数字信号产生方法。
[0011]本发明的技术方案如下:
[0012]一种在FPGA内实现的数字信号产生方法,其中,包括以下步骤:
[0013]步骤1:FPGA内的信号发生器在激励时钟的控制下,结合管脚状态、相位、格式数据产生数字信号,在测试程序中每个数字通道均通过软件设置其在测试中使用的相位及格式;在每个激励时钟内每个数字通道的管脚状态均通过软件设置;软件中设置的管脚状态、相位、格式数据在测试初始化阶段从计算机通过VXI零槽控制器、VXI总线分别加载到硬件设备上的波形存储器、相位存储器和配置寄存器中,初始化完成后在激励时钟作用下测试开始运行,FPGA中的信号发生器从外部波形存储器中取出管脚状态数据,并译码出其中包含的通道驱动器的开/关状态和输出逻辑电平、检测器开/关状态和通道期望状态;同时信号发生器从配置寄存器中取出相位选择数据,然后从相位存储器中取出选择的相位的有效沿数据和返回沿数据;所述有效沿数据和返回沿数据是相位触发器的延迟值,由激励时钟或系统时钟触发,由一个高速时钟进行计数产生;数字信号在激励时钟开始时首先被赋予一个初始‘0’状态;然后在高速时钟计数到相位的有效沿后,被赋予由管脚状态译码出的驱动器输出逻辑状态,同时产生驱动器开/关状态信号;在高速时钟计数到相位返回沿后,数字信号被赋予格式产生电路产生的某一格式的逻辑状态,直到激励时钟结束;,所述格式是由配置寄存器中取出的格式选择数据决定的;在下一个激励时钟开始后,数字信号仍然保持上个时钟结束时格式指定的电平状态,直到相位有效沿才被赋予新的由管脚状态译码出的驱动器输出逻辑状态,在相位返回沿被赋予格式指定的电平状态;循环直到测试结束,激励时钟结束,数字信号产生结束;
[0014]步骤2:FPGA内信号发生器产生的待测板所需要的数字激励信号,通过FPGA外部驱动器送给待测板。
[0015]所述步骤I中,所述相位为4选I ;所述格式为5选I ;所述管脚状态为11选I。
[0016]所述的产生方法,其中,所述管脚状态是每个数字测试通道、每个时钟内管脚状态信息的收集;管脚状态包括通道驱动器的开/关状态和输出逻辑电平,还包括用于检测待测板返回响应的检测器开/关状态和通道期望状态。
[0017]所述的产生方法,其中,所述管脚状态设置为11种,分别为当驱动器驱动高电平,不检测条件下管脚状态为IH;当驱动器驱动低电平,不检测条件下管脚状态为IL;当驱动器驱动高电平,期望检测低电平条件下管脚状态为IHOL ;当驱动器驱动低电平,期望检测高电平条件下管脚状态为ILOH ;当驱动器驱动高电平,期望检测高电平条件下管脚状态为MH ;当驱动器驱动低电平,期望检测低电平条件下管脚状态为ML ;当驱动器不驱动,期望检测高电平条件下管脚状态为OH ;当驱动器不驱动,期望检测低电平条件下管脚状态为OL ;当驱动器不驱动,不期望检测条件下管脚状态为IOX ;当驱动器不驱动,期望检测高低电平之间的中间电平条件下管脚状态为OB ;当驱动器不驱动,期望检测高电平或者低电平条件下管脚状态为0K。
[0018]所述的产生方法,其中,所述相位是在测试运行期间控制何时数字信号施加到待测板上的时序信号;一个相位分别设置有效沿及返回沿;所述有效沿为驱动器转换成由通道的管脚状态指定的电平状态的时刻;所述返回沿为驱动器转换成由通道的格式指定的电平状态的时刻。
[0019]所述的产生方法,其中,所述有效沿的值和所述返回沿的值是相位触发器的延迟值,由激励时钟或系统时钟触发,由高速计数器计数产生。
[0020]所述的产生方法,其中,一次测试中有4个相位供所有数字通道选择,这4个相位的有效沿信息和返回沿信息组成I个时序集,而硬件设备上设置有256个时序集,在每个激励时钟内所有数字通道在时序集索引的控制下统一选择某一个时序集;相位的无沿功能延续前面的驱动器状态;通过灵活地设置相位的有效沿数据及返回沿数据和在不同激励时钟内选择不同的时序集以产生复杂多变的数字信号。
[0021]所述的产生方法,其中,所述格式用于定义通道选择的相位返回沿之后和下个相位有效沿之前驱动器的状态,设置有5种,分别为相位返回沿之后驱动器状态不返回,仍保持管脚状态指定的电平状态,该条件下格式为NRET ;相位返回沿之后驱动器返回为三态状态,该条件下格式为ROFF ;相位返回沿之后驱动器返回为‘0’状态,该条件下格式为RZER0;相位返回沿之后驱动器返回为‘I’状态,该条件下格式为RONE ;相位返回沿之后驱动器返回为与管脚状态指定的电平状态相反的状态,该条件下格式为RC0MP。采用上述方案,可以应用于硬件设备上的几十个通道,并可以同步产生和输出,每一个通道均有存储器支持。通过简单的相位、管脚状态、格式的设置,每个通道数字信号的波形都可以不同,同一个数字信号在每个时钟内可以多次改变状态,能精确控制信号的时序,因此能灵活的产生待测电路板所需要的各种数字信号,还可以和数字电路故障仿真软件、检测电路、故障诊断算法配合对待测板进行故障诊断。
【专利附图】

【附图说明】
[0022]图1是现有技术中DDS电路的基本工作原理框图。
[0023]图2是现有技术中DDS技术产生的方波信号示意图。
[0024]图3是现有技术中数字I/O电路的基本工作原理框图。
[0025]图4是现有技术中数字I/O技术产生的方波信号示意图。
[0026]图5是本发明产生的数字信号示意图。
[0027]图6是本发明产生的数字信号生成原理框图
[0028]图7是本发明相位产生示意图。
[0029]图8是本发明格式的定义及示意图。
【具体实施方式】
[0030]以下结合附图和具体实施例,对本发明进行详细说明。[0031]实施例1
[0032]本发明产生的数字信号如图5所示。FPGA内的信号发生器在激励时钟的控制下,结合管脚状态、相位、格式数据产生待测板所需要的数字信号,并通过FPGA外部驱动器送给待测板。每个硬件设备有11种管脚状态、4个相位、5种格式可供所有数字通道选择。图6为本发明产生的数字信号生成原理框图。本数字信号产生方法需要硬件电子线路的支持,产生数字信号的硬件设备通过VXI总线和VXI零槽控制器、计算机通信。在一个测试程序中每个数字通道均可通过软件设置其在测试中使用的相位(4选I)、格式(5选1),一旦选定在测试中不能更改;在每个激励时钟内每个数字通道的管脚状态(11选I)均可通过软件设置。软件中设置的管脚状态、相位、格式数据在测试初始化阶段从计算机通过VXI零槽控制器、VXI总线分别加载到硬件设备上的波形存储器、相位存储器和配置寄存器中。初始化完成后在激励时钟作用下测试开始运行,FPGA中的信号发生器从外部波形存储器中取出管脚状态数据,并译码出其中包含的通道驱动器的开/关状态和输出逻辑电平、检测器开/关状态和通道期望状态;同时信号发生器从配置寄存器中取出相位选择数据,然后从相位存储器中取出选择的相位的有效沿和返回沿数据,这些数据信息是相位触发器的延迟值,由激励时钟或系统时钟触发,由一个高速时钟进行计数产生。数字信号在激励时钟开始时首先被赋予一个初始‘0’状态;然后在高速时钟计数到相位的有效沿后,被赋予由管脚状态译码出的驱动器输出逻辑状态,同时产生驱动器开/关状态信号;在高速时钟计数到相位返回沿后,数字信号被赋予格式产生电路产生的某一格式的逻辑状态,直到激励时钟结束,而这一格式是由配置寄存器中取出的格式选择数据决定的。在下一个激励时钟开始后,数字信号仍然保持上个时钟结束时格式指定的电平状态,直到相位有效沿才被赋予新的由管脚状态译码出的驱动器输出逻辑状态,在相位返回沿被赋予格式指定的电平状态;以此类推,直到测试结束,激励时钟结束,数字信号产生结束。
[0033]管脚状态是每个数字测试通道、每个时钟内管脚状态信息的收集,共有11种。管脚状态包含了通道驱动器的开/关状态和输出逻辑电平,还包含了用于检测待测板返回响应的检测器开/关状态和通道期望状态,由主控计算机装载到波形存储器中。以下表格中给出了管脚状态和相应的驱动器和检测器的状态:
[0034]
【权利要求】
1.一种在FPGA内实现的数字信号产生方法,其特征在于,包括以下步骤: 步骤1:FPGA内的信号发生器在激励时钟的控制下,结合管脚状态、相位、格式数据产生数字信号,在测试程序中每个数字通道均通过软件设置其在测试中使用的相位及格式;在每个激励时钟内每个数字通道的管脚状态均通过软件设置;软件中设置的管脚状态、相位、格式数据在测试初始化阶段从计算机通过VXI零槽控制器、VXI总线分别加载到硬件设备上的波形存储器、相位存储器和配置寄存器中,初始化完成后在激励时钟作用下测试开始运行,FPGA中的信号发生器从外部波形存储器中取出管脚状态数据,并译码出其中包含的通道驱动器的开/关状态和输出逻辑电平、检测器开/关状态和通道期望状态;同时信号发生器从配置寄存器中取出相位选择数据,然后从相位存储器中取出选择的相位的有效沿数据和返回沿数据;所述有效沿数据和返回沿数据是相位触发器的延迟值,由激励时钟或系统时钟触发,由一个高速时钟进行计数产生;数字信号在激励时钟开始时首先被赋予一个初始‘0’状态;然后在高速时钟计数到相位的有效沿后,被赋予由管脚状态译码出的驱动器输出逻辑状态,同时产生驱动器开/关状态信号;在高速时钟计数到相位返回沿后,数字信号被赋予格式产生电路产生的某一格式的逻辑状态,直到激励时钟结束;所述格式是由配置寄存器中取出的格式选择数据决定的;在下一个激励时钟开始后,数字信号仍然保持上个时钟结束时格式指定的电平状态,直到相位有效沿才被赋予新的由管脚状态译码出的驱动器输出逻辑状态,在相位返回沿被赋予格式指定的电平状态;循环直到测试结束,激励时钟结束,数字信号产生结束; 步骤2:FPGA内信号发生器产生的待测板所需要的数字激励信号,通过FPGA外部驱动器送给待测板。
2.如权利要求1所述的产生方法,其特征在于,所述步骤I中,所述相位为4选I;所述格式为5选I ;所述管脚状态为11选I。
3.如权利要求1所述的产生方法,其特征在于,所述管脚状态是每个数字测试通道、每个时钟内管脚状态信息的收集;管脚状态包括通道驱动器的开/关状态和输出逻辑电平,还包括用于检测待测板返回响应的检测器开/关状态和通道期望状态。
4.如权利要求1所述的产生方法,其特征在于,所述管脚状态设置为11种,分别为当驱动器驱动高电平,不检测条件下管脚状态为IH ;当驱动器驱动低电平,不检测条件下管脚状态为IL ;当驱动器驱动高电平,期望检测低电平条件下管脚状态为IHOL ;当驱动器驱动低电平,期望检测高电平条件下管脚状态为ILOH ;当驱动器驱动高电平,期望检测高电平条件下管脚状态为MH ;当驱动器驱动低电平,期望检测低电平条件下管脚状态为ML ;当驱动器不驱动,期望检测高电平条件下管脚状态为OH ;当驱动器不驱动,期望检测低电平条件下管脚状态为OL ;当驱动器不驱动,不期望检测条件下管脚状态为IOX ;当驱动器不驱动,期望检测高低电平之间的中间电平条件下管脚状态为OB ;当驱动器不驱动,期望检测高电平或者低电平条件下管脚状态为0K。
5.如权利要求1所述的产生方法,其特征在于,所述相位是在测试运行期间控制何时数字信号施加到待测板上的时序信号;一个相位分别设置有效沿及返回沿;所述有效沿为驱动器转换成由通道的管脚状态指定的电平状态的时刻;所述返回沿为驱动器转换成由通道的格式指定的电平状态的时刻。
6.如权利要求5所述的产生方法,其特征在于,所述有效沿的值和所述返回沿的值是相位触发器的延迟值,由激励时钟或系统时钟触发,由高速计数器计数产生。
7.如权利要求5所述的产生方法,其特征在于,一次测试中有4个相位供所有数字通道选择,这4个相位的有效沿信息和返回沿信息组成I个时序集,而硬件设备上设置有256个时序集,在每个激励时钟内所有数字通道在时序集索引的控制下统一选择某一个时序集;相位的无沿功能延续前面的驱动器状态;通过灵活地设置相位的有效沿数据及返回沿数据和在不同激励时钟内选择不同的时序集以产生复杂多变的数字信号。
8.如权利要求1所述的产生方法,其特征在于,所述格式用于定义通道选择的相位返回沿之后和下个相位有效沿之前驱动器的状态,设置有5种,分别为相位返回沿之后驱动器状态不返回,仍保持管脚状态指定的电平状态,该条件下格式为NRET ;相位返回沿之后驱动器返回为三态状态,该条件下格式为ROFF ;相位返回沿之后驱动器返回为‘0’状态,该条件下格式为RZER0;相位返回沿之后驱动器返回为‘I’状态,该条件下格式为RONE ;相位返回沿之后驱动器返回为与管脚 状态指定的电平状态相反的状态,该条件下格式为RC0MP。
【文档编号】G01R1/28GK103675373SQ201310693704
【公开日】2014年3月26日 申请日期:2013年12月17日 优先权日:2013年12月17日
【发明者】邹芳宁, 刘毅, 夏磊, 宋斌 申请人:中国电子科技集团公司第四十一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1