RX72M EtherCAT MII管理通信機能について

今までにEtherCATスレーブ開発はそれなりにこなしてきています(ESCとしてET1100をはじめRIN32-ECも使ったことがあります)。

PHYにはMicrelのKSZ8081MNXをよく採用します。RX72MマイコンのEtherCATは初めてなのでRTKOEMXDE 0C00000BJを購入して回路図面 R12TU0146EJ0100-MOTOR.PDF も確認しての質問です。

このPHYはアドレス0がブロードキャストに割り当てられているのでESC側でアドレスオフセットさせるかB -CAST_OFFをプルアップすることでブロードキャストを無効化することでポートごとにアドレスを割り当ててMII管理通信が可能になります。

今までの開発ではESCにアドレスオフセット機能がないものだったので B-CAST_OFFを使っていました。RTKOEMXDE 0C00000BJの回路図面でもPHYアドレスが0、1ではなく1, 2が使われているのはアドレスオフセットESC .PHYOFFレジスタを使えばできるのは理解できます。

私が理解できないのはCATn_LINKSTAがLED0ピンにつながっている点です。

このPHYのLED動作モード設定、リセット後はLED Mode=00が割り当てられているためLED0の動作はパケットが来るたびにトグル動作します。これはESCはリンクが切れたと通知を受け取ることになります。これを解決するためにはMII管理通信を使ってLED Mode=01にした後にESCから使えるようにする必要があります。私の知っている範囲でESCのMII通信レジスタはEtherCATマスター側からのアクセスが最初に有効化され、スレーブ側へアクセス権側渡されるまではMII通信を行えません。RX72Mではそれを避ける方法がるのでしょうか?例えばESCペリフェラルが動いていない状態でPHYのMII管理通信だけ行った後にESCペリフェラルを動かすというような方法という意味でです。

なお、今までのRX72M以外でのEtherCATスレーブ開発で、MII通信でLEDモードの切り替えができないのでLED1を利用しておりました。LED1はリンク状態で100BASEにならないとアクティブになりません(LED Mode=00時)。

Parents
  • Yamamotoさん、こんにちは。NoMaYです。

    以下のブログ記事にEtherCATのサンプルプログラムへのリンクがあったのですけれども、試しにダウンロードされてはどうでしょうか?(ごめんなさい、同様な回路なのかどうか回路図を探して比較する根気までは無かったです、、、) (少なくとも、ブログ記事の写真は、本件のボードだったのですけれども、、、)

    RX72MでEtherCAT通信を用いたステッピングモータ制御を簡単に評価できます
    www.renesas.com/jp/ja/blogs/rx72m-offers-effortless-evaluation-stepper-motor-control-ethercat
     

Reply
  • Yamamotoさん、こんにちは。NoMaYです。

    以下のブログ記事にEtherCATのサンプルプログラムへのリンクがあったのですけれども、試しにダウンロードされてはどうでしょうか?(ごめんなさい、同様な回路なのかどうか回路図を探して比較する根気までは無かったです、、、) (少なくとも、ブログ記事の写真は、本件のボードだったのですけれども、、、)

    RX72MでEtherCAT通信を用いたステッピングモータ制御を簡単に評価できます
    www.renesas.com/jp/ja/blogs/rx72m-offers-effortless-evaluation-stepper-motor-control-ethercat
     

Children
No Data