工具/软件:Linux
在"AM335xICEv2 Issue with IGH EtherCAT Master for Linux"主题中 、提到了一个运行示例、该示例使用带有 CIA402的 IGH-EtherCAT Master。 我可以从何处访问该示例?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
在"AM335xICEv2 Issue with IGH EtherCAT Master for Linux"主题中 、提到了一个运行示例、该示例使用带有 CIA402的 IGH-EtherCAT Master。 我可以从何处访问该示例?
我还尝试了最新的 EtherCAT 从站应用和用于 AM355x ICE R2.1的 MLO 以及 IGH 主站。
但器件不会更改为 OP。 激活 OP 期间出错:
EtherCAT 错误0-0:设置状态 OP 时超时。
我能否获得一个使用 IGH 主器件的 ICE 运行示例?
[26885.290384] EtherCAT 调试0:空闲->孤立。
[26885.290386] EtherCAT 调试0:停止主线程。
[26885.290743] EtherCAT 调试0:主器件空闲线程正在退出...
[26885.290747] EtherCAT 0:主线程退出。
[26885.309981] EtherCAT 0:ecm0的链路状态更改为关断。
[26885.460990] EtherCAT 0:发布主器件00:1B:21:0F:18:C3。
[26885.465740] EtherCAT:主模块清理完毕。
[26887.647723] EtherCAT:主驱动器1.5.2 2eff7c993a63
[26887.647779] EtherCAT:1个主站等待器件。
[26887.661373] EC_e1000e:支持 EtherCAT 的英特尔PRO/1000网络驱动程序- 1.9.5-k-EtherCAT
[26887.661375] EC_e1000e:版权所有(c) 1999 - 2012英特尔公司。
[26887.661389] EC_e1000e 0000:03:00.0:禁用 ASPM L1
[26887.662151] EC_e1000e 0000:03:00.0:(未注册的 Net_device):中断限制率(ints/sec)设置为动态保守模式
[26887.661590] EC_e1000e 0000:03:00.0:针对 MSI/MSI-X 的 IRQ 44
[26887.833187] EtherCAT:接受00:1B:21:0F:18:C3作为主器件0的主器件。
[26887.977057] EtherCAT 0:启动 EtherCAT 空闲线程。
[26887.977073] EC_e1000e 0000:03:00.0:(未注册的 Net_device):(PCI Express:2.5GT/s:宽度 x1) 00:1b:21:0f:18:C3
[26887.977075] EC_e1000e 0000:03:00.0:(未注册的 Net_device):英特尔PRO/1000网络连接
[26887.977164] EC_e1000e 0000:03:00.0:(未注册的 Net_device):Mac:1、PHY:4、PBA 号:D50854-003
[2688832490] EC_e1000e 0000:03:00.0:(未注册的 Net_device):10/100速度:禁用 TSO
[26888832494] EtherCAT 0:ecm0的链路状态更改为向上。
[2688833597] EtherCAT 0:主器件上有1个从器件响应。
[2688833599] EtherCAT 0:主器件上的从器件状态:PREOP。
[2688833714] EtherCAT 0:扫描总线。
[2689.848033] EtherCAT 0:在14ms 内完成总线扫描。
[2689.848035] EtherCAT 0:使用从器件0作为直流参考时钟。
[2689.848036] EtherCAT 错误0:计算总线拓扑失败。
[26893.528390] EtherCAT 0:主调试级别设置为1。
[26901.712328] EtherCAT:正在请求主器件0...
[26901.712330] EtherCAT 调试0:空闲->操作。
[26901.712332] EtherCAT:已成功请求主器件0。
[26901.712334] EtherCAT 调试0:ecrt_master_create_domain (master = 0xff8800d7892000)
[26901.712335] EtherCAT 调试0:创建了域0。
[26901.712338] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8800d7892000、alias = 0、position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
[26901.712340] EtherCAT 调试0:为0:0、0x0000088F/0x4D490002创建从配置。
[26901.712343] EtherCAT 调试0:0:从站0没有与配置(0x0000088F)匹配的供应商 ID (0xE000059D)。
[26901.712352] EtherCAT 调试0:0:ecrt_slave_config_create_sdo_sdo_request_err (SC = 0xffffff8800d7988000、索引= 0x1C12、子索引= 0x00、大小= 1)
[26901.712364] EtherCAT 调试0:0:0:ecrt_slave_config_sync_manager (SC = 0xff8800d7988000、SYNC_INDEX = 0、dir = 1、watchdog_mode = 2)
[26901.712366] EtherCAT 调试0:0:0:ecrt_slave_config_sync_manager (SC = 0xff8800d7988000、SYNC_INDEX = 1、dir = 2、watchdog_mode = 2)
[26901.712368] EtherCAT 调试0:0:ecrt_slave_config_sync_manager (SC = 0xff8800d7988000、SYNC_INDEX = 2、dir = 1、watchdog_mode = 1)
[26901.712371] EtherCAT 调试0:0:ecrt_slave_config_PDO_assign_clear (SC = 0xff8800d7988000、SYNC_INDEX = 2)
[26901.712373] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_assign_add (SC = 0xff8800d7988000、SYNC_INDEX = 2、PDO_INDEX = 0x1601)
[26901.712376] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_MAPPING 清晰(SC = 0xffffff8800d7988000、PDO_INDEX = 0x1601)
[26901.712379] EtherCAT 调试0:0:ecrt_slave_config_PDO_MAPPING 添加(SC = 0xffffff8800d7988000、PDO_INDEX = 0x1601、Entry_INDEX = 0x7010、entry_subINDEX = 0x00、entry_bit_length = 32)
[26901.712382] EtherCAT 调试0:0:ecrt_slave_config_sync_manager (SC = 0xff8800d7988000、SYNC_INDEX = 3、dir = 2、Watchdog_mode = 2)
[26901.712384] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_assign_clear (SC = 0xff8800d7988000、SYNC_INDEX = 3)
[26901.712386] EtherCAT 调试0:0:ecrt_slave_config_PDO_assign_add (SC = 0xff8800d7988000、SYNC_INDEX = 3、PDO_INDEX = 0x1A00)
[26901.712388] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_MAPPING 清晰(SC = 0xffffff8800d7988000、PDO_INDEX = 0x1A00)
[26901.712390] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_MAPPING 添加(SC = 0xff8800d7988000、PDO_INDEX = 0x1A00、Entry_INDEX = 0x6000、entry_subINDEX = 0x00、entry_bit_length = 32)
[26901.7123] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8800d7892000、alias = 0、position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
[26901.712396] EtherCAT 调试0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff8800d7988000、索引= 0x6000、子索引= 0x00、域= 0xff8800d5fcec0、bit_Position = 0xff8800d70d7e24)
[26901.712399] EtherCAT 调试0:域0:添加了4个字节、总共4个字节。
[26901.712400] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8800d7892000、alias = 0、position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
[26901.712403] EtherCAT 调试0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff8800d7988000、索引= 0x7010、子索引= 0x00、域= 0xff8800d5fcec0、bit_Position = 0xff8800d70d7e24)
[26901.712405] EtherCAT 调试0:域0:添加了4个字节、总共8个字节。
[26901.712408] EtherCAT 调试0:0:ecrt_slave_config_dc (SC = 0xffffff8800d7988000、assign_activate = 0x0300、synct_cycle = 500000、synct0_shift = 4400000、synct_cycle = 0、 sync1_shift = 0
[26901.712419] EtherCAT 调试0:ecrt_domain_external_memory (domain = 0xff8800d5fcecc0、mem= 0xffc90005779000)
[26901.712421] EtherCAT 调试0:ecrt_master_callback (master = 0xff8800d7892000、send_CB = 0xffffffa0479750、receive_CB = 0xffffffffa0477d20、CB_data = 0xff8800d7892000)
[26901.712423] EtherCAT 调试0:ecrt_master_activate (master = 0xffffff8800d7892000)
[26901.712426] EtherCAT 调试0:使用预期的 WC 3添加数据报对。
[26901.712427] EtherCAT 0:domain0:逻辑地址0x00000000、8字节、预期工作计数器3。
[26901.712429] EtherCAT 0:数据报域名0-0-main:逻辑偏移量0x00000000、8字节、类型 LRW。
[26901.712430] EtherCAT 调试0:停止主线程。
[26901.712436] EtherCAT 调试0:主器件空闲线程正在退出...
[26901.712441] EtherCAT 0:主线程退出。
[26901.712443] EtherCAT 调试0:FSM 数据报为 ff8800d7892678。
[26901.712444] EtherCAT 0:启动 EtherCAT-OP 线程。
[26901.712458] EtherCAT 调试0:运行线程、FSM 间隔= 1000us、最大数据大小= 11250
[26901.712461] EtherCAT 调试0:mmap ()
[26901.712463] EtherCAT 调试0:vMA 故障、virtual_address = 00007f1beab1f000、offset = 0、page = ffea0000a79a48
[26901.713466] EtherCAT 调试0:已更改配置。
[26901.713467] EtherCAT 调试0-0:检查系统时间偏移。
[26901.714472] EtherCAT 调试0-0:直流64位系统时间偏移计算:system_time=26927911363880 (用1000000进行校正)、app_time=26927912043907、diff=680027
[26901.714475] EtherCAT 调试0-0:未触及时间偏移。
[26901.715479] EtherCAT 调试0:正在请求 OP...
[26901.717486] EtherCAT 调试0-0:将状态从 PREOP 更改为 OP。
[26901.717487] EtherCAT 调试0-0:正在配置...
[26901.719493] EtherCAT 调试0-0:现在处于初始化状态。
[26901.719494] EtherCAT 调试0-0:正在清除 FMMU 配置...
[26901.720498] EtherCAT 调试0-0:正在清除同步管理器配置...
[26901.721502] EtherCAT 调试0-0:正在清除直流分配...
[26901.722505] EtherCAT 调试0-0:正在配置邮箱同步管理器...
[26901.722507] EtherCAT 调试0-0:SM0:Addr 0x1000、大小128、Ctrl 0x26、en 1
[26901.722509] EtherCAT 调试0-0:SM1:Addr 0x1080、大小128、Ctrl 0x22、en 1
[26901.725522] EtherCAT 调试0-0:现在在 PREOP 中。
[26901.725] EtherCAT 调试0-0:SM2:Addr 0x1100、大小4、Ctrl 0x64、en 1
[26901.725527] EtherCAT 调试0-0:SM3:Addr 0x1400、大小4、Ctrl 0x20、en 1
[26901.728545] EtherCAT 调试0-0:现在在 SAFEOP 中。
[26906.725393] EtherCAT 错误0-0:设置状态 OP 时超时。
[26906.726400] EtherCAT 0:主器件上的从器件状态:SAFEOP。
[26910.967714] EtherCAT 0:主器件上的从器件状态:SAFEOP + ERROR。
[26910.968719] EtherCAT 调试0-0:SAFEOP -> SAFEOP +错误。
你(们)好、David
我使用了预编译 SD 卡映像1.0.5.0。
这是 UART 上的输出:
StarterWare 引导加载程序
BOARDInit 状态[0x0]
SoC:[AM335X]
磁芯:[A8]
检测到电路板:[ICE Ver2]
基板版本:[未知]
子卡版本:[未知]
GPIO 实例编号:0
引脚编号:18
硬件上未使用 MMC/SD 卡检测引脚
将应用程序映像从 MMC/SD 卡复制到 RAM
跳转到 StarterWare 应用程序...
版本- EtherCAT 从站1.0.5.0
板名称:A335_ICE
电路板修订版:2.1AEtherCAT 器件
SYS/BIOS EtherCAT 演示应用3.3.0旋转开关状态:0
Matthias
您好、Matthias
遗憾的是、必须构建启用 CiA_402模式的完整应用程序。
将 前一篇文章中的 Lyu Frank 步骤转换为当前 的处理器 SDK 和 PRU-ICSS EtherCAT 架构
将 TIESC_application 的宏值从1修改为0、将 CiA402_device 从0修改为1。
然后、除了修改 TI_ESC 应用之外、还需要 修改 IGH 主器件(main.c)代码。
步骤1:必须使用 cia402的 EEPROM 刷写电路板。
步骤2:必须将正确的 PDO 条目复制到 IGH 主设备的 main.c 文件中。
sudo EtherCAT cstruct ->是获取 PDO 条目的命令。
对于 TIESC_application 和 CiA402_device、上述命令的结果将不同
步骤3:必须使用从步骤2命令获得的地址修改 IGH 主控 main.c 文件中的函数调用"ecrT_SLAVE_CONFIG_REG_PDO_entry"。
步骤4:编译主代码。
制造
David
尊敬的 David:
我尝试过这些步骤、但没有成功。 下一步应该是编译 building full_feature_EtherCAT_Slave_Application...当我有 SSC 代码时。
我发现了"最快速的一周"、还有其他一些非常有趣的行为:
因此,有一个奇迹。 TwinCAT 执行一些魔术配置。 因此、在 TwinCAT 执行某些操作后、IGH 可以读取/写入对象0x6000/0x7010。 写入0x7010只能在类型为 uint32时正常工作。 传播的类型 ocet_string 会传送奇怪的数据。