现代电子系统设计-简易数字频率计设计.pdf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 电子 系统 设计 简易 数字频率计
- 资源描述:
-
目录一、摘要.4二、系统方案论证.42.1频率测量方案.5三、数字频率频率计的基本原理.6四、各个模块设计.74、1 A/D模数转换模块.84、2比较模块.94、3频率和占空比测量模块.10五、各个模块仿真波形.12六、心得体会.14七、参考文献.15附录一.16附录二.22一.摘要频率计是数字电路中的一个典型应用,是计算机、通讯设备、音频视频等 科研生产领域不可缺少的测量仪器,频率测量在科技研究和实际应用中的作用 日益重要。设计所要达到的效果,同时此设计具有抗干扰性强、易于传输,较高的测量精度等特点。数字频率计是一种基础测量仪器,在许多情况下,要 对信号的频率进行测量,利川示波器可以粗略测量被测信号的频率,精确测量 则要用到数字频率计,测量频率的方法有多种,其中电子计数器测量频率具有精 度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测 量的重要手段之一。电子计数器测频有两种方式:一是直接测频法,即在一定 闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接 测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量,测量采用了多周期同步测量法,它避免了直接测量法对精度的不足,同时消除 了直接与间接相结合方法,需对被测信号的频率与中介频率的关系进行判断带 来的不便,能实现较高的等精度频率和周期的测量。关键词:频率计、仪器、频率、精度、脉冲个数二.系统方案论证由于本课程设计是基于特定的硬件平台,在GW48-SOPC实验开发系统上 进行实现对被测信号通过AD进行转换,把转换的结果和给定的阈值进行比 较,产生相应的脉冲信号。得到脉冲信号之后,先进行频率测量,给定1S的 基准信号,在1S信号内对脉冲信号进行计数,计数的方式采用BCD码,然 后把计数结果直接送数码管显示,对应的就是十进制的数值。为了实现占空比 精度的要求,在适当的范围内竟可能提高基准信号的频率。通过一个led灯来 表示相应的单位。然后对脉冲信号进行占空比测量,给定一个高频的基准信号,在脉冲信号的高电平期间对脉冲信号进行计数,把计数结果进行相应的运算,运算结果直接送数码管显示,对应的也是十进制显示。对于报警信号,我设计 的方案是接数码管显示,频率超过3khz时就会发出警告,数码管指示灯全部 变为0。下面是简单的系统原理框图:系统原理框图2.1频率的测量对于频率的测量没有现成的硬件模块,因此对于频率的测量需要我们用 VHDL语言进行实现。对于频率的测量主要考虑有两种实现方案。方案一:直接测频法测频法就是在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Two闸门信号测量的过程如图所示,在TW时间内通过计数器记录被测信号脉冲的个数,然后把记录结果锁存,经过运算后,送数码管显示,即为所测频率。,方案二:测周期法测周期法需要有标准信号的频率fs,这个标准信号应该取一个频率适中的 高频信号,在待测信号的一个周期Tx内,记录标准频率的周期数Ns,则被测 信号的频率为:fx=fs/Nso被测信号1 TX J标准信号I NS B ADIXtINa!START E(X*t)5 iE CIXXK rv,f rkEH rGNI)DiADDA ADDB A!MX*ALEr套债或冲数模转换控制模块的部分程序如下:beginADDA=?T;y5=REGL;L0CK0ALE=?0?;START二O;LOCK二O;OE=0?;NEXT_STATEALE=T;START二1;LOCK二O;OE=O?;NEXT_STATE=ST2;WHEN ST2二ALE二O;START二O;LOCK二O;OE=?O?;IF(EOC=J T)THEN NEXT_STATE=ST3;ELSE NEXT_STATE=ST2;END IF;WHEN ST3二ALE二O;START二O;LOCK二O;OE=T;NEXT_STATEALE=?O?;START=O?;LOCK=T;OE=T;NEXT_STATENEXT_STATE=STO;END CASE;END PROCESS COM;REG:PROCESS(CLK1O)上述程序中为 ADDA为1时,为通道1,当STO=O,STARTS O;LOCK二O;OEB,则 输出A大于B的结果信号FAB=1,FA=B=O,FAB=O,FA=B=1,FAB=0o如果AB=O,FA=B=O,FA=n10000000nthenfin-r;else fin=,0,;end if;end process;end block BJ;上述程序中选取阀值为1000000,当大于阀值时,输出为高电平,低于阀值 时输出为低电平。从而实现了把正弦波,三角波转换为方波。然后输入到频率 和占空比的控制模块中。通过编程实现的比较模块见下图:经过Q 70输出的结果,直接给d 70 做为输入,然后用输入和这个阈值作比较,如果大于则输出为高电平,小于或 等于则输出为低电平。4、3频率和占空比测量模块Clk3M为系统时钟信号,clkin是输入的时钟信号,fin是经过过比较器后的 输入信号,在1S的信号下对fin信号进行计数。计数器,要求低位的计数值 溢出信号做为高位的输入信号,从而显示频率的计量。Cnpl30为计算频率 计的khz位,cnp2 3-0为频率计数位的hz位,cnp3 3-0为频率计数位的 个位,cnp430系统占用的位,cnp530和beef对应的数码管是显示占 空比,hz和khz是被系统占用的位。在fin的高电平期间就对这个基准脉冲 信号的个数进行计数同时也在fin二分频后的高电平期间对这个基准信号进 行计数,把这两个得到的计数结果进行相除运算,相除后得到的结果进行个位 和十位分离,然后再进行进制转换,送到数码管中显示。占空比部分程序如下:beginif f3=,T then nl=0;ml=0;ll=0;elseif clk7?event and clk7=,1 thenif gl-r thennl=nl+l;end if;end if;if clk7?event and clk7=,1 thenif f2=,r thenml=ml+l;end if;end if;end if;ll=mllOO/nl;end process p5;p6:process(ml,nl)beginy3(3 downto 0)=conv_std_logic_vector(12 rem 10,4);y3(7 downto 4)=conv_std_logic_vector(12/10 rem 10,4);end process p6;end block ZKB;上面程序中ml为高电平时的所得到的频率,nl为一个周期的频率。把12 和10求余,结果转换成四位二进制,得到的就为显示占空比的个位,把上述 求余后再和10求余,结果转换成四位二进制,所得到的就是显示数码管的十 位,二个就是显示占空比的二位数码管。五.各个模块仿真波行各个模块的源程序见附录,对于各个模块的仿真如下:A/D模数转换模块:如果从被测信号输入端输入幅值在IV左右频率为IKHz左右的正弦信号,如果电路正常,数码管可以显示被测信号的频率。如果数码管没有显示,或显 示值明显偏离输入信号频率,则要作进一步检测。比较模块:Simulation mode:Timing*正常情况下,可以观测到与输入频率一致、如观测不到输出波形,或观测到 的波形形状与幅值不对,则应检测这一部分电路,消除故障。如该部分电路正 常,或消除故障后频率计仍不能正常工作时,也需要进一步检查程序。频率和占空比模块测量:Simulation mode:Timing如频率关系不一致或波形不正常,则应对计数器和反馈门的各引脚电平与波 形进行检测。正常情况各电平值或波形应与电路中给出的状态一致。通过检测 与分析找出原因,消除故障。电路中Clkin为1Hz信号,Clk3M为系统时钟的 基准信号。fin是输入的脉冲信号,cnpl,p3为记数码管的khz,hz 和个位。Cnp5和beef为显示在数码管中的占空比。在仿真中也应该给一个较 高频率的时钟信号,对于占空比测量,在可以允许的范围内应竟可能的给一个 高频的基准信号,因为频率越高输出的占空比结果会越接近真实值。对总的系统仿真:正常情况各电平值应与电路中给出的状态一致。但是由于显示的是高频的信 号,在输入时往往会有一些不正确,有一些功能没有显示出来,占空比不稳定 等,我在程序中找到了一些错误。通过检测与分析找出原因,消除故障,减小 误差。六.心得体会在这实习的两周中,我了解到了很多书本上未曾有过的东西。在我多次陷入困境时 找到了出路,从而使我们能轻松完成此次设计。数字频率计是一种用十进制数字显示被 测信号频率的数字测量仪器.它的基本功能是测量正弦信号.方波信号,尖脉冲信号及其他 各种单位时间内变化的物理量。我们在此次实习中,理论结合实际,提高和培养创新能 力,为后续课程的学习,毕业设计,毕业后的工作打下基础。同时,结合实践操作,可 以体现现代化的设计方法和理念,使电子课程设计在培养我们能力方面,得到比较大的 提高。通过此次的课程设计,我对数字电子课本上的基本知识有了更深刻的领 悟和掌握。由于我设计的是数字频率计,涉及的知识面很广,所以我查阅了很 多的书籍,并上网查阅了相关的知识,才完成了这份课程设计。在这个过程中,遇到了种种的问题,但是通过老师和同学的帮助,以及查阅书籍,最终解决了 问题。本次课程设计在王老师和同学的大力帮助下,我才得以完成大学里第一次的课程设 计。在次,向老师和同学表示感谢。在课程设计中,难免有错误,希望老师和同学帮助 改正,使我的运用知识的能力有更大的提高。七.参考文献(1)现代电子系统设计 浙江大学出版社 何小艇主编(2)EDA技术使用教程 科学出版社 潘松 编著(3)电子技术基础(数字部分),康华光,高等教育出版社,1998年(4)实用电子电路手册,高等教育出版社,1992年(5)新型集成器件实用电路,杨帮文,电子工业出版社,2002年(6)电子技术课程设计书,艾永乐、付子义,焦作工学院电气系,1998年附录一:.:MN_.0.:汜id=u,句 3 g:巴在idWEsfNoRErN 尸3:打.伫4.事野尸.1 J|江4-k n豆ns C Z 1 U C 1 4可芸dNo攵 30-1nujrf4:i:巴/d tess:鼠 J Lldra量里110:尊S110(瞽l O誓 I I sf i I空学留一ao ZJlJQO一理叁 q(0:m3O.E8w-一0.&0X3 WW 30 83星-s 三。h&2S E SHI累S E S.4 晏:.E.系统总电路图附录二:模数转换模块:library ieee;use ieee.std_logic_l 164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity LL isport(yl:in std_logic_vector(7 downto 0);d,e,clk,CLK10,eoc:in std_logic;a,b,c:buffer std_logic;adclk:out std_logic;ALE,START,OE,ADDA,LOCKO:OUT STD LOGIC;y:out std_logic_vector(15 downto 0);end;architecture bhv of LL issignal clkl,clk2,clk3?clk4?clk5?clk6,clk7,fin:std_logic;signal 1:integer range 0 to 2;signal m:integer range 0 to 5;signal n:integer range 0 to 5999999;signal f,g,h:std_logic;signal dout,din:std_logic_vector(19 downto 0);signal cc:std_logic:-0,;signal nl integer range 0 to 999999;signal ml integer range 0 to 199999;signal 11,12integer range 0 to 99;signal y3,y4:std_logic_vector(7 downto 0);signal f 1,g 1,h 1,f3,f2:std logic;signal y2,y5:std_logic_vector(7 downto 0);beginad:blockTYPE STATES IS(STO,ST1,ST2,ST35ST4);signal CURRENT_STATE,NEXT_STATE:STATES:=ST0;signal REGL:std_logic_vector(7 downto 0);signal LOCK:std_logic;beginADDA=T;y5=REGL;LOCKOALE=,0,;START=,0,;LOCK=,0,;OE=,0,;NEXT_STATEALE=T;STARTv=T;L0CK=O;0E=O;NEXT_STATEALEv=0;STARTv=0;LOCKv=0;OEv=0;IF(EOC=T)THEN NEXT_STATE=ST3;ELSE NEXT_STATEALE=,0,;START=,0,;LOCK=,0,;OE=,r;NEXT_STATEALE=,0,;START=,0,;LOCK=,r;OE=,r;NEXT_STATENEXT_STATE=STO;END CASE;END PROCESS COM;REG:PROCESS(CLK10)BEGINIF(CLKIOWENT AND CLK10=T)THENCURRENT_STATE=NEXT_STArE;END IF;END PROCESS REG;LATCH1:PROCESS(LOCK)BEGINIF LOCK=l AND LOCKEVENT THEN REGL=n10000000f,thenfin-r;else fin=,0,;end if;end process;end block BJ;FP:blockbeginprocess(clk)beginif clkevent and clk-T then ifn=5999999 then clkl=not clkl;n=0;else n=n+l;if m=5 thenclk2=not clk2;m=0;else m=m+l;if 1=2 thenclk3=not clk3;l=0;else 1=1+1;end if;end if;end if;end if;end process;end block FP;频率计模块beginpl:process(clkl)beginif clkrevent and clkl=T then clk4=not clk4;end if;end process pl;p2:process(clkl,clk4)beginif clkl-O1 and clk4=O theng-r;else g=O;end if;f=not clk4;h=clk4;end process p2;p3:process(f)beginif fevent and then din=dout;c=cc;end if;end process p3;p4:process(fin,g,h)beginif g-T then dout,0,);cc=,0,;elsif finfevent and fin-T thenif h-T and cc=O thenif dout(3 downto 0)=1001 thenif dout(7 downto 4)=1001”thenif dout(ll downto 8)=n1001n thenif dout(15 downto 12)=n0010n thenif dout(19 downto 16)=n0001n thencc-r;-else dout(19 downto 16)=dout(19 downto 16)+T;cc=O;-end if;dout(15 downto 12)=n0000n;else dout(15 downto 12)=dout(15 downto 12)+T;end if;dout(ll downto 8)-f0000n;else dout(ll downto 8)=dout(ll downto 8)+T;end if;dout(7 downto 4)=n0000n;else dout(7 downto 4)=dout(7 downto 4)+1;end if;dout(3 downto 0)=n0000n;else dout(3 downto 0)=dout(3 downto 0)+T;end if;end if;end if;end process p4;end block PLJS;占空比模块beginpl:process(fin)beginif finevent and fin-T thenclk6=not clk6;end if;end process pl;p2:process(fin,clk6)beginif fin=,0,and clk6-0f then f3-T;else f3-0,;end if;if fin-T and clk6-I1 then f2-T;else f2=,01;end if;fl=not clk6;gl=clk6;end process p2;p3:process(fl)beginif frevent and fl-T then12=11;end if;end process p3;p4:process(a,b)beginif a-T then clk7=clk2;elsif b-T then clk7=clk3;end if;end process p4;p5:process(f3,gl,clk7)beginif f3-T then nl=0;ml=0;ll=0;elseif clk7fevent and clk7=T thenif gl-T then nl=nl+l;end if;end if;if clk7fevent and clk7-T thenif f2-T then ml=ml+l;end if;end if;end if;ll=ml*100/nl;end process p5;p6:process(ml,nl)beginy3(3 downto 0)=conv_std_logic_vector(12 rem 10,4);y3(7 downto 4)=conv_std_logic_vector(12/l0 rem 10,4);end process p6;end block ZKB;XS:blockbeginprocess(d,c,e)beginif e-T theny(7 downto 0)=y3;y(15 downto 8)=M00000000;elsif d-lf thenif c=T then y=n0000000000000000n;a=,0,;b=,0,;elseif din(19 downto 16户”0000”theny=din(15 downto 0);a-T;b-01;else y=din(19 downto 4);b-r;a-0end if;end if;end if;end process;end block XS;end;展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




现代电子系统设计-简易数字频率计设计.pdf



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/11722101.html