docs: 定名 dcu-ecat-master, 登记 _probe_scan.py

目录名 ecat 过泛(tools/ 下另有 ESP32), 按同级项目 DCU_APP / ESP32_COMM /
spi_link 的风格定名 dcu-ecat-master: dcu 限定归属, ecat-master 表明是
EtherCAT 主站侧工具(区别于从站固件)。远端托管用小写连字符形式。
名字写入 README 标题(对外可见)与 .git/description(本地元数据)。

同时把 _probe_scan.py(扫描响应帧头在 SM1 RAM 的确切偏移)登记进脚本表,
补齐 _probe_wedge2 / _probe_stuck 两行说明。
This commit is contained in:
cbb
2026-09-03 02:41:19 +08:00
parent fc9e8f34e5
commit 8d414ae3fb
2 changed files with 75 additions and 1 deletions
+6 -1
View File
@@ -1,4 +1,6 @@
# ecat — DCU LAN9252 EtherCAT 主站工具集
# dcu-ecat-master
**DCU LAN9252 EtherCAT 主站工具集**(工作目录 `DCU/tools/ecat`)
在 Windows 上用 Python + pysoem(SOEM)直接从网卡驱动 DCU 的 LAN9252 EtherCAT 从站:
扫描总线、读写 SII EEPROM、CoE SDO 读写、PDO 循环收发,以及一个本地网页/桌面控制台。
@@ -26,6 +28,9 @@ venv\Scripts\python.exe -m pip install -r requirements.txt
| `ecat_flash_eeprom.py` | 通过网线烧写 `gen_eeprom.py` 生成的 SII 镜像,逐字回读校验(烧完需断电重启让 ESC 重新加载) |
| `ecat_sniff.py` | 旁路抓包,hexdump SOEM 自己发出的帧,用于对照裸帧格式 |
| `_probe_wedge.py` | 邮箱楔死现场逐环节定位:A 写 SM0 的 WKC → B `0x220` bit0 是否置位 → C SSC 是否清事件并置 SM1 就绪 → D SM1 是否滞留旧响应,用于区分 ESC 硬件楔死与 SSC 软件死循环 |
| `_probe_wedge2.py` | 按真实邮箱协议探测:查写邮箱空 → 写满 256B → 验事件/响应 |
| `_probe_stuck.py` | 验证「SM1 响应滞留 → 邮箱死锁」假说:复现失败 → 手动读走 SM1 清 bit3 → 再读是否恢复 |
| `_probe_scan.py` | 扫描定位响应帧头在 SM1 RAM 中的确切偏移,同步 dump SM0 请求侧 |
## 启动方式