在FTDI 2232H小型模块上使用GPIO输入而不是TDO / DI

时间:2016-06-08 01:22:56

标签: c++ serial-port embedded ftdi

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

是否可以执行此操作,或与FTDI类似的操作?

有没有办法保持SCLK脉冲或上升沿/下降沿的计数?

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

由于

1 个答案:

答案 0 :(得分:0)

您所描述的是使用FTDI芯片支持的位冲击 包括FT232H。 这是我用于我的设备Nusbio的技术以及所有有点敲击的技术 计算是用C#编写的。

这里有一些源执行SPI位敲击以从EEPROM读取数据。 EEPROM/SPI/EEPROM_25AAXXX_BASE.cs

对于像FT232RL或FT231X这样的芯片来说,位冲击很有用。 但如果你有FT232H,你可以做得更好。

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

如果协议是SPI,I2C,JTAG或串行端口,那么您应该使用本机 FT232H支持的模式。 如上所述,它被称为mpsse,多协议同步串行引擎 简化同步串行协议(USB到JTAG,I2C,SPI(MASTER)或bit-bang) 设计。

如果您的设备支持使用您提到的CLOCK线的一些开放式协议,您可能需要编写自己的位冲击。

  

有没有办法保持SCLK脉冲或上升沿/下降沿的计数?   Windows PC可能会考虑主机,因此您的程序负责计时HIGH和LOW并跟踪它。

I2C Bit banging Adafruit 16x9 LED Matrix with Nusbio

mpsse SPI with the FT232H and OLED 128x64 display