UFC718AE01 HIEE300936R0001采用调节DAC参考电压的数字化控制方法
UFC718AE01 HIEE300936R0001基于FPGA的DDS电路
2.1.1 相位累加器
对于利用FPGA设计DDS信号源,相位累加器是决定DDS电路性能的一个关键部分。相位累加器是由N位累加器和N位寄存器级联构成,每来一个时钟脉冲,相位寄存器采样上个时钟周期内相位累加器的值与频率控制字K之和,并作为相位累加器在这一时钟周期的输出。由式(2)可知,相位累加器的位数N越大,得到的频率分辨率越小,但在较高的工作频率下,会产生较大的延时不能满足速度的要求。在时序电路中,通常采用流水线技术来提高速度,代价是增加寄存器的数量,多占了FPGA的资料。综合考虑,采用32位累加器,四级流水线结构。
2.1.2 相位-幅度变换器
相位-幅度变换器是由ROM构成,它把相位累加器的输出的数字相位信息变换成正弦波值。在FPGA中,ROM一般是由EAB来实现,并且ROM表的尺寸与地址位数或数据位数成指数增加的关系,因此相位-幅度转换器的设计是影响DDS性能的另一个关键,在满足信号设计指标要求的前提下,主要在于减少资源开销。考虑到本设计只需要输出正弦信号,正弦波信号关于点(π,0)奇对称,只需存储1/2周期的波形数据,又根据在左半周期内,波形关于直线x=π/2成偶对称,因此只需要存储1/4周期的正弦函数值,就可以通过适当的变换得到整个正弦码表,这样可以节约3/4的资源。
2. 2 低通滤波模块
DDS有一个明显的缺点,即输出频率越接近Nyquist带宽的高端,采样点数越少,其输出的杂散干扰就越大。输出波形具有大量的谐波分量和系统时钟干扰。为得到所需频段内的信号,需要在DDS输出端加一滤波器来实现,而低通滤波器能较好地滤除杂波,平滑信号,所以低通滤波器的设计尤为重要,滤波特性的优劣对输出信号的性能起重要的影响。
为取得较好的滤波效果,滤波器采用了由四选一模拟开关和精密运算放大器分段滤波的方式:采用巴特沃斯有源低通滤波器,该滤波器通带内幅度很平坦,滤波电路为二阶巴特沃斯低通滤波电路,滤波器频段参数的选择由FPGA输出的控制信号nINH,S0,S1控制模拟开关的选通实现。
2.3 幅度控制
本设计幅度控制电路采用调节DAC参考电压的数字化控制方法,采用两个D/A级联的方式,数模转换器DAC2采用外部可变基准源,通过改变基准源的值来改变输出的满幅度电流值,该可变基准源通过DAC1产生。DAC1的基准电压采用输出电压为1.25 V精密电压基准芯片提供,设DAC1的幅度输出字为N1,则DAC1的参考电压为
设DAC2的数字输入字为N2,则经电流/电压转换后的输出电压为
2.4 人机交互
为方便快捷地控制DDS的频率字输入和幅度控制,本设计采用单片机来实现对DDS信号发生器的控制。DDS的频率字和幅度数据字位较多,而单片机输出端口位数有限,所以单片机与FPGA之间的通信采用SPI(Serial Peripheral Interface,串行外设接口)方式,单片机将控制命令字传送给FPGA。同时,为了输入控制方便,添加了键盘和显示系统。
3 数字闭环控制系统的实现
设计的励磁恒流源主要为磁性测量仪器提供激励电源,因而对其精度和稳定性要求高,采用电流控制型的控制策略进行闭环控制,结构框图如图3所示。励磁电流幅度调整时,首先对励磁电流进行多周期采样,然后计算其有效值,并与输入设定值相比较,若误差ε在允许范围之外,则根据误差的实际情况,通过单片机内增量式PID算法得出了一个新的控制量,传送给FPGA控制幅度调节经低通滤波器滤去高频成分,再经功率放大,得到高精度的励磁电流。

ABB KUC755AE106 3BHB005243R0106
ABB KUC755AE105 3BHB005243R0105
ABB KUC755AE105 3BHB005243R0105
ABB KUC755AE105 3BHB005243R0105
ABB KUC720AE01 3BHB003431R0001
ABB KUC711AE101 3BHB004661R0101
ABB KUC711AE101
ABB KUC711AE101 3BHB004661R0101
ABB KUC711AE101
ABB KUC711AE01 3BHB004661R0001
ABB KUC711AE 3BHB004661R0001
ABB KSD211B101 3BHE022455R1101
ABB KSD211B
ABB INNPM22
ABB INNIS11
ABB INIIT14
ABB INICT01
ABB IMMFP12
ABB IMHSS13
ABB IMHSS03
ABB IMHSS03
ABB IMFEC12
ABB IISAC01
ABB IEPU02
ABB ICST08A9
ABB IBA 940143201
ABB HPC800K02
ABB HIES207036R003
ABB HIER464920P0001
ABB HIEE405246R0002 UNS0867A-P,V2
ABB HIEE300936R0101
ABB HIEE300910R0001
ABB HIEE300900R0001
ABB HIEE300888R0002 UAC389AE02
ABB HIEE300766R0001
ABB HIEE300698R0001
ABB HIEE300690R0001
ABB HIEE300661R0001
ABB HIEE300024R4
ABB HIEE205011R0002
ABB HIEE205010R0003 UNS3020A-Z,V3
ABB HIEE200130R0002 AFC094AE2
ABB HESG448688R22
ABB HESG440940R11 HESG216791/A
ABB HESG440356R1 HESG216678/B
ABB HESG-330103-R1 BBC
ABB HESG324442R13/C
ABB HESG324442R13
ABB HESG324442R112/F
ABB HESG324442R112
ABB HESG324442R0112 216BVC62A
ABB HESG324013R0100
ABB HESG324013R0100
ABB HESG216678/B
ABB HESG112714/B
ABB HC800
ABB GJR5253100R3262
ABB GJR5252300R3101 07AC91H