当前位置:首页 > 嵌入式 > 嵌入式教程

信号发生器在电子测量和自动控制领域应用十分广泛,常用的信号发生器大多由模拟电路构成,由于电路复杂、调试麻烦且精度低等缺点,一些复杂模拟电路已被数字电路所代替。

随着计算机软、硬件的发展,计算机与外设之间的数据通信越来越频繁,也越来越便利,虚拟仪器应运而生。本文介绍基于SOPC实现的函数信号发生器部分原理。

1 SOPC的简介
  

SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件Quartus II。SOPC是基于FPGA解决方案的SOC, SOPC的设计是以IP为基础的,以硬件描述语言VHDL为主要设计手段,借助于以计算机为平台的EDA工具进行的。与传统的专用集成电路设计技术相比, SOPC的设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、系统软件设计,直至整个系统的完成,都由计算机完成。其设计技术直接面向用户,使系统级专用集成电路的实现有了更多的途径,即除传统的ASIC器件外,还能通过大规模FPGA等可编程器件来实现。
  SOPC设计包括以32位Nios软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计、软件调试等。SOPC系统设计的基本软件工具主要有: Quartus II,用于完成Nios系统的综合、硬件优化、适配、编程下载和硬件系统测试; SOPCbuilder是Altera Nios嵌入式处理器开发软件包,用于实现Nios系统的配置、生成、Nios系统相关的监控和软件调试平台的生成; ModelSim用于对SOPCBuilder生成的Nios的HDL描述进行系统功能仿真;Matlab/DSP Builder,可借助于生成Nios系统的硬件加速器,进而为其定制新的指令; GNU Pro用于进行软件调试。

  2 函数信号发生器的设计步骤与实现

(1)设计步骤
  

用VHDL语言结合原理图设计实现一个函数信号发生器,输出正弦波、方波和三角波三种波形。将频率控制、分频、三角波、正弦波、方波发生各个模块分别用VHDL语言编程为一个子程序,并把每一个模块转换成图形文件,然后在原理图编辑框调用这些图形模块,连接电路如图1所示。通过按键1到按键4控制频率调节f〔3...0〕,用按键6、按键7、按键8控制dlt、sin、sqr波形选通,最后把八位输出接DAC0832通过D/A转换,从示波器上就能看到波形输出。按下不同的按键输出不同的波形及频率。

(2)原理实现
  

frqload.vhd:把四位频率控制字f〔3...0〕转换为相对应的整数输出q,用于分频计数使用; frq_div.vhd:把输入的时钟CLK进行分频,对分频计数a逐次减一,当分频计数a被减到零时,给出一个输出q;作为三角波模块(delta_gen)、方波模块(square_gen)、正弦波模块(sin_gen)的时钟clk,实现了对输入时钟CLK的a分频。delta_gen.vhd:设定一个变量num,定义其范围为“00000111”到“11111000”,每到一个脉冲,分别对它进行+8或-8,然后把改变后的num送到输出q,生成了三角波信号。
  square_gen.vhd:设定一个变量num,每到一个脉冲,检测它是否小于512,若小于512,则把高电平送到输出,并对num+1,否则就输出低电平,并赋值num为0,生成了方波信号。
  

sin_gen.vhd:通过定义正弦数据表,每到一个脉冲,逐次查找并输出相应的正弦数据,生成了正弦波形。
  

mkgrp.vhd:用于控制输出波形的选通,若只有sin输入高电平,则输出正弦波,以此类推,假若同时有dlt和sin都输出高电平,则输出波形时三角波和正弦波的叠加,依此类推。

下面是用VHDL语言编程的三角波信号的程序。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity delta_gen is
port (clk, reset: in std_logic;
q: out std_logic_vector (7 downto 0));
end delta_gen;
architecture a of delta_gen is
begin
process (clk, reset)
variable num: std_logic_vector (7 downto 0);
variable ff: std_logic;
begin
if reset=‘0‘ then
num: =" 00000000";
elsif clk‘event and clk=‘1‘ then
if ff=‘0‘ then
if num=" 11111000" then
num: =" 11111111";
ff: =‘1‘;
else
num: =num+8;
end if;
else
if num=" 00000111" then
num: =" 00000000";
ff: =‘0‘;
else
num: =num-8;
end if;
end if;
end if;
q<=num;
end process;
end a;

图1 连接电路
3)具体实现过程
  

