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.

[参考译文] TM4C1294NCPDT:tm4c1294如何加载 FPGA

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/718602/tm4c1294ncpdt-tm4c1294-how-to-load-fpga

器件型号:TM4C1294NCPDT

我们使用 ARM 从闪存加载 fpga.bin,ARM 将 fpga.bin 发送到 FPGA 以启动 FPGA。

我们的电路板上有一个 FPGA (7A200T)、一个 ARM (tm4c1294)、一个闪存(N25Q)。

1、ARM 与闪存连接、FPGA 与 ARM 连接;
2. FPGA 配置模式[111]、从串行;
3.上电,arm 将 program_b 设置为高电平,然后设置为低电平,再次设置为高电平,arm 读取 init_b,该值为高电平。
ARM 从闪存读取 fpga.bin、并使用 SPI 将数据包发送到 FPGA、每次数据包为1024字节、fpga.bin 为7MB;
5. ARM 完成发送数据包,发现 DONE 信号始终为低电平。

哪一步是错误的? 请给我一些建议,谢谢。

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

    使用"kiss"是否没有用处-以及:

    • 发送(远小于)到"7MB" 、并确定"更小"的数据传输是否成功?    (MCU 和 FPGA 之间...  BTW  7Mb 似乎比7MB 更有可能)  
    • 您能否 "监控并确认" 您的每个"SPI 数据包的"失败或失败"?   "捕捉"首次出现的"问题或错误"是否有用?
    • 您是否监控了 MCU 和 FPGA 之间的所有信号?   它们都 是、"符合规格?"
    •  此问题是否发生在"超过单个电路板"上?   显示此问题的电路板百分比是多少?
    • 此设计(曾经)是否成功?   您过去是否使用过该(确切) FPGA、并且成功了?   (如果是、请重点关注过去(ok)和现在(失败)之间似乎"有问题"的问题。)
    • 您的"一"信号保持低电平会产生什么后果?   您是否能够"读取 FPGA 内容的任何内容?   (如果是-该内容是否正确?)
    • 它证明了数据传输速率的 L O W'非常有用、因此传输获得"最大成功几率"
    • 关键范围上限(您的报告中没有)提供了正确诊断此类问题的"最佳"方法。   所有关键信号(和时序)都应清晰呈现。  (信号应贴好标签!)
    • "标准程序"是一个有效(并且最近确认)的"链接"-至 FPGA 数据表。   帮助者不必要的"过度工作"-证明不符合您的优势...

    请注意 、 管理(MCU 和 FPGA 之间的)硬件和软件接口是"您的"责任。   

    您通过询问 "哪个步骤(IN)错误?"来"完成"   由于您拥有自己的电路板、因此您(唯一的)不能:

    • 确认 MCU 从闪存中检索到的数据是否正确?
    • 确认数据随后被 MCU "发送"-"确认"存储在闪存中的数据?
    • 在整个数据传输过程中、确认 FPGA 的"握手"符合规范且正确

    您采用 这样的"核对表"-应该使您能够最好地"回答您自己的问题"-难道不是这样吗?   (作为您的助手 crüe 在这里-对您的结果进行零访问-如、'check-listed!')

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

    这里真的没有足够的细节来让我们尝试并提供建议... 如果您可以解决 CB1的一些问题、我们中的一个可能有更好的机会能够发现可能的问题。 您可以提供的有关故障发生时间和故障行为的详细信息越多、我们就越有机会提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。

    • 确认 MCU 从闪存中检索到的数据是否正确?
      • ARM 从闪存读取每个数据包、使用 SPI 将数据包发送到 FPGA、并使用以太网将数据 包发送到 PC、PC 会显示数据是正确的。

    • 确认数据随后被 MCU "发送"-"确认"存储在闪存中的数据?
      • 是的,它是相同的。

    • 在整个数据传输过程中、确认 FPGA 的"握手"符合规范且正确
      • 我不确定。

        可能,ARM 会使用 SPI 将数据包发送到 FPGA,因此应始终启用 SPI。

        • tm4c1294只有256KB SRAM, 因此我无法将7MB 文件放入 RAM 中,我必须将较小的数据放入 RAM 中,当我将数据放入 RAM 时,SPI clk 会被禁用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您-但出于"已加速和轻松"的诊断目的-您尚未:

    • 提供了在传输到 FPGA 期间 MCU 和 FPGA 之间所有关键/关键信号的请求示波器电容器
    • 提供了指向 FPGA 数据表的链接(再次请求)
    • 已提供(任何)对从 MCU 发送到 FPGA 的1024个大小的"数据包"中的"失败或失败"的响应

    如果可以确定1024个大小的数据包中是否有(任何)个数据包"已接收"、这将会带来巨大的帮助。    如果不是、则应创建并测试一个小得多的数据包、以加快/简化 此类  MCU "何时"和"为什么"的确定-> FPGA 传输失败...

    您必须注意到、我们(可能)相隔数千英里、并且必须(严重)依赖"您"作为我们的"眼睛和耳朵"、以便我们为成功创造最佳机会。   您对(两次)列出的请求的合规性-(真的)是必需的...

    和-请注意、您之前(在您的初始帖子中)注意到、"哪个步骤是(IN)错误?   请提供一些建议、谢谢。"   

    现在您列出了五个步骤-但根据您的问题的性质-您似乎没有测试过(任何)这些步骤。  (您不知道-哪些(如果有)步骤出错。)   然而 、您的第二篇帖子表明您(已经或现在已经)已经完成了此类测试(测试了这五个步骤)、并且只有 MCU 到 FPGA 的传输仍然是"可疑的"。   这种理解是否正确?

    如果是、需要清晰(标记良好)的示波器捕获、FPGA 数据表的工作链接以及传输"小得多"数据包(即64 - 128字节数据包)时(任何)成功的报告 都证明有必要 为您提供进一步的帮助。   

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

    谢谢,我将按照您的指导再次尝试。