【USRP】报错:Error: RuntimeError: [ad9361_device_t] BBPLL not locked

这个错误发生得源码位于:ad9361_device.cpp

/***********************************************************************
 * Calibration functions
 ***********************************************************************/

/* Calibrate and lock the BBPLL.
 *
 * This function should be called anytime the BBPLL is tuned. */
void ad9361_device_t::_calibrate_lock_bbpll()
{
    _io_iface->poke8(0x03F, 0x05); // Start the BBPLL calibration
    _io_iface->poke8(0x03F, 0x01); // Clear the 'start' bit

    /* Increase BBPLL KV and phase margin. */
    _io_iface->poke8(0x04c, 0x86);
    _io_iface->poke8(0x04d, 0x01);
    _io_iface->poke8(0x04d, 0x05);

    /* Wait for BBPLL lock. */
    size_t count = 0;
    while (!(_io_iface->peek8(0x05e) & 0x80)) {
        if (count > 1000) {
            throw uhd::runtime_error("[ad9361_device_t] BBPLL not locked");
            break;
        }
        count++;
        std::this_thread::sleep_for(std::chrono::milliseconds(2));
    }
}

AD9361的BBPLL没有锁定上;
1、AD9361的问题,硬件问题。
2、供电不够,导致芯片无法稳定下来;
3、配置程序的问题,时序不对,导致无法稳定

你可能感兴趣的:(USRP,指南,android,USRP,NI,通信,通信工程,RF)