编译程序,通过编译进入仿真阶段。设CLK为1ns,只有sin为高电平,输出是用逻辑八位表示的正弦波的波形数据。

引脚锁定,选用GW48-SOPC系统,目标芯片为ACEX1K系列EP1K30TC144-3,用模式5,并对八位的逻辑输出进行D/A转换,图2为D/A扩展板原理图(图中R1= 10kΩ, R2= 50kΩ, Rp=15kΩ)。

在Quartus II中,通过菜单Assignments Editor项进入引脚锁定编辑器,主时钟CLK接Clock0 (第126引脚),用键1、键2、键3、键4控制四位频率,接PIO0-PIO3,相应的引脚为8、9、10、12。用键6、键7、键8控制波形输出的选通dlt、sin、sqr,对应的引脚为18、19、20。把输出逻辑八位接系统板上的D/A转换,即PIO24-PIO31,对应的引脚为41、42、65、67、68、69、70、72。将这些信息输入引脚编辑器存储后,必须再编译一次才能将引脚锁定信息编译进编程下载文件中。将编译产生的SOF格式下载文件配置进FPGA中,下载成功后即可进行硬件测试。通过GW48-SOPC系统上的模式选择键进行模式选择,连接示波器观察输出波形。

图3为函数信号发生器输出的三角波。
      

       图3 函数信号发生器输出的三角波

3 总结
   

(1)输出信号频率的高低由频率字和参考频率等决定外,另一个因素是D/A的转换速度。FPGA的速度与D/A相比要快得多,所以真正决定输出信号频率的因素是D/A的速度。
  

(2)上面提供的程序在GW48—SOPC实验开发系统中测试通过,产生的信号稳定,频率连续可调。输入频率接实验板上CLKO的50MHz以上时,波形几乎没有失真,且正弦波和三角波所要求的频率与方波要求的频率不完全相同,必须通过按键控制频率输出,为不同的波形提供不同的频率,使其波形更完美。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2023年11月,普源精电 (RIGOL) 推出全新DG900 Pr/800 Pro系列超便携函数/任意波形发生器!该系列产品运用RIGOL专有的SiFi® Ⅱ高保真信号合成技术,可以产生低噪声、低失真、低抖动的信号。D...

关键字: 信号发生器 电源适配器

ETS-Lindgren和罗德与施瓦茨继续长期合作,为5GNR提供了具有全面辅助全球导航卫星系统(A-GNSS)功能的天线性能测量,R&SCMX500OBT宽带无线通信测试仪和R&S SMBV100B GNSS模拟器,结...

关键字: 天线 5G NR 模拟器 信号发生器

在2023年柏林欧洲微波周(EuMW2023)上,R&S展示了三款专为W和D频段应用量身定制的新产品:全新的R&SSFI100A宽带中频矢量信号发生器、R&SNRP170TWG热功率传感器和R&SFE110ST/SR收发...

关键字: 信号发生器 传感器 汽车雷达

是德科技(NYSE: KEYS )推出一款设计紧凑的全新四通道矢量信号发生器(VSG),即N5186A MXG。这款信号发生器的频率高达8.5 GHz,每个通道的调制带宽为960 MHz。作为是德科技X系列信号发生器产...

关键字: 矢量信号发生器 信号发生器

罗德与施瓦茨的R&S SMW200A和R&S SMM100A矢量信号发生器以及R&S FSW和R&S FPS信号和频谱分析仪已被高通 批准用于测试高通® QRU100 5G RAN平台一这...

关键字: 信号发生器 分析仪 5G网络

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。

关键字: python 函数 对象编程

R&S EPL1000是一款紧凑、完整且符合CISPR 16-1-1标准的测量接收机,用于快速精确测量高达30MHz的EMI。 自带的频谱分析仪和跟踪信号发生器功能使R&S EPL1000成为各种实验室...

关键字: EMI测试接收机 频谱分析仪 信号发生器

测试数据综合分析的绝佳工具,深受工程师和研究员欢迎

关键字: 后处理分析软件 向导 函数

信号发生器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 信号发生器 发生器 功率放大器

今天,小编将在这篇文章中为大家带来信号发生器的有关报道,通过阅读这篇文章,大家可以对信号发生器具备清晰的认识,主要内容如下。

关键字: 矢量信号发生器 信号发生器 发生器
关闭
关闭