⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directif.cpp

📁 完整的基于Conxant平台的USB电视棒的WIN驱动程序。
💻 CPP
📖 第 1 页 / 共 5 页
字号:

        if (if_freq < 3000000)
            if_freq = 3000000;

        if (if_freq > 16000000)
            if_freq = 16000000;
    }
    DbgLog(("\nDirectIF::setDIFbandpass(0x%x)if_freq(%d)\n", pll_freq_word,if_freq ));
    
    switch (if_freq)
    {
        case 3000000:
            // BEGIN - DIF BPF register values from 30_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x00000002);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0x00080012);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0x001e0024);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x001bfff8);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0xffb4ff50);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0xfed8fe68);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xfe24fe34);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfebaffc7);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0x014d031f);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0x04f0065d);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x07010688);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x04c901d6);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0xfe00f9d3);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xf600f342);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf235f337);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf64efb22);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0x0105070f);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0c460fce);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 30_quant.dat
            break;

        case 3100000:
            // BEGIN - DIF BPF register values from 31_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x00000001);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0x00070012);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0x00220032);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x00370026);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0xfff0ff91);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0xff0efe7c);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xfe01fdcc);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfe0afedb);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0x00440224);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0x0434060c);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x0738074e);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x06090361);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0xff99fb39);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xf6fef3b6);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf21af2a5);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf573fa33);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0x0034067d);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0bfb0fb9);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 31_quant.dat
            break;

        case 3200000:
            // BEGIN - DIF BPF register values from 32_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x00000000);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0x0004000e);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0x00200038);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x004c004f);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x002fffdf);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0xff5cfeb6);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xfe0dfd92);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfd7ffe03);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xff36010a);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0x03410575);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x072607d2);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x071804d5);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x0134fcb7);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xf81ff451);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf223f22e);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf4a7f94b);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xff6405e8);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0bae0fa4);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 32_quant.dat
            break;

        case 3300000:
            // BEGIN - DIF BPF register values from 33_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x0000ffff);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0x00000008);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0x001a0036);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x0056006d);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x00670030);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0xffbdff10);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xfe46fd8d);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfd25fd4f);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfe35ffe0);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0x0224049f);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x06c9080e);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x07ef0627);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x02c9fe45);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xf961f513);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf250f1d2);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf3ecf869);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xfe930552);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0b5f0f8f);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 33_quant.dat
            break;

        case 3400000:
            // BEGIN - DIF BPF register values from 34_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0xfffffffe);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfffd0001);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0x000f002c);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x0054007d);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x0093007c);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x0024ff82);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xfea6fdbb);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfd03fcca);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfd51feb9);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0x00eb0392);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x06270802);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x08880750);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x044dffdb);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xfabdf5f8);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf2a0f193);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf342f78f);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xfdc404b9);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0b0e0f78);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 34_quant.dat
            break;

        case 3500000:
            // BEGIN - DIF BPF register values from 35_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0xfffffffd);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfffafff9);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0x0002001b);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x0046007d);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x00ad00ba);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x00870000);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xff26fe1a);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfd1bfc7e);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfc99fda4);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0xffa5025c);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x054507ad);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x08dd0847);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x05b80172);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xfc2ef6ff);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf313f170);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf2abf6bd);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xfcf6041f);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0abc0f61);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 35_quant.dat
            break;

        case 3600000:
            // BEGIN - DIF BPF register values from 36_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0xfffffffd);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfff8fff3);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0xfff50006);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x002f006c);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x00b200e3);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x00dc007e);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0xffb9fea0);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfd6bfc71);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfc17fcb1);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0xfe65010b);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x042d0713);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x08ec0906);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x07020302);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xfdaff823);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf3a7f16a);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf228f5f5);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xfc2a0384);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0a670f4a);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 36_quant.dat
            break;

        case 3700000:
            // BEGIN - DIF BPF register values from 37_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x0000fffd);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfff7ffef);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0xffe9fff1);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0x0010004d);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x00a100f2);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x011a00f0);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0x0053ff44);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfdedfca2);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfbd3fbef);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0xfd39ffae);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x02ea0638);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x08b50987);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x08230483);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0xff39f960);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf45bf180);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf1b8f537);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xfb6102e7);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x0a110f32);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 37_quant.dat
            break;

        case 3800000:
            // BEGIN - DIF BPF register values from 38_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x0000fffe);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfff9ffee);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0xffe1ffdd);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0xfff00024);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x007c00e5);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x013a014a);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0x00e6fff8);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xfe98fd0f);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfbd3fb67);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0xfc32fe54);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x01880525);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x083909c7);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x091505ee);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0x00c7fab3);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf52df1b4);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf15df484);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xfa9b0249);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x09ba0f19);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 38_quant.dat
            break;

        case 3900000:
            // BEGIN - DIF BPF register values from 39_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x00000000);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfffbfff0);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0xffdeffcf);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0xffd1fff6);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x004800be);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x01390184);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0x016300ac);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0xff5efdb1);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfc17fb23);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0xfb5cfd0d);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0x001703e4);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x077b09c4);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x09d2073c);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0x0251fc18);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf61cf203);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf118f3dc);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xf9d801aa);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x09600eff);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);
            // END - DIF BPF register values from 39_quant.dat
            break;

        case 4000000:
            // BEGIN - DIF BPF register values from 40_quant.dat
            _p_registers->writeDword(DIF_BPF_COEFF01,    0x00000001);
            _p_registers->writeDword(DIF_BPF_COEFF23,    0xfffefff4);
            _p_registers->writeDword(DIF_BPF_COEFF45,    0xffe1ffc8);
            _p_registers->writeDword(DIF_BPF_COEFF67,    0xffbaffca);
            _p_registers->writeDword(DIF_BPF_COEFF89,    0x000b0082);
            _p_registers->writeDword(DIF_BPF_COEFF1011,  0x01170198);
            _p_registers->writeDword(DIF_BPF_COEFF1213,  0x01c10152);
            _p_registers->writeDword(DIF_BPF_COEFF1415,  0x0030fe7b);
            _p_registers->writeDword(DIF_BPF_COEFF1617,  0xfc99fb24);
            _p_registers->writeDword(DIF_BPF_COEFF1819,  0xfac3fbe9);
            _p_registers->writeDword(DIF_BPF_COEFF2021,  0xfea5027f);
            _p_registers->writeDword(DIF_BPF_COEFF2223,  0x0683097f);
            _p_registers->writeDword(DIF_BPF_COEFF2425,  0x0a560867);
            _p_registers->writeDword(DIF_BPF_COEFF2627,  0x03d2fd89);
            _p_registers->writeDword(DIF_BPF_COEFF2829,  0xf723f26f);
            _p_registers->writeDword(DIF_BPF_COEFF3031,  0xf0e8f341);
            _p_registers->writeDword(DIF_BPF_COEFF3233,  0xf919010a);
            _p_registers->writeDword(DIF_BPF_COEFF3435,  0x09060ee5);
            _p_registers->writeDword(DIF_BPF_COEFF36,    0x110d0000);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -