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
溝渕です。
もちろん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
溝渕様
ご回答ありがとうございます。
現状、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
溝渕です。
> 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
at_mizo
2024年9月13日 9時41分
溝渕です。
> また、御社で試験を行ったときのレジスタの設定があれば参考に教えていただけると助かります。
こちらで10BASE-T, 100BASE-Tそれぞれでコンプライアンステストを行っていますが、レジスタ設定は行っていません(Linuxを起動し、デバイスドライバが初期化した値をそのまま使っています)。
> Auto-MDIXを無効にし、MDIモードにするレジスタはデータシートP.49の27(=0x1b)番地のレジスタです。
Auto-MDIXを無効にしたいなら、以下のようにできるかと思います。
# 手元で試していないのですが、確かこのようなコマンドだったと思います。間違っていたらすみません。