EtherCATを構成する上でR9A07G075M24GBGのライブラリ内のPIYを使用していた際は問題なく動作していました。しかし、今回はPIYをDP83867CSRGZに変更したところ、接続がうまくいかなくなりました。
どなたか、DP83867CSRGZを使用する場合の初期化コードをご存知でしたら、ご教示いただけると大変助かります。
「接続がうまくいかなくなりました」・・・通信を開始するとEtherCATフレームが届くたびにオンラインとオフラインを繰り返すような症状?だとするとESC_PHYLINK0/1/2に適切な信号が届いていないために起こっている症状です。
PHYの初期化でレジスタ設定、どれを変えることで使えるようになるか?フォーカスしてやれば解決すると思います。ESCにつながるLINK状態の検出信号は通常、PHYのLED信号出力などが使われます。オンライン・オフラインを表すことが可能な信号出力が出ているPHYと対応インタフェースのものしかEtherCAT用のPHYとして扱えられません。このマイコンの場合MII・RMII・RGMIIに対応しているのでこの点は件のPHYで問題ないでしょうね。
問題はESC_PHYLINK0/1/2です。PHYのどの信号につないでいますか?もし、通信状態でトグル動作するような信号しか出さない場合、使えないPHYになります。レジスタ書き換えで対応できる場合は、PHY初期化ソースコードを自分で変更すると動くようになります。
なんとなくですが、BECKHOFFのPHYアプリケーションノートによるとDP83867は特記事項なしでリストに載っているので、何もPHY初期化せずに正しい、信号ピントつながっていいれば使えるんじゃないかなと思います。