基于FPGA器件和VHDL语言实现波形及移相波形发生器的系统设计

时间:2025-06-11  作者:Diven  阅读:0

1.引言

基于FPGA器件和VHDL语言实现波形及移相波形发生器的系统设计

在一些试验、研究中,有时需要存在相位差的两同频信号。通常采用移相网络来实现,如阻容移相,变压器移相等。采用这些方法有许多不足之处,比如:输出波形受输入波形的影响,移相操作不方便,移相角度随信号频率和所接负载等因素的影响等。若采用直接数字频率合成及数字移相技术,能得到频率及相位差高度稳定精确的信号且实现方便。

2.波形及移相波形发生器的系统组成原理

如图1所示为波形及移相波形发生器的系统组成方框图。

图1 波形及移相波形发生器的系统组成原理框图

标准时钟(由晶振电路产生)加于进制可编程的n进制计数器,其溢出脉冲加于可预置初值的地址计数器,生成波形存储器所需的地址信号,地址信号的产生频率正比于时钟频率,且周而复始地变化,从而使波形数据存储器输出周期的正弦序列,D/A转换器则输出连续的模拟正弦电压(或电流)波形,如图2所示。

为移相方便,设一周期的正弦波共采样360个点,即波形数据存储器共存储360个正弦波形的数据。由于移相波形的地址计数器的第一次运行初值为m,故两正弦波存在相位差为 m°。相邻采样点有n个标准时钟脉冲间隔,即 T0=N-1/Fclk。图1中波形数据存储器的全部数据被读出一次的频率为: F=1/T0-360=Fclk/n-360。改变n和m,即可改变输出信号的频率和相位。若时钟频率 Fclk为100MHz,则 。例如取n为1000,m为120,则产生相位为120°,频率为277.8Hz的正弦信号。当n=1时得最高信号频率为277.8KHz。

3.系统的软硬件设计

FPGA是20世纪90年代发展起来的大规模可编程逻辑器件,随着EDA技术和微电子技术的进步,FPGA的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景,并且FPGA具有高集成度、高可靠性,几乎可将整个设计系统下载于同一芯片中,实现所谓片上系统,从而大大缩小其体积。为此,设计了基于FPGA的高精度数字式移相正弦波信号发生器,该装置能够产生频率、相位、幅度均可数字式预置并可调节的两路正弦波信号。相位差范围为0~359°,步进为1°。系统选用Xilinx公司的SpartanⅡ系列XC2S100E-6PQ208E现场可编程门阵列芯片。该芯片最高时钟频率可以达到200MHz,工作电压为2.5V,采用0.22μm/18μm CMOS工艺,6层金属连线制造,系统门数量为10万,CLB阵列数量为20×30,Block RAM容量为40Kbit,最大用户I/O数量为202个。

利用FPGA内部Block RAM用来存储一周期的正弦波的360个采样点的数据,每个数据为8位,用一片8位A/D转换器AD7524来输出正弦波,再用一片10位A/D转换器AD7520的输出作为AD7524的参考电压,用来数字调节输出正弦波的幅度。另一路移相正弦波的产生采用同样的电路结构。整体电路原理图如图3所示。其中LED数码管用来显示输出信号的频率、相位差和幅度。BCD拨码开关用来对频率、相位和幅度值的预置。两按钮分别用来对频率、相位和幅度值的向上和向下调节。为节省硬件开销和FPGA的I/O口线,用一个2位拨码开关来设定显示、预置和调节的状态,即频率、相位差和幅度三个状态。

系统采用硬件描述语言VHDL按模块化方式进行设计,共分为频率、相位差、幅度预置调节控制模块、正弦波形及移相波形产生模块、显示模块及顶层模块等。通过Xilinx ISE 5.2软件开发平台和ModelSim Xilinx Edition 5.6 XE仿真工具,对设计文件自动地完成逻辑编译、逻辑化简、综合及优化、逻辑布局布线、逻辑仿真,最后对FPGA芯片进行编程下载。限于篇幅,这里仅介绍正弦波形及移相波形产生模块的设计方法(完整程序可向作者索取)。该模块分为二个进程。其部分程序如下:

process (clk)

variable temp: std_logIC:=‘0’;

begin

if rising_edge(clk) then

if temp=‘1’ then v《=v1; temp:=not temp;v11《=d;

