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 背后沒有標準協議,因此沒有通用的方法來檢測其背后的設備。
添加回答
舉報