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.

[参考译文] AFE7444EVM:使用 AFE7444评估 GUI 设置正确的配置

Guru**** 2482105 points
Other Parts Discussed in Thread: AFE7444

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

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/849298/afe7444evm-setting-the-right-configuration-using-afe7444-evaluation-gui

器件型号:AFE7444EVM
主题中讨论的其他器件:AFE7444

您好、TI。

首先是一个小反馈。
我已经为 AFE7444配置工作了几周。 我使用了主数据表、编程人员指南和 TRM。 我发现信息非常分散、信息不是直接提供的。 此外、每个文档中的某些术语、缩写和缩写、寄存器名称也不同!

因此、我希望您能帮助我确定如何至少设置主设置。

我的目标是:
RX (ADC):数据:2x16位、IQ SR:491.52MS/s、ADC SR:2929.12MS/s、抽取率:6.
TX (DAC):数据:2x16位、IQ SR:491.52MS/s、DAC SR:8847,36MS/s、插值18.

问题是、任何示例表中都未提及这些 Decim 和 interp 参数、但在文本说明中、即使在第一页上、我们也可以发现此器件具有此类配置。

1) 1)简单地说、我对如何设置抽取的特定值非常困惑。
据说抽取在中设置:DDC 寄存器0x21
但是分贝字段只有4位、如何才能将其用作32分贝因子? 还有信息:"在半速率模式下、抽取因子减半、因此最终输出速率相同。 在半速率模式下、DecimFactorIndex 0和1无效"
在主数据表和 DDC 寄存器0x40说明中几乎没有提到半速率模式,它被称为 half-rate 模式“未使用”..... 真的很困惑。

我保存了所有预定义模式的启动序列以进行比较! 但我没有发现与抽取值和寄存器值有任何关联! 更多内容在 TRM 第449页寄存器0x248中意外发现的注释:"DecimFactor = 0xD、这是3倍抽取率(IQ)"。 reg 值与抽取本身之间的依赖关系是什么?

2)插值的情况完全相同。 它是 TX_Duc 寄存器0x26、但我不理解如何正确选择它。 在第68页的主数据表中、表2中有一些信息、但并非所有插值都有!


3) 3)还说:"AFE7444评估模块(EVM) GUI 应用于将 AFE7444设置为所需模式、并自动生成用于 SPI 配置的所有必要寄存器。" 但是、除非它不是预定义的模式、否则没有任何有关如何使用它的说明!

我尝试在"高级"选项卡中设置所需的设置、然后在此选项卡上也按下"运行完成启动序列"。 但没有任何变化。 我打开了脚本窗口并按开始录制以按照顺序执行操作、但它始终相同! 我还不知道如何更改和保存新配置。

4) 4)此外、我还没有找到如何根据 DDC/DUC 的参数估算/计算 JESD 配置。

我真的希望 TI 社区能帮助我解决所有这些问题。 我非常确信、这将有助于 AFE74xx 的许多其他新用户。

