基于FPGA的宽频超声波电源频率跟踪系统设计
苏文虎,陈 迅
(江苏科技大学 电子信息学院,江苏 镇江212003)
针对传统超声波电源无法驱动及锁频不同谐振频率段的换能器,实现不了宽频域内的锁相和频率跟踪的问题,设计了一种基于FPGA的具有自动频率搜索与跟踪、动态匹配不同谐振频率换能器的宽频域超声波电源。根据换能器的阻抗特性曲线,设计出动态步长的宽频域频率搜索方法,快速跟踪到换能器的谐振频率,并根据反馈电路的电压电流相位差,实时调整输出频率,锁定整个系统工作在谐振状态。实验结果表明,设计的宽频域超声波电源频率搜索快、跟踪准,动态匹配换能器适应性好。
频率搜索;频率跟踪;宽频超声波电源
中图分类号: TN86
文献标识码: A
DOI: 10.16157/j.issn.0258-7998.2017.03.014
中文引用格式: 苏文虎,陈迅. 基于FPGA的宽频超声波电源频率跟踪系统设计[J].电子技术应用,2017,43(3):59-62.
英文引用格式: Su Wenhu,Chen Xun. Research on frequency tracking system of wide-band ultrasonic power supply based on FPGA[J].Application of Electronic Technique,2017,43(3):59-62.
0 引言
超声波焊接、清洗、检测技术具有广泛的应用前景[1]。然而超声波系统谐振频率漂移、跟踪滞后等问题并没有得到完全解决。目前研制的超声波设备多为超声波电源与其配套的换能器工作,单个超声波电源无法驱动及锁频不同谐振频率段的换能器,实现不了宽频域内的频率跟踪和锁相[2]。因此,研制一款具有频率自动跟踪并能动态匹配不同谐振频率换能器的宽频超声波电源具有重要的应用价值[3]。
本文采用XILINX ZYNQ系列的FPGA(XC7Z0201CLG484I)作为主控制器,设计了一款具有宽频域内频率自动搜索、跟踪、动态匹配换能器的超声波电源。输出频率20~40 kHz,可以驱动在该频率范围内的不同应用类型换能器,具有宽频域的广泛适用性。
1 超声波电源系统构成
超声波电源由整流电路、逆变电路、匹配电路、反馈电路和主控制电路组成。系统结构框图如图1所示。主控制器FPGA集成了一个双核ARM Cortex-A9 处理器资源(Processing System,PS)和一个传统的现场可编程门阵列(Field-Programmable Gate Array,FPGA)逻辑资源(Programmable Logic,PL)。FPGA的PL单元主要完成频率搜索、频率跟踪、电压电流鉴相、SPWM生成、直接数字式频率合成器(DDS)等功能;PS处理器完成界面显示、输入参数处理等功能。匹配电路由高频变压器和改进T型匹配网络组成,起着变阻调谐的作用,使负载呈纯阻性,提高电源的效率。
DDS可简化为由相位累加器和ROM正弦波存储表组成。在系统时钟的控制下,更新频率控制字,该频率控制字对应着ROM正弦波表的地址,而该地址存储的内容就是正弦波的某个合成点对应的幅值,在下一个系统时钟下,相位累加器的输出再次增加一个频率控制字,对应着改变波形存储的地址,从而生成所合成波形的下一个幅值点,直到相位累加器溢出后形成一个完整的正弦波[4-5]。该正弦波的频率随着频率控制字的改变而改变,其输出频率为:
式中,N为相位累加器位长,fclk为系统时钟,Fword为频率控制字。
DDS输出正弦波信号与SPWM生成模块内部产生的高频三角载波信号进行调制,输出脉冲宽度按照正弦波规律变化的PWM波,控制逆变电路输出频率按照DDS输出的正弦波频率改变。
系统通电后,首先根据反馈电流有效值I_in进行频率搜索,在20 kHz~40 kHz频域内快速搜索到换能器的谐振频率,并记录谐振频率时的最大电流值I_max作为电流阈值,接着启动频率跟踪程序,根据反馈电路的电压U、电流I相位差,锁定输出频率在电压电流相位一致的频率点,同时PL还实时监测反馈电流值与I_max之间的大小,作为判断系统是否处于谐振状态的一个辅助条件。一旦系统更换换能器或者负载突变导致系统失谐,反馈电流值将远小于I_max,此时PL将选择频率搜索程序,重新搜索到换能器的谐振频率后,转到频率跟踪进行相位锁定。
2 频率搜索
超声波电源输出频率与换能器谐振频率相等时,电源工作效率最高,系统工作最稳定[6]。实验表明,换能器工作在谐振频率Fs时,其负载流过的电流值最大[7-8],因此可以通过检测换能器的电流值实现谐振频率搜索。
图2绘制了谐振频率为22 kHz和32.32 kHz的换能器在20 kHz~40 kHz频段内的阻抗特性曲线。由图2可知,换能器在谐振频率附近阻抗会发生巨大变化,即电流值变化明显;而在远离谐振频率时,阻抗变化不明显,从而可知其电流变化微弱。基于换能器的这一阻抗特性,在FPGA平台上设计了基于电流最大值的频率搜索法。频率搜索的FPGA实现如图3所示。
系统通电后由频率搜索模块产生20 kHz输出频率所需的频率控制字,在系统时钟控制下,比较当前反馈的电流有效值I_in与上一周期反馈的电流值,若二者差值小于设定的阈值Ith,说明此时负载电流变化不明显,系统频率远离换能器的谐振频率,此时以设定的大步长step1改变DDS的频率控制字;当二者差值大于Ith,说明此时的系统频率已接近换能器的谐振频率,频率控制字将以设定的小步长step2微调,直到输出频率达到40 kHz,频率搜索功能完成,此时记录搜索过程中的电流最大值I_max,并输出电流最大值对应的频率控制字。频率搜索的软件流程图如图4所示。图中各变量的注释如下:
(1)Freq:搜索频率范围(20 kHz~40 kHz)
(2)F_word_rem:谐振频率控制字
(3)I_in:输入电流有效值
(4)I_max:电流最大值
(5)step、step1、step2:代表不同步长
(6)Ith:设定阈值
(7)det_I:相邻采样周期的电流差值。
系统上电后初始化频率Freq为20 kHz,在每个采样周期下,比较输入电流I_in与I_max的关系。如果输入电流大于I_max,将输入电流值赋给I_max,并记录此时的频率点赋值给F_word_rem,同时比较相邻采样周期内的电流值以产生det_I,随后比较det_I与Ith的关系。如果det_I大于Ith,说明此时系统的输出频率已接近换能器的谐振频率点,输出频率Freq将以小步长step2递变;反之说明输出频率远离换能器的谐振频率,为加快搜索速度,应以大步长step1在宽频域改变输出频率。当完成频域内搜索之后,输出频率字为电流值最大时刻对应的谐振频率点F_word_rem,频率搜索程序完成。
图5为频率搜索程序的ModelSim仿真图。光标位置代表电流最大值点,即换能器的谐振频率点。在换能器的谐振频率附近,输出的频率字以小步长step=10变化,逐步搜索到谐振频率点,并记录下谐振频率为20 260以及此时的电流最大值3 471。图5表明,依据换能器阻抗特性曲线设计的变步长搜索方法满足了设计要求。
3 频率跟踪
系统工作在谐振状态时,换能器等效负载呈纯阻性,电压电流相位差近似为0。因此可以通过检测电压电流相位差判断电路是否处于谐振状态[9]。频率跟踪时,FPGA对反馈的电压电流信号进行相位比较,生成电压电流相位差信号,根据相位差信号改变频率控制字的输出,从而改变系统输出频率,直到反馈的电压电流相位差趋近0,锁定整个系统工作在换能器的谐振频率上。频率跟踪的FPGA实现如图6所示。
反馈电路输出的Phase_I、Phase_U二路信号分别代表换能器的电流电压相位信号,二者经过数字鉴相后,输出电流电压相位差值,由脉宽计数器记录下相位差大小,结合给定步长step改变DDS的频率控制字,即改变逆变电路的输出频率,从而改变Phase_I与Phase_U的相位差,直到系统稳定在谐振频率点上。频率跟踪软件流程图如图7所示。
在搜索到谐振频率F_word_rem后,系统启动频率跟踪程序,将F_word_rem的值送给Freq作为系统频率控制字输出,由FPGA采集反馈的电压电流信号。当检测到电流相位超前电压相位时,以步长step减小频率控制字Freq,反之增加频率控制字频率,改变系统的输出频率,直到电压电流相位差在设定的裕度。
图8为频率跟踪程序的ModelSim仿真图,光标位置为电压电流零相位差的频率点。由图8可知,在电压相位超前电流相位时,输出频率控制字Freq在谐振频率F_word_rem的基础上,以step=1 Hz的步长增加,对应着驱动逆变电路的PWM信号频率以相应步长递增,锁定系统在谐振频率点;反之当电流相位超前电压相位时,输出频率随着频率字Freq以相应步长递减,直到反馈的电压电流相位一致。
4 实验结果
借助于MATLAB R2014a对设计的系统进行仿真,以20 kHz换能器为例,对反馈的电压电流信号进行相位差分析,波形如图9所示。
图9(a)为偏离谐振频率点的电压电流波形,二者存在一定相位差,此时启动频率跟踪程序,改变输出频率使电压电流相位差趋近0,波形如图9(b)所示,电压电流相位差几乎为0。实验结果表明,设计的宽频域超声波电源频率跟踪效果良好,换能器工作在谐振状态。
5 结论
在已有超声波电源的分析基础上,研制了一款基于XILINX ZYNQ 7000系列FPGA的宽频域超声波电源。在分析了换能器阻抗特性曲线的特性后,设计了变步长的频率搜索方法,快速搜索到换能器的谐振频率点,根据电压电流相位差锁定系统输出频率在换能器的谐振频率。所设计的超声波电源频率搜索快、跟踪准,并可以动态匹配不同谐振频率的换能器。该款FPGA芯片内部集成的大量资源,降低了外围电路的复杂度,使硬件设计变得简单稳定。实验结果证明,设计的宽频超声波电源可以驱动换能器工作在谐振状态,换能器工作稳定、温度低,在频率跟踪方面表现良好,并能达到设计要求。
参考文献
[1] Zhou Wei,Zhang Dongquan.Research and development of ultrasonic frequency dual closed-loop control[C].International Conference on Digital Manufacturing and Automation,2012.
[2] 李长有.超声波电源只能频率跟踪系统应用研究[J].电力电子技术,2014,48(3):35-38.
[3] Dong Huijuan,Wu Jian,Zhang Guangyu,et al.An improved phase-locked loop method for automatic resonance frequency tracing based on static capacitance broadband compensation for a high-power ultrasonic transducer[J].IEEE Transactions on Ultrasonics,Ferroelectrics and Frequency Control,2012,59(2):205-210.
[4] 张兴红,蔡伟,邱磊,等.基于FPGA与DDS技术的可调超声波驱动电源设计[J].仪表技术与传感器,2015(6):84-87.
[5] 胡武林,曹彪,杨景卫.超声波焊接电源频率跟踪与调节[J].电焊机,2014,44(7):47-51.
[6] 唐新星.基于频率自动跟踪与振幅恒定控制的超声电源的研制[D].北京:北京交通大学,2014.
[7] 屈百达.基于DSP的超声换能器频率跟踪系统[J].压电与声光,2014,36(2):297-301.
[8] SHIANG-HWUA YU,YI-FEI HSIEH,PEI-YING LAI,et al.FPGA-based resonant-frequency-tracking power amplifier for ultrasonic transducer[C].International Conference on Applied Electronics,2015.
[9] 刘晓光,刘平峰,蒋晓明,等.基于FPGA的超声波焊接电源频率跟踪研究[J].自动化与信息工程,2015,36(4):39-43.
NVMe Host Controller IP,高性能NVMe控制器IP for FPGA
NVMe Host Controller IP
1 介绍
NVMe Host Controller IP可以连接高速存储PCIe SSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口,非常适合于超高容量和超高性能的应用。此外,NVMe Host Controller IP支持RAID存储,从而可实现更高存储性能和存储容量。
无需CPU,NVMe Host Controller IP自动执行对PCIe SSD的PCIe设备枚举和配置、NVMe控制器识别和初始化、NVMe队列设置和初始化,实现必须以及可选的NVMe Admin Command Set和NVM Command Set,实现对PCIe SSD的复位/断电管理、IO(Page)读写、DMA读写和数据擦除功能,提供用户一个简单高效的接口实现高性能存储解决方案。
NVMe Host Controller IP DMA读写的顺序传输长度可以配置,最小是4K-Byte,最大是512K-Byte。顺序传输长度配置为4K-Byte,NVMe Host Controller IP所消耗的BRAM最少,但是可以达到CrystalDiskMark测试软件RND4K Q32T16测试模式下的读写性能。顺序传输长度配置为128K-Byte,NVMe Host Controller IP所消耗的BRAM比较多,可以达到CrystalDiskMark测试软件SEQ128K Q32T1测试模式下的读写性能。
针对多路数据通道访问PCIe SSD,使用NVMe的多队列特性,NVMe Host Controller IP支持灵活配置DMA读写的通道个数,按照NVMe队列优先级仲裁机制,实现多个DMA通道对同一块PCIe SSD的高效访问,从而达到多路数据通道访问的并行需求和QoS要求。
1.1 特性
Ø 支持Ultrascale+,Ultrascale,7 Series FPGA
Ø 支持PCIe Gen4,PCIe Gen3,PCIe Gen2 SSD
Ø 无需CPU和外部存储器
Ø 自动实现对PCIe SSD的PCIe设备枚举、NVMe控制器识别和NVMe队列设置
Ø 支持对PCIe SSD的NVM Subsystem Reset、Controller Reset和Shutdown
Ø 支持NVMe Admin Command Set:Identify、SMART、Create/Delete IO Submission/Completion Queue、Set Feature
Ø 支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management
Ø 提供1个Admin命令接口,实现对PCIe SSD的复位/断电管理功能
Ø 提供1个IO命令接口,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能;提供1个IO-AXI4-MM接口读写IO(page)数据
Ø 提供1个DMA命令接口,实现对PCIe SSD的DMA读写功能;提供1个DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口实现DMA数据的输入和输出
Ø DMA读写的顺序传输长度可以配置,4K-Byte~512K-Byte;不同的顺序传输长度对应不同的DMA读写性能,同时也消耗不一样的BRAM资源
Ø 针对多通道DMA需求,可以配置4个DMA命令接口和4个DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口
Ø NVMe队列的个数(配置DMA通道的个数)和深度可配置,平衡对PCIe SSD的DMA性能和消耗的逻辑资源
Ø 支持NVMe Admin和IO命令的超时和错误处理恢复机制,提供详尽的访问错误状态输出
Ø 支持的NVMe设备:
n Base Class Code:01h(mass storage),Sub Class Code:08h(Non-volatile),Programming Interface:02h(NVMHCI)
n MPSMIN(Memory Page Size Minimum):0(4K-byte)
n MDTS(Maximum Data Transfer Size):大于等于顺序传输长度或0(无限制)
n LBA Unit:512-byte,1024-byte,2048-byte或4096-byte
Ø 一个NVMe Host Controller IP直接连接到PCIe SSD
Ø 易于集成的同步、可综合Verilog设计
Ø 通过完全验证的NVMe Host Controller IP
2 概述
NVMe Host Controller IP作为一个对PCIe SSD的高性能存储控制器,不但提供对PCIe SSD的配置管理功能,而且提供对PCIe SSD的IO(Page)读写以及DMA读写功能。
NVMe Host Controller IP具备PCIe SSD Manegement,实现对PCIe SSD的复位/断电管理功能。
NVMe Host Controller IP具备ASQ/ACQ引擎,实现NVMe Admin Command Set:Identify、SMART、Create/Delete IO Submission/Completion Queue、Set Feature。
NVMe Host Controller IP具备IO(Page) Wr/Rd引擎和SQ1/CQ1引擎,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能。
NVMe Host Controller IP具备DMA Wr/Rd引擎和SQn/CQn引擎,实现对PCIe SSD的DMA读写功能。
上电后,NVMe Host Controller IP内置的PCIe Device Enumerate & Configuration自动实现对PCIe SSD的PCIe设备枚举和配置;然后内置的NVMe Controller Identify & Initialization自动实现对PCIe SSD的NVMe控制器识别和初始化;最后内置的Queue Setup & Initialization自动实现对PCIe SSD的NVMe队列设置和初始化。上电后至此,NVMe Host Controller IP完成对PCIe SSD的所有配置和初始化工作,可以开始提供对PCIe SSD的读写、擦除、复位操作。
图 2 NVMe Host Controller IP结构框图
3 产品规格
3.1 性能
PCIe配置参数:Max Payload Size=256-byte,Max Read Request Size=512-byte
1. PCIe Gen3 SSD,Seq=128KB,1个DMA通道:
a) DMA写入速度可达3300MB/s
b) DMA读取速度可达3500MB/s
2. PCIe Gen2 SSD,Seq=128KB,1个DMA通道:
a) DMA写入速度可达1700MB/s
b) DMA读取速度可达1800MB/s
3.2 资源
1. KU040
表3.1 PCIe Gen3 SSD,Seq=128K,Queue Depth=4,1-DMA
LUTs
FFs
BRAMs
PCIe
总资源
17251
25429
87
1
NVMe Host Controller
12780
17477
70
0
PCIe Bridge
5473
7952
17
1
表3.2 PCIe Gen3 SSD,Seq=4K,Queue Depth=8,1-DMA
LUTs
FFs
BRAMs
PCIe
总资源
16600
22812
31
1
NVMe Host Controller
11144
14864
14
0
PCIe Bridge
5461
7948
17
1
表3.3 PCIe Gen3 SSD,Seq=4K,Queue Depth=8,2-DMA
LUTs
FFs
BRAMs
PCIe
总资源
20968
28075
43
1
NVMe Host Controller
15496
20113
26
0
PCIe Bridge
5475
7962
17
1
2. ZU7EV
表3.4 PCIe Gen3 SSD,Seq=128K,Queue Depth=4,1-DMA
LUTs
FFs
BRAMs
URAM
PCIe
总资源
23925
34570
40
8
1
NVMe Host Controller
12621
17486
6
8
0
PCIe Bridge
11311
17085
34
0
1
表3.5 PCIe Gen3 SSD,Seq=4K,Queue Depth=16,1-DMA
LUTs
FFs
BRAMs
URAM
PCIe
总资源
23128
33037
40
2
1
NVMe Host Controller
11811
15956
6
2
0
PCIe Bridge
11319
17081
34
0
1
表3.6 PCIe Gen3 SSD,Seq=4K,Queue Depth=16,2-DMA
LUTs
FFs
BRAMs
URAM
PCIe
总资源
28075
39357
44
4
1
NVMe Host Controller
16774
22286
10
4
0
PCIe Bridge
11301
17071
34
0
1
4 交付清单
可交付资料:
1. 详细的用户手册
2. 设计文件:源代码或网表
3. 时序约束
4. 测试或Demo工程
5. 技术支持:邮件,电话,现场,培训服务
联系方式:
Email:neteasy163z@163.com
相关问答
用 FPGA 来作为CAN总线主 控制器 可不可行?用FPGA来做CAN总线主控制器是可行的,具体实现方式就是FPGA+CAN2.0协议的硬件组合,二是使用FPGA内部CAN2.0协议的IP核+CAN物理层,挂载在FPGA内部软核上。下面我...
步进电机与驱动器 控制器 的电路怎么连接-ZOL问答您直接把2个控制器信号线接到一个驱动器上就可以了.只是不能同时发信号.这样会...回复sznbjy没听说有这样用的,也没这个必要。备用的是什么目的呢《那不如只...
NetApp存储双 控制器 我只想用一个,怎么设置?是拔掉一个 控制器 ...是拔掉一个控制器还是用什么方法屏蔽掉一个控制器?举报工控设备3人讨论4672次围观关注问题写回答讨论回答(3)cfgset56必须拔点一个,拔掉之前要先把需要...
英特尔新发布的10nm Agilex FPGA 新品,都有哪些特点?自几年前巨资收购Altera(167亿美金)以来,英特尔一直在努力做技术整合。今天,这家芯片巨头终于发布了消化吸收后的FPGA新品。其采用了10-nm制程,但沿...随...
英语翻译存储器 控制器 主要功能是协调CPU和功能IP核对外部存...[最佳回答]ThememorycontrolleristhemainfunctionofcoordinationofCPUandfunctionofIPcheckexternal...
FPGA 是密封型芯片吗?当然不是,FPGA的中文意思是可编程逻辑器件。而单片机叫做单片微控制器,不一样的,就内部结构说,FPGA内部是逻辑单元,vhdl程序下进去后里面生成的是门电路,...
3d视频 控制器 如何下载?13d视频控制器一般由显卡驱动程序或DirectX中自带视频控制器模块是芯片与显示平台的数据接口,对检验芯片设计是否成功起着重要的作用,有必要把它单独划分为...
域 控制器 怎么用,怎么操作?-ZOL问答建立一个域控制器,然后根据你的策略(控制要求),开发用户,管理用户。客户端:右键“我的电脑”“属性”“更改”加入域。有用(0)回复linyanaiqiDC可以是32位...
什么是sm总线 控制器 ?-ZOL问答你用的应该是NFOCE系列主板吧?建议你找到驱动光盘,把里面的驱动全部重新安装一...域控制器中查看域用户SID18.3万浏览6回答求助!工控产品,使用fpga来设计...
芯片板块18支股票涨停,怎样理解其投资逻辑?对于AI行业来说,自研一种真正适合AI运算的专有芯片是最理想的发展方向。目前AI行业本身还处于发展初期,因此AI芯片的格局也尚未明朗,中国有弯道超车的可能。...