论坛名称:714电子实验室 网址:http://www.714e.com/bbs/
  714电子实验室提供电子技术书籍教程,电子技术视频教程,EDA软件及教程下载~
  • 电子试验报告格式 作者:zhoubo890205 时间:2008-5-20 9:38:09
  •  
    电工电子实验报告

     

    学生姓名: 张能
    学生学号:05125205
    系别班级:物理系0504班
    课程名称:电子技术综合实验
    报告性质:(综合)报告
    实验地点:综合电子技术实验室
    开课学期:2007.1
    成绩评定:
    教师签名:
    选题名称:数字频率计设计

    一、设计目的:
    测量一定频率范围信号的频率。
    二、测量思想:
    计1s内被测信号脉冲的个数。
    不足:若被测信号频率不大于(1~2HZ),错误将会出现。
    三、使用的方案:
    1、整体器件选择:
    选用存在的纯硬件器件来完成任务,但是方案所需要连接硬件线路较复杂,开发周期较长,不易开始作为实验来练习。故采用可编程逻辑器件(FPGA)来完成。
    这种方法采用的硬件连线较少,可修改性好,操作较易,故选择这种方法来实验。
    2、显示器件选择:
    (1)使用数码管作为显示。在显示多位数时,数码管个数选择很受限制,其可变性差。(2)通过单片机读取数据,串口发送至PC机。可以在PC机上清楚看见数据的变化过程,对误差的分析也较易。
    四、原理框图:
     

    五、原理图:
     
    六、模块分析:
    1、分频模块
    此项是把实验箱是24MHZ晶振分成1HZ信号
     
    上图为分频后的信号,在它的上升沿把计数器清零,下降沿启动计数;到再次到来的上升沿是产生中断,同时打开数据缓冲器。
    分频AHDL语言如下:
     
    subdesign clk_1hz
    (
     clk   :input;
     clk1hz  :output;
    )
    VARIABLE
    count0[24..0]  : DFF;
     ss     : DFF;
    BEGIN
     count0[].clk = clk;
     count0[].clrn = vcc;
     ss.clk=clk;
     ss.clrn=vcc;
    IF(count0[]==H"16E3691")then
      ss=vcc;
      count0[]=0;
     ELSE
    count0[].d=count0[].q+1;
      ss=gnd;
     END IF;
     clk1hz=ss;
    END;

    2、计数模块:
    通过D触发器来计脉冲次数,每来一个脉冲就计一次数;触发器个数的选择要满足2^n>99999999。
    3、控制电路:
     
    1HZ时钟为高电平是对输入信号的封锁,同时通过非门对计数器清零;由此可知计数是在低电平段。
    4、数据缓冲:
    缓冲区选择74273芯片如图:
     
     1HZ时钟为上升沿时数据缓冲区打开,从而对数据进行更新,其他时刻计数数据对输出是无影响。
    5、数据输出:
     
    SUBDESIGN saomiao
    (
     clk,AA[31..0]  :INPUT;
     q[7..0]          :OUTPUT;
    )
    VARIABLE
     count[1..0]   : DFF;

    BEGIN
     count[].clk=clk;
     count[].clrn=vcc;

     IF(count[]==3)THEN
      count[]=0;
     ELSE
      count[].d=count[].q+1;
     END IF;
     
     CASE count[]IS
      WHEN 0 => q[]=AA[7..0];
      WHEN 1 => q[]=AA[15..8];
      WHEN 2 => q[]=AA[23..16];
      WHEN 3 => q[]=AA[31..24];
     END CASE;
    END;
     
    产生中断后,单片机发送读信号,连续发四次;每发一次读信号就会产生一个低电平,扫描模块通过每次的低电平来计数(0~3)的循环,为0时读取(0~7)位,为1时读取(8~15)位,为2时读取(16~23)位,为3时读取(24~31)位。读完的数据通过串口发送到PC机显示计数输出为BCD码。
    七、总结:(误差分析):
    1、若分频后的1s 低电平是准确,那显示频率与被测频率误差<1/F(F为被测频率)。
    2、若24MHZ晶振产生的时钟不稳定,引起分频后1s低电平是变化,故误差(基于1/F的误差)是不可避免的。
    3、若24MHZ,不一定是24MHZ会有偏移,晶振产生的时钟固定不变,基于2的误差是可以避免的。
    算法如下: 24M对应1s低电平分频16进制计数是16E3601;测量后的显示频率为f;补充1s低电平分频16进制计数的变化量为m(m带符号运算+表示加|m|,-表示减|m|);算式: 24M/m=F/(F-f).
    注意:被测信号频率不能超出晶振的振荡频率;越偏小于晶振的振荡频率越精确。
    经验小结:
    开始一个项目时,首先要对它的整体原理要知道并弄清楚,思考各模块是怎样相互联系的;假如这些不太清楚就会很盲目。在有了一个整体的模块的构想后并对各个模块可以进行设计分析,有些模块在自己没有最优的方案时,可以向别人讨论并学习。每个细节都要做好,不然到后面又会很麻烦,尽量做好每个细节,免得到后来又要重头检查,总之,尽量减少人为误差并把实验做好。
    电话:13886342126  学校:6570517/3093426


  • 作者:zhoubo890205 时间:2008-5-20 9:39:16
  • ding 


  • 作者:zhoubo890205 时间:2008-5-20 9:38:57
  • 我  顶


Google
 

欢迎光临714电子实验室 网址:http://www.714e.com/bbs/
推荐网站:
714电子实验室http://www.714e.com/