基于FPGA的多道脉冲幅度分析器设计终稿(8)

2018-12-14 23:00

河南科技大学本科毕业设计(论文)

Test_ok=‘1’STATE 0未发送完8位数据STATE 1发送完8位数据数据未发完数据全部发送完毕STATE 2 图5-10 RS232发送模块状态流程图

STATE0 :初始状态,载入数据。 STATE1 :数据发送状态。

STATE2 :取地址状态,如果取完地址则停止发送。 (2)时序仿真图

图5-11 RS232通讯功能模块时序仿真图

当首次数据发送前,先发送一组―10101111‖作为起始标志帧,pc端开始接收数据;而当数据全部发送完毕后,发送一组―11111111‖作为结束标志帧,pc端停止接收数据。

在该仿真中,发送了4组有效数据,分别是―00000010 00000001‖,―0000000010100101‖,―1111111101010101‖,―0011110011001111‖每组数据分为高八位和低八位分别发送,首先从低位发起,当发完低八位后再发高八位。 (3)RTL级电路图

32

河南科技大学本科毕业设计(论文)

Selector0Selector3Add0counter_m[2..0]PREDA[2..0]3' h1 --B[2..0]OUT[2..0]QSEL[2..0]SEL[2..0]txd~reg0PREOUTDQtnx[7..0]PREOUTDQcurrent_stateENACLR1' h0 --DATA[2..0]1' h1 --txddpa_counter~[5..4]SELsdstate_c~[1..0]dpa_counter~[7..6]SELLessThan1dpa_counter[1..0]PRE1' h1 --Q2' h3 --ENAA[1..0]B[1..0]OUTDATABDATAAsdstate_c~[3..2]SELSELOUT02' h1 --DATAADATABOUT02' h2 --counter_m[0]ENACLRsdstate_c~[5..4]SELDATAADATABOUT0counter_m[1]DATA[2..0]st2st0st1SELECTORADDERAdd1dpa_counter~[1..0]SELdpa_counter~[3..2]SELDATAADATAADATABOUT0DATAADATABsdstate_c[1..0]PREDQcounter_m[2]test_oksdstate_c[0]sdstate_c[1]SELECTOROUT0DSelector4A[1..0]2' h1 --B[1..0]DATAAOUT[1..0]DATABOUT0DATABOUT0MUX21MUX21CLRLESS_THANMUX21MUX21ENAMUX21CLRclkENAMUX21MUX21SEL[2..0]OUTCLRADDERtnx~[15..8]SELDATAAEqual2OUT08' hF5 --tnx~[23..16]DATA[2..0]SELDATAADATABOUT0SELECTORA[1..0]2' h2 --B[1..0]OUTDATABSelector5MUX21EQUALMUX21Equal1SEL[2..0]OUTA[1..0]2' h1 --B[1..0]OUTDATA[2..0]EQUALSELECTOREqual0Selector6A[1..0]2' h0 --B[1..0]OUTSEL[2..0]OUTEQUALDATA[2..0]LessThan0SELECTORA[2..0]3' h7 --B[2..0]OUTcounter_m~[2..0]SELSelector7LESS_THAN3' h0 --DATAADATABOUT0SEL[2..0]OUTDATA[2..0]MUX21tnx~[7..0]SELECTORSEL8' hFF --DATAADATABSelector8OUT0dpo[15..0]MUX21SEL[2..0]OUTDATA[2..0]SELECTORSelector9SEL[2..0]OUTDATA[2..0]SELECTORSelector10SEL[2..0]OUTDATA[2..0]dpa[1..0]~reg0PRESELECTORDQdpa[1..0]bclkENACLRtest_ok 图5-12 RTL级电路图

§5.3.5 PWM斩波调幅设计 (1)功能简介

该模块是PWM调制的软控部分,既将外部输入的上下阈值转变为占空比相应的PWM斩波,程序流程图如下所示。

图5-13 PWM程序流程图

33

河南科技大学本科毕业设计(论文)

该程序通过将外部输入的1MHz的时钟频率转换为10KHz的斩波频率(100分频),同时将分频计数器计数值与输入的上下阈值进行比较,输出相应占空比的波形。 (2)时序仿真

图5-14 PWM斩波输出模块时序仿真图

