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

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

皆さん、こんにちは

電子設計にXMC4800E196K2048を使用しています。 リファレンスマニュアル(V1.3、2016-07 |ECAT v1.1) チップの EtherCAT モジュールは、MII管理インターフェイスを介したリンク検出機能を提供します。 MIリンク検出ビットを含むレジスタMII管理制御/ステータス(0x54010510)があります。 ビットはゼロに設定され、リンク検出が使用できないことを意味します。 ビットフィールドレジスタの説明フィールドでは、0x0516〜0x0517が参照されます(レジスタMII管理ECATアクセス状態およびPDIアクセス状態)。

使用している EtherCAT 構成は次のとおりです。
XMC_ECAT_CONFIG_t ecatConfig = {.dword = { 0x00810280, 0x00000000, 0x00000000, 0x00D10000}};

使用しているポート制御構成 EtherCAT は次のとおりです。

XMC_ECAT_PORT_CTRL_t ports = {
		.common =
			{
				.enable_rstreq = false,
				.latch_input0 = XMC_ECAT_PORT_CTRL_LATCHIN0_P14_5,
				.latch_input1 = XMC_ECAT_PORT_CTRL_LATCHIN1_P14_4,
				.phyaddr_offset = 0x3,
				.mdio = XMC_ECAT_PORT_CTRL_MDIO_P0_12,
			},
		.port0 =
			{
				.rxd0 = XMC_ECAT_PORT0_CTRL_RXD0_P5_0,
				.rxd1 = XMC_ECAT_PORT0_CTRL_RXD1_P5_1,
				.rxd2 = XMC_ECAT_PORT0_CTRL_RXD2_P5_2,
				.rxd3 = XMC_ECAT_PORT0_CTRL_RXD3_P5_7,
				.rx_clk = XMC_ECAT_PORT0_CTRL_RX_CLK_P1_1,
				.rx_dv = XMC_ECAT_PORT0_CTRL_RX_DV_P1_9,
				.rx_err = XMC_ECAT_PORT0_CTRL_RX_ERR_P4_0,
				.link = XMC_ECAT_PORT1_CTRL_LINK_GND,
				.tx_clk = XMC_ECAT_PORT0_CTRL_TX_CLK_P9_1,
				.tx_shift = XMC_ECAT_PORT0_CTRL_TX_SHIFT_0NS,
			},
		.port1 =
			{
				.rxd0 = XMC_ECAT_PORT1_CTRL_RXD0_P8_4,
				.rxd1 = XMC_ECAT_PORT1_CTRL_RXD1_P0_6,
				.rxd2 = XMC_ECAT_PORT1_CTRL_RXD2_P0_5,
				.rxd3 = XMC_ECAT_PORT1_CTRL_RXD3_P0_4,
				.rx_clk = XMC_ECAT_PORT1_CTRL_RX_CLK_P0_1,
				.rx_dv = XMC_ECAT_PORT1_CTRL_RX_DV_P0_9,
				.rx_err = XMC_ECAT_PORT1_CTRL_RX_ERR_P15_2,
				.link = XMC_ECAT_PORT1_CTRL_LINK_GND,
				.tx_clk = XMC_ECAT_PORT1_CTRL_TX_CLK_P0_10,
				.tx_shift = XMC_ECAT_PORT1_CTRL_TX_SHIFT_0NS,
			},
	};

ポート 1 の PHY には PHY アドレス 4 があります。

拡張リンク検出 MII ビットは ECAT0_FEATURE レジスタに設定されます。
拡張リンク検出ビットはECAT0_ESC_DL_STATUSレジスタに設定されます。
拡張リンク検出のすべてのポートビットは、ECAT0_ESC_CONFIGレジスタに設定されます。

ecatモジュールは定期的にphyのステータスレジスタを読み出すと思いますが、チップに向かうMIIラインにはアクティビティがありません。

設定を変更し EtherCAT enable_enhanced_link_p0ビットとenable_enhanced_link_p1ビットを設定しましたが、これも役に立ちませんでした。 これらのビットを設定するときは、ここでアドバイスされているように、チェックサムフィールドを0x88A4に設定します: https://download.beckhoff.com/download/document/io/ethercat-development-products/ethercat_esc_datash... (78ページ)。

 

どうもありがとう。

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

ミコラ

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

こんにちはジョナサン、

Phy トランシーバには 2 つの論理ポートがあります。

1> データポート - tx/rx - データライン

2> 管理ポート - MDIO - PHY 設定に使用

ECATコアは、TX / RX回線を介してデータポートにアクセスします。 MDIO は PHY 管理にのみ使用され、ECAT コアは現在アクセスしていません。

それでも疑問がある場合は、私に知らせてください。

感謝

スジャータ

元の投稿で解決策を見る

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

こんにちは

XMC 4800 v1.1 のリンク監視は、Phy トランシーバーからの専用リンク信号を使用して EtherCAT コアによって行われます。 回路図ではECAT0と表示されています。P0_LINKA(B) MDIO インターフェイスはリンク ステータスの監視には使用されないため、MDIO バス上ではアクティビティがありません。

