This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AFE7901:在器件启动序列后更改奈奎斯特频带(和 RX 频率)

Guru**** 2455360 points
Other Parts Discussed in Thread: AFE7901, AFE7950

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1519506/afe7901-change-nyquist-band-and-rx-frequency-after-device-bringup-sequence

器件型号:AFE7901
主题中讨论的其他器件: AFE7950

工具/软件:

您好、

我们正在定制电路板上使用 AFE7901、并尝试通过 updateRxNco 函数在运行时(启动后)更改 RX NCO 频率。
对于初始奈奎斯特频带之外的频率、该操作失败。

我在本主题 — https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1279331/afe7950evm-is-it-possible-to-dynamically-change-the-nco-frequency/4857586 中阅读了 有关 AFE7950 的内容
提示完成初始启动逻辑后无法更改最安静的频带。

由于此特性确实对我有帮助、因此我想问、我们是否有办法在 AFE7901 上引导后更改这两者(或任何其他方法,以更改奈奎斯特频带的 RX 频率,而无需再次执行启动序列)。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alon:

    在 ADC 侧、可以跨奈奎斯特区域更改 NCO、但在 DAC 侧、这不受支持。  

    只需确认一下、您是否使用 CAFE 库“updateRxNco"函“函数来更改 NCO?  

    当您说“操作失败“时、您能解释更多吗? 是否未看到输入或频谱看起来不好?  

    此致、

    David Chaparro  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在使用`Ω updateRxNco`函数、它返回状态失败返回值。

    检查该函数后、如果断言两个频率(电流和新频率)位于同一奈奎斯特频带上(它们并非如此)、则看起来会失败。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、只需签入查看您是否可以分享有关此问题的任何更新或结果。

    提前感谢您!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alon:

    您能否共享用于 AFE 配置的 AFE 脚本? 更改 NCO 频率应该不会出现问题。 您是否还可以共享失败的函数调用?  

    此致、

    David Chaparro

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、我可能不清楚、但配置脚本成功配置了 AFE(共享它以防 — AFE 配置)
    出现该问题的方法是在配置阶段后尝试调用`updateRxNco`函数。

    检查咖啡厅库中的`updateRxNco`源后、我注意到、 如果旧频率和新频率之间存在不同的奈奎斯特频带、它会进行验证并尽早中止:

        uint32_t mixerVal = 3000;
        uint32_t Fadc = AFE79_CURR_SYSPARAM.FadcRx;
        uint64_t ncoFreq;
        uint8_t byteList[7];
        uint8_t numOfOperands = 0;
        uint8_t byteListRxNCO[4];
        uint8_t newNyquistNo;
        uint8_t bringupNyquistNo = ((AFE79_CURR_SYSPARAM.rxNco[0][chNo][0] * 2) / Fadc);
    
        if (AFE79_CURR_SYSPARAM.ncoFreqMode == 1) /*FCW mode*/
        {
            ncoFreq = ((uint64_t)mixer * (uint64_t)Fadc) / (0x100000000);
            ncoFreq += Fadc * (bringupNyquistNo >> 1);
            newNyquistNo = (mixer >> 31);
            if (newNyquistNo != (bringupNyquistNo & 1)){ // Checking if the nyquist frequency
                afeLogErr("%s", "The new Nyquist frequency and the frequency set in bringup should be same");
                AFE79_PARAMS_VALID(newNyquistNo == (bringupNyquistNo & 1));
            }
        }
        else
        {
            ncoFreq = mixer;
            mixer = mixer % Fadc;
            newNyquistNo = ((ncoFreq * 2) / Fadc);
            if (newNyquistNo != bringupNyquistNo){ // Checking if the nyquist frequency
                afeLogErr("%s", "The new Nyquist frequency and the frequency set in bringup should be same");
                AFE79_PARAMS_VALID(newNyquistNo == bringupNyquistNo);
            }
        }
     

    我们正在使用最新的 CAFE 版本 (V2p6)

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,只是签入 — 是否有此方面的新更新?
    我仍然不确定这是不受设计支持还是配置错误/我没有使用正确的功能。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alon:

    与团队核实后、我们发现在将 NCO 频率切换到新的奈奎斯特区域时、性能可能会有所下降、因此如果您需要最佳性能、建议您保持在同一个奈奎斯特区域内。 因此、updateRxNco 函数尝试将 NCO 保持在相同的奈奎斯特范围内。  

    此致、

    David Chaparro