期待收到您的回复、
谢谢你

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

    Nihal、

    我们将对此进行研究。

    此致、

    Jim

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

    Nihal、  

    请观看围绕该部件旋转的视频系列。 从"浏览数据表"开始、然后继续。 您会发现您的许多问题都在那里得到了解答。

    https://training.ti.com/getting-started-with-the-afe74xx-rf-sampling-transceiver

    谢谢

    优素福

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

    优素福,你认真吗?
    我问了这么多直接和明确的问题、但没有得到答案! 您认为、在为此付出了这么长时间的努力之后、我还没有查看过这些视频?

    很抱歉、如果你觉得我很生气、但我很生气! 我问您有关抽取的直接问题、我问您有关插值的直接问题、有关 JESD 配置的直接问题、以及有关如何实现、如何设置未包含在预定义模式中但在数据表中提到的设置的问题。

    非常好的优素福

    但昨天我似乎找到了解决方案。 TI 社区、您有兴趣在 AFE74xx 系列中使用您自己的设置。
    我还没有在硬件中检查它、因为我很着急为您提供解决方案、因为 TI 已经将此主题标记为"已解决"、很快就会关闭。
    但是、至少对于该解决方案、您将看到 SPI 序列会根据您的设置进行更改。

    说明:
    1) 1)开启 AFE7444evm。

    2) 2)以 admin 身份运行 AFE74xx 软件

    3) 3)转到"高级"选项卡。

    4) 4)在右下角、您可以找到"Seq. 转储模式"部分。 默认情况下、它处于关闭状态。 为 PG1.4选择 On (我不知道 PG 版本之间有何差异、但至少可以这样做)。 此设置为您提供一个包含 progmramming 序列的日志文件(c:\Program Files (x86)\Texas Instruments\AFE74xx\Python Integration Plugin\supportscripts\logfile.txt)、而不是直接将其写入器件。 重要提示:软件是错误的、因此如果您使用了此转储函数并关闭了软件、下次启动软件时、该函数将被丢弃、但实际上不会被丢弃。 要停用它-再次打开它、然后关闭下一个 Tun 它。 否则、GUI 仍会在文件中写入序列、而不是向芯片发送命令。

    5) 5)开启转储模式后(4)下一步是转到 GUI 的右上角、按按钮 Init。 脚本。 按照我的理解、这就像 GUI 的复位功能。 您可以看到、按下此按钮后、日志文件将被刷新。

    6) 6)现在是使用 GUI 界面进行所有必要设置的时候了。

    7) 7)完成设置后、您需要"保存"此条件。 在 Init Script 附近的同一节中、有"Get RX/TX Dig path and JESD config"。 这是锁存按钮。 按下它后、它将冻结所有设置。

    8) 8)下一步是获取 LMK 模块(时钟模块)的 SPI 序列。 按 LMKConfig 按钮、您将在日志文件中看到结果。

    9) 9) logfile 对您的设置和 SPI 序列也有很好的说明。 仔细检查所有内容、如果一切正常、我建议您使用函数"Convert to CFG format"(转换为 CFG 格式)(可在右下角找到)。 它将当前日志文件转换为 cfg 格式、以便可以使用 cfg 文件进行未来配置。

    10) 10)完成步骤9后、现在是时候获取主序列了。 为此、请按右上角的"Run complete startup sequence"按钮。 此函数使用新序列重写日志文件(因此、保存上一步的结果非常重要)。 使用"转换为 CFG 格式"函数将启动序列保存为 cfg 格式。


    下一步、我们所有人都要检查这些 cfgs 文件是否正常工作、并在芯片中设置正确的设置。
    此外、如果您想进行一些新的更改、我建议您关闭 AFE74xx 软件并从 sratch 执行所有操作、以防...

    关于另一个问题:要了解如何正确计算 JESD 配置、您可以查看以下文章 :https://e2e.ti.com/blogs_/b/analoguewire/archive/2014/09/24/jesd204b-determining-your-link-configuration
    尝试计算您的参数、您可以在 LMK 配置后使用日志文件进行检查。

    我希望它能在硬件中工作...

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

    大家好、我发现生成的 CFG 无法提供有效配置、因为我对 PG1.4、2.0和3.0的含义不了解。 我仍然成功地在硬件上运行了正确的设置。

    给 TI:请不要关闭主题! 周末后、我将提供更新的算法。

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

    Nihal、  

    遗憾的是、仅支持器件工作模式表中列出的配置。 将更新数据表以反映没有可用的抽取因子6。  

    优素福

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

    Yusuf,你真的让我感到困惑..........

    如果它不起作用、我如何使用此模式运行芯片?

    当我执行以下操作时:(几乎相同的算法、只是不要使用 序列。 转储模式)

    1) 1)开启 AFE7444evm

    2) 2)以 admin 身份运行 AFE74xx 软件

    3) 3)转到"高级"选项卡。

    4) 4)设置所需设置。

    5) 5)按 Init 脚本

    6) 6)按 Get RX/TX Dig path 和 JESD 配置

    7) 7)按 LMKConfig (等待序列将写入芯片)

    8)按 Run Complete Startup Sequence (运行完成启动序列)(等待序列写入芯片、大约需要20秒)

    这甚至适用于抽取 x6和 interp x18! 我使用"中继器模式"脚本检查了它。 使用此类设置时、带宽应为~400MHz、是这样! 您可以在图片上看到它。

    现在我有一个问题:如何保存主脚本??? 当我尝试在"脚本"菜单中开始录制时、它对我无效。 它会记录一些命令、但当我尝试使用此脚本时、它不会提供与我按下"run complete Startup Sequence"时相同的结果。

    我尝试使用自己的工作脚本"开始录制"进行录制-但它做的不对! 与原始脚本相比、记录的序列缺少一些命令。

    当我尝试使用"Seq. 转储模式"、正如我之前所述、当您选择不同的 PG 选项时、它会提供不同的结果。 我甚至不知道 PG 的含义! 问题是、当我使用"Low Level View"选项卡时、CFG 也不起作用。

    请帮帮我! 我们之所以购买此芯片、是因为拥有400MHz 带宽非常重要! 现在你告诉我它不起作用是怎么可能的?  

    正如我告诉过您的、我已经成功设置了这个模式、现在请帮助我从您的软件中获取 SPI 序列!

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

    Nihal、  

    向我发送您正在使用的高级模式设置的图片。  

    优素福

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

    是的、Yusuf、请:

    然后检查、我使用此脚本:

    
    
    导入时间
    
    ############################
    DEF WRITE_AND_CHECK (PAGE、reg、w_value):
    
    R_Value = 0
    gui.write_register (page、reg、w_value)
    R_Value = GUI.Read_register (page、reg)
    
    如果(r_value!= w_value):
    打印('error:W_value ='、w_value、'r_value ='、r_value)
    
    其他:
    #打印("适合您")
    
    ################################
    
    
    ################################
    打印'################################ "
    打印"开始脚本回送模式"
    打印"####################### '
    
    Gui_Module_import__('AFE74xx')
    Gui=Gui_Module.Device_GUI ("AFE74xx")
    
    
    ##中继器模式序列
    #
    打印"启动序列"
    
    WRITE_AND_CHECK ("LMK04828"、0x0139、0x02) # Sysref Pulse
    write_and_check ("LMK04828"、0x0139、0x03) # Sysref continuous
    
    
    GUI.write_register ("AFE76xx_global"、0x11、0x8)#选择 TRAFFICCNTL page
    write_and_check ("TRAFFICCNTL"、0x1A0、0xB8) #禁用 SYSREF 门控
    GUI.write_register ("AFE76xx_global"、0x11、0x0)#关闭 TRAFFICCNTL PAGE
    
    
    GUI.write_register ("AFE76xx_global"、0x10、0x01)#选择 TX_DUC_P0 (ch A)
    write_and_check ("TX_ducp0"、0x7E、0x1A) JESD 弹性缓冲器的#深度。 值<= mem_k_M1 (p:JESD_TX、r:0x20)
    GUI.write_register ("AFE76xx_global"、0x10、0x00)# Close TX_DUC_P0 (ch A)
    
    
    GUI.write_register ("AFE76xx_global"、0x11、0x3)#
    20、TXDIG_P0 (ch a) GUI.write_register ("AFE76xx_global"、0x11、0x3)#、0x20、TXDIG_P0) TX_TOPS
    GUI.WRITE_register ("AFE76xx_GLOBAL (0x11、0x0)# Close TXDIG_P0 page
    
    
    GUI.WRITE_register ("AFE76xx_GLOBAL (0x17、0xC)# Select SerDes_JESD_TX page
    WRITE_AND_CHECK ("JESD_TXD)、0x45、0x80) # RX init_state set
    write_and_check ("JESD_TX"、0x26、0xF) # RX JESD_CLEAR_DATA SET
    WRITE_AND_CHECK ("JESD_TX"、0x45、0xC0) # FB init_state set
    write_and_check ("JESD_TX"、0x45、0xE0) # FIFO inti_state set
    GUI.write_register ("AFE76xx_global"、0x17、0x0)# Close SerDes_JESD_TX page
    
    
    GUI.write_register ("AFE76xx_global"、0x11、0x8)# Select TRAFFICCNTL page
    WRITE_AND_CHECK ("TRAFFICCNTL "、0xC5) 2T2R TOPS
    WRITE_AND_CHECK 均启用# RX-TX 环回("TRAFFICCNTL"、0xCF、0x1) #环回 FIFO init_state set
    write_and_check ("TRAFFICCNTL"、0xCF、0x0) #环回 FIFO init_state clear
    GUI.write_register ("AFE76xx_global"、0x11、0x0)# Close TRAFFICCNTL page
    
    
    GUI.write_register ("AFE76xx_global"、0x17、0xC)# Select SerDes_JESD_TX page
    write_and_check ("JESD_TX"、0x45、0xC0) # RX init_state clear
    write_and_check ("JESD_TX"、0x45、0x80) # FB init_state clear
    write_and_check ("JESD_TX"、0x45、0x00) # FIFO inti_state clear
    write_and_check ("JESD_TX"、0x26、0x00) # RX JESD_CLEAR_DATA CLEAR
    GUI.WRITE_register ("AFE76xx_GLOBAL "、0x17、0x0)# Close SerDes_JESD_TX PAGE
    
    
    GUI.WRITE_register ("AFE76xx_GLOBAL "、0x11、0x3)# Select TXDIG_P0 page
    WRITE_AND_CHECK ("TX_digp0"、0x20、0x0) 针对两个 TX_TOPS
    GUI.WRITE_register ("AFE76xx_GLOBAL (0x11、0x0)# Close TXDIG_P0 page
    
    
    GUI.WRITE_register ("AFE76xx_GLOBAL (0x11、0x8)# Select TRAFFICCNTL page
    WRITE_AND_CHECK ("TRAFFICCNT"、0x1A0、0x0、FC) # Gate SYSREF
    GUI.WRITE_register ("AFE76xx_GLOBAL "、0x11、0x0)# Close TRAFFICCNTL page
    
    
    ## SYNC programming
    GUI.WRITE_register ("AFE76xx_GLOBAL "、0x17、0xC)# Select SerDes_JESD_TX page
    write_and_check ("JESD_TX"、0x72、0xFF) #用 K28.5
    TIME.SLEEP (0.10)覆盖 STX 输出 #延迟100ms
    WRITE_AND_CHECK ("JESD_TX"、0x72、0xF0) #使用 K28.5
    GUI.WRITE_register ("AFE76xx_GLOBAL (0x17、0x0)覆盖 STX 输出#关闭 SerDes_JESD_TX 页面
    
    打印"完成序列"
    
    
    
    打印'##############################
    "打印'End script loopback mode'
    (结束脚本环回模式)打印'############################## '
    

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

    您好、Yusuf!

    你有更新吗? 您是否测试了我的设置?

    我们正在放松时间,当然还有金钱! 如果工作正常,如何保存命令序列以在没有 GUI 的情况下设置我的设置...脚本记录不能正常工作,根据 PG 版本,日志转换为 CFG 文件的结果不同(不知道这意味着什么),使用此 cfg 也不起作用。 请帮助我解决此问题。

    我们购买了评估板、我们购买了几块芯片、现在由于您的不活动而卡住了。

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

    Nihal、  

    如前所述、您所需的模式目前不受支持。 但是、我继续为您所需的自定义模式创建了配置文件、我将以私人消息的形式将其发送给您。  

    优素福

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

    此外、如何通过 GUI 选择合适的 JESD 配置也不清楚。

    例如:

    我有16位(I、Q)数据、ADC 和 DAC 的采样率为491.52MS/s。

    根据数据表中的说明、我无法理解是否可以使用以下配置在 AFE7444中创建8个独立的 JESD 链接:22210? (对于 RxA、RxB、RXC、RxD、TxA、 TXB、TxC、TXD)

    或者、只能使用 以下配置创建4个独立的 JESD 链路:44210? (用于 RxTOP0、RXTOP1和 TX_TOP0、TX_TOP1)

    这是第一个问题。

    第二个问题是、这些设置如何与您的 GUI 连接? 请查看 JESD 设置部分。

    有 ADC0/1路径和 ACD2/3路径。 这是什么? 是来自每个 RXTOP 的 AB 和 CD 吗? 为什么名字不同?? 在这些配置的右侧、它意味着/2RX 或/1RX 是什么?

    如果您为每个 RXTOP 显示不同的设置、为什么 DAC 路径只有一个部分? 关于/2TX 或/1TX 的同一个问题、这意味着什么?

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

    Nihal、  

    要回答您的问题、只能与 AFE 建立3个独立的 JESD 链路。 RXTOP0和 RXTOP1可以有两种不同的链路配置。 TXTOP0&1共享相同的配置。  

    这转换为 GUI 的方式是 ADC 0/1对应于 RX A/B ADC 2/3为 RX C/D 您可以看到两条路径如何单独编程、其中 DAC 路径只有一个选项。  

    允许您选择/2TX 或/1TX 的 GUI 部分只是尝试指定您选择的 LMFS 参数是对应于1TX 还是2TX。  

    例如。 44210/2TX 的 JESD 设置。 表示对于2TX、4个器件有4个通道(1个器件= iDATA 或 Qdata、因此4个器件= 2个 I/q 对。 每个 TX 包含1个 I/q 对)、这意味着每个 TX 被编程为在总共8个串行器/解串器通道中的2个上传输其各自的数据。 44210/2TX 的 TX JESD 设置与22210/21TX 完全相同。 (请参阅下图)因此将 GUI 编程为任一 JESD 设置会导致相同的配置、具体取决于您要选择的配置。  

    现在、对于 RX。 由于有两条路径能够在两个不同的 JESD 链路上运行、因此我可以使用1个 JESD 链路设置对 RXA/B 进行编程、并使用 GUI 中的 ADC 2/3路径将 RXC/D 编程为不同的路径。  

    这是否回答了您的问题?

    优素福

     

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

    [引用用户="Nihal ummer "]

    说明:
    1) 1)开启 AFE7444evm

    2) 2)以 admin 身份运行 AFE74xx 软件

    3) 3)转到"高级"选项卡。

    4) 4)在右下角、您可以找到"Seq. 转储模式"部分。 默认情况下、它处于关闭状态。 为 PG30选择 On (开)(我不知道 PG 版本之间的区别是什么、但至少可以这样做)。 此设置为您提供一个包含编程序列的日志文件(c:\Program Files (x86)\Texas Instruments\AFE74xx\Python Integration Plugin\supportscripts\logfile.txt)、而不是直接将其写入器件。 重要说明:软件是错误的、因此如果您使用了此转储函数并关闭了软件、下次启动软件时、将显示此函数是否关闭、但实际上不是。 要停用它-再次打开它、然后关闭下一个 Tun 它。 否则、GUI 仍会在文件中写入序列、而不是向芯片发送命令。

    5) 5)开启转储模式(4)后、下一步是转到 GUI 的右上角、按按钮 Init。 脚本。 按照我的理解、这就像 GUI 的复位功能。 您可以看到、按下此按钮后、日志文件将被刷新。

    6) 6)现在是使用 GUI 界面进行所有必要设置的时候了。

    7) 7)完成设置后、您需要"保存"此条件。 在 Init Script 附近的同一节中、有"Get RX/TX Dig path and JESD config"。 这是锁存按钮。 按下它后、它将冻结所有设置。

    8) 8)下一步是获取 LMK 模块(时钟模块)的 SPI 序列。 按 LMKConfig 按钮、您将在日志文件中看到结果。

    9) 9) logfile 对您的设置和 SPI 序列也有很好的说明。 仔细检查所有内容、如果一切正常、我建议您使用函数"Convert to CFG format"(转换为 CFG 格式)(可在右下角找到)。 它将当前日志文件转换为 cfg 格式、以便可以使用 cfg 文件进行未来配置。

    10) 10)完成步骤9后、现在是时候获取主序列了。 为此、请按右上角的"Run complete startup sequence"按钮。 此函数使用新序列重写日志文件(因此、保存上一步的结果非常重要)。 使用"转换为 CFG 格式"函数将启动序列保存为 cfg 格式。

    [/报价]

    在与 Yusuf 转换后 、我在报价中确定了一些有关正确工作的详细信息!

    我需要添加重要注释:在用于启动序列的 cfg 文件中、您可以找到:

    w 0x005e 0x00//应在此处写入 bbc 中的值。
    W 0x005e 0xXXXXXXX//应相应地修改上述行,并删除此行。 

    bbb 它在 TRAFFICCNTL 页面中注册。 您应该读取芯片的值并将其放置在中、而不是这两行、例如

    W 0x005e 0x3C

    之后、我在一个常见的 cfg 文件中将 LMK cfg 与启动序列 cfg 组合在一起、并在 AFE74xx GUI 中将该文件与低级视图选项卡结合使用。

    现在它起作用了!