4 回答
TA贡献1786条经验 获得超11个赞
当使用 FTDI 串行到 USB 转换器时,您通常会获得一个虚拟 com 端口,该端口被 Windows 识别为即插即用设备。一个小型内部电子电路板放置在 FTDI 电缆的 USB 插头中,该电缆执行从串行 UART 接口到 USB 的转换。
当您现在请求有关已连接设备的信息时,您将获得已连接即插即用设备的信息,即 FTDI 电缆板,而不是此电缆后面的设备的信息。例如,当使用这种电缆连接读卡器时,您会得到 FTDI 电缆板的序列号,而不是读卡器的序列号。
但是有可能可以检索到有用的信息。FTDI 有一个名为FT_Prog的程序,它允许对电缆中的 EEPROM 板进行编程。使用此工具,您可以更改一些可以从 FTDI 电缆检索的信息,如下图所示。
有时会这样做,但对设备制造商来说不是强制性的。当它完成时,没有标准化的方案来说明这些领域的内容。您需要自己的已知设备标识符字典来处理它。
另一种方法是直接从电缆后面的设备获取信息。但在这种情况下,您需要知道能够与设备通信的通信协议。如果使用专有协议,您唯一的机会是使用嗅探器硬件对协议进行逆向工程,但这可能有点极端^^
TA贡献1829条经验 获得超9个赞
USB 规范允许(不要求)设备提供包含序列号的字符串描述符 - 或者更好的是它可以是任何字符串。
幸运的是,FTDI 提供了唯一的序列号。请参阅此线程Get Serial Number of USB device with Python 3
TA贡献1784条经验 获得超8个赞
FTDI 通常允许使用 EEPROM(实际上在大多数情况下是简单的闪存)来存储有关产品的特定信息。例如,可以分配一个特定的 vendorID、ProductID、SerialNo、Manufacturer Desc.、Product Desc。但它只是可选的(有关详细信息,请搜索 FT_Prog)。所以每个产品设计师都有自由,但不需要填写他/她想要的任何东西。如果您有一组想要支持的设备,您可以检查它们是否支持符合 SCPI 的接口。在这种情况下,您可以使用 *IDN? 关于他们的身份。如果没有,您可以希望产品已正确写入 ROM 以提供更多信息。在任何其他情况下,您只能猜测。
TA贡献1772条经验 获得超6个赞
如果使用 FTDI 的公司对购买自己的供应商 ID 不感兴趣,那么您就不走运了。FTDI 背后没有标准协议,因此没有通用的方法来检测其背后的设备。
添加回答
举报