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.
各位专家好,我在使用Beckhoff SCC Demo时,采用FreeRTOS任务,模拟PDI和Syn0中断,视乎可以实现EtherCAT的DC功能,但感觉DC功能并不真实,1C32/1C33.20的Sync Error,有错误,且DC同步抖动非常大,基本都大于500us。
然后我换成真实的PDI和Syn0中断,发现,在DC同步模式下,PDI中断可以连续出现,而Syn0中断,只出现了一次,就没有再出现了,请问这是怎么回事,如何才能让Syn0中断,连续出现?
另外,在使用DC功能时,我连续监视EtherCAT的0x0910的DC系统时钟,发现此时钟,在刚开始,可以和TwinCAT的PC时钟一致,但在运行10分钟后,会比PC时钟,快20秒左右,时间越长,快的越多,请问这是怎么回事?谢谢。
另外,我用的SDK版本是8.06.00.45,最新的。我以前参考的就是这个例子教程修改的SCC源码,我今天再次按教程修改,还是一样的情况,syn0中断只有一次。freeRTOS系统的任务方式,根本就不是真实的中断,是任务轮询,根本不能真正同步,DC时钟抖动都是500us以上
1. Which SDK version are you using here?
2. Have you modified the stack code, or is it as it is after following steps from https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_06_00_43/exports/docs/api_guide_am243x/EXAMPLES_INDUSTRIAL_COMMS_ETHERCAT_SLAVE_BECKHOFF_SSC_DEMO.html#autotoc_md1248 ?
ESC_SYSTEMTIME_OFFSET,0x0910,这个系统时间,在开启DC功能后,时钟1个小时,快16分钟。不知DC功能无法正常使用,是否和这部分时钟有关?请专家们帮忙看看,谢谢
您好,我们的工程师使用如下配置进行了测试,并没有发现任何问题。您指的真实的sync 0 interrupt是什么?
1. Followed the steps mentioned here: AM243x MCU+ SDK: EtherCAT SubDevice Setup with TwinCAT (ti.com)
2. Enabled sync 0 and Sync 1
3. We could see sync0 ISR hitting everytime and sync pulse is also being generated (SYNC0 and SYNC1)
You see the results below:
我现在使用的是去年的样片,XAM2434ASFGGAALX,你们测试平台,是什么型号的芯片?会不会和这个有关系?
工程师正在使用 E3版本的 AM243-LP。 它具有 F 器件型号。 应该与型号无关。
能否分型下您正在使用的示例项目?
您好,
工程师无法共享示例工程,因为需要生成 Beckoff ETG 堆栈。 如果您这边有Beckoff ETG 堆栈,那么可以直接遵循以下的指南https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/EXAMPLES_INDUSTRIAL_COMMS_ETHERCAT_SLAVE_BECKHOFF_SSC_DEMO.html
来构建项目。 工程师就是这样做的。
这个芯片把人快搞疯了,参考步骤有问题,bspInitParams->enhancedlink_enable
to TIESC_MDIO_RX_LINK_DISABLE,这个要这样才行:bspInitParams->enhancedlink_enable to TIESC_MDIO_RX_LINK_ENABLE.
另外,我在OSPI引导模式下测试,每次测试后退出,再按正常调试就进不去了,必须要重新烧写bootloader才行。最后使用load_dmsc.js方式,进去发现OSPI-Flash的0x60000000位置,全变成了"E",请问是什么原因???
MAIN_Cortex_R5_0_0: GEL Output: CPU reset (soft reset) has been issued through GEL.
MAIN_Cortex_R5_0_0: Trouble Writing Memory Block at 0x0 on Page 0 of Length 0x40: (Error -1065 @ 0x40) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.10.0.00080)
MAIN_Cortex_R5_0_0: File Loader: Verification failed: Target failed to write 0x00000000
MAIN_Cortex_R5_0_0: GEL: File: ****.out: Load failed.
正常的情况应该是有Boot数据的,应是这个样子:
补充:这个现象,是对于AM243-LP E2板子,使用XAM2434ASFGG才有。
另外,我在OSPI引导模式下测试,每次测试后退出,再按正常调试就进不去了,必须要重新烧写bootloader才行。最后使用load_dmsc.js方式,进去发现OSPI-Flash的0x60000000位置,全变成了"E",请问是什么原因???
能否分享下相关的测试设置信息,可以让我们具体了解您在使用什么或者想要使用什么?
另外,我在OSPI引导模式下测试,每次测试后退出,再按正常调试就进不去了,必须要重新烧写bootloader才行。最后使用load_dmsc.js方式,进去发现OSPI-Flash的0x60000000位置,全变成了"E",请问是什么原因???
能否分享下相关的测试设置信息,可以让我们具体了解您在使用什么或者想要使用什么?
这个问题出现在AM243x-LP E2开发板,使用的是XAM2434ASFGG样片,测试时,我先烧录了sbl_ospi.release.tiimage,然后在QSPI启动模式下调试程序,就出现了这个问题,在使用新发布的AM2432BSEFHIALXR芯片开发的自己PCB上,按指南https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/EXAMPLES_INDUSTRIAL_COMMS_ETHERCAT_SLAVE_BECKHOFF_SSC_DEMO.html,是正常的。
不知道是否是,最新发布的芯片,与过去的样片设计变化太大?或是其他什么原因?
最后使用load_dmsc.js方式,进去发现OSPI-Flash的0x60000000位置,全变成了"E",请问是什么原因???
load_dmsc 并不负责 OSPI 或闪存的初始化。 通过 JTAG 加载的应用程序(如果需要闪存)需要执行初始化。
您可以尝试加载 ospi_flash_dma 或 ospi_flash_io 示例。如果这些示例测试失败,那么我们可以帮助您调试设置中的错误,否则需要合理使用上面提到的流程。