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.

[参考译文] AFE8030EVM:覆盖 NCO

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1325850/afe8030evm-override-nco

器件型号:AFE8030EVM

在尝试使用 overrideTxNcoSel ()和 overrideRxNcoSel ()时,我们正面临一个问题,并将真正感谢您的帮助。

 

在使用它之前,我用 updateTxNcoSb ()配置 NCO0和 NCO1频率,然后发送带有参数(afe_inst, txChSel=0xff,overrideEn=1 ,overrideVal=1 )的 overrideTxNcoSel ()命令来切换第二个 NCO。

通道0、1、2、3上的一切看起来都很好、但通道4、5、6、7保持在第一个 NCO 频率、这意味着它没有切换到第二个 NCO。

读取两个 NCO 频率是可以的–所以我认为它与 updateTxNcoSb()命令无关。

我还尝试将 chSel 更改为单个通道(例如 txChSel=0x10)、但仍然无法正常工作。

 

有什么建议可能会出现什么问题? (附上了我们正在使用的十六进制文件–我们为单频带启用了两个 NCO)

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

    您好 Ohad:

    我们已收到您的请求。 我们的应用程序团队成员将在2月19日美国度假后返回,我们将能够在2月20日星期二后回复。 谢谢!

    -姜

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

    您好、ohad:

    对此需要检查的一点是 NCO TX 模式-您可以使用 C API 函数get_ncoTxMode(afeInst, bandNo=0)来检查此情况。 如果返回0、则不会启用 TX NCO 开关。

    从配置指南的第9.3节开始、必须正确设置 ncoTxMode、numTxNCO、txNco、才能启用 NCO 切换。 默认情况下、ncoTxMode 可能不会设置为用于 NCO 开关。  

    请尝试使用 C API 命令:set_ncoTxMode(afeInst, bandNo=0, val=2),然后运行overrideTxNcoSel()并查看是否启用 NCO 切换。

    还请确保使用 C API 将 numTxNco 设置为2get_numTxNco(afeInst, bandNo=0)。 我认为 txNco 应该在你使用updateTxNcoSb()函数并且正确读回 NCO 时被设定。

    如果以上修复无法解决您的问题、您能否 再次尝试附加您的 hex 文件? 我没有看到它在上面没有连接。 您可以将其拖放到回复框中、也可以单击"插入 "→"图像/视频/文件"将其上载到此主题的回复中。

    谢谢。  

    阿曼

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

    从随附的 Idan 中生成的十六进制文件。

    e2e.ti.com/.../AFE80xx_5F00_AST_5F00_dual_5F00_NCO_5F00_newteam.hex

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

    您好!

    在使用 Latte 2.9的默认配置上也会出现此问题。  这可能是 CAPI 问题、因为我们可以通过直接 SPI 设置覆盖、它们用于切换 NCO。  当我们处理 CAPI 问题时、这将是您的权变措施。

    请参阅 附件以了解覆盖 SPI 写入。

    此致、

    阿里

    e2e.ti.com/.../GPIO_5F00_writes_5F00_for_5F00_NCO_5F00_switch.txt

       

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

    您好、ohad:

    我之前已经向 Ali 提供了这些 SPI 写入、但错误地仅给出了针对 TX 的寄存器写入。 有关 RX 和 TX 进行 NCO 切换的寄存器写入、请参阅以下附件。 抱歉与此相关的混淆。

    e2e.ti.com/.../GPIO_5F00_writes_5F00_for_5F00_NCO_5F00_switch_5F00_RXTX.txt

    谢谢。

    阿曼

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

    您好、Aman:

     

    非常感谢您提供 FAST 解决方案。

     

    我测试了解决方法、工作正常、但现在我面临另一个问题。

    我需要单独切换每个通道的 NCO、但每次我切换1个通道的另一个通道也在切换时都要切换 Tx。

    例如:

    切换 CH0的 NCO 也切换 CH1,切换 CH2也切换 CH3,以此类推。

    它看起来像 Tx NCO 模式1的行为。

    我查看了数据表、好像我需要使用 Tx NCO 模式2 (如果我错、请更正) 、但问题是、当我使用 ncoTxMode 选择它时 、行为仍然与 Tx NCO 模式1类似。

    还有什么我应该做的吗? 我缺少什么吗?

    (Rx 工作正常)

    谢谢!

    奥哈德

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

    您好、ohad:

    我在 EVM 上使用您的 hex 文件查看了此文件并看到了相同的结果。 更改为 TX NCO 模式2是正确的、但似乎使用 C API 命令set_ncoTxMode()确实  启动后工作-我认为该函数仅用于 在加载参数后、启动之前更改参数。  

    我可以通过将 ncoTxMode 参数从[1,0]更改为[,从而重新生成一个十六进制文件来解决这个问题。 2 ,0]。 这会导致十六进制文件更改比直接进入并更改值更为复杂、因此建议重新生成十六进制文件。 我不确定您更喜欢如何设置参数、但下面介绍了三种方法:

    1. 如果使用 Latte GUI:加载参数(可以使用十六进制文件)、导航到左侧面板中的 AFE80xx→Miscellaneous (在"Tree View"(树视图)下)、然后将"TX NCO mode"(TX NCO 模式)下拉菜单更改为1pin/T。
    2. 如果使用 Excel 文件:导航至"Digital chain"电子表格并将 ncoTxMode 参数 Band0更改为1pin/1T。
    3. 如果使用的是 JSON 文件:将 ncoTxMode 参数更改为[2,0]。

    之后、您可以重新生成一个 ncoTxMode 设置为[2、0]的十六进制文件、这应该允许对 TX NCO 切换进行单独控制。   

    此外、我假设您根据上一次的回复知道这一点、但您可以通过单独运行我在上面提供的寄存器写入来设置各个通道的覆盖。 例如、在下面的写入操作中、TXA 将设置为 NCO1、RXB 将设置为 NCO0。  

    # Set TXA to NCO1
    device.writeReg(0x1B,0x1)
    device.writeReg(0xA45,0x3)
    device.writeReg(0x1B,0x0)
    
    # Set RXB to NCO0
    device.writeReg(0x1B,0x1)
    device.writeReg(0xA29,0x2)
    device.writeReg(0x1B,0x0)

    此外、请参阅以下内容、了解用于删除引脚覆盖的一些寄存器写入(如果您想使用 GPIO 来控制 NCO 选择、则需要):

    # Remove RX NCO select overrides
    device.writeReg(0x1B,0x1)
    device.writeReg(0xA25,0x0)
    device.writeReg(0xA29,0x0)
    device.writeReg(0xA2D,0x0)
    device.writeReg(0xA31,0x0)
    device.writeReg(0xA35,0x0)
    device.writeReg(0xA39,0x0)
    device.writeReg(0xA3D,0x0)
    device.writeReg(0xA41,0x0)
    device.writeReg(0x1B,0x0)
    
    # Remove TX NCO select overrides
    device.writeReg(0x1B,0x1)
    device.writeReg(0xA45,0x0)
    device.writeReg(0xA49,0x0)
    device.writeReg(0xA4D,0x0)
    device.writeReg(0xA51,0x0)
    device.writeReg(0xA55,0x0)
    device.writeReg(0xA59,0x0)
    device.writeReg(0xA5D,0x0)
    device.writeReg(0xA61,0x0)
    device.writeReg(0x1B,0x0)

    我希望这对您有所帮助、如果您需要更多帮助/说明、请告诉我!

    谢谢。

    阿曼