在 lattice machXO3 dev 上使用 ft2232H。木板
use ft2232H on lattice machXO3 dev. board
首先抱歉,如果这是一个简单的问题,但我无法弄清楚。我有这个 development board and on page 19 on the kits user guide the block diagram shows a RS232 line and on page 20 and 22 the schematic show the pins I need to connect to use RS232. My problem is that, despite being able to configure the fpga/cpld, I cannot find the com port on my computer (using pyserial and the following code(我尝试将第 15 行中的 COM%s 更改为 FTUSB-%s)。所以我的问题是:
FTDI, ft2232h USB 到 UART/FIFO, 芯片在计算机端(如 arduino 的虚拟 COM 端口)使用什么接口(串行,并行...)?
在 lattice 的软件上,有 3 个选项可以对设备进行编程。该程序显示如下:HW-USBN-2b (FTDI)(端口为 FTUSB-0)、HW-USBN-2b(端口为 ezUSB-0)和 HW-DLN-3C。我如何使用它们中的任何一个与莱迪思软件之外的设备进行通信?
谢谢你的时间。
1) RS232 是 UART 的组合,具有特定的高电平和低电平(即 +3 至 +15V 和 -3 至 -15V afaik。永远不要将 RS232 适配器连接到标准 3.3V 或 5V 设备例如 UART、TTL-UART 等。Lattice Semiconductor 文档只是明显误用了 RS232 一词——尽量不要上当(恕我直言,他们产品的性能与其文档和支持的质量强烈反相关)。
2) linked 文档的第 19 页显示了以下部分:订购信息、技术支持协助、修订历史。移动了一页?
3) FT2232H 可用于多种模式。这取决于它的寻址方式以及闪存到与其连接的 EEPROM 的设置(在开发板上有一个,但 FT2232H 也可以不使用)。开发板采用标准配置,旨在通过 JTAG 引脚进行编程,FT2232H 通过 lattice diamond 的 D2XX 驱动器打开。出于这个原因,他们使用禁止用作虚拟 com 端口的设置刷新了 EEPROM。 FTDI 闪存软件可用于更改该行为 - 分别针对每个银行。
4) 焊桥可用于重新排列连接(例如,如果想从 JTAG 接口更改为 SPI 或 I2C 编程接口)。在您的情况下,您很可能希望在 R14 和 R15 上放置桥接器,以便将 UART link 正确连接到 FT2232H 的端口 B。编辑:这样可以在 JTAG 模式下使用端口 A 对 FT2232H 和端口 B 进行编程,以通过例如UART 或什至其他模式,如快速光电或并行 bus/FIFO - 如果焊接了正确的桥。如果要避免使用 D2XXX 驱动程序。
,可能仍需要更改 EEPROM 设置以使端口 B 作为 VCP 可见
大部分内容在之前的回复中已经说过,但这里又以一种稍微不同的方式再次出现。这是准备使用到 FPGA 的 UART 连接所需的,但之后仍需要将任何通用 UART 模块配置到 FPGA 中:
这是在 Lattice MachXO3D 开发板上测试的,但我反复检查至少这部分的引脚与您链接的 MachXO3L 板相同:
首先,您需要桥接(焊接)电阻器 R14 和 R15,以将 UART RX 和 TX 引脚从 FTDI 连接到 FPGA。您可以使用 0 欧姆电阻器或仅使用焊锡,它们足够接近。之后,FPGA pins/sites C11(=Tx) 和 A11(=Rx) 可用于 FPGA 内部的 UART,您可能将其用作 Verilog/VHDL 设计。您可以通过查看用户指南的“附录 A. 示意图”找到此信息。
此外,MachXO3D 至少需要用 FTDI 的“ftprog”软件重新配置 FTDI 芯片。不确定 MachXO3L 是否需要它,但它很容易检查并且不会造成伤害:
运行“ftprog”。 Search/Parse 为您的 FTDI 芯片找到“端口 B”的配置,并将“硬件”从“245 FIFO”更改为“RS232 UART”,将“驱动程序”从“D2XX”更改为“虚拟 COM 端口”。然后你从 FTDI 芯片获得的两个端口中的第二个(Windows 中的 COM#,Linux 中的 /dev/ttyUSB#;# 是一个数字)应该可以通过一些虚拟终端软件使用,与 python-serial 等一起使用
在 Linux 中,必须卸载 ftdi_sio 内核模块 (sudo modprobe -r ftdi_sio) Lattice Diamond 才能对 FPGA 进行编程,然后加载再次(sudo modprobe ftdi_sio),以便能够使用相应的 /dev/ttyUSB# 设备。在 Windows 中不需要它,只需使用 COM# 与 python 一起使用。也欢迎在 Linux 中提出任何简化此操作的建议!
无论如何,如前所述,您仍然需要在FPGA中编程并连接到相应站点才能使用它的相应UART模块。
更新:我发现在一个非常隐蔽的位置,Lattice 也记录了其中的一部分,这是他们的 Propel SDK 的用户指南。您可以在此处找到第 39 页开始的信息:Lattice Propel SDK 2.0 User Guide
首先抱歉,如果这是一个简单的问题,但我无法弄清楚。我有这个 development board and on page 19 on the kits user guide the block diagram shows a RS232 line and on page 20 and 22 the schematic show the pins I need to connect to use RS232. My problem is that, despite being able to configure the fpga/cpld, I cannot find the com port on my computer (using pyserial and the following code(我尝试将第 15 行中的 COM%s 更改为 FTUSB-%s)。所以我的问题是:
FTDI, ft2232h USB 到 UART/FIFO, 芯片在计算机端(如 arduino 的虚拟 COM 端口)使用什么接口(串行,并行...)?
在 lattice 的软件上,有 3 个选项可以对设备进行编程。该程序显示如下:HW-USBN-2b (FTDI)(端口为 FTUSB-0)、HW-USBN-2b(端口为 ezUSB-0)和 HW-DLN-3C。我如何使用它们中的任何一个与莱迪思软件之外的设备进行通信?
谢谢你的时间。
1) RS232 是 UART 的组合,具有特定的高电平和低电平(即 +3 至 +15V 和 -3 至 -15V afaik。永远不要将 RS232 适配器连接到标准 3.3V 或 5V 设备例如 UART、TTL-UART 等。Lattice Semiconductor 文档只是明显误用了 RS232 一词——尽量不要上当(恕我直言,他们产品的性能与其文档和支持的质量强烈反相关)。
2) linked 文档的第 19 页显示了以下部分:订购信息、技术支持协助、修订历史。移动了一页?
3) FT2232H 可用于多种模式。这取决于它的寻址方式以及闪存到与其连接的 EEPROM 的设置(在开发板上有一个,但 FT2232H 也可以不使用)。开发板采用标准配置,旨在通过 JTAG 引脚进行编程,FT2232H 通过 lattice diamond 的 D2XX 驱动器打开。出于这个原因,他们使用禁止用作虚拟 com 端口的设置刷新了 EEPROM。 FTDI 闪存软件可用于更改该行为 - 分别针对每个银行。
4) 焊桥可用于重新排列连接(例如,如果想从 JTAG 接口更改为 SPI 或 I2C 编程接口)。在您的情况下,您很可能希望在 R14 和 R15 上放置桥接器,以便将 UART link 正确连接到 FT2232H 的端口 B。编辑:这样可以在 JTAG 模式下使用端口 A 对 FT2232H 和端口 B 进行编程,以通过例如UART 或什至其他模式,如快速光电或并行 bus/FIFO - 如果焊接了正确的桥。如果要避免使用 D2XXX 驱动程序。
,可能仍需要更改 EEPROM 设置以使端口 B 作为 VCP 可见大部分内容在之前的回复中已经说过,但这里又以一种稍微不同的方式再次出现。这是准备使用到 FPGA 的 UART 连接所需的,但之后仍需要将任何通用 UART 模块配置到 FPGA 中:
这是在 Lattice MachXO3D 开发板上测试的,但我反复检查至少这部分的引脚与您链接的 MachXO3L 板相同: 首先,您需要桥接(焊接)电阻器 R14 和 R15,以将 UART RX 和 TX 引脚从 FTDI 连接到 FPGA。您可以使用 0 欧姆电阻器或仅使用焊锡,它们足够接近。之后,FPGA pins/sites C11(=Tx) 和 A11(=Rx) 可用于 FPGA 内部的 UART,您可能将其用作 Verilog/VHDL 设计。您可以通过查看用户指南的“附录 A. 示意图”找到此信息。
此外,MachXO3D 至少需要用 FTDI 的“ftprog”软件重新配置 FTDI 芯片。不确定 MachXO3L 是否需要它,但它很容易检查并且不会造成伤害: 运行“ftprog”。 Search/Parse 为您的 FTDI 芯片找到“端口 B”的配置,并将“硬件”从“245 FIFO”更改为“RS232 UART”,将“驱动程序”从“D2XX”更改为“虚拟 COM 端口”。然后你从 FTDI 芯片获得的两个端口中的第二个(Windows 中的 COM#,Linux 中的 /dev/ttyUSB#;# 是一个数字)应该可以通过一些虚拟终端软件使用,与 python-serial 等一起使用
在 Linux 中,必须卸载 ftdi_sio 内核模块 (sudo modprobe -r ftdi_sio) Lattice Diamond 才能对 FPGA 进行编程,然后加载再次(sudo modprobe ftdi_sio),以便能够使用相应的 /dev/ttyUSB# 设备。在 Windows 中不需要它,只需使用 COM# 与 python 一起使用。也欢迎在 Linux 中提出任何简化此操作的建议!
无论如何,如前所述,您仍然需要在FPGA中编程并连接到相应站点才能使用它的相应UART模块。
更新:我发现在一个非常隐蔽的位置,Lattice 也记录了其中的一部分,这是他们的 Propel SDK 的用户指南。您可以在此处找到第 39 页开始的信息:Lattice Propel SDK 2.0 User Guide