2015-11-14 17 views
1

我有一個與在2000年製造的嵌入式設備通信的舊的Java程序的程序使用標準的Windows串行堆棧(從我所知道的,當我在我看到這樣的請求窗口捕捉使用PORTMON該數據通信設備IRP_MJ_WRITEIOCTL_SERIAL_SET_RTS)。分析可能不完全符合RS-232標準的串行通信?

的裝置然而,使用串行到立體聲插頭連接器,類似於this連接到串行端口在計算機上。我相信這意味着設備本身只能使用兩個引腳發送信號。

如何分析,試圖扭轉工程師的協議在兩個設備之間原始通信?我在Windows上,但能夠轉移到OS X或* unix。我知道在某些時候,我將不得不寫一些東西來處理設備如何通信的細節,但是你們建議如何收集信息?

+1

立體聲插頭/插孔足以用於三線RS232鏈路(TXD,RXD,GND)。使用示波器來驗證電壓電平,並嘗試測量波特率。 – sawdust

+0

波特率似乎是1200,這是安裝程序在嘗試通信之前在Windows上設置的東西。然後安裝程序提示用戶輸入一個串行數據,如果輸入並且有效,則發送到該嵌入式設備以驗證它是否匹配。如果我使用putty連接到串行端口,那麼我看到ASCII中的序列號很好,它只是填充了雙方的數據,我想要獲取該數據用於分析的原始數據。 – crims0n

+1

*「Serial」*不是一個名詞,它是一個形容詞。 *「安裝程序然後提示用戶輸入序列,...」* - 串行*什麼*? *「我看到序列...」* - 串行數據?除波特率之外,還需要確定其他配置參數:數據長度,奇偶校驗和停止位。確定數據是全部ASCII還是二進制。 – sawdust

回答

2

立體聲插座只是實現最小的基於RS-232連接的廉價方式。這不應該影響監測。

Portmon應顯示您需要調查的協議的數據。 IRP_MJ_WRITE請求包含發送到設備的數據,而IRP_MJ_READ請求包含設備發送的數據。

1

如果你不能通過軟件攔截的方式做到這一點,一個簡單的多通道邏輯分析(例如FX2 USB設計之一)應該能夠捕獲發送和接收線上的流量,然後允許你軟件可以對此進行解碼,以查看傳輸,響應以及兩者之間的任何延遲的完整相互作用。