我正在使用FTDI 2232H迷你模块作为我正在研究的系统的模块。我试图使用FTDI的GPIO而不是TDO / DI引脚(MPSSE模式)从器件串行读取数据。因此,例如,我的想法是将GPIO输入连接到器件的输出,并在FTDI发送的每个SCLK上,检查GPIO输入是高电平还是低电平。通过这样做,我可以将这些高点或低点分别作为1或0存储到缓冲区中。
是否可以执行此操作,或与FTDI类似的操作?
有没有办法保持SCLK脉冲或上升沿/下降沿的计数?
我在Windows环境中使用C ++。
由于
答案 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并跟踪它。