MII インターフェイスを使用している場合、 読み取りおよび書き込み phy に使用できる API はそれぞれ XMC_ECAT_ReadPhy() と XMC_ECAT_WritePhy() です。

感謝

スジャータ

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

こんにちは

返信ありがとうございます。

だから、私は(XMC_ECAT_ReadPhy()関数を使って)MDIOを介してリンク状態を読み取ることができ、リンクが検出されたことをECATモジュールに伝えるにはどうすればよいですか? リンクステータスのレジスタは1つだけ見つかりましたが、その読み取り専用レジスタです。 リンク状態を設定できるレジスタはなく、ECATはリンクが検出されたかどうかを知らないため、おそらく通信しません。

ECATモジュールのリンクが検出されたことを確認するにはどうすればよいですか?

感謝。

 

最良

ミコラ

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

こんにちは

XMCで使用されるESCモジュールは、ステータスレジスタで更新されるリンク検出専用のLINK信号を使用します。 これは、リンク損失が発生した場合に高速応答時間を達成するために行われます。

XMC で ESC に、管理インターフェイスを使用してモニタされる LINK ステータスを通知する方法はありません。 専用のLINK信号を使用する必要があります。

感謝

スジャータ

 

 

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

こんにちはジョナタン、

上記のスレッドでは、ECATコアがリンクの検出にMDIOのみを使用することを約束していません。 クエリはphyアドレスアドレス指定に関するものでした。 誤解や誤解がありましたらお詫び申し上げます。

MDIO 読み出しレジスタを使用してリンク ステータスをモニタできますが、ECAT コアはアップデートを高速化するために専用のリンク信号を使用しています。

理解してくれてありがとう.

スジャータ

リンクの状態を監視する方法は 2 つあります。

1>専用リンク検出信号

2> MDIO アクセス

XMC で使用されている ESC モジュール

 

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

それは他のスレッドで解決策としてマークされた答えが間違っていることを意味しますか?

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

こんにちはジョナサン、

私は解決策で以下のスレッドを更新しました. ご確認ください。

 https://community.infineon.com/t5/XMC/Does-XMC4800-EtherCAT-Hardware-access-MDIO/td-p/494983

このご不便をおかけしましたことをもう一度心からお詫び申し上げます。

感謝

スジャータ

 

感謝

スジャータ

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

こんにちはジョナサン、

このポート設定は、ECAT コアによって内部的に使用されます。 ECAT コアは、論理番号 0 および 1 を使用して PHY にアクセスします。前述したように、論理物理アドレスから実際の物理アドレスへのマッピングは、論理ポート番号にPHYアドレスオフセットを追加することによって行われます。 したがって、ECATコアによって論理ポート番号0,1などを使用してポートにアクセスできるように、連続している必要があります。

そして今、Phy API s(XMC_ECAT_WritePhy()、XMC_ECAT_ReadPhy ())に戻ります:はい、ここでは論理ポート番号(アドレス)ではなく実際のPHYアドレスを渡すため、連続したPHYアドレスは必要ありません。 ECATコアアドレス指定スキームのため、連続したアドレスが必要です。

私はそれを明確にすることができることを願っています.

感謝

スジャータ

 

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

残念ながら、私たちは輪になって走り回っています。 ECAT コアは、少なくともリンク検出のために、MDIO 経由で PHY に内部 的にアクセスできないことを確認しました。 今、あなたは彼らが そうすると述べています。 リンクステータスでない場合、彼らは何を読み書きしますか?

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

こんにちはジョナタン、

電源をオンにすると、PHYはデフォルト設定になります。 この構成を変更する必要がある場合は、これらの API を使用できます。

リンク検出のみが専用信号を使用してECATコアによって行われるため、これらのAPIは不要であり、リンク検出には使用されません。

これが明確かどうか教えてください.

感謝

スジャータ

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

残念ながら、あなたは再び自分自身と矛盾し続けます。 あなたの上の1つの投稿は、「このポート構成はECATコアによって内部的に使用されます。 ECAT コアは、論理番号 0 および 1 を使用して PHY にアクセスします。 これは、ECAT コアが MDIO 経由で PHY にアクセスすることを意味します。 今、あなたは突然APIと専用リンク信号についてのみ話します。 明確な答えを1つだけ与えてください:

ECAT コアは、API へのプログラム コールを考慮せずに MDIO 経由で PHY にアクセスしますか。 イエスかノーか答えてください。

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

こんにちはジョナサン、

Phy トランシーバには 2 つの論理ポートがあります。

1> データポート - tx/rx - データライン

2> 管理ポート - MDIO - PHY 設定に使用

ECATコアは、TX / RX回線を介してデータポートにアクセスします。 MDIO は PHY 管理にのみ使用され、ECAT コアは現在アクセスしていません。

それでも疑問がある場合は、私に知らせてください。

感謝

スジャータ

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

こんにちはジョナサン、

私はあなたの疑問をクリアできることを願っています。 このスレッドを閉じることができるかどうか教えてください。

 

感謝

スジャータ

 

0 件の賞賛