2013-01-21 7 views
13

物理的なイーサネット接続インタフェースから標準のコンピュータイーサネットインタフェースからビットを直接読み取ることはできますか?低レベルのイーサネットドライバが物理層からビットを読み取る

たとえば、ラップトップのイーサネットジャックを差動ロジックプローブ(標準のイーサネットケーブルを使用)として使用したいとします。私はちょうどビットを取得するためにドライバを書く可能性がありますか、またはドライバがどのくらい低く行くことができるかに限界がありますか?

本質的に、物理層はビットストリームをデバイスドライバに送信するだけであるか、ビットの解釈に影響を及ぼすか、デバイスを誤動作させるような復号化を行います(異なる符号化方式を使用するなど)。

私たちは、適切なドライバを書くことによって標準のデジタル差動通信リンクとしてイーサネットポートを使用できますか、ieee仕様(8b/10bなど)に限定していますか? )。

+0

私は、RS232アダプタやArduinoをUSBで接続する方がはるかに優れていると思いますが、これは数分でどんな種類のフープを飛び越えるようにプログラムすることもできます。非常に)低帯域幅、私はサウンドカードを検討するだろう... – ppeterka

+0

@ppeterkaそれは低帯域幅ではなく、それは短い距離ではない。基本的には、標準のイーサネットとは異なるプロトコルを使用したデジタル通信です。 – jsmdnq

+0

@jsmdq私は読むことができます、ありがとう。たとえあなたが提案したものが可能であっても、それはデバイスに非常に依存しています(すべてのデバイスがそれを使用するためのドキュメントを取得する必要はありません)。だから、私が書いたことを書きました。なぜあなたはこれを必要としますか?その普通のエールネットは何に適していないのですか? – ppeterka

答えて

2

まもなく回答すると思われます。ここ

が理由の一部である:ハードウェア・リンク層上

、コンピュータ及びイーサネットケーブルとの間に電気的接続が実際には存在しない、それが電気的に小さな変圧器によって単離し、そして現在ではなくなっていますこれは最初の問題です。これは、1本のライン上の電圧ではなく、2本のラインにかなり正確な電流を流す必要があるためです。 Ethernet transformers

PHYハードウェアインタフェース:そして、次のステップでは、これは単にあなたのコードが実行されているCPUによってではなく、イーサネットPHYチップインターフェイスによって制御されていないということで、そこには(簡単な)方法がありませんそれを点滅させて制御する。いくつかの異なるPHYチップはあなたに異なるレベルのアクセスを可能にしますが、私はあなたが伝送インターフェイスを直接制御することを可能にするものを見つけることはできませんし、そうであってもドライバに実装する必要があります。上記のコメントとして Ethernet PHY Controller

おそらくいくつかの他のソリューション 、あなたがコンピュータ上で直接IO制御を持つようにしたい場合は、最善の解決策は、おそらくあなたは、シリアルまたはUSBにイーサネットを見つけることができる、シリアルまたはパラレルポートの上にありますシリアルポートに接続し、それを再生しますが、これはデジタル信号になります。

マイク入力です。これはアナログ信号を受け取り、直接制御することができますが、コンピュータを焼かないように注意してください。 (私は銀行カードの磁気バンドを携帯電話で使っているのを見たことがある)。

+0

PHYレベルのアクセスを許可するカードはありますか?それは私が賞品の目的のために思っていることです。デバッグ用のハードウェアなどがあっても。 – Brad

+0

@Bradなぜ組み込みハードウェアを使用しないのですか?そこには、通常、すべてのことをより多くのコントロールがあります。例えば、Zedboard(おそらく最良の例ではないかもしれませんが、私はそれを独自のプロトコルでIP層を置き換えるために使用したので、私の心に入った最初のものです)を取ってください。そこでは、PHYチップを完全に制御することができます(PHYのデータシートで詳しく調べる必要があります)が、本当に混乱します。 – yar

+0

@yarそれは大丈夫でしょう。それほど混乱していないことは分かっていますか?私は自分のハードウェアを他のデバイスからの非適合イーサネットフレームを見たいと思うほど創作したくありません。 – Brad

1

これを行うには、libpcap/WinPcapを使用できます。それでも、あなたはあなたが電信で何を書いたり読んだりするかの選択において完全に自由ではありません。例えばプリアンブルとSFDはそこにいなければなりません。これは(ノイズ耐性のため)非常に基本的なものであり、典型的なハードウェアは何も異なるものをサポートしていないだけです。

すべてを完全に制御したい場合は、組み込みハードウェアに行き、その情報を提供するPHYを使用するボードとデータレートを処理できるプロセッサーを見つけます。