在 FTDI 2232H 迷你模块上使用 GPIO 输入代替 TDO/DI

Using GPIO input instead of TDO/DI on the FTDI 2232H Mini-Module

我正在使用 FTDI 2232H 迷你模块作为我正在使用的系统的模块。我正在尝试使用 FTDI 的 GPIO 而不是 TDO/DI 引脚(MPSSE 模式)从设备串行读取数据。因此,例如,我的想法可能是将 GPIO 输入连接到设备的输出,并在 FTDI 发送的每个 SCLK 上检查 GPIO 输入是高电平还是低电平。通过这样做,我将能够将这些高点或低点分别存储为 1 或 0 到缓冲区中。

是否可以这样做,或者与 FTDI 类似?

有没有办法保持 SCLK 脉冲或 rising/falling 个边沿的计数?

我在 Windows 环境中使用 C++。

谢谢

您所描述的是使用 FTDI 芯片支持的 bit banging 包括 FT232H。 这是我在我的设备 Nusbio 中使用的技术 计算是用 C# 编写的。

这里有一些源代码执行 SPI bit banging 以从 EEPROM 读取数据。 EEPROM/SPI/EEPROM_25AAXXX_BASE.cs

Bit banging 适合 FT232RL 或 FT231X 等芯片。 但是如果你有一个FT232H,你可以做的更好。

回答你的问题关键是知道什么是沟通 您尝试从中读取数据的设备使用的协议。

如果协议是SPI、I2C、JTAG或Serial Port那么你应该使用native FT232H 支持的模式。 如前所述,它称为 mpsse,多协议同步串行引擎 简化同步串行协议(USB 到 JTAG、I2C、SPI (MASTER) 或 bit-bang) 设计.

如果您的设备支持某些带有您提到的 CLOCK 线的外部协议,则您可能需要编写自己的 bit banging。

Is there a way to keep count of SCLK pulses or rising/falling edges? The Windows PC moslt likely would considered the master so your program is in charge of clocking HIGH and LOW and keeping track of it.

I2C Bit banging Adafruit 16x9 LED Matrix with Nusbio

mpsse SPI with the FT232H and OLED 128x64 display