1 系统设计
1.1 设计要求
1.1.1 设计任务
设计并实现一个基于fpga的多功能信号发生器。
1.1.2 性能指标要求
1.能够产生两种以上输出波形(正弦波、三角波、锯齿波等)。
2.输出的波形的频率允许有多种选择。
3.输出波形的幅度在 1v~5v 范围内。
4.输出的波形能够用示波器测量。
1.2 设计思路及设计框图
1.2.1设计思路
多功能信号发生器的原理框图如图所示。其中,clkgen是分频器,提供的50mhz的主频率进行分频,以得到满足多功能信号发生器设计需要的时钟频率。
之后是三选一 数据选择器,分别为8hz,13hz,18hz。
lpm_counter256是参数可设置的计数器,用于产生lpm_rom256的8位地址,并从q[7..0]端输出。
lpm_rom只读存储器,用于存放多功能信号发生器的波形数据信号。
设计了三个波形为的正弦波,方波,三角波。结果由输出端q[7..0]输出到四选一选择器,由sel[1..0]选择控制。
1.2.2总体设计框图
2 各个模块程序的设计
数据选择器,分频器程序见下表计数器模块:计数器的元件生成时,首先在执行file然后new,打开一个分频器计数器锯齿波正弦波三角波方波输出波形选择器新的模块或者原理图文件编辑窗口,双击窗口并选择libraries栏中的选着ari themtic的lpm couter(计数器) lpm元件,之后点击ok并在弹出窗口中完成对参数的设置之后就可得到一个计数器元件。波形 rom模块:为了将数据装入rom中,在加入并设置rom之前,应首先新建一个memory initial izationfile文件,并设置波形最后保存后缀为,mif,生成的存储器初值设定文件保存在工程的目录中,完成存储器初始值设定后,就可以加入波形只读存储器rom,在library中选着storage中的lpm rom即只读存储器rom的lpm元件,输出位为8位,字数是256,采用但时钟控制方式。由于我的设计出的波形有四种,所以我要加的rom有四个元件,他们分别输出锯齿波,方波,正弦波还有三角波,生成四个元件后,波形rom模块就完成了。
3 调试过程
在quartusii中打开工程,连接好试验箱和示波器,编译成功后将程序烧录到硬件中,并将硬件中的输出波形端与波形发生器相连,最后在硬件中拨动相应的开关,观察波形发生器的波形,对波形进行来回测试,即可得出结果。
4 功能测试
4.1 测试仪器与设备
笔记本,eda试验箱。
4.2 性能指标测试
能产生四种波形且频率可调。
4.3 误差分析
附录
附录1:仿真波形图(部分模块)
部分程序清单:
分频器:
module div5hz #(
parameter width=27,
parameter n=50_000_000, //开发板上的时钟mhz
parameter m=5_000_000 //待分频的频率
)
(clkin,clkout,rst_n); //0.1s->10hz
input clkin,rst_n;
output reg clkout;
reg[width-1:0] cnt;
always @(posedge clkin,negedge rst_n) //50_000_000mhz
begin //1s->1hz 50_000_000/1=50_000_000/2=25_000_000
if(!rst_n) cnt=0;
else if(cnt
else cnt=0;
end
always @(posedge clkin,negedge rst_n)
begin
if(!rst_n) clkout=0;
else if(cnt==n/(2*m)-1) clkout=~clkout;
else clkout=clkout;
end
endmodule
数据选择器:
`timescale 1 ps / 1 ps
// synopsys translate_on
module mux_04 (
data0x,
data1x,
data2x,
data3x,
output [7:0] result;
wire [7:0] sub_wire5;
wire [7:0] sub_wire4 = data3x[7:0];
wire [7:0] sub_wire3 = data2x[7:0];
wire [7:0] sub_wire2 = data1x[7:0];
wire [7:0] sub_wire0 = data0x[7:0];
wire [31:0] sub_wire1 = {sub_wire4, sub_wire3, sub_wire2, sub_wire0};
wire [7:0] result = sub_wire5[7:0];
O‘Reilly调查:超过88%的人使用云基础架构
电力变压器的功能及作用
Hash哈希竞猜游戏系统开发方案(逻辑分析)详情
三星电子将于3月在韩国推出QD-OLED电视
关于智能机器人的发展分析和介绍
如何设计并实现一个基于FPGA的多功能信号发生器?
中国电信已成立“5G商用联合推进项目组”,多个部门参与
益莱储2020年展望: 观测试仪器需求五大趋势,为客户提供更大价值和更高灵活性
自动驾驶车辆能力检查表何时能够应用在大多数车辆中
谷歌模拟远程操纵机器人 让机器人也可以自主学习
不得不关注的六个LED照明技术细节
全国首条智慧地下电缆线路的监控信息正式接入
助力低碳,深耕低温锡膏技术引领行业工艺发展
有哪些平价的蓝牙耳机?四款适合学生的平价蓝牙耳机推荐
冠层分析仪的作用是什么,它有哪些应用
传感器前级信号处理
UWB室内定位高精度定位应用的宠儿
ADI新数字隔离器封装确保医疗和工业应用安全
基于A2DP框架的近距离无线音频通信研究
联发科公布第三季财报 营收达670亿元并表示对AI的投入已有相当的成果