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.
工具与软件:
您好、TI 专家。
我将 ECAP0设置为 APWM 模式、在 CPU0中以20kHz 的频率和50%的占空比运行。
当我通过 JTAG 暂停 CPU0时、XBAROUT4仍构成开关信号输出。
正如上图所示、我采用了仿真挂起模式。
问题是什么?
您好、Jeeuk:
很抱歉、但我今天刚从外出回来、没有足够的时间在我的硬件上加载一个等效示例来测试相同的示例。 我将在明天这样做并进一步调查此事。 从 SysConfig 的角度来看、代码似乎确实是根据这些设置正确生成的、因此接下来我将研究寄存器设置和较低级别的驱动程序。
此致、
Ralph Jacobi
尊敬的 Jeeuk:
对此深表歉意、我完全放弃了这个要求。 我注意到、在离开几周前、我今天没有在检查中再次联系到您、因此我与另一位工程师进行了讨论、他们将接管这一请求、因为硬件上的复制工作正在进行。
我今天确实研究了驱动器/寄存器设置、它们似乎配置正确、因此如果我们能够复制相同的行为、我们需要让软件方面的更深入的专家参与进来、看看会出现哪些问题。
此致、
Ralph Jacobi
您好、Ralph。
这个问题只有当使用带有 JTAG 仿真的开发方法时才很重要。
我绕过了这个问题与软件工作,所以我不是紧急解决这个问题。
---
在我的项目中、我使用两个 APWM 输出进行信号传感。
一个是20kHz 输出、另一个是 SDFM 时钟的20MHz 输出。
(我没有留下 ePWM 输出引脚、因此不得不使用 APWM 输出。)
当我处理 SDFM 输入时、每当 JTAG 停止时、SDFM FIFO 都会被完全填满。
这种 现象是由非停止 APWM 输出导致的。
我 检查了 syscfg 设置和 eCAP 寄存器值、但我找不到错误。
现在、我将对 APWM 设置使用直接寄存器修改、而不是使用 syscfg 程序。
但我仍然有问题。
尊敬的 Jeeuk:
我明天可以复制您的设置、看看问题是否在我的最后仍然存在
此致、
Brennan
Jeeuk、
您是否使用了自定义应用或 AM263x SDK 中的示例?
此致、
Brennan
你(们)好 Brennan。
我们使用 AM2634制作了应用板。 我将从今年开始使用它进行测试。
此致、
Jeeuk
Jeeuk、
明白了、我一直在问您要测试的软件以及看到其出现此问题的更多信息。
此致、
Brennan
Brennan,
我在以下环境中测试了我的应用。
- CCS : 12.8.1.
-编译器:TI Clang v3.2.LTS
- SysConfig 1.21.0
-适用于 AM263x 9.2.0.55的 MCU+ SDK
-配置:发布
此致、
Jeeuk
Brennan,
我今天改变了我的环境。
- CCS : 12.8.1.
-编译器: TI Clang v4.0.1.LTS
- SysConfig 1.22.0
-适用于 AM263x 10.0.0.35的 MCU+ SDK
-配置:发布
我再次使用 AM263x SDK 测试了该设置并获得了相同的结果。
我附加了修改后的 SysConfig 文件、该文件与" empty_am263x-cc_r5fss0-0_nortos_ti-arm-clang "项目
e2e.ti.com/.../1541.syscfg.zip
您可以在 AM2634 A10引脚或 TMDSHSECDOCK HSEC_SPI1_CLK 79引脚上看到方波信号。
无论 JTAG 是否暂停、信号都不会停止。
此致、
Jeeuk
尊敬的 Jeeuk:
感谢您的坚持、这是可以实现的、因为应用程序可能尚未启用 ECAP 的 Halt Controls。 您可以看看 Controlss_ctrl 空间中的寄存器以获取 ECAPx_HALTEN 之类的内容吗? 是否针对您当前用于调试的 CPU 启用了该功能?
否则、请尝试写入该寄存器以启用停止、请注意、您需要在写入寄存器之前解锁该空间以进行写入。
当前版本的 SDK 在 SysConfig 自动生成的文件中不支持此配置。 未来的版本中将解决此问题。
请告诉我这是否有帮助!
谢谢。此致、
Madhava
[P.S.如果您使用任何引脚、这与 EPWM 暂停 EN 配置类似]
尊敬的 Madhava:
我检查了 CONTROLSS_CTRL_ECAPx_HALTEN 寄存器、了解需要更多配置。
SoC_controlModuleUnlockMMR (SOC_DOMAIN_ID_MAIN、CONTROLSS_CTRL_PARTIION0);
*(volatile uint32_t *)(0x502F05D0U)= 0x0001U;// CONTROLSS_CTRL_ECAP0_HALTEN
SoC_controlModuleLockMMR (SOC_DOMAIN_ID_MAIN、CONTROLSS_CTRL_PARTIION0);
我在添加上述命令后得到了正常结果。
此致、
Jeeuk
很高兴看到这个问题得到了解决!
谢谢。此致、
Madhava