主题中讨论的其他器件: AFE7900、 LMK04828、 AFE7950
您好、TI 团队、
设置说明:
我有 AFE7900EVM 和 ZCU102电路板。 对于 AFE7900的独立设置、我使用带有标记脚本的 Latte GUI。 一切都像我预期的那样正常。
但我的问题是-是否可以运行我的自定义脚本(在 Latte GUI 之外)以便能够 执行相同的步骤? 如果是、我可以如何操作(库位于何处、我需要哪个 python 版本等)
提前感谢!
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.
您好、TI 团队、
设置说明:
我有 AFE7900EVM 和 ZCU102电路板。 对于 AFE7900的独立设置、我使用带有标记脚本的 Latte GUI。 一切都像我预期的那样正常。
但我的问题是-是否可以运行我的自定义脚本(在 Latte GUI 之外)以便能够 执行相同的步骤? 如果是、我可以如何操作(库位于何处、我需要哪个 python 版本等)
提前感谢!
尊敬的 Tomas:
有 几种方法可以用于在 Latte 外对 AFE 进行编程。
第一种方法是在 Latte 中运行您的脚本、使其产生一个配置文件、其中包含启动 AFE 所需的所有寄存器写入/读取/轮询。 借助此配置文件、您随后可以 使用自己的 SPI 模块对 AFE 进行编程。 要生成配置文件、可将"logDumpInst.logFormat"参数设置为"0x1"。
另一种方法是 通过 Python 控制 Latte GUI、如以下应用手册: https://www.ti.com/lit/an/sbaa397/sbaa397.pdf 所述。AFE79xx 安全文件夹中提供了上述 bsocket 文档。
此致、
David Chaparro
尊敬的 Tomas:
我们没有 Latte 软件的 dll。 需要注意的一点是、我上面提到的第一种方法必须至少在您的配置中使用一次、才能生成配置文件、该文件按照启动 AFE 所需的正确顺序包含所有读取/写入/轮询。 通过使用此配置文件、您可以在不使用 Latte 软件的情况下、使用您自己的 python 脚本来对 AFE 进行编程。
要使用 Latte 生成的配置文件在 EVM 上配置 AFE、您可以使用 TI FTDI dll 来执行 SPI 读取/写入。 可以通过以下链接下载相关文件和说明。
链接: https://tidrive.ext.ti.com/u/sfWwvyJ1sMCj9bC4/8830537e-93cb-4d0c-8084-8a93fb6683d9?l
访问代码: m5iVB9g=
此致、
David Chaparro
尊敬的 Tomas:
不使用 CPLD、因此无需与其连接。
要将 LMK 写入记录在配置文件中、可以按照以下步骤操作:
2.将‘lmk.rawWriteLogEn = 1'添加到 AFE79xx 脚本。
完成这些写入之后、还可以使用之前提供的 FTDI dll 对 LMK 进行编程。 要实例化 LMK、您可以使用以下代码作为参考。 通过使用之前提供的代码示例、您可以使用该示例对 LMK 和 AFE 进行编程、而无需使用 AFE79xx GUI 并运行多个脚本。
AFEserial = "FT8A8V8P" AFEAserial = AFEserial + 'A' AFENUM = 0 FTDI_A = ctypes.c_void_p() AFE_PROT = ctypes.c_void_p() TI_FTDI.setupFTDIdev(ctypes.byref(FTDI_A), AFEAserial.encode(), 12000000) #maximum baud rate. TI_FTDI.initSPIDev(ctypes.byref(AFE_PROT), 0, 3, 1, 2, 15, 8, True, True) TI_FTDI.mapHandles(FTDI_A, AFE_PROT, AFENUM) LMK1serial = "FT8A8V8P" LMK1Bserial = LMK1serial + 'B' LMKNUM = 0 FTDI_1 = ctypes.c_void_p() LMK_PROT = ctypes.c_void_p() TI_FTDI.setupFTDIdev(ctypes.byref(FTDI_1), LMK1Bserial.encode(), 12000000) #maximum baud rate. TI_FTDI.initSPIDev(ctypes.byref(LMK_PROT), 6, 5, 7, 4, 15, 8, True, True) TI_FTDI.mapHandles(FTDI_1, LMK_PROT, LMKNUM) spiwrites.LMKprog(TI_FTDI, LMKNUM) spiwrites.AFEprog(TI_FTDI, AFENUM)
此致、
David Chaparro
David、您好!
我尝试复制您的建议、结果如下:
对于可能的问题或我的问题、您有什么建议吗?
控制台输出: output.txt
Python 脚本: AFE7950_SPI.py
尊敬的 Tomas:
是的、您将需要创建配置文件、一个用于 AFE、一个用于 LMK。
需要检查的一点是、对 LMK 进行编程时、您是否看到"LMK 锁定"LED D4亮起? 否则、AFE 的时钟可能出现问题。 如果您还可以共享您正在使用的 SPI 写入、我可以在我这边进行测试。 您是否正在使用 AFE79xx_ZCU102 8b10b 参考设计中的 Latte 脚本?
此致、
David Chaparro
尊敬的 David:
我使用的是 ZCU102_AFE79xx_64b66b_12Gbps.zip 设计(FPGA 参考设计以及 Latte 脚本)。 我知道、在第二个线程中、我们还讨论了8b10b 设计、但它是一项并行任务。
经过测试并能正常工作的组件:
setup.py -> devinit.py -> TI_IP_12Gbps_8Lane_ConfigLmk.py。 一切都运行良好(但 D4 在此状态下未进入、但 D3为是)
然后、我尝试生成 SPI 写入:
1) 1)我设置 logDumpInst.logFormat=0x21、然后得到 Afe79xxPg1Format5.txt
2) 2)我运行 SPI_convert.py 并获得 spiwrites_step2.py
3) 我将 ‘lmk.logClassInst=logDumpInst’添加到 devInit 脚本,并 将‘lmk.rawWriteLogEn = 1’添加到 AFE79xx 脚本
4) 4)我 有一个新的 Afe79xxPg1Format5.txt
5) 5)我应用了修改后的 SPI_Convert_LMK.py (AFEENUM 替换为 LMKNUM、AFEprog 替换为 LMKprog)、我获得了 spiwrites.py
6) 6)最后、在器件重新启动(下电上电)后 、我尝试运行 AFE7950_SPI.py、但未成功、D3和 D4 LED 未亮起。
上面讨论的脚本附在以下位置: LatteConfig
尊敬的 Tomas:
看起来 LMK 未正确编程。 查看 spiwrites 文件后、看起来该文件包含适用于 LMK 和 AFE 的写入。 这意味着您要通过 AFE 寄存器写入来对 LMK 进行编程。
若要仅捕获 LMK 写入、您应遵循第3步、然后仅运行 TI_IP_12Gbps_8Lane_Config<:mk 脚本。 这应该只对 LMK 进行写入、并且写入次数应该为几百。
此致、
David Chaparro
尊敬的 David:
谢谢您的关注-我已经修复了它。 但是,我仍然无法取得成功。
脚本位于此处: LatteConfig 和他们说是正确的(希望)。 回读期间似乎有一些错误?
也许、控制台输出可能很重要:output.txt