首页>>科技 >>内容

fpga测试方法,基于FPGA的交流电磁场检测仪的激励源设计

发布时间:2023-12-07 18:18:14编辑:温柔的背包来源:

很多朋友对fpga测试方法,基于FPGA的交流电磁场检测仪的激励源设计不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

fpga测试方法,基于FPGA的交流电磁场检测仪的激励源设计

简介交流电磁场检测(ACFM)是一种基于电磁感应原理的主动电磁无损检测技术,在检测导电工件表面和近表面裂纹方面具有独特的优势。交流电磁场检测需要在被测工件表面感应出交流电,当没有缺陷时,感应电流均匀分布;当存在缺陷时,缺陷会干扰感应电流,通过提取感应电流产生的磁场的变化可以确定缺陷的长度和深度。

FieldProgrammableGateArray(FPGA)是近年来出现的一种新型高集成度数字器件,受到世界各国电子工程设计人员的广泛关注和欢迎,可以满足大多数特殊检测系统的设计。本文基于FPGA设计了一种频率可调的激励源模块。激励源采用直接数字频率实现,合成频率适用于不同的被测材料,既能满足交流电磁场检测系统的需要,又能降低系统的功耗和成本。

而且FPGA管脚丰富,存储面积大,特别适合现场实时检测系统,方便检测仪器的野外和高空操作。

1、直接数字频率合成原理DDS或DDFS(直接数字频率合成)是指直接数字频率合成。原理是预先将信号的完整周期归一化,采样足够多的点进行存储,需要输出到高速DA转换器时通过时钟频率找到存储表地址对应的幅度,通过低通滤波器输出模拟信号。典型的DDS原理如图1所示。波形存储表可以设置为正弦波)方波)三角波等波形。

假设正弦波信号的一个周期由2N个样本存储,并且fclk时钟频率fn是合成频率,T0是合成信号周期。并且假设累加器位数与地址位数相同,控制合成频率有两种方法:全采样和频率控制字采样。1.1、全采样时钟频率在波形存储表中查找每个地址,输出该地址对应的幅度。那么合成激励源的一个完整周期需要2n次查表,合成频率与时钟频率的关系如公式(1)所示:

其中:fn为合成频率,Tn为合成信号周期,fclk为时钟频率,2n为采样时间。由公式(1)可知,当搜索所有采样点的输出幅度时,通过改变时钟频率fclk可以合成不同频率的信号。1.2、频率控制字采样当采样时钟频率不变时,已知波形存储表的长度不变。通过控制每次累加的频率控制字的大小,改变查表次数,合成不同频率的信号。

但当设计的累加器位数与地址位数一致后,当频率控制字的值大于L时,每一个周期采样都会丢失一部分波形存储表地址。如表1所示,当1作为频率控制字进行累加和步进时,每次相位累加后的结果对应地址;当频率控制字累加步进2时,一个合成周期只能找到一半的频率地址,另一半地址信息丢失。并且随着频率控制字值的增加,合成信号每个周期的采样点数越来越少。

表1合成频率抽样表

为了避免丢失查找表的地址信息,通常在电路设计中增加累加器位数。累加器在功能上可分为地址寄存器和相位寄存器。如表2所示,相位寄存器添加在累加器的低位。

当频率控制字的值累加到相位寄存器的最大值小于等于时,它会先向地址寄存器的最低位输入1,进位的相位寄存器会被清零,地址寄存器的值会发生变化,这样地址寄存器的输出会与存储表的地址一一对应,存储表的所有地址信息都会被搜索到。

表2相位累加器功能表

2、信号源的VerilogHDL编程VerilogHDL是一种硬件描述语言。设计人员需要掌握具体的物理电路模型,编写设计文件,然后使用EDA工具进行仿真验证,使用自动综合工具转换成门级电路网表,最后通过版图和布线生成电路。由此可知,DDS系统需要设计相位累加器、频率寄存器、波形存储表和查找表。为了方便地控制频率控制字的变化,本文设计了一个独立的按键来调整频率控制字。

2.1、相位累加器的设计累加器在功能上由高位8位地址寄存器和低位8位相位寄存器组成,频率控制字由频率寄存器实现,因此需要在FPGA中设计16位累加器和8位线频寄存器。累加器Verilog代码如下:

