XMC4800 EtherCAT ハードウェアは MDIO にアクセスしますか?

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

XMCLib EtherCAT 抽象化には、phyaddr_offset や mdio (XMC_ETH_MAC_PORT_CTRL_MDIO_t) などの MDIO (SMI) 関連の構成を要求する XMC_ECAT_PORT_CTRL_t 構成構造体が必要です。 これは、XMC_ECAT_ReadPhy()とXMC_ECAT_WritePhy()を使用してMDIOを介してPHYを構成できるようにするために必要であり、構成されたphyaddr_offsetがこれらの機能に提供するphy_addr透過的に追加されることを理解しています。

私の主な質問は、EtherCATキュールケットは、これらの関数を呼び出さなくてもいつでもMDIOにアクセスできますか? もしそうなら、それは何のためにMDIOアクセスを必要としますか?

リファレンスマニュアル、セクション 16.3.2.2 PHYアドレスの設定では、理想的にはPHYアドレスは連続しており、phyaddr_offsetを考慮してポート0では0、ポート1では1と一致する必要があると述べています。 この背後にある合理的なものは何ですか? そして、なぜ「理想的に」?ボード上の論理 PHY アドレスが 0 と 1 と一致しない場合、問題はありますか。

専用のリンク信号を提供しない場合に備えて、MDIOを使用してリンクステータスを確認すると思われます。 それが正しい場合、EtherCATキュアキュイットが他の何のためにもMDIOを必要としないことを確認できますか?

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちはジョナサン、

リンクの監視は、

1>専用リンク信号

2> MDIO 読み出しを使用して phy リンク レジスタの状態を取得します。

ECATコアは、PHYトランシーバーのLED信号に接続された専用リンク信号を使用します。 これにより、ESC に必要なリンクをより迅速に検出できます。 MDIOアクセスは、専用の信号検出に比べて低速です。

MDIO読み出しを使用してリンクステータスレジスタを読み取ることはできますが、ECATスタックに通知する方法はありません。 したがって、専用リンクが必要です。

感謝

スジャータ

 

元の投稿で解決策を見る

0 件の賞賛
7 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

ここでは、MDIOバスはPHYトランシーバの設定とリンク監視に使用されます。 この操作には API XMC_ECAT_ReadPhy() と XMC_ECAT_WritePhy() が使用されます。 

イーサネットコントローラとPHYトランシーバ間の通信は、MDIOと呼ばれるシリアルインターフェイスを使用しています。 PHY と通信するには、アドレスが必要です。 phy の場合、トランシーバー アドレスはハードウェア設計時に設定されます。 したがって、phyに4つのphy_idピンがある場合、ハードウェア設計中にアドレスをプルアップ/ダウンしてアドレスを決定し、アドレスを00から0Fまで構成 CAN 。

このピンについてはリファレンス・デザインを参照してください。 ハードウェア構成によって 0 から 15 の範囲の他のアドレスと、ソフトウェアで構成する必要がある同じアドレス (参照コードでは現在 0 と 1) を計画 CAN 。

感謝

スジャータ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

私があなたを正しく理解していれば、PHYアドレスを提供 CAN XMC_ECAT_ReadPhy()とXMC_ECAT_WritePhy()を使用するため、連続したPHYアドレスは必要ありません。 しかし、あなたは私の質問に対する答えを知っていますか? つまり、XMC の EtherCAT ハードウェアが MDIO を自動的に使用するかどうかです。 したがって、リファレンスマニュアルで「理想的」であると述べられているように、論理アドレス0と1を持つことが重要ですか?

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

xmc4800で使用されるphyトランスレシーバには5つのphy_idピンがあり、そのうちphy 1〜phy 4は、XMCポートピンに接続され、RX用に構成されたRXD0〜RXD3と多重化されています。 xmc_eschw.c このための構成があります。

これで、アドレスピンが1つだけ残され、phy_id0されます。 したがって、ポート0とポート1にそれぞれアドレス0と1を使用するという制約があります。

ボードのユーザーマニュアルおよび回路図「図14XMC EtherCAT Phyボード回路図:入力および出力Phy(リビジョン1.3を参照)」を参照してください。

これがお役に立てば幸いです

感謝

スジャータ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

xmc4800で使用されるphyトランスレシーバには5つのphy_idピンがあり、そのうちphy 1〜phy 4は、XMCポートピンに接続され、RX用に構成されたRXD0〜RXD3と多重化されています。 xmc_eschw.c このための構成があります。

これで、アドレスピンが1つだけ残され、phy_id0されます。 したがって、ポート0とポート1にそれぞれアドレス0と1を使用するという制約があります。

ボードのユーザーマニュアルおよび回路図「図14XMC EtherCAT Phyボード回路図:入力および出力Phy(リビジョン1.3を参照)」を参照してください。

これがお役に立てば幸いです

感謝

スジャータ

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

私は評価キットについて話しているのではありません。 また、ブートストラップを使用してPHYアドレスを構成する方法についてもよく知っています。 私の質問は、XMC4800マイクロコントローラーに含まれる EtherCAT キュアキュイットについてです。 私の質問に関してご意見がある場合にのみ返信してください。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

他の人もこれについて疑問に思うなら、sujatapatilは、EtherCATハードウェアが専用のリンク信号がない場合にのみリンクをチェックするためにMDIOバスにアクセスするという上記の私の疑いに応えて確認しました。 感謝!

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちはジョナサン、

リンクの監視は、

1>専用リンク信号

2> MDIO 読み出しを使用して phy リンク レジスタの状態を取得します。

ECATコアは、PHYトランシーバーのLED信号に接続された専用リンク信号を使用します。 これにより、ESC に必要なリンクをより迅速に検出できます。 MDIOアクセスは、専用の信号検出に比べて低速です。

MDIO読み出しを使用してリンクステータスレジスタを読み取ることはできますが、ECATスタックに通知する方法はありません。 したがって、専用リンクが必要です。

感謝

スジャータ

 

0 件の賞賛