基于FPGA占空比检测系统.docx

上传人:b****5 文档编号:8416015 上传时间:2023-01-31 格式:DOCX 页数:12 大小:24.35KB
下载 相关 举报
基于FPGA占空比检测系统.docx_第1页
第1页 / 共12页
基于FPGA占空比检测系统.docx_第2页
第2页 / 共12页
基于FPGA占空比检测系统.docx_第3页
第3页 / 共12页
基于FPGA占空比检测系统.docx_第4页
第4页 / 共12页
基于FPGA占空比检测系统.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于FPGA占空比检测系统.docx

《基于FPGA占空比检测系统.docx》由会员分享,可在线阅读,更多相关《基于FPGA占空比检测系统.docx(12页珍藏版)》请在冰豆网上搜索。

基于FPGA占空比检测系统.docx

基于FPGA占空比检测系统

北华大学

电子系统工程实习报告

——基于FPGA的脉冲占空比测量系统设计

学院:

电气信息工程学院

专业:

电子信息工程

班级:

姓名:

学号:

指导教师:

实习日期:

 

1实习题目

基于FPGA矩形脉冲占空比测量系统。

2实习目的与要求

在两周的实习中,需掌握verilog语言的使用,提高模拟电路设计的能力,掌握FPGA器件基本使用方法,掌握波形发生器及示波器等仪器的使用方法,通过方案设计来对测量系统进行逐步实现,最终完成实习。

实习要求如下:

1.被测信号为矩形波,频率范围为1Hz~5MHz;

2.被测信号峰峰值电压范围为50mV~1V;

3.被测脉冲信号占空比的范围为10%~90%;

4.显示的分辨率为%,测量相对误差的绝对值不大于。

系统框图如图所示:

模拟电压放大模块

占空比测量模块

按键启动模块

波形发生器

数码管显示模块

显示占空比

Cnt2停止计数,

计算占空比

结束

判断被测信号是否有下降沿

Cnt1停止计数,

计算占空比

图系统架构图

3实习内容

1.在模拟电路部分利用运算放大器对50mV~1V电压进行放大,所以需要设计出电压放大电路,仿真完成后,并作出实物;

2.在数字电路部分利用quartusII软件进行设计,用verilog语言进行编辑程序,用ModelSim进行时序仿真,直至占空比测量满足误差位置;

3.在时序仿真完成后,加上按键控制,数码管显示模块,BCD码转换模块,在对管脚进行正确分配后,下到FPGA中对系统进行测试,在实际情况下对系统进行调试。

4实习原理

4.1Multisim软件

Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。

它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

使用Multisim交互式地搭建电路原理图,并对电路进行仿真。

Multisim提炼了SPICE仿真的复杂内容,无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。

通过Multisim和,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到和测试这样一个完整的综合设计流程。

4.2QuartusII软件

QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、、可编程于一体,是一种综合性的开发平台。

QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:

可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;

QuartusII功能如下:

芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

软件

公司的ModelSim是业界最优秀的HDL语言,它能提供友好的仿真环境,是业界唯一的支持VHDL和Verilog混合仿真的。

它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和,为用户加快调错提供强有力的手段,是FPGA/的首选仿真软件。

芯片

UA741CN(单运放)是高增益运算放大器,用于军事,工业和商业应用。

这类单片硅集成电路器件提供输出短路保护和闭锁自由运作。

具有广泛的共同模式,差模信号范围和低失调电压调零能力与使用适当的电位。

5系统硬件电路设计与程序流程设计

系统电压放大硬件电路设计

首先,利用Multisim软件对电压放大电路进行仿真,根据仿真结果对电路进行修改,同相放大电路如图所示,公式如所示:

Vi=Vp=Vn=(R1*Vo)/(R1+R2)()

图同相发大电路图

然后根据电路图对实物进行制作,再进行测试。

系统软件程序流程设计

系统软件程序流程图如图所示:

数据初始化

开始

判断start=1

判断被测信号是否有下降沿

Cnt1开始计数

Cnt2开始计数

判断被测信号是否有上升沿

Cnt1停止计数,cnt2开始计数

Cnt2停止计数,cnt1开始计数

判断被测信号是否有下降沿

判断被测信号是否有上升沿

Cnt2停止计数,

算占空比

显示占空比

判断被测信号是否有下降沿

判断被测信号是否有上升沿

Cnt1停止计数,算占空比

结束

6系统调试与仿真

实验步骤

(1)打开QuartusI

图工程名设置截图

(2)选择好器件,最好不要默认型号,器件选择截图如图所示:

图器件选择截图

(3)本次实习需要仿真,所以要关联ModelSim,语言使用VerilogHDL,关联ModelSim截图如图6。

所示:

图关联ModelSim截图

(4)新建“**.v”文件进行程序编写,编译后成功后进行testbench测试文件的编写,保存后进行编译,编译成功后进行仿真。

系统仿真

仿真结果如图所示。

高电平为1500ns,低电平为2260ns,理论值为%,实际测量值%。

图仿真结果

7实验结论与分析

在基于FPGA矩形脉冲占空比测量系统中,模拟部分能通过50mv~1v电压放大到的放大,放大的电压经过管脚输入FPGA进行测试占空比,通过按键开始启动测试,并将测试结果显示到数码管上,精度为%。

表测量误差

序号

输入电压(V)

频率

实际占空比(%)

测量占空比(%)

频率误差

1

2

1HZ

3

10HZ

4

500HZ

5

1KHZ

6

10KHZ

7

500KHZ

8

1MHZ

9

3MHZ

10

5MHZ

当然,在此测量系统中存在误差,误差如下:

(1)波形发生器在产生波形时,产生误差;

(2)波形经过模拟电路到FPGA过程中,存在噪声干扰,此时用示波器显示会出现少许毛刺;

(3)由于FPGA是利用时钟节拍进行对信号的采集,例如,当时钟前一个上升沿采到低电平,后一时钟上升沿采到高电平,就可以判断被测信号有上升沿的到来,就在这一过程就存在误差,误差分析图如图所示:

Clk

误差

被测信号

被测信号

图误差分析图

为了减小以上存在的误差,可以选用精度更好的波形发生器,适当提高FPGA的主频,提高模拟电路抗干扰能力,是测量系统精度提高。

8实习心得

在这两周的实习过程中,我觉得对于占空比测量系统的设计,其硬件电路是在模电的基础上设计的,主要是解决电压放大问题,锻炼了模拟电路的分析能力,对芯片手册的阅读能力,也加强对电路焊制与布局的能力。

而数字部分设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力。

因此在整个设计过程中大部分时间是用在程序上面的。

怎样衔接各个模块才是关键的问题所在,这需要对FPGA的结构很熟悉。

一个好的设计架构清晰的思路可以决定设计难易程度和实现精度,可以巩固基础知识,提高实际项目实践能力,本次电子系统设计实习全方面的锻炼各种器件的使用能力以及知识运用的灵活性,进一步加强了团队合作的能力。

通过这次设计,我懂得了学习的重要性,学会了坚持和努力,在实训过程中我们可以掌握书本中没有的技能,加强自身各方面的能力,为以后工作打下基础。

9参考文献

[1]常本康.精密低频信号频率与占空比测量电路的设计与应用.医学研究生学报,2002(8).15~4.

[2]梁志国.脉冲波形占空比的数字测量及不确定度分析.航天计测技术,2004

(2):

1002~6061

[3]汪虹,李宏.基于FPGA的等占空比任意整数分频器的设计.仪器与仪表,2002

(1):

1004~373.

[4]阎石.数字电子技术基础.第5版:

[学位论文].浙江:

浙江大学,2010.

附录程序代码及电路原理图

附录程序代码

modulepinlvji_top(clk,rst_n,clk_in,start,seg_data);

inputclk;

inputrst_n;

inputclk_in;

inputstart;

output[31:

0]seg_data;

wirestart_biao;

wireclk_1s;

wireclkx;

wireclk_biao_out;

wirestart_fsm;

wirec0;

wire[11:

0]zhankongbi_out;

my_pllmy_pll_u(

.inclk0(clk),

.c0(c0)

);

zhankongbizhankongbi_u(

.clk(c0),

.rst_n(rst_n),

.start_fsm(start_fsm),

.clk_biao_out(clk_biao_out),

.clk_biao_xia(clk_biao_xia),

t_zhan(zhankongbi_out)

);

seg_vseg_v_u(

.rst_n(rst_n),

.clk(c0),

.seg_data(seg_data),

.hex(zhankongbi_out)

);

endmodule

modulezhankongbi(clk,rst_n,start_fsm,clk_biao_out,clk_biao_xia,cnt_zhan);//占空比模块

inputclk;

inputrst_n;

inputstart_fsm;//开始标志

inputclk_biao_out;//上升沿

inputclk_biao_xia;//下降沿

output[11:

0]cnt_zhan;//占空比值输出

reg[40:

0]cnt1;

reg[40:

0]cnt2;

reg[2:

0]state;

reg[40:

0]cnt;

reg[41:

0]cnthh;

regbiao;

always@(posedgeclk)

begin

if(!

rst_n)

begin

cnt1<=0;

cnt2<=0;

state<=0;

cnt<=41'd0;

cnthh<=42'd0;

biao<=0;

end

else

case(state)

0:

begin

if(clk_biao_out&&start_fsm)//先上升沿

begin

state<=1;

cnt1<=cnt1+41'd1;

biao<=0;

end

elseif(clk_biao_xia&&start_fsm)//先下降沿

begin

state<=4;

cnt2<=cnt2+41'd1;

biao<=0;

end

else

begin

state<=0;

biao<=0;

end

end

1:

begin

if(!

clk_biao_xia)//下降沿

begin

cnt1<=cnt1+41'd1;

state<=1;

end

else

begin

cnt2<=cnt2+41'd1;

state<=2;

end

end

2:

begin

if(clk_biao_out||!

start_fsm)//上升沿

begin

//cnt_zhan<=(cnt1*10000)/(cnt1+cnt2);//计算占空比

state<=3;

cnthh<=cnt1*1000;

biao<=1;

end

else

begin

cnt2<=cnt2+41'd1;

state<=2;

end

end

3:

begin

state<=3;

//cnt_zhan<=cnthh;//计算占空比

end

4:

begin

if(!

clk_biao_out)

begin

cnt2<=cnt2+41'd1;

state<=4;

end

else

begin

cnt1<=cnt1+41'd1;

state<=5;

end

end

5:

begin

if(clk_biao_xia||!

start_fsm)//上升沿或停止

begin

//cnt_zhan<=(cnt1*10000)/(cnt1+cnt2);//计算占空比

state<=3;

cnthh<=cnt1*1000;

biao<=1;

end

else

begin

cnt1<=cnt1+41'd1;

state<=5;

end

end

endcase

end

assigncnt_zhan=(biao==1)(cnthh/cnt):

0;

endmodule

电路原理图

PCB图

实物图

500KHZ,电压为,测量10%占空比时:

500KHZ,电压为,测量50%占空比时:

500KHZ,电压为,测量50%占空比时:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1