2.波形存储表的生成2、因为DA转换芯片是8位,所以波形存储表的幅度位宽是8位,地址深度是256。波形存储表由QUARTUSII的波形数据生成器MifMaker生成。累加器的高8位输出与波形存储一一对应。正弦存储表如下:波形存储表生成后,需要导入到FPGA的存储区,在FPGA中配置相应的波形存储块,与波形发生器文件的深度和位宽一致。建立方法如下:

(1)选择工具工具栏下的MegaWizard,新建一个宏单元;(2)在MemoryCompiler目录下选择ROM,设置器件型号、位宽和深度相关参数;(3)添加生成的波形存储表。2.3、 FPGA查找表的设计在上述第二步的基础上,将波形存储表导入FPGA的ROM存储块后,需要实例化ROM存储块,读取波形存储表的DA转换数据。实例化过程如下:dacwadacwave _ inst(。地址。时钟(clk), q。

(DAC _ data));2.4、按键电路的设计通过独立按键控制数字显示示波器(数字显示范围)的输出频率,其中sb3将频率控制字设为最小值1,sb4将频率控制字设为法国法郎。代码如下:always @(posedgeclkornegedgerst _ n)if(!rst _ n)freword n"=8 ' HL;else beginif(fre _ word _ ctrl[0]fre _ word _ n"=fre _ word _ n l ' bl;if(fre _ word _ ctrl[1])fre _ word _ n"=fre _ word _ n-l ' bl;if(fre _ word _ ctrl[2])fre _ word _ n"=8 ' bl;

if '(fre _ word _ ctrl[3])fre _ word _ n"=8 ' bl lll _ llll;endassignfre _ word=fre _ word _ n;2 2.5、DDS模块RTL视图RTL级(Register-Transfer-Level)是实际电路的行为级描述,描述了寄存器之间数据的流动模型。通过RTL视图,我们可以直观地了解实际设计的电路。基于FPGA的激励源的RTL视图如图2所示。图2激发源的RTL视图

外围电路设计3、基于FPGA的激励源模块主要包括时钟电路、DA转换和4路输入按键电路。输入端口包括时钟输入端口、复位端口、独立键端口、DAC时钟输出端口和DAC数据输出端口。本设计采用40MHz晶振,9708进行DA转换。

AD9708是一款电流输出型DA转换器,是一款8位低功耗数模转换器,支持最高125MSPS的更新速率。内置1.2V片内基准电压源和基准电压控制放大器,只需一个电阻即可设置满量程输出电流。电流输出可以直接连接到输出电阻,以提供两个互补的单端电压输出。具体电路设计如图3所示。注意,模拟地和数字地通过一个0欧姆的电阻相连。图3数模转换电路原理图

根据AD9708的数据手册,可以得出结论,DA转换器的满量程输出电流可以通过REFIO和REFLO来设置。当REFLO接地时,内部基准电压为1.2V,Ioutfs如公式(6)所示,电流输出如公式(7)所示,电压输出如公式(8)所示。

在上式中,Ioutfs为满量程输出电流,Vrefio为内部基准电压,RSET为设定电阻值,IoutA为输出电流,VoutA为输出电压。电流输出型DA转换器通常需要外部电流电压转换电路来输出电压。一种是电流输出直接接负载,另一种是运算放大器接输出电压。DA转换器的输出阻抗比较大,所以通常用运算放大器输出电压。

由于交流电磁场的励磁线圈需要较大的电压和电流,因此需要连接一个功率放大器来提高驱动能力。

4、激励源模块的功能验证在FPGA中设计好激励源模块后,将高速DA转换芯片的输出连接到示波器上。FPGA上电后,可以通过独立的按钮调节合成信号源的频率,频率值可以在610Hz到156 kHz之间变化。频率控制字每增加1,激励源的频率就增加610 Hz。图4是频率控制字为1时频率为610Hz的合成正弦波信号。

5、结论本文实现了交流电磁场检测仪的激励源设计,对于不同的被测工件,激励源的频率可以通过独立的按键控制。通过存储该表可以改变激励源的波形,形成多种信号源。激励源控制电路集成在FPGA芯片中,提高了设计灵活性,降低了开发成本和功耗。激励源的模块化设计可以方便地移植到其他检测系统中,具有广阔的应用前景。

以上知识分享希望能够帮助到大家!