else v《=v2;temp:=not temp;v12《=d;

end if;

case v is --以下when语句为360个正弦波形的数据ROM表,这里只给出了首末几个。

when “000000000”=》d《=“10000000”;when “000000001”=》d《=“10000010”;

when “000000010”=》d《=“10000100”;when “000000011”=》d《=“10000111”;

……

when “101100100”=》d《=“01110111”;when “101100101”=》d《=“01111001”;

when “101100110”=》d《=“01111100”;when “101100111”=》d《=“01111110”;

when others=》 null;

end case;

end if;

end process;

process (clk)

variable count,coun,b: integer range 0 to 277778;

begin

if rising_edge(clk) then

if sw=‘0’ then sign《=‘1’;

else --利用减法实现除法运算。

if coun《277778 then coun:=coun+n;b:=b+1;--信号n由频率预置、调节模块送来。

else

if count=b then count:=1;

if sign=‘1’ then v1《=“000000000”;v2《=m;sign《=‘0’;end if;--信号m由相位预置、调节模块送来。

if v1=“101100111” then v1《=“000000000”;else v1《=v1+1;end if;

if v2=“101100111” then v2《=“000000000”;else v2《=v2+1;end if;

else

count:=count+1;

end if;

end if;

end if;

end if;

end process;

对该模块利用ModelSim Xilinx Edition 5.6d XE仿真工具进行仿真的波形如图4所示。

4.结束语

本设计基于FPGA的高精度数字式移相正弦波信号发生器,充分利用VHDL硬件描述语言方便的编程,提高开发效率,缩短研发周期,而且系统的调试方便,修改容易。实验表明系统产生的波形稳定,抗干扰能力强,频率、相位和幅度调节方便,精度高,有一定的开发及生产价值。

猜您喜欢

你是否曾好奇,小小的手机充电器是如何将电压转换为手机可用的电量的?这背后,就离不开DC-DC升降压芯片的功劳。就像一个神奇的能量转换器,能够灵活地调节电压,让你...
2024-04-09 00:00:00

防爆锤类产品在工业和安全领域中是重要配件,设计和功能各有不同,适用于不同的场景。防爆锤按照材质可分为钢制和铝合金两种。钢制防爆锤更耐用,适合高强度的工作环境,而...
2020-05-29 00:00:00

工作台/工作桌,不仅是办公空间中的必备家具,更是提升工作效率与品质生活的得力助手。其主要优势在于:1、人性化设计:符合人体工学,有效减轻长时间工作带来的疲劳。 ...
2009-08-27 00:00:00

分流器作为分配信号的重要设备,是非常重要的配件。丰晶(Gausstek)作为业内知名品牌,其分流器产品以高性能和稳定性,应用于有线电视、宽带网络、光纤通信等领域...
2024-08-22 06:13:57

EMI滤波器是电磁干扰(EMI)抑制的重要组件,常见的有RC和LC网络两种类型。RC滤波器主要由电阻和电容组成,其优点是结构简单、成本低,适用于高频信号的滤波。...
2010-05-02 00:00:00

开槽机是用于加工材料表面槽口的高效机械设备,应用于木材、金属、塑料等行业。通过高速旋转的刀具,在工件上切割出精确的槽形结构,确保加工质量与效率。开槽机的设计通常...
2015-11-01 00:00:00

量筒是常见的实验室器具,主要用于测量液体的体积。通常由透明的玻璃或塑料制成,具有直立的圆柱形状,方便观察和读取液体的高度。量筒的侧面标有刻度,刻度的精确度使得使...
2020-01-29 00:00:00

前言:【核芯观察】是电子发烧友编辑部出品的深度系列专栏,目的是用最直观的方式令读者尽快理解电子产业架构,理清上、中、下游的各个环节,同时迅速了解各大细分环节中的...
2024-04-01 09:17:00

电位器作为调节电路电压和电流的重要元件,应用越来越。万裕(SAMXON)作为知名的电子元件制造商,其电位器系列产品以高品质和良好性能赢得了众多客户的青睐。本文将...
2016-03-06 01:26:30

装订机和打孔机是现代办公中不可少的工具。装订机主要用于将纸张整齐地装订在一起,适合用于制作报告、文件或手册。市面上的装订机种类繁多,有手动和电动两种选择,用户可...
2011-05-09 00:00:00