2012-01-31 43 views
1

我想開發一個USB協議分析儀,使用我的Windows 7 x64 PC作爲通信中間人。使用電腦作爲USB通信中間人

使用嵌入式系統有時候我有兩個通過USB「通話」的設備,我需要看看他們「說」什麼。

我的想法是將這兩個設備連接到我的電腦,並告訴我的應用程序這些是通信中使用的2個端口。接下來,應用程序將監聽兩個端口,記錄消息並將其重定向到另一個端口。

如果有一種方法可以使用原始USB數據,而無需爲這些USB設備安裝驅動程序(其中一些沒有Windows驅動程序),那將是完美的。

我對C#和Java有所瞭解,但其他語言也可以接受。

+3

爲什麼downvote ??? – 2012-01-31 20:01:52

回答

1

您將需要使用USB嗅探程序,如SnoopyPro(免費軟件開源)來獲取數據。我不知道它是否有辦法將捕捉實時轉發到您的程序,但您可以保存捕獲,然後在您自己的代碼中進行後處理。這隻有在其中一個端點是您的計算機時纔有效。

如果你有一個永遠不可能用你的電腦兩臺設備,你可能會需要specialized hardware(該cheepest一個爲$ 400和它不會做的更高速的傳輸速率,您需要$ 1200的模型來做到這一點。)

+0

爲了能夠停止一個設備並將自己的數據發送給另一個設備,我寧願對通信進行完全控制。我知道如何使用嵌入式系統來做到這一點,但我現在沒有任何開發板 – rnunes 2012-01-31 20:05:02

+1

如果沒有某種硬件,這兩種設備之間不可能實現,我越想越少知道你甚至可以在Linux中編寫驅動程序來做到這一點,因爲主板上的芯片組是做什麼的初始握手。一些如何讓您的計算機仿真既是一臺設備的「主機」又是另一臺設備的「外設」。 – 2012-01-31 20:09:00

+0

如果我焊接一個USB分線器,那裏有1個母頭和2個公頭USB連接器(是將它連接到電腦的第二個公頭),然後用它來記錄交換的消息,那麼該怎麼辦?你認爲操作系統不會破壞溝通嗎?我只是避免購買開發板來解決「不常見」的問題 – rnunes 2012-01-31 20:13:52

相關問題