Armadilloフォーラム

Armadillo-610の10BASE-Tのコンプライアンステスト

hagihara

2024年9月11日 10時36分

お世話になっております。

Armadillo-610を搭載した弊社設計のボードで10BASE-Tのコンプライアンステストを行おうとしています。
Armadillo-610ではLAN8720AIを使用しているので、以下のアプリケーションノートを参考にしようとしています。
https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/Applicat…

上記アプリケーションノートのP.9が10BASE-Tのコンプライアンステストを行うときのレジスタの設定です。
LAN8720AIなので、For LANxxxx(添付ファイル AN2686中のレジスタ設定.png参照)の設定にすれば良いと考えました。
しかし、LAN8720AIのデータシート(以下URL)を確認すると、2行目の0x11番地のレジスタへの設定がこれだと問題有りそうです。
https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductD…

Auto-MDIXを無効にし、MDIモードにするレジスタはデータシートP.49の27(=0x1b)番地のレジスタです。
従って、w 11 A000hの代わりに、w 1b 8000h にすれば良いと考えているのですが、この認識で合っているでしょうか。

コンプライアンステストを行える測定器が今使用できず、テストを行う前にレジスタの設定を知っておきたいという状況です。
また、御社で試験を行ったときのレジスタの設定があれば参考に教えていただけると助かります。

よろしくお願いいたします。

ファイル ファイルの説明
AN2686中のレジスタ設定.png
コメント

at_mizo

2024年9月13日 9時41分

溝渕です。

> また、御社で試験を行ったときのレジスタの設定があれば参考に教えていただけると助かります。

こちらで10BASE-T, 100BASE-Tそれぞれでコンプライアンステストを行っていますが、レジスタ設定は行っていません(Linuxを起動し、デバイスドライバが初期化した値をそのまま使っています)。

> Auto-MDIXを無効にし、MDIモードにするレジスタはデータシートP.49の27(=0x1b)番地のレジスタです。

Auto-MDIXを無効にしたいなら、以下のようにできるかと思います。

[armadillo]# ethtool -s eth0 mdix off

# 手元で試していないのですが、確かこのようなコマンドだったと思います。間違っていたらすみません。

at_mizo

2024年9月13日 10時24分

溝渕です。

もちろんhagihara様が示されたように、Microchip社のアプリケーションノートが示す通りに実行する事も可能かと思います。

上記に従うのであれば、U-Bootのmdioコマンドを使うのが簡単かと思います。標準では無効ですので、以下のようにコンフィギュレーションを変更してビルドする必要があります。

-> Command line interface
  -> Network commands
    [*] mii

以下のコマンドを使い、mdio bus経由でレジスタを読み書きできるようになると思います。

mdio read <phydev> [<devad>.]<reg> - read PHY's register at <devad>.<reg>
mdio write <phydev> [<devad>.]<reg> <data> - write PHY's register at <devad>.<reg>

hagihara

2024年10月2日 10時57分

溝渕様

ご回答ありがとうございます。
現状、10BASEのコンプライアンステストが上手くいっておりません。
つきましては、追加で質問がございます。
また、実施しようとしているテストの手順書を添付いたします。

1)
以下の中で、御社で実施した10BASE-Tのコンプライアンステスト項目をご教示ください。
・Link Test Pulse
・TP_IDL Template
・MAU Template
・Jitter
・Peak Differential Voltage
・Harmonic Content
・Common Mode Output Voltage
・Transmitter Return Loss
・Receiver Return Loss

2)
上記の項目のうち、以下のRandom Patternを使う試験を行っている場合、それを出力する方法をご教示ください。
添付の手順書P.131 Manchester符号化されたランダムパターン (IEEE802.3-2005, 14.3.1.2.1)
PHY(LAN8720A)のデータシートを確認しましたがRandom Patternを出力する設定が見つけられず、試験が行えないという状況です。

よろしくお願いいたします。

ファイル ファイルの説明
D9010ETHC_Ethernet_テスト手順書20210322.pdf コンプライアンステスト手順書

at_mizo

2024年10月2日 16時40分

溝渕です。

> 1)
> 以下の中で、御社で実施した10BASE-Tのコンプライアンステスト項目をご教示ください。
> ・Link Test Pulse
> ・TP_IDL Template
> ・MAU Template
> ・Jitter
> ・Peak Differential Voltage
> ・Harmonic Content
> ・Common Mode Output Voltage
> ・Transmitter Return Loss
> ・Receiver Return Loss

"Link Test Pulse"のみです。
10 Base-T, Link Test Pulse, with TPM
10 Base-T, Link Test Pulse, without TPM

> 2)
> 上記の項目のうち、以下のRandom Patternを使う試験を行っている場合、それを出力する方法をご教示ください。
> 添付の手順書P.131 Manchester符号化されたランダムパターン (IEEE802.3-2005, 14.3.1.2.1)
> PHY(LAN8720A)のデータシートを確認しましたがRandom Patternを出力する設定が見つけられず、試験が行えないという状況です。

弊社で実績はありませんが、以下資料に、

http://ww1.microchip.com/downloads/en/AppNotes/AN2686-Ethernet-Complian…
> For 10BASE-T test data transmission (pseudo-random and all ones patterns) on KSZ switches, KSZ Gigabit PHYs and
> LAN PHYs (other than LAN78xx which can generate test patterns itself), use the link partner (set to forced 10BASE-T)
> to transmit the signal to the device under test (DUT) and enable remote loopback on the DUT.

と記載があるので、Armadillo-610をloopbackを有効化した状態で、外から波形を(Armadillo-610に)入力する必要があるものと思われます。

hagihara

2024年10月3日 15時53分

溝渕様

ご回答ありがとうございます。
また、資料の件、ご指摘ありがとうございます。
こちらの確認が不十分でした。

今後ともよろしくお願いいたします。