AVRのDIY LANテスター

新しく設置されたLANをテストする問題は常に関連しています。 「Rapport II」と呼ばれる鉄を手に入れると、これは一般的にCCTVシステムのテスターですが、ツイストペアを鳴らす方法も知っています。 鉄片はすでにかなり前に亡くなっていましたが、印象は残りました。ツイストペアケーブルをテストすると、極性の反転とピン配置だけでなく、正確な圧着回路が示されました。 たとえば、クロスオーバーの場合、1→3、2→6、3→1などのように見えます。

しかし、私が実際に1つの機能のみを使用するデバイスに約800ロシア以外のルーブルを支払うには? 却下する それはどのように機能しますか、おそらく自分でそれを行う方が簡単ですか? Googleを手に、そして...まったくがっかり。 検索出力は、シフトレジスタ/ AVR / PIC /独自バージョンのLEDを備えた点滅するライトの80%と、「buy%cool_game_name_for_100499.99_greengreen%」トピックに関するフォーラムの達人の思慮深い議論の20%で構成されます。 したがって、この問題に対する私の解決策をhabrasocietyにDIYのスタイルで提供したいと思います。 興味のある人-カットをお願いします(慎重に、写真を何枚か!)。





入門



正確なケーブル圧着パターンの決定は必須です。

すべての情報はテスターに​​よって表示されます。 相手側に点滅するLEDはありません。 交配部分がサーカスのものではなく、サルの手の中にあり、最新の技術のおかげで、サルはパンチャーを使用してコンセントでケーブルを横切るように訓練されたと仮定します。 または、もう少し科学的に言えば、カウンターパートは完全に受動的です。



ハードウェア



作業の原則:応答部分は、さまざまな評価の一連の抵抗です。 それらを測定しましょう。 それらの定格と嵌合部の配線を知ることで、ケーブルがどのように交差接続されているかを正確に知ることができます。 以下はデバイスの図です(すべての図はクリック可能です)。 特定の抵抗値は、フィボナッチシリーズの一部であることが判明しましたが、店舗内の存在を意識的に考慮するよりも考慮して選択されました。





図 1.テスター回路



図 2.相互部分のスキーム



回路の中心はATMega16マイクロコントローラーです。 なぜ彼は正確に? 「AVR vs PIC」論争は典型的なホリバーであるため、簡単に言います:AVRを私の意性にします。 また、Mega16ライン全体から、最も安価な水晶には8個のADCが搭載されています。 率直に言って、アナログ信号スイッチで回路を複雑にしたくありませんでした。 重要なプラス:このモデルは私の城でも購入することができます。この城では、都市全体でモスクワから150〜500%の価格の電子部品が1店舗あります。



マイクロコントローラーのポートAはADC入力で、ポートBにはISPといくつかのユーティリティ機能があり、テスト信号の生成にはポートCを使用し、HD44780互換ディスプレイを介したユーザーとの通信にはポートDを使用します。



Kronaバッテリーから、回路に従ってLP2950、DA1スタビライザーを介して回路に給電します。 低ドロップアウトではあるが、なぜPWMではなく通常の線形安定器なのか? 消費電流は少なく、1つのバッテリーで回路のテストとデバッグをすべて行った後、50個のポートを持ついくつかの実際のオブジェクトを起動しました。電源が切れるまでです。 しかし、あらゆるPWMの衛星である高周波干渉は、ADCの精度を低下させる可能性があります。 スキームを複雑にするために、再び、私はしたくありません。 LP2950を選ぶ理由 彼は店にいました。



サプレッサーVD1.1-VD1.8の助けを借りて入力回路を保護し、1,5KE6,8CAを取りました。 もちろん、彼らは220Vに入ることから彼らを救いませんが、彼らはどんな電話回線からでも60Vを返済することができます。



VD2-R4チェーンは、バッテリーの放電を検出するために使用されます。 ツェナーダイオードで5.1Vが低下するため、バッテリー電圧が6Vを下回ると、PB2にログが表示されます。 0.ここでは、心はシュミットトリガーを必要としますが、見つかりませんでした。



情報はHD44780互換ディスプレイを使用して出力され、WH-1604A-YYH-CT#に出会いました。 接続図は一般的なものであり、説明は不要です。 バックライトの輝度を設定する公称抵抗R5についてのみ言及する価値があります。 定格が大きいほど、バッテリーの寿命は長くなります-回路の残りの消費電力は5 mA未満で、主な消費者はディスプレイのバックライトです。 ただし、無理をすると、暗闇の中で画面に何も表示されなくなります。 100オームで停止しました。



ソフトウェア部



プログラムを作成するために、C言語のAVR Studio 4環境を使用しました。以下では操作アルゴリズムについて説明しますが、コードは表示しませんが、これには理由があります。 第一に、彼はやや恐ろしい(虹を吐く馬の写真)。 第二に、これはDIYであるため、以下に説明するアルゴリズムを実装して自分で書くのは罪ではありません。これはどのようなDIYですか? そして、第三に、書きたくない場合は、コンパイル済みの.hexがアプリケーションに存在します。



ADCの操作HD44780互換ディスプレイとの交換の実装などの標準的な手順を説明する意味がありません。 私の前ではすべてが長らく言われてきました。



テスターの作業はいくつかの段階に分けられ、それらは周期的に繰り返されます。



ステージ1.初期チェック







ステージ2.回線の整合性と短絡の存在の確認



8行のそれぞれについて、次の手順を実行します。 ポートCから+ 5Vを印加し、ポートの他のすべてのラインを高インピーダンス状態に保ち、残りのラインの電圧を測定します。 すべてのラインにゼロに近い値がある場合、調査したラインは切り取られます。 回線の一部に+ 5Vも表示された場合-これは短絡です。 通常、いくつかの中間値が表示されます。



ステージ3.クロスオーバーパターンの明確化



だから、私たちは最も興味深いことになりました。 明らかに欠陥のあるすべての線(断線および短絡線)を除去したら、残りの線の抵抗の測定に進みます(それらの数をN、0 <= N <= 8とします)。 次の表記法を紹介します。

R xyは、ラインxとyの間の抵抗です。

R xは、ラインxに接続された抵抗の公称値です。

R xy = R x + R yであることは明らかです。



線間の抵抗を測定することにより、線形方程式のシステムが得られます。 得られたR 1 ... R Nの値をリファレンスと比較すると、クロスオーバースキームがわかります。



抵抗の計算は簡単です。 行Xを高に、行Yを低に設定し、ポートCの他の行を高Zのままにします。 回路(図3を参照)では、回路によるR1.YとR2.Yの並列接続によって形成される既知の抵抗での電圧降下はU 1であり、未知のR xy降下では(U 2 -U 1 )です。 したがって、R xy =(R 1 || R 2 )*(U 2 -U 1 )/ U 1です。



図 3.抵抗測定の原理



N <3の場合-私たちは無力です。 それらの間の抵抗を測定できるのは1つだけですが、不明な点が2つあります。それぞれに接続された抵抗です。 方程式の数が未知数の数よりも少ないシステムには、無限の解があります。 これらの行にユーザーの疑問符を表示する必要があります-それらは機能しているように見えますが、相互接続スキームを理解することはできません。



N = 3の場合、可能なオプションは1つだけです。 利用可能なすべての抵抗R 12 、R 13 、R 23を測定すると、システムが得られます。

R 1 + R 2 = R 12

R 1 + R 3 = R 13

R 2 + R 3 = R 23

それを示すのは簡単です:

