• 大小: 442KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: FPGA  

资源简介

基于FPGA的等精度测量,测频率、相位的精度很高

资源截图

代码片段和文件信息

#define freq_test_h
#include
#include
#include

ulong Frequency_test( )         //频率测量
{  
    spul =0;      //初始化
    clr  =0;
    cl   =0;
    sel_0=0;
    sel_1=0;
    sel_2=0;

    delay2(5);
    spul=1;
    clr=1;
    delay2(20);
    clr=0;
    cl =1;        //允许计数
    delay2(1000);      //注意:门控计数时间,很关键
    cl=0;               //关门控,在被测信号下个上升沿到来时停止计数

    while(start);

 
//    if(start==0)  
//    {  
        
        sel_0=1;        //取标准计数值31~24位
        sel_1=1;
        sel_2=0;
        data1=dat;

        sel_0=0;
        sel_1=1;
        sel_2=0;
        data1<<=8;
        data1|=dat;

        sel_0=1;
        sel_1=0;
        sel_2=0;
        data1<<=8;
        data1|=dat;

        sel_0=0;        //取标准计数值7~0位
        sel_1=0;
        sel_2=0;
        data1<<=8;
        data1|=dat;

        sel_0=1;          //取被测信号计数值31~24位
        sel_1=1;
        sel_2=1;
        data2=dat;     

        sel_0=0;
        sel_1=1;
        sel_2=1;
        data2<<=8;
        data2|=dat;

        sel_0=1;      
        sel_1=0;
        sel_2=1;
        data2<<=8;
        data2|=dat;

        sel_0=0;       //取被测信号计数值7~0位
        sel_1=0;
        sel_2=1;
        data2<<=8;
        data2|=dat;

//    }

    fx=((clk_ref*data2)/data1)*100;   //先扩大100倍,注意:必须强制将此定位浮点型
    return(fx);
}

void display_freq( )
{
    fx_array[6] = fx/1000000+‘0‘;
    fx_array[5] = fx%1000000/100000+‘0‘;
    fx_array[4] = fx%100000/10000+‘0‘;
    fx_array[3] = fx%10000/1000+‘0‘;
    fx_array[2] = fx%1000/100+‘0‘;
    fx_array[1] = fx%100/10+‘0‘;
    fx_array[0] = fx%10+‘0‘;

    Lcd1602_Write_Data(24fx_array[6]);
    Lcd1602_Write_Data(25fx_array[5]);
    Lcd1602_Write_Data(26fx_array[4]);
    Lcd1602_Write_Data(27fx_array[3]);
    Lcd1602_Write_Data(28fx_array[2]);
    Lcd1602_Write_Data(29‘.‘);
    Lcd1602_Write_Data(210fx_array[1]);
    Lcd1602_Write_Data(211fx_array[0]);
    Lcd1602_Write_String(212“Hz“);

}


uint Factor_test( )         //相位测量

    

    spul =0;      //初始化
    clr  =0;
    cl   =0;
    sel_0=0;
    sel_1=0;
    sel_2=0;

    delay2(1);
    cl=1;
    clr=1;
    delay2(10);
    clr=0;

    while(!eend);

//    if(eend==1)        //高电平计数完成
//    {
        sel_0=1;        //取标准计数值31~24位
        sel_1=1;
        sel_2=0;
        data3=dat;

        sel_0=0;
        sel_1=1;
        sel_2=0;
        data3<<=8;
        data3|=dat;

        sel_0=1;
        sel_1=0;
        sel_2=0;
        data3<<=8;
        data3|=dat;

        sel_0=0;        //取标准计数值7~0位
        sel_1=0;
        sel_2=0;
        data3<<=8;
        data3|=dat;

//    }

    delay2(50);
    spul=0;
    cl =0;      //允许计数 测量信号低电
    delay2(20);
    clr=1; 
    delay2(10);
    clr=0;

    while(!eend);
//    if(eend==1)         //测量低电平完成
//    {
        sel_0=1;        //取标准计数值31~24位

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        907  2008-06-03 08:09  频率相位测试\频率相位计(FPGA)\cexiang.qpf

     文件         90  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\cexiang.qws

     文件       8667  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.asm.rpt

     文件       2890  2008-05-20 14:18  频率相位测试\频率相位计(FPGA)\etester.bsf

     文件        388  2008-07-27 19:28  频率相位测试\频率相位计(FPGA)\etester.cdf

     文件         26  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.done

     文件        239  2008-06-02 20:00  频率相位测试\频率相位计(FPGA)\etester.dpf

     文件     108789  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester.fit.rpt

     文件        411  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester.fit.smsg

     文件        407  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester.fit.summary

     文件       6653  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.flow.rpt

     文件         21  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.jdi

     文件      19387  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester.map.rpt

     文件        316  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester.map.summary

     文件      30972  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester.pin

     文件     131258  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.pof

     文件        906  2008-05-17 21:57  频率相位测试\频率相位计(FPGA)\etester.qpf

     文件       2977  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.qsf

     文件        152  2008-08-18 11:21  频率相位测试\频率相位计(FPGA)\etester.qws

     文件    6520635  2008-05-20 15:16  频率相位测试\频率相位计(FPGA)\etester.sim.rpt

     文件     140505  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.sof

     文件     127904  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.tan.rpt

     文件       1898  2010-11-27 15:38  频率相位测试\频率相位计(FPGA)\etester.tan.summary

     文件       2741  2008-07-27 17:32  频率相位测试\频率相位计(FPGA)\etester.vhd

     文件       2741  2008-07-27 17:18  频率相位测试\频率相位计(FPGA)\etester.vhd.bak

     文件      42608  2010-11-27 15:37  频率相位测试\频率相位计(FPGA)\etester_assignment_defaults.qdf

     文件      99765  2008-07-27 18:07  频率相位测试\频率相位计(FPGA)\prev_cmp_etester.qmsg

     文件       1322  2008-05-05 16:20  频率相位测试\频率相位计(FPGA)\signalprobe_qsf.tcl

     文件        155  2008-05-05 16:59  频率相位测试\频率相位计(FPGA)\sopc_builder_log.txt

     文件      18805  2008-05-05 16:45  频率相位测试\频率相位计(FPGA)\stp1.stp

............此处省略107个文件信息

评论

共有 条评论