由pwm时序仿真图看到,当assign信号为高电平时,计数器不动作、系统载入上下。而当assign信号为低电平时,启动计数器开始计数,当计数值超过上下阈阈值时,―Sy‖、―Xy‖开始调变,而当计满100个1MHz的时钟频率(即10KHz)时,全部复位。 (3)RTL级电路图

LessThan0A[6..0]7' h64 --B[6..0]OUTcounter_sxy~[6..0]SELAdd0counter_sxy[6..0]PRELessThan2LESS_THAN7' h00 --DATAADATABOUT0DQ7' h01 --A[6..0]B[6..0]latch_xy[6]set_xy[6..0]assignPREDENACLRQOUT[6..0]A[6..0]ENAMUX21CLRADDERB[6..0]1OUT01xy~reg0PREDQxyxy~0latch_xy[5]PREDENACLRQENACLRsy~reg0LESS_THAN001PREDQsylatch_xy[4]PREDENACLRQsy~0ENACLRlatch_xy[3]PREDENACLRQlatch_xy[2]PREDENACLRQlatch_xy[1]PREDENACLRQlatch_xy[0]PREDENACLRQLessThan1latch_sy[6]set_sy[6..0]PREDENACLRQA[6..0]B[6..0]OUTlatch_sy[5]PREDENACLRLESS_THANQlatch_sy[4]PREDENACLRQlatch_sy[3]PREDENACLRQlatch_sy[2]PREDENACLRQlatch_sy[1]PREDENACLRQlatch_sy[0]PREDENACLRQclk_1MHz 5-15 RTL级电路图

34

河南科技大学本科毕业设计(论文)

§5.3.6 存储控制模块设计 (1)功能简介

该模块接收主控模块发送出来的数据,并将其转换为道址送入存储器中存储,状态简介如下图所示。

Assign=‘0’STATE0 SAVE=‘0’STATE1SAVE=‘1’STATE2 延迟时间未到STATE3延迟时间到STATE4 Stop=‘0’延迟时间未到STATE5延迟时间到STATE6

图5-16 存储控制模块状态转换图

STATE0 :存储器清零状态;

STATE1 :初始状态,等待可存储信号或数据发送信号; STATE2 :读数据状态;

STATE3 :延时状态,采用计数延时; STATE4 :写数据状态;

STATE5 :延时状态,采用计数延时;

STATE6 :时间判断状态,检测程序是否到达测量时间; (2)时序仿真

35

河南科技大学本科毕业设计(论文)

图5-17存储模块仿真图

该次时序仿真选取了三组数据,分别是(仿真采用十进制显示): a:dat=255;set_xy=20;spo=100; b:dat=156;set_xy=20;spo=499; c:dat=1280;set_xy=20;spo=20;

根据公式:道址=(dat-set_xy)/8,输出到存储器中的数据分别为: a:a=29; b:a=16;c:a=157;与上面仿真出来的数据一致;

值得注意的是当数据还在运算过程中,如果测量转换时间结束,那么存储器要等最后一组数据存储完后再发送。 (3)RTL级电路图

current_statest0start~reg0PRE1DQstartreadysavestop_testassignclk_50Mreadysavestop_testassignclkst1st2st3st4st5st6ENACLRAdd1di[15..0]~reg0spo[15..0]16' h0001 --A[15..0]B[15..0]PREOUT[15..0]DQdi[15..0]ENAADDERCLRAdd0counter_a~[9..0]SELa~[9..0]counter_a[12..3]PRESELDATAADATABOUT0a[9..0]~reg0PREDQdat[12..0]1' h1 --6' h3F --A[13..0]OUT[13..0]B[13..0]DATAADATABOUT0DQa[9..0]set_xy[6..0]1' h1 --ENAMUX21CLRENAMUX21CLRSelector2ADDERwe~0SEL[2..0]OUTDATA[2..0]1' h1 --we~reg0PREDQWideOr21' h0 --weENACLRtest_ok~reg0011PREDQSELECTORtest_oktest_ok~0ENACLR 图5-18 RTL级电路图

§5.3.7 时间控制模块设计 (1)功能简介

该模块主要是用来控制测量时间(在此以1秒钟为时间周期计时)。当测量完毕后,则开始发送数据。

36


基于FPGA的多道脉冲幅度分析器设计终稿(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:吉大18秋学期《新视野英语(一)》在线作业一(满分)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: