[go: up one dir, main page]

CN107450417A - 一种非线性信号发生方法及非线性信号发生器 - Google Patents

一种非线性信号发生方法及非线性信号发生器 Download PDF

Info

Publication number
CN107450417A
CN107450417A CN201710861827.5A CN201710861827A CN107450417A CN 107450417 A CN107450417 A CN 107450417A CN 201710861827 A CN201710861827 A CN 201710861827A CN 107450417 A CN107450417 A CN 107450417A
Authority
CN
China
Prior art keywords
address
data
module
control information
information
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.)
Granted
Application number
CN201710861827.5A
Other languages
English (en)
Other versions
CN107450417B (zh
Inventor
明建成
林国营
潘峰
宋强
张鼎衢
祁舒喆
许卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Research Institute of Guangdong Power Grid Co Ltd
Original Assignee
Electric Power Research Institute of Guangdong Power Grid Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electric Power Research Institute of Guangdong Power Grid Co Ltd filed Critical Electric Power Research Institute of Guangdong Power Grid Co Ltd
Priority to CN201710861827.5A priority Critical patent/CN107450417B/zh
Publication of CN107450417A publication Critical patent/CN107450417A/zh
Application granted granted Critical
Publication of CN107450417B publication Critical patent/CN107450417B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21137Analog to digital conversion, ADC, DAC

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本发明实施例公开了一种非线性信号发生方法及非线性信号发生器,该发生器中的FPGA芯片通过接收外部控制器发送的配置数据,再通过FPGA内部的通讯控制器对数据进行数据转换,得到各种控制信息,分别发送到FPGA内部的地址模块、乘法器和数据选择模块,地址模块根据控制信息控制从只读存储器(ROM)里读取数据,输出到乘法器,乘法器处理完成输送到数据选择模块,再经数据选择模块进行处理后输出到FPGA外部,FPGA外部通过DA芯片生成模拟信号,模拟信号经过低通滤波器以后输出所需要的信号。

Description

一种非线性信号发生方法及非线性信号发生器
技术领域
本发明涉及高功率可控电流源、电压源设备领域,尤其涉及一种非线性信号发生方法及非线性信号发生器。
背景技术
在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。函数发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。但市面上能看到的此类仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。
目前长期使用的信号发生器,大部分是由模拟电路构成的,这类仪器作为信号源,频率可达上百MHz,在高频范围内其频率稳定性高、可调性好。但用于低频信号输出时,它所需要的RC值很大,参数准确度难以保证。而且其体积大,损耗也大,其制造成本极其高。最重要的是在电力行业之中功率源的需求频率相对较低,一般会低于1MHz,对于上述信号源应用于电力行业的功率源显然已经不符合操作要求。
因此,提供一种在低频段具有优良性能、低功耗、小体积的非线性信号发生方法和非线性信号发生器是本领域技术人员需要解决的技术问题。
发明内容
本发明实施例提供了一种非线性信号发生方法及非线性信号发生器,在低频段具有优良性能、低功耗、小体积等优点。
本发明实施例提供了一种非线性信号发生方法,包括:
S1:在接收到配置数据后,通过FPGA芯片对配置数据进行转换得到控制数据帧;
S2:通过FPGA芯片对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
S3:通过FPGA芯片根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息和第二地址选取信息,并通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据;
S4:通过FPGA芯片根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;
S5:将非线性数字信号进行数模转换得到非线性模拟信号,通过低通滤波器对非线性数字信号进行滤波操作得到滤波后的非线性信号。
优选地,控制信息包括:两个字节的开始字符、一个字节的控制字符、四个字节的输出信号频率控制信息、两个字节的输出信号幅度控制信息和一个字节的数据选择控制信息;
其中,输出信号频率控制信息包括四个字节的数值,第一字节的数值为第一数值,第二字节的数值为第二数值,第三字节的数值为第三数值,第四字节的数值为第四数值。
优选地,步骤S4之前还包括:
通过FPGA芯片根据输出信号幅度控制信息对第一数据和第二数据进行放大或缩小,得到处理后的第一数据和处理后的第二数据;
S4:通过FPGA芯片根据数据选择控制信息对处理后的第一数据和处理后的第二数据进行相加或选择得到非线性数字信号。
优选地,步骤S3具体包括:
S31:通过FPGA芯片判断控制字符的类型,若为第一控制字符,则执行S32,若为第二控制字符,则执行S33;
S32:通过FPGA芯片确定地址累加量为一,根据输出信号频率控制信息每隔第一数值个时钟脉冲后对第一地址增加一,并在一个周期内持续第二数值次直至得到第一地址选取信息,同时每隔第三数值个时钟脉冲后对第二地址增加一,并在一个周期内持续第四数值次直至得到第二地址选取信息;
S33:通过FPGA芯片根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第一地址增加第一数值,并在一个周期内持续第二数值次直至得到第一地址选取信息,同时每隔一个时钟脉冲后对第二地址增加第三数值,并在一个周期内持续第四数值次直至得到第二地址选取信息;
S34:通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据。
优选地,FPGA芯片的地址选取范围为0至4095。
优选地,本发明实施例还提供了一种非线性信号发生器,包括:通信模块、FPGA芯片、数模转换模块和低通滤波器;
其中,FPGA芯片包括:通讯控制器、数据分析模块、第一地址模块、第二地址模块、第一存储器、第二存储器和数据选择模块;
通讯控制器与通信模块连接,通讯控制器用于接收通信模块发送的配置数据,并对配置数据进行转换得到控制数据帧;
数据分析模块与通讯控制器连接,数据分析模块用于对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
数据分析模块、第一地址模块和第一存储器依次连接,第一地址模块用于根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息,第一存储器用于根据第一地址选取信息输出第一数据;
数据分析模块、第二地址模块和第二存储器依次连接,第二地址模块用于根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第二地址选取信息,第二存储器用于根据第二地址选取信息输出第二数据;
数据选择模块与数据分析模块连接,数据选择模块用于根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;
数据选择模块与数模转换模块连接,数模转换模块用于将非线性数字信号进行转换得到非线性模拟信号;
低通滤波器与数模转换模块,低通滤波器用于对非线性数字信号进行滤波操作得到滤波后的非线性信号。
优选地,控制信息包括:两个字节的开始字符、一个字节的控制字符、四个字节的输出信号频率控制信息、两个字节的输出信号幅度控制信息和一个字节的数据选择控制信息;
其中,输出信号频率控制信息包括四个字节的数值,第一字节的数值为第一数值,第二字节的数值为第二数值,第三字节的数值为第三数值,第四字节的数值为第四数值。
优选地,本发明实施例还提供的一种非线性信号发生器还包括:第一乘法器和第二乘法器;
数据分析模块、第一地址模块、第一存储器和第一乘法器依次连接,第一乘法器与数据分析模块连接,第一乘法器用于根据控制信息对第一信号进行处理得到处理后的第一数据;
数据分析模块、第二地址模块、第二存储器和第二乘法器依次连接,第二乘法器与数据分析模块连接,第二乘法器用于根据控制信息对第二信号进行处理得到处理后的第二数据;
数据选择模块与数据分析模块连接,数据选择模块用于根据控制信息对处理后的第一数据和处理后的第二数据进行相加或选择得到非线性数字信号。
优选地,本发明实施例提供的一种非线性信号发生器还包括:时钟模块;
时钟模块与通讯控制器连接,时钟模块用于提供时钟脉冲;
第一地址模块还用于在判断控制字符的类型为第一控制字符后,确定地址累加量为一,根据输出信号频率控制信息每隔第一数值个时钟脉冲后对第一地址增加一,并在一个周期内持续第二数值次直至得到第一地址选取信息;
第二地址模块还用于在判断控制字符的类型为第一控制字符后,确定地址累加量为一,根据输出信号频率控制信息每隔第三数值个时钟脉冲后对第二地址增加一,并在一个周期内持续第四数值次直至得到第二地址选取信息;
第一地址模块还用于在判断控制字符的类型为第二控制字符后,根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第一地址增加第一数值,并在一个周期内持续第二数值次直至得到第一地址选取信息;
第二地址模块还用于在判断控制字符的类型为第二控制字符后,根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第二地址增加第三数值,并在一个周期内持续第四数值次直至得到第二地址选取信息;
第一存储器用于根据第一地址选取信息输出第一数据;
第二存储器用于根据第二地址选取信息输出第二数据。
优选地,FPGA芯片的地址选取范围为0至4095。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供了一种非线性信号发生方法及非线性信号发生器,其中,该非线性信号发生方法,包括:S1:在接收到配置数据后,通过FPGA芯片对配置数据进行转换得到控制数据帧;S2:通过FPGA芯片对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;S3:通过FPGA芯片根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息和第二地址选取信息,并通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据;S4:通过FPGA芯片根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;S5:将非线性数字信号进行数模转换得到非线性模拟信号,通过低通滤波器对非线性数字信号进行滤波操作得到滤波后的非线性信号。本发明实施例提供的一种非线性信号发生方法及非线性信号发生器,可以快速而准确的生成各种信号波形,同时利用FPGA设计实现能够快速的更改逻辑结构,增加输出通道数目。所有的逻辑代码具有高度的通用性,可以兼容Altera(Intel),Xilinx和Actel等各个厂家的FPGA芯片,具有较高的可移植性,很多模块都是可复用的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种非线性信号发生方法的一个实施例的流程示意图;
图2为本发明实施例提供的一种非线性信号发生方法的另一个实施例的流程示意图;
图3为本发明实施例提供的一种非线性信号发生器的一个实施例的结构示意图;
图4为非线性信号发生器的应用例示意图;
图5为FPGA芯片的应用例示意图。
具体实施方式
本发明实施例提供了一种非线性信号发生方法及非线性信号发生器,在低频段具有优良性能、低功耗、小体积等优点。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供的一种非线性信号发生方法的一个实施例,包括:
101、在接收到配置数据后,通过FPGA芯片对配置数据进行转换得到控制数据帧;
102、通过FPGA芯片对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
103、通过FPGA芯片根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息和第二地址选取信息,并通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据;
104、通过FPGA芯片根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;
105、将非线性数字信号进行数模转换得到非线性模拟信号,通过低通滤波器对非线性数字信号进行滤波操作得到滤波后的非线性信号。
本发明实施例中的FPGA芯片通过接收外部控制器发送的配置数据,再通过FPGA内部的通讯控制器对数据进行数据转换,得到各种控制信息,分别发送到FPGA内部的地址模块、乘法器和数据选择模块,地址模块根据控制信息控制从只读存储器(ROM)里读取数据,输出到乘法器,乘法器处理完成输送到数据选择模块,再经数据选择模块进行处理后输出到FPGA外部,FPGA外部通过DA芯片生成模拟信号,模拟信号经过低通滤波器以后输出所需要的信号。本发明实施例可以实现自定义的非线性的信号输出,包括周期性信号:正弦波,三角波,方波,周期性脉冲以及各种非周期性信号。
以上为一种非线性信号发生方法的一个实施例,为进行更具体的说明,下面提供一种非线性信号发生方法的另一个实施例,请参阅图2,本发明提供的一种非线性信号发生方法的另一个实施例,包括:
201、在接收到配置数据后,通过FPGA芯片对配置数据进行转换得到控制数据帧;
202、通过FPGA芯片对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
在本实施例中,控制信息包括:两个字节的开始字符、一个字节的控制字符、四个字节的输出信号频率控制信息、两个字节的输出信号幅度控制信息和一个字节的数据选择控制信息。
其中,输出信号频率控制信息包括四个字节的数值,第一字节的数值为第一数值,第二字节的数值为第二数值,第三字节的数值为第三数值,第四字节的数值为第四数值。
203、通过FPGA芯片判断控制字符的类型,若为第一控制字符,则执行204,若为第二控制字符,则执行205;
204、通过FPGA芯片确定地址累加量为一,根据输出信号频率控制信息每隔第一数值个时钟脉冲后对第一地址增加一,并在一个周期内持续第二数值次直至得到第一地址选取信息,同时每隔第三数值个时钟脉冲后对第二地址增加一,并在一个周期内持续第四数值次直至得到第二地址选取信息;
205、通过FPGA芯片根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第一地址增加第一数值,并在一个周期内持续第二数值次直至得到第一地址选取信息,同时每隔一个时钟脉冲后对第二地址增加第三数值,并在一个周期内持续第四数值次直至得到第二地址选取信息;
206、通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据;
207、通过FPGA芯片根据输出信号幅度控制信息对第一数据和第二数据进行放大或缩小,得到处理后的第一数据和处理后的第二数据;
208、通过FPGA芯片根据数据选择控制信息对处理后的第一数据和处理后的第二数据进行相加或选择得到非线性数字信号;
209、将非线性数字信号进行数模转换得到非线性模拟信号,通过低通滤波器对非线性数字信号进行滤波操作得到滤波后的非线性信号。
在本实施例中,FPGA芯片内部设计包括通讯控制器、数据分析模块、两路地址模块、两路只读存储器、两路乘法器以及数据选择模块。FPGA芯片的地址选取范围为0至4095。
FPGA芯片的通讯控制器按字节就收外部PC或者CPU输出的配置数据,接着判断接收数据是否有效,有效则传输到数据分析模块,数据分析模块对数据帧进行分析,得到:2个字节的开始字符,1个字节的控制字符,4个字节的输出信号频率控制信息,2个字节的输出信号幅度控制信息,1个字节的数据选择控制信息。数据分析模块分析数据完毕分别将这些信息发送给地址模块,乘法器和数据选择模块。地址模块得到控制字符后首先判断是否所有地址需要使用。若所有地址需要使用,则根据输出信号频率控制信息判断每几个时钟上升沿读取一次数据,同时时钟上升沿的数目也是有一定变化的,在一组指令中只包括两组时钟上升沿计数,这组计数在外部数据发送过程中已经经过前期计算得到,并不需要FPGA芯片计算,此时也实现了非整数次时钟上升沿计数方式,输出信号是一个统计值,并不是一个精确值,这是由于数字电路本身决定的,对于信号的误差可以忽略不计。同理若并不是所有地址都需要取到,需要根据输出信号频率控制信息分析得到地址每次的累加量,与之前相同的是在这里也可能会出现一个非整数的累加量,利用同样的方式来确定。两路来自不同ROM数据输出到乘法器,根据幅度信息乘法器对数据进行相应的放大(或者缩小),经过一定比例的放大和缩小以后两组数据进行相加,根据数据选择和控制信息选择输出的是其中一组数据还是两组数据或者是输出直流信号,输出信号经过DA转换以后得到连续的波形,经过低通滤波器得到要求的信号。
请参阅图3,本发明实施例提供的一种非线性信号发生器的一个实施例,包括:
通信模块301、FPGA芯片302、数模转换模块303和低通滤波器304;
其中,FPGA芯片302包括:通讯控制器3021、数据分析模块3022、第一地址模块3023、第二地址模块3024、第一存储器3025、第二存储器3026和数据选择模块3029;
通讯控制器3021与通信模块301连接,通讯控制器3021用于接收通信模块发送的配置数据,并对配置数据进行转换得到控制数据帧;
数据分析模块3022与通讯控制器3021连接,数据分析模块3022用于对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
数据分析模块3022、第一地址模块3023和第一存储器3025依次连接,第一地址模块3023用于根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息,第一存储器3025用于根据第一地址选取信息输出第一数据;
数据分析模块3022、第二地址模块3024和第二存储器3026依次连接,第二地址模块3024用于根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第二地址选取信息,第二存储器3026用于根据第二地址选取信息输出第二数据;
数据选择模块3029与数据分析模块3022连接,数据选择模块3029用于根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;
数据选择模块3029与数模转换模块303连接,数模转换模块303用于将非线性数字信号进行转换得到非线性模拟信号;
低通滤波器304与数模转换模块303,低通滤波器304用于对非线性数字信号进行滤波操作得到滤波后的非线性信号。
进一步地,控制信息包括:两个字节的开始字符、一个字节的控制字符、四个字节的输出信号频率控制信息、两个字节的输出信号幅度控制信息和一个字节的数据选择控制信息;
其中,输出信号频率控制信息包括四个字节的数值,第一字节的数值为第一数值,第二字节的数值为第二数值,第三字节的数值为第三数值,第四字节的数值为第四数值。
进一步地,本发明实施例还提供的一种非线性信号发生器还包括:第一乘法器3027和第二乘法器3028;
数据分析模块3022、第一地址模块3023、第一存储器3025和第一乘法器3027依次连接,第一乘法器3027与数据分析模块3029连接,第一乘法器3027用于根据控制信息对第一信号进行处理得到处理后的第一数据;
数据分析模块3022、第二地址模块3024、第二存储器3026和第二乘法器3028依次连接,第二乘法器3028与数据分析模块3029连接,第二乘法器3028用于根据控制信息对第二信号进行处理得到处理后的第二数据;
数据选择模块3029与数据分析模块3022连接,数据选择模块3029用于根据控制信息对处理后的第一数据和处理后的第二数据进行相加或选择得到非线性数字信号。
进一步地,该非线性信号发生器还包括:时钟模块3020;
时钟模块3020与通讯控制器3021连接,时钟模块3020用于提供时钟脉冲;
第一地址模块3023还用于在判断控制字符的类型为第一控制字符后,确定地址累加量为一,根据输出信号频率控制信息每隔第一数值个时钟脉冲后对第一地址增加一,并在一个周期内持续第二数值次直至得到第一地址选取信息;
第二地址模块3024还用于在判断控制字符的类型为第一控制字符后,确定地址累加量为一,根据输出信号频率控制信息每隔第三数值个时钟脉冲后对第二地址增加一,并在一个周期内持续第四数值次直至得到第二地址选取信息;
第一地址模块3023还用于在判断控制字符的类型为第二控制字符后,根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第一地址增加第一数值,并在一个周期内持续第二数值次直至得到第一地址选取信息;
第二地址模块324还用于在判断控制字符的类型为第二控制字符后,根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第二地址增加第三数值,并在一个周期内持续第四数值次直至得到第二地址选取信息;
第一存储器3025用于根据第一地址选取信息输出第一数据;
第二存储器3026用于根据第二地址选取信息输出第二数据。
进一步地,FPGA芯片的地址选取范围为0至4095。
上面是对一种非线性信号发生器的结构和连接方式进行的详细说明,为便于理解,下面将以一具体应用场景对一种非线性信号发生器的应用进行说明,请参阅图4和图5,应用例包括:通信模块、FPGA芯片、DA芯片、滤波器等;FPGA芯片内部设计包括通讯控制器、数据分析模块、两路地址模块、两路只读存储器、两路乘法器以及数据选择模块。FPGA通过通信模块接口接收外部控制器发送的配置数据,通讯控制器对数据进行数据转换,得到各种控制信息,分别发送到地址模块、乘法器和数据选择模块,地址模块从只读存储器(ROM)里读取内容,输出到乘法器,乘法器处理完成到数据选择模块,数据选择模块输出到FPGA外部,FPGA外部通过DA芯片生成模拟信号,模拟信号经过低通滤波器以后输出所需要的信号。
通信模块使用UART串口,串口数据包括1位开始位,18位数据位,1位校验位,1位停止位,通信模块不局限于UART串口,还可以使用SPI,USB,CAN总线接口,网口,WiFi等。
地址模块的输出受控制,地址模块计数数值为0到4095,其内部寄存器使用的12位,根据FPGA特性而言当计数值超过4095时内部寄存器会自动重新计数,地址模块在每个时钟到来的时候判定外部条件,在需要较高频率的数据时刻计数值增加值较大,根据需要计数值自加1到2048不等,在需要较低频率的数据时刻计数值会在一定时间保持不变,具体情况由通讯控制器给出。
地址模块实际是指预存在ROM内的数据的地址,也就是说可以根据这个地址读取ROM的数据,而ROM的数据是预先存储的12bit的标准余弦波数据,通过控制数据帧发过来的控制信息,按一定的时间间隔,按地址顺序抽取ROM内的数据,这样相当于对4096个数据的12bit标准余弦波数据进行第二次抽取,时间间隔是由控制数据帧中X2X和FPGA的时钟脉冲共同确定,抽取的数据通过乘法器、数据选择模块,送至DA转换器,经滤波器输出非线性信号,完成非线性信号发生。
只读存储器(ROM)模块根据地址模块发送过来的信息,输出内部存储的数据,其中ROM内部存储的数据是一个完整周期的12bit的标准余弦波,两组ROM里存储的数据完全一致,利用MATLAB软件计算乘上一定的幅值,对数据进行取整,存储到FPGA芯片内部的ROM模块之中。ROM内部存储数据不仅限于12bit的数据,主要根据输出并行数据位数决定,同时数据编码方式包括:偏移二进制编码,二进制编码等方式。根据外部DA转换芯片的不同,ROM内部存储数据的方式也不同。
地址模块发送给ROM的信息是地址,ROM内部的数据和地址是一一对应关系,ROM根据地址输出该地址的数据。计数是改变地址,读取另一个地址的数据,也就是ROM输出计数之后地址的数据。
乘法器模块是分别对两路周期性信号按照一定比例放大或者缩小,同时对于数据的缩小仅仅是对数据进行移位操作,以适应FPGA本身的需要,对于数据的放大是在一定范围内进行放大,确保数据输出不失真,即数据放大的最大值低于或者等于输出数字信号的最大值,对于数据的缩小也是同样的道理;超过这个限度输出数据波形就可能与所需信号产生较大的偏差。
数据选择模块,主要操作是将两路信号进行相加同时对于标准正弦或者余弦信号的输出利用数据选择模块选择1路数据输出即可。
外部的DA芯片将12bit的并行数字信号转换成模拟信号,信号经过低通滤波器滤除高于50MHz(时钟频率)的干扰信号。
FPGA芯片内部包括:PLL时钟生成器,通讯控制器、数据分析模块、两路地址模块、两路只读存储器、两路乘法器以及数据选择模块。其中PLL时钟生成器主要为后面各个模块提供稳定的时钟,通讯控制器需要和外界进行通讯接收指令,数据分析模块对数据进行分析,速度要求相对较低,采用低频时钟1MHz以下就可以很好的满足数据传输的需要,非线性信号生成的各个部分需要与外界的DA芯片转化速率保持一致,因此这一部分有DA芯片决定,同时这部分的时钟也会影响着上层软件通过通信端口发送过来的数据的部分值。时钟速率需要根据上层软件计算确定。
FPGA芯片的通讯控制器按字节就收外部PC或者CPU输出的配置数据,接着判断接收数据是否有效,有效则传输到数据分析模块,数据分析模块对数据帧进行分析,得到:2个字节的开始字符,1个字节的控制字符,4个字节的输出信号频率控制信息,2个字节的输出信号幅度控制信息,1个字节的数据选择控制信息。数据分析模块分析数据完毕分别将这些信息发送给地址模块,乘法器和数据选择模块。地址模块得到控制字符后首先判断是否所有地址需要使用。若所有地址需要使用,则根据输出信号频率控制信息判断每几个时钟上升沿读取一次数据,同时时钟上升沿的数目也是有一定变化的,在一组指令中只包括两组时钟上升沿计数,这组计数在外部数据发送过程中已经经过前期计算得到,并不需要FPGA芯片计算,此时也实现了非整数次时钟上升沿计数方式,输出信号是一个统计值,并不是一个精确值,这是由于数字电路本身决定的,对于信号的误差可以忽略不计。同理若并不是所有地址都需要取到,需要根据输出信号频率控制信息分析得到地址每次的累加量,与之前相同的是在这里也可能会出现一个非整数的累加量,利用同样的方式来确定。两路来自不同ROM数据输出到乘法器,根据幅度信息乘法器对数据进行相应的放大(或者缩小),经过一定比例的放大和缩小以后两组数据进行相加,根据数据选择和控制信息选择输出的是其中一组数据还是两组数据或者是输出直流信号,输出信号经过DA转换以后得到连续的波形,经过低通滤波器得到要求的信号。
控制信号输入选用MAX232,MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
FPGA可以采用Microsemi公司的第二代SmartFusion2FPGA产品,其能有效地将基于闪存的FPGA架构、拥有166MHz的ARM Cortex-M3处理器、先进的安全处理加速器、DSP模块、SRAM、eNVM和行业所需的高性能通信接口都集成在一块单芯片上。
DA(数模转换)芯片采用的是AD5340芯片,AD5340以一种12位的并行输入,单电压输出的模数转换芯片。价格相对比较低廉。对于更高精度要求的设计来说,可以选择16位的转换芯片,同时FPGA内部ROM存储的数据也将进行更新。
ROM存储数据为1个完整周期的余弦波,数据个数为4096个,通过MATLAB软件生成。Data=4095*sin t/2,其中t=2*pi*(0:4095)/4096,数据编码方式为普通二进制编码,同时数据取值为整数部分。在此需要说明的是:整数部分的取舍方式包括:截尾取整,四舍五入,高斯取整三种方式,在这里采用的是截尾取整的方式,防止进行二进制转换的时候部分量超出范围。
对于FPGA内部编程来说,上层控制数据帧格式为“FF FF X1X X2X X3X X4X X5X X6XX7X”,具体协议如所示:
表1
其中“FF FF”是帧起始符,无校验,数据总共7个字节。
得到的三组数据分别送入对应模块之中,控制字符作为先行判断标准根据表1所述按照既定方式进行,分别得到两组数据流,两组数据流分别送入各自的乘法器,根据表1所述进行幅度值的放大或者缩小,处理得到新的数据流,送入数据选择模块,得到所需要的非线性数字信号,输出至外部的DA转换芯片,转化为模拟信号经过滤波器后得到所需要的非线性信号。
在上面提及,控制字符为:01时,这是在频率较低的时候,因为频率较低,根据地址数据帧中的控制字符,需要每X2X个脉冲时钟地址值加一,在X2X个脉冲内,地址值是一样的,此时多个时钟脉冲读到的ROM的数据是同一个值,输出的是一个阶梯波,经过滤波之后输出模拟信号;此时就是在低频模式下,也就是低频段信号,无论频率多低,只是将X2X的数值变大而已,因此理论上只要X2X足够大,是可以输出无穷小的频率,但是需要后置滤波器的截止频率足够低,才能还原出标准的正弦波信号,因为在滤波之前只是一个阶梯波形,在各个频段只需要更改滤波器的参数就行,并且对滤波器的精度并没有要求,只需要截止频率足够低,因此成本很低,普通的RC滤波器就可以实现,可以通过数字电阻做RC的电阻,这样可以通过调节电阻值改变滤波器的参数,无需再添加其他电路,成本低,体积小,功耗低,适用于电力行业的功率源。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种非线性信号发生方法,其特征在于,包括:
S1:在接收到配置数据后,通过FPGA芯片对配置数据进行转换得到控制数据帧;
S2:通过FPGA芯片对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
S3:通过FPGA芯片根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息和第二地址选取信息,并通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据;
S4:通过FPGA芯片根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;
S5:将非线性数字信号进行数模转换得到非线性模拟信号,通过低通滤波器对非线性数字信号进行滤波操作得到滤波后的非线性信号。
2.根据权利要求1的非线性信号发生方法,其特征在于,控制信息包括:两个字节的开始字符、一个字节的控制字符、四个字节的输出信号频率控制信息、两个字节的输出信号幅度控制信息和一个字节的数据选择控制信息;
其中,输出信号频率控制信息包括四个字节的数值,第一字节的数值为第一数值,第二字节的数值为第二数值,第三字节的数值为第三数值,第四字节的数值为第四数值。
3.根据权利要求2的非线性信号发生方法,其特征在于,步骤S4之前还包括:
通过FPGA芯片根据输出信号幅度控制信息对第一数据和第二数据进行放大或缩小,得到处理后的第一数据和处理后的第二数据;
S4:通过FPGA芯片根据数据选择控制信息对处理后的第一数据和处理后的第二数据进行相加或选择得到非线性数字信号。
4.根据权利要求2的非线性信号发生方法,其特征在于,步骤S3具体包括:
S31:通过FPGA芯片判断控制字符的类型,若为第一控制字符,则执行S32,若为第二控制字符,则执行S33;
S32:通过FPGA芯片确定地址累加量为一,根据输出信号频率控制信息每隔第一数值个时钟脉冲后对第一地址增加一,并在一个周期内持续第二数值次直至得到第一地址选取信息,同时每隔第三数值个时钟脉冲后对第二地址增加一,并在一个周期内持续第四数值次直至得到第二地址选取信息;
S33:通过FPGA芯片根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第一地址增加第一数值,并在一个周期内持续第二数值次直至得到第一地址选取信息,同时每隔一个时钟脉冲后对第二地址增加第三数值,并在一个周期内持续第四数值次直至得到第二地址选取信息;
S34:通过FPGA芯片根据第一地址选取信息和第二地址选取信息进行数据选取得到第一数据和第二数据。
5.根据权利要求1的非线性信号发生方法,其特征在于,FPGA芯片的地址选取范围为0至4095。
6.一种非线性信号发生器,其特征在于,包括:通信模块、FPGA芯片、数模转换模块和低通滤波器;
其中,FPGA芯片包括:通讯控制器、数据分析模块、第一地址模块、第二地址模块、第一存储器、第二存储器和数据选择模块;
通讯控制器与通信模块连接,通讯控制器用于接收通信模块发送的配置数据,并对配置数据进行转换得到控制数据帧;
数据分析模块与通讯控制器连接,数据分析模块用于对控制数据帧进行解析得到控制信息,其中,控制信息包括:开始字符、控制字符、输出信号频率控制信息和数据选择控制信息;
数据分析模块、第一地址模块和第一存储器依次连接,第一地址模块用于根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第一地址选取信息,第一存储器用于根据第一地址选取信息输出第一数据;
数据分析模块、第二地址模块和第二存储器依次连接,第二地址模块用于根据控制字符、输出信号频率控制信息确定地址累加量,并根据地址累加量进行地址选取得到第二地址选取信息,第二存储器用于根据第二地址选取信息输出第二数据;
数据选择模块与数据分析模块连接,数据选择模块用于根据数据选择控制信息对第一数据和第二数据进行相加或选择得到非线性数字信号;
数据选择模块与数模转换模块连接,数模转换模块用于将非线性数字信号进行转换得到非线性模拟信号;
低通滤波器与数模转换模块,低通滤波器用于对非线性数字信号进行滤波操作得到滤波后的非线性信号。
7.根据权利要求6的非线性信号发生器,其特征在于,控制信息包括:两个字节的开始字符、一个字节的控制字符、四个字节的输出信号频率控制信息、两个字节的输出信号幅度控制信息和一个字节的数据选择控制信息;
其中,输出信号频率控制信息包括四个字节的数值,第一字节的数值为第一数值,第二字节的数值为第二数值,第三字节的数值为第三数值,第四字节的数值为第四数值。
8.根据权利要求7的非线性信号发生器,其特征在于,还包括:第一乘法器和第二乘法器;
数据分析模块、第一地址模块、第一存储器和第一乘法器依次连接,第一乘法器与数据分析模块连接,第一乘法器用于根据控制信息对第一信号进行处理得到处理后的第一数据;
数据分析模块、第二地址模块、第二存储器和第二乘法器依次连接,第二乘法器与数据分析模块连接,第二乘法器用于根据控制信息对第二信号进行处理得到处理后的第二数据;
数据选择模块与数据分析模块连接,数据选择模块用于根据控制信息对处理后的第一数据和处理后的第二数据进行相加或选择得到非线性数字信号。
9.根据权利要求7的非线性信号发生器,其特征在于,还包括:时钟模块;
时钟模块与通讯控制器连接,时钟模块用于提供时钟脉冲;
第一地址模块还用于在判断控制字符的类型为第一控制字符后,确定地址累加量为一,根据输出信号频率控制信息每隔第一数值个时钟脉冲后对第一地址增加一,并在一个周期内持续第二数值次直至得到第一地址选取信息;
第二地址模块还用于在判断控制字符的类型为第一控制字符后,确定地址累加量为一,根据输出信号频率控制信息每隔第三数值个时钟脉冲后对第二地址增加一,并在一个周期内持续第四数值次直至得到第二地址选取信息;
第一地址模块还用于在判断控制字符的类型为第二控制字符后,根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第一地址增加第一数值,并在一个周期内持续第二数值次直至得到第一地址选取信息;
第二地址模块还用于在判断控制字符的类型为第二控制字符后,根据输出信号频率控制信息确定地址累加量为第一数值,每隔一个时钟脉冲后对第二地址增加第三数值,并在一个周期内持续第四数值次直至得到第二地址选取信息;
第一存储器用于根据第一地址选取信息输出第一数据;
第二存储器用于根据第二地址选取信息输出第二数据。
10.根据权利要求6的非线性信号发生器,其特征在于,FPGA芯片的地址选取范围为0至4095。
CN201710861827.5A 2017-09-21 2017-09-21 一种非线性信号发生方法及非线性信号发生器 Active CN107450417B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710861827.5A CN107450417B (zh) 2017-09-21 2017-09-21 一种非线性信号发生方法及非线性信号发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710861827.5A CN107450417B (zh) 2017-09-21 2017-09-21 一种非线性信号发生方法及非线性信号发生器

Publications (2)

Publication Number Publication Date
CN107450417A true CN107450417A (zh) 2017-12-08
CN107450417B CN107450417B (zh) 2023-04-25

Family

ID=60497105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710861827.5A Active CN107450417B (zh) 2017-09-21 2017-09-21 一种非线性信号发生方法及非线性信号发生器

Country Status (1)

Country Link
CN (1) CN107450417B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060176978A1 (en) * 2005-02-10 2006-08-10 Kazuo Kawai FSK signal generator
US20070241812A1 (en) * 2002-05-01 2007-10-18 Dali Systems Co. Ltd. High efficiency linearization power amplifier for wireless communication
CN101799705A (zh) * 2010-03-23 2010-08-11 电子科技大学 一种高速dds信号发生器
CN103117731A (zh) * 2013-01-22 2013-05-22 上海航天测控通信研究所 一种基于fpga的正弦信号发生器实现方法及实现装置
CN103179065A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 偏移正交相移键控调制方法、装置和数字信号发生器
CN103178782A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 一种扫频信号发生器
CN103888139A (zh) * 2014-03-17 2014-06-25 中国科学院半导体研究所 直接数字频率合成器
CN207301722U (zh) * 2017-09-21 2018-05-01 广东电网有限责任公司电力科学研究院 一种非线性信号发生器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070241812A1 (en) * 2002-05-01 2007-10-18 Dali Systems Co. Ltd. High efficiency linearization power amplifier for wireless communication
US20060176978A1 (en) * 2005-02-10 2006-08-10 Kazuo Kawai FSK signal generator
CN101799705A (zh) * 2010-03-23 2010-08-11 电子科技大学 一种高速dds信号发生器
CN103179065A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 偏移正交相移键控调制方法、装置和数字信号发生器
CN103178782A (zh) * 2011-12-21 2013-06-26 北京普源精电科技有限公司 一种扫频信号发生器
CN103117731A (zh) * 2013-01-22 2013-05-22 上海航天测控通信研究所 一种基于fpga的正弦信号发生器实现方法及实现装置
CN103888139A (zh) * 2014-03-17 2014-06-25 中国科学院半导体研究所 直接数字频率合成器
CN207301722U (zh) * 2017-09-21 2018-05-01 广东电网有限责任公司电力科学研究院 一种非线性信号发生器

Also Published As

Publication number Publication date
CN107450417B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
CN103488112B (zh) 一种基于时间同步的多通道数据采集仪
CN106411184B (zh) 一种网络化的多轴电机同步控制装置及方法
CN103645665B (zh) 一种可编程信号发生器及其信号发生方法
CN102073032A (zh) 多波形雷达信号的模块化产生方法
CN107884756A (zh) 一种可通过数据文件产生信号的雷达信号模拟系统及方法
CN103455002B (zh) 一种基于Verilog HDL的FPGA超高速工业控制系统
CN108471303B (zh) 一种基于fpga的可编程纳秒级定时精度脉冲发生器
CN1232031C (zh) 基于fpga的高精度任意波形发生器
CN103852637B (zh) 具有基波计量功能的智能电表及其测量方法
CN101013934A (zh) 一种适用于分布式仿真的多路同步时钟分配器
CN108983640B (zh) 一种基于LabVIEW的电动直线舵机控制系统及方法
CN1225713C (zh) 智能电器专用芯片
CN207301722U (zh) 一种非线性信号发生器
CN104121015A (zh) 挂接井下测井仪器的方法以及测井地面系统
CN101276002A (zh) 高温单片相位可编程直接数字频率合成源
CN107450417A (zh) 一种非线性信号发生方法及非线性信号发生器
CN206147623U (zh) 一种基于大容量fpga的采集处理卡装置
CN202403774U (zh) 多相流模拟实验信号发生装置
CN117234460A (zh) 基于三维mhm的超混沌伪随机数生成方法及装置
CN109030947B (zh) 电子负载模拟直流电机等效阻抗的计算方法
CN204480031U (zh) 一种多路控制的皮带秤同步配料装置
CN105988399B (zh) 采用现场可编辑逻辑门阵列实现电子齿轮输出的方法
CN103365234A (zh) 太阳能电池阵列模拟器的压控电流信号发生器
CN203632687U (zh) 用于通信加密的切换电路
CN107727930A (zh) 智能型高精度模拟信号采样系统和采样方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant