版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、等精度频率计设计作者:dx0801wl班级:电信0801 指导老师:冯杰内容摘要本系统在硬件上主要由80c51单片机、Altera公司的Cyclone系列的 EDA芯片EP1C6Q240C8以及液晶12864构成。软件上利用功能强大的EDA开发工 具quarters H,直接将频率计电路程序烧入EDA芯片中。单片机在本系统中的 作用,主要是完成数据的处理和液晶显示的控制。EDA芯片用于频率测量,并输 出32位的2进制数据。单片机获取32位二进制频率数据后,在内部将其转化为 10位的十进制数据。最后控制液晶12864,显示测量的频率。频率显示的范围是 1HZ至1MHZ。本频率计突出性能主要有两个
2、:一、测频全域内相对误差恒定不变, 相对误差仅与晶振有关。二、闸门信号的精度对本频率计的测量没有影响。工作原理1、系统框图频率计电路通过软件quarters 11写入EDA芯片内部,该芯片完成了信号频率 的测量。EDA输出的数据是32位的二进制数据,经过单片机处理转换为10位的 十进制数。最后,单片机控制液晶12864,将信号的频率显示出来。2、频率计电路的系统框图图二、频率计电路的系统框图乘法器图二、频率计电路的系统框图乘法器本频率计工作原理:使用两个计数器,在一次预置闸门时间EN中,一个 计数器对被测输入信号Fx计数,计数值为Nx;同时另一个计数器对标准高频 率信号FS计数,计数值为Ns,
3、则下式成立:Fx / Nx = Fs / Ns将上式进行变换可得被测信号频率的表达式:Fx = (Fs / Ns) - Nx在电路中,为了实现上方等式。首先,分别采用32位二进制计数器,对 标准高频率信号FS和待测信号Fx进行计数。然后将两路计数结果分别锁存, 准备用以计算。若标准高频率信号FS的频率为1Mhz。先将10000000与待测信 号Fx计数结果Nx通过乘法器相乘。再将乘法器输出结果通过除法器,除以标 准高频率信号FS的计数结果Ns,得到待测信号的频率Fx。最后输出计数结果。三、设计内容、方法及步骤本系统的设计模块主要包括:1、在quarters H完成频率计电路的设计。2、 完成单
4、片机控制程序的设计。1、频率计电路设计I、底层文件的设计在频率计的设计之前,必须先完成D触发器、32位计数器、32位锁存器、 64位锁存器、32位乘法器、64位除法器以及控制器等底层文件的设计。其中, 32位计数器计数范围从0计至8589934592,它是由8个十进制计数器级联而成。 32位乘法器、64位除法器可直接由向导生成。控制器在频率计中起控制作用, 控制着计数,锁存,数据的计算以及输出。以上底层文件的vhdl语言如下:A. 10进制计数器vhdl语言:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned
5、.all;entity cnt10 isport(clk,rst,en:in std_logic;CQ:out std_logic_vector(3 downto 0);cout :out std_logic);end cnt10;architecture behav of cnt10 isbeginprocess(clk,rst,en)variable CQ1:std_logic_vector(3 downto 0);beginif rst=1then CQ1:=(others=0);elsif clkevent and clk=1thenif en=1thenif CQ1=1001then
6、 CQ1:=0000;cout=T;else CQ1:=CQ1+1;cout=0;end if;end if;end if;CQ=CQ1;end process;end behav;B.32位计数器的级联:中LT 乙.点国.十= 阁 r图三、32位计数器的级联C. 32位锁存器的vhdl语言 library ieee;use ieee.std_logic_1164.all;entity reg32 isport(load :in std_logic;din:in std_logic_vector(0 to 31);dout:out std_logic_vector(0 to 31);end r
7、eg32;architecture one of reg32 isbeginprocess(load)beginif loadevent and load=T then dout=din;end if;end process;end one;D. 64位锁存器的vhdl语言library ieee;use ieee.std_logic_1164.all;entity reg64 isport(load :in std_logic;din:in std_logic_vector(0 to 63);dout:out std_logic_vector(0 to 63);end reg64;archi
8、tecture one of reg64 isbeginprocess(load)beginif loadevent and load=1 then dout=din;end if;end process;end one;E、利用向导生成乘法器、除法器lpm_multOdata a31.01inst睥廿It阳3. 01lpm_multOdata a31.01inst睥廿It阳3. 01II risbjrisS mStiplicat 翩nu mer6? .0quctient6? .01 Tdencm?1.O remain?1.O Nuroer =. UNSIGNED : Deftom im UN
9、SIGNED : -=tI图四、利用向导生成乘法器、除法器F、控制器控制器直接利用状态机实现,它可实现复位、计数、锁存等功能。其程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY smachine ISPORT ( clk1 ,xtrst : IN STD_LOGIC;s : OUT std_logic_vector(2 downto 0);END smachine;ARCHITECTURE behv OF smachine ISTYPE FSM_ST IS (s0, s1, s2, s3,s4,s5,s6,s7,s8,s9,s10,s11
10、,s12,s13,s14,s15);SIGNAL current_state, next_state: FSM_ST;BEGINREG: PROCESS (clk1,xtrst)BEGINif xtrst=1 then current_state=s0;elsIF clk1=1 AND clk1EVENT THENcurrent_state s=001”;next_state s=001”;next_state s=010”;next_state s=010”;next_state s=010”;next_state s=010”;next_state s=010”;next_state s=
11、010”;next_state s=010”;next_state s=010”;next_states=010”;next_state s=010”;next_states=000”;next_states=000;next_states=000;next_state s=100”;next_states=000”;next_state=s0;END case;END PROCESS;END behv;II、底层文件的组装,及时序仿真当上述文件都完成之后,即可组装频率计,完成后如下:lpm_divid 闻n u mer63. .0qu otient83. 0II、底层文件的组装,及时序仿真当
12、上述文件都完成之后,即可组装频率计,完成后如下:lpm_divid 闻n u mer63. .0qu otient83. 0Numer is UNSIGNEDEmm tB UNSIGNED袈 11皿83.01U ns 翊 red muiltiplicationdenom31.G remainpi-.G110000000图五、频率计节构图图五、频率计节构图时序仿真:图六、时序仿真仿真时控制Fs=10Fx,输出结果为out=1000000,符合公式fx= (1M*Nx) /Ns。2、单片机控制控制脚51单片机X 8位数据控制脚51单片机X 8位数据FPGA移位器将32位转移4次图七、单片机控制原理
13、图I、数据的存储频率计完成计数之后,输出的数据为32位二进制数。将32位数据通过移 位器由高到低的分成4组,在控制脚的操控下依次送入单片机内。在单片机内数 据的处理方式如下:先定义数组:reg3232=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,;在控制脚依次输出4个上升沿。当第一次上升沿来临时,将32位数据的低8位 送入reg7至reg0。当第二次上升沿来临时,将32位数据的次低8位送入reg15 至reg8。当第三次上升沿来临时,再将32位数据的次高8位送入reg23至 reg16。当第四次上升沿来临时,将
14、32位数据的高8位送入reg31至reg24。通过for语句实现上述功能:for(i=0;i4;i+)P2.0=0;for(i=0;i4;i+)P2.0=0;P2.0=1;for(j=i*8-1;ji*8+8;j+) t=j%8;reg32j=P1.t;连续取四次数据输出一上升沿/将8位数据依次存入数组II、数制的转换先通过公式 fx= (2人0) *reg0 + (2人1) *reg1 +、+ (2人31) *reg31, 计算出fx对应的十进制数据。再通过求模、求余计算出各位上对应的数。具体 操作如下:定义数组:fx_data8=0,0,0,0,0,0,0,0;数组中每一位的值为:fx_d
15、ata0=fx/10000000;fx_data1=fx/1000000%10;fx_data2=fx/100000%10;fx_data3=fx/10000%10;fx_data4=fx/1000%10;fx_data5=fx/100%10;fx_data6=fx/10%10;fx_data7=fx%10;四、设计小结1、设计的优点及缺点本频率计最大优点在于它的高精度。信号频率的测量,不受闸门信号精度的 影响。在被测信号送入计数器之前,先通过D触发器,使闸门信号和被测信号 同步,有效地避免了1误差。不仅如此,本频率计对1HZ至1MHZ的全域相 对误差均小于百万之一。当然,本频率计也存在缺点。在频率计的设计中,乘法器为32位,除法器 采用64位,资源占用率太大。单片机处理32位数据的方式有待改进,要是它变 得更优化。2、心得体会本次实验最大的收获莫过于,独立系统的去完成一项任务。在其中我查阅了 大量的资料,尤其是数字电路、quarters II软件使用说明、EDA设计等方面的资料。 通过本次学习使我对时序电路有了更深的理解,具体体现在复位、计数、锁存多 环节的控制上。同时,在这次实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年修模教育高中试题及答案
- 深度解析(2026)《GBT 29867-2013纺织品 针织物 结构表示方法》
- 深度解析(2026)《GBT 29834.3-2013系统与软件维护性 第3部分:测试方法》
- 深度解析(2026)《GBT 29669-2013化妆品中N-亚硝基二甲基胺等10种挥发性亚硝胺的测定 气相色谱-质谱质谱法》
- 《GBT 7896-2008人造光学石英晶体试验方法》(2026年)合规红线与避坑实操手册
- 《DL/T 2609-2023主动干预型消弧装置验收运维规范》(2026年)合规红线与避坑实操手册
- 2026年社区物业维修服务合同协议
- 个人职业发展方向规划
- 2026一年级下《我多想去看看》教学课件
- 医院收费处内控制度
- 国资委安全生产十条硬措施
- 2026年湖北省高三(4月)调研模拟考试地理试卷(含答案)
- 2026内蒙古呼伦贝尔市林草执法人员招聘35人考试模拟试题及答案解析
- 2026年北京中考数学二轮复习 难点06 新定义综合题几何与函数(4大题型)(重难专练)
- (二模)2026年广州市普通高中高三毕业班综合测试(二)物理试卷(含答案及解析)
- 2026年马工程民法学配套基础试题库及一套完整答案详解
- 2026执业医师定期考核真题库(含答案)
- 2026年天津食品集团有限公司校园招聘笔试备考试题及答案解析
- 【2026年中考复习】全国中考物理真卷综合能力题100道(上)
- 残联出纳会计责任制度
- 屋顶分布式光伏发电技术交底
评论
0/150
提交评论