R 1 = 1/2 *(R 12 + R 13 -R 23

R 2 = R 12 -R 1

R 3 = R 13 -R 1



Nの値が大きい場合、さまざまな抵抗R xyを測定することにより、さまざまな方法で連立方程式を作成できます。 一見、どの抵抗を測定するかを選択する方法に違いはありません。 しかし、悪魔は小さなものに宿っています。 例としてN = 8を使用して、私が意味することを説明します。 アルゴリズムの最初の実装では、次のような測定を行いました。

R 1 + R 2 = R 12

R 1 + R 3 = R 13

...

R 1 + R 8 = R 18

R 2 + R 3 = R 23

最初の2つの式を追加し、最後の式を減算すると、同じ2R 1 = R 12 + R 13 -R 23が得られ 、式1-7から他のすべての抵抗が見つかります(R 1は既知です)。



問題は、一部のタイプのクロスオーバーでは、R 1の値が大きくなり(15 kOhm以上)、抵抗の測定誤差が増加すると増加するという事実にあります。 その結果、公称値1〜2 kOhmのR 1に比べて小さな抵抗が70〜80%の誤差で測定されたことが判明しました。 明らかに、良好な精度を確保するために、R 1の代わりに別の未知数、すべての最小値が存在するようにシステムを設計する必要があります。 これを行うには、可能な限りすべての測定を実行する必要があります(最悪の場合、28がそれほど多くないことは良いことです)。 実際、主対角線に関して対称な8 x 8行列が得られました(R xy = R yxであることは明らかです)。 すべての結果から最小値を選択し、R ij = R i + R jとします。 行iでは、R ik > R ijであるが、行の他の要素よりも小さいR ikを見つけます。 取得するもの:

R i + R j = R ij

R i + R k = R ik

R j + R k = R jk

R i 、R j 、R kの中で最小のものを解いて見つけます(R iであることが判明したと仮定します)。 残りの未知数R xは 、R x = R ix -R iから求められます。



ステージ4.クリッピングポイントがある場合、その決定



スマートで高価な腺は、 TDRを使用して崖ポイントまでの距離を測定します。 難しい、高価、クール。 私たちの機会ははるかに控えめであり、崖の位置をセンチメートルまで知ることはそれほど必要ではありません-通常、「私のすぐ隣」、「その終わりに」、「壁が最近空洞になった真ん中」のスタイルで理解するだけで十分です。 だから-ケーブル容量を測定します。



ポートCのすべてのラインを変換します。ただし、ブレークがあるコアで接続されているものを除き、Hi-Zに変換します。 + 5Vコアに送信し、充電します。 その電圧を測定します 。これが初期のU 0になります。 Hi-Zのすべての行を翻訳します。 ケーブルの放電は、1MΩの抵抗を持つ抵抗R2.Xから始まります。 1 ms待機した後、このラインUの電圧を測定します。







ボード、コネクタなどの回路を忘れないでください また、独自の容量があるため、デバイスは異なる長さのケーブルのペアで較正する必要があります。 長さゼロの1710 pFで入手し、ケーブル容量は35 pF / mです。実際に使用しても、横になっていても10パーセントではないことがわかります。状況は、「パッチパネルのキャビネットで、どこに接触しましたか」またはコンセントで?」が即座に決定されます。



まとめ



私はそれを使用します。 満足。 私のパスを繰り返したい人は、 ここで、 DipTrace形式のプリント基板、sPlan形式の回路、MKファームウェア、およびavrealのコマンドラインの例を含むファイルを含むアーカイブを見つけることができます。



プロセス写真



注意! 生まれたとき、この記事の著者は、将来のエンジニアが必要としない芸術的な感覚を取り除いた。 満たされていない地平線、構図、その他のホワイトバランスを熟知している人は、深刻な精神的外傷を避けるために、この場所で読むのをやめてコメントにすぐに進んでください。





プロセスの始まり。





回路基板。 ローズ合金で錫メッキされたLUTを使用して作られました









レディボード。 アルコールで穴をあけ、はんだ付けし、すすぎます(手を上げた人-エチルで、私は個人的にイソプロピルで洗浄しました)。 デバッグ後、ワニスで腐食を防ぎます。





ボードはケースに取り付けられ、ディスプレイは固定され、明るい色のケーブルがそれにはんだ付けされます。 ミニチュアカッティングディスクを使用して、ドレメルでディスプレイ用の穴を開けましたが、 他の方法もあります





蓋を閉じたままです。





テスト:工場直接パッチコード、0.5 m。電源ボタンは、ケース上部の人差し指の下にあります。





テスト:長さ10 m、片側が圧着されたケーブル。





テスト:自家製のクロスオーバー、10 m。



更新しました。 habrazhitelovの要求で、まだソースを広めました。 ここで取ることができます



All Articles