【问题标题】:File transfer between PC and FPGAPC 和 FPGA 之间的文件传输
【发布时间】:2015-01-17 02:49:56
【问题描述】:

我是 FPGA 新手,这是我第一次尝试在 FPGA 板和 PC 之间传输文件。 我有 Digilent Atlys spartan 6 xc6slx45 板。

我已经尝试了很多谷歌,但我无法找到任何有价值的信息。所有信息都包含一些模棱两可的东西。

我只能找到 Vertix 5 板的通讯手册。 http://www.fpgadeveloper.com/2008/10/tri-mode-ethernet-mac.html

谁能给我任何链接或一些信息,以便我可以做更多的工作。

现在,我只是在尝试写入任何文件并读取 FPGA 板中存储的数据。 我可以接受任何设备通信,例如 USB 或 HDMI 或 USB 或串行端口。

谢谢!

【问题讨论】:

  • 有很多方法可以做到这一点...答案取决于您使用的文件类型有多复杂以及您希望它有多灵活。文件只有几个字节吗?如果是这样,通过 UART 发送它们并将它们存储在 FPGA 上的双端口存储器中可能会更容易。
  • 我想上传两种类型的文件,即几个字节和超过千字节。我想对这些文件值执行一些数学运算。而且我只会上传 txt 文件。
  • 在我看来,您将最幸运地连接到 UART。它们对于 FPGA 新手来说是最简单的。将文件从您的计算机串行发送到 FPGA。如果您需要对文件进行复杂的文本解析或任何操作,您可以考虑在 FPGA 中放置一个软核并编写 C 代码来定位它。

标签: file-transfer fpga xilinx


【解决方案1】:

您的 Digilent 开发板附带一个软件 (Adept),可提供简单(远程)I/O 和文件传输功能 => Adept screenshot for ATLYS

或者,您可以为您的系统添加一个 UART。例如,由 Ken Chapman 开发的 Xilinx 的 UART6 宏 => PicoBlaze example design incl. UART macros 这些宏可扩展到大约 1,25 MByte/s。您的 ATLYS 板的 USB-UART 桥支持高达 12 MBit/s。但大多数终端软件限制在 921 或 115,2 kBit/s。

如果您需要更多带宽,您可以使用千兆以太网并传输原始以太网帧,或者您可以添加一个简单的 IPv4/UDP 堆栈。 UDP 提供了一个简单且远程可用的软件接口,因为几乎每种编程语言/库都支持套接字通信。

【讨论】:

  • 我过去在 UDP 方面取得了相对成功。用 Python 编写一个库,构建一个标准(有效)标头并将数据包发送出去。
【解决方案2】:

Paebbels 是正确的,Adept 是要走的路。但是,您需要查看Adept SDK 内部。该软件仅适用于默认比特流。

注意:一些示例设计不包含必要的接口并驱动未使用的引脚...然后您将短路您的电路板,这可能会损坏它。不过 Atlys 的设计应该没问题!)

您可以在 SDK 文档文件夹中找到所有必要的信息。注意同步和异步接口描述。这两个接口包含在许多 Digilent 板上。对于高带宽,您应该尽可能使用同步接口。

为了让您立即开始,请查看 DEPP 示例设计中的示例目录。 在 HDL 中包含示例设计后,您可以使用 Adept 软件传输文件,即对固定地址执行字节写入/读取。

或者,您可以使用包含的库和头文件来编写自定义软件以满足您的需求。

【讨论】:

    猜你喜欢
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多