2013-01-21 27 views
13

是否可以從標準計算機以太網接口直接讀取物理以太網連接接口的位?低層以太網驅動程序讀取物理層上的位

例如,假設我想使用筆記本電腦的以太網插孔作爲差分邏輯探頭(使用標準以太網電纜)。我是否可能只是寫一個司機來獲取這些數據,或者是否有限制司機可以走多遠?

基本上不物理層只是比特流發送到設備驅動程序或它能做這將實現比特的解釋或導致設備發生故障(使用不同的編碼方案,例如)任何解碼。我想我們可以通過編寫合適的驅動程序來使用以太網端口作爲任何標準數字差分通信鏈接,或者我們僅限於ieee規範(8b/10b等等)。 )。

+0

我說,你是用USB轉RS232適配器,或一個Arduino,您可以通過編程在短短的幾分鐘內燃燒的任何類型的跳火圈好得多......或者,如果什麼東西,對(非常)低帶寬,我甚至會考慮聲卡... – ppeterka

+0

@ppeterka這不是低帶寬,它不是短距離。這基本上是使用與標準以太網不同的協議的數字通信。 – jsmdnq

+0

@jsmdq我可以閱讀,謝謝。即使你提出的建議是可能的,但它依賴於設備的高度依賴性(更不用說你必須獲得所有設備的文檔,甚至從它開始),並且需要很多時間。這就是爲什麼我寫了我寫的。順便說一句,你爲什麼需要這個?什麼是簡單的Ehternet不適合? – ppeterka

回答

2

要回答很快,可能不會。

下面是一些原因所在:

上的硬件鏈路層,實際上是在計算機和以太網電纜之間沒有電連接,所以電通過小型變壓器隔離,是電流而不是電壓驅動信號,所以這將是第一個需要克服的問題,因爲您必須在兩條線路上發送相當精確的電流,而不是單線上的電壓。 Ethernet transformers

PHY硬件接口:再下一步,是,這根本就不是由地方正在執行代碼的CPU,而是由以太網PHY芯片接口控制,有你有沒有(容易)的方式閃爍並控制它。一些不同的PHY芯片可以讓你不同的訪問級別,但我懷疑你會發現任何可以讓你直接控制傳輸接口即使它沒有,那就要落實到這也不太可能驅動程序。 Ethernet PHY Controller

也許一些其他的解決方案 作爲上述意見,如果你想擁有一臺計算機上Direct IO控制,最好的辦法是通過串行或並行端口,你或許可以找到以太網串口或USB到串口,然後玩,但這將是數字信號。

您可能需要使用另一件事是麥克風輸入,因爲這接受模擬信號,你可以在它的直接控制,但小心不要燙您的計算機。 (我見過一些在手機上使用銀行卡的磁帶)。

+0

是否有任何允許PHY級訪問的卡?這就是我想知道的,爲了賞金的目的。即使有調試硬件或其他東西。 – Brad

+0

@Brad爲什麼不使用嵌入式硬件?你通常對所有事情有更多的控制。舉例來說,Zedboard(可能不是最好的例子,但是第一個出現在我腦海中的原因是我用它來替代IP層通過自己的協議)。在那裏你可以完全控制PHY芯片(必須詳細查看PHY的數據表,它是否允許你需要做什麼),但它確實是一團糟! – yar

+0

@yar那很好。知道任何不那麼混亂的東西? :-)我不想發明自己的硬件,因爲我想從其他設備看不符合標準的以太網幀。 – Brad

1

您可以使用libpcap的/ WinPcap的做到這一點。儘管如此,你並不是完全自由的選擇你在線上寫的東西。例如序言和SFD必須在那裏。這是非常基礎的(因爲抗噪聲),典型的硬件不支持任何不同的東西。

如果你想完全控制一切,去嵌入式硬件,發現使用PHY,可以給你的信息和處理器能夠處理的數據速率的電路板。