EtherCAT

SII(Slave Information Interface)

スレーブ情報インターフェース
スレーブは不揮発性メモリを使ってEtherCAT Slave Information(ESI)を保存する.
不揮発性メモリにはI2C接続のEEPROMが一般的

EEPROMの中身はWordアドレスで表現されている図が多い.
1Word=2byte.ここの理解が甘くてこんがらがってしまった.

電源ON時,Reset時に読み込まれる.範囲は0x00~0x07
この中身の値は各メーカごとに異なる.
言い方を変えるとここの値が正しく設定されていないとアプリケーションとの通信ができない.

ESCとアプリケーションのスレーブとの接続方法を設定する.
デジタルIO, SPI, HBI等
どんな接続方法が使えるかはそのESCに依存する.
LAN9252の場合,GPIO(0x04),SPI(0x80)と設定して使うことがほどんどと思われる.

PDIコンフィグレーションレジスタ.
PDIをGPIOもしくはHBIどちらかにすることで設定する.
SYNC/LATCH PDIコンフィグレーションレジスタではSYNC0/SYNC1の入出力の設定を行う.

SYNC SIGNAL パルス長レジスタ.
LAN9252では単位:10nsと書いてあるがこれは1LSBで10nsということか?
ACKモートでは0を入れる.

拡張PDIコンフィグレーションレジスタ
LAN9252では,GPIOピンの入出力方向やバッファタイプを指定

構成済みステーションエイリアスアドレス.
ノードのアドレス指定に使うエイリアスアドレスを指定.

予約済み,0で埋める.
LAN9252は0x05がASICコンフィグレーションレジスタとなっている.
ここをいじることはないと思うけど

ESC Configuration Areaのチェックサム.0x00~0x06までの値を元に計算する.
下位バイトに符号なしの数値が入る.
多項式は$x^8+x^2+1$(初期値0xFF)
デバッグ目的で,0x88A4を入力すると,チェックサム機能が無効になる(製品には使ってはいけない)

0x08~0x09

0x0A~0x0B

0x0C~0x0D

0x0E~0x0F

0x10~0x13

以下の部分はPanasonicのサーボアンプの資料から引っ張ってきた.この部分はEtherCATで共通のはず.

0x14~0x17

0x18~0x1B

0x28~0x3F

  • interface/ethercat/sii.txt
  • 最終更新: 2021/11/11
  • by yuqlid