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.
零件编号:TMS570LS3137
尊敬的团队:
我的客户正在使用 TMS570LS3137。 我没有此设备、请帮助我测试他的配置。
客户希望通过 TMS570LS3137的 NHET 实现脉冲捕获功能。 他使用 HALCoGen 配置引脚交叉开关、边缘和 CAP 功能、如下所示:
1:信号源使用 PWM 模块、2引脚输出生成、并通过外部环路返回到0引脚;
引脚0配置为 NHET 引脚和输入引脚、引脚2配置为 NHET 引脚和输入引脚;
测试结果:
PWM 模块生成的信号正常。 信号驱动一个指示器、灯的闪烁频率正确、但捕获模块使用 edgeGetCounter 和/或 capGetSignal 函数来捕获脉冲、脉冲数、周期和占空比都为0。
请帮助。
您好 Susan、
请让您的客户首先使用默认的 N2HET1设置、以检查他们是否可以获得正确的边沿计数器、占空比和周期。
默认 PWM 引脚为:N2HET1_8/10/12/14/16/17/18/10
默认的边沿引脚为:9、11、13、15、20、 21、22、23
默认电容引脚:0、2、4、6、24、 26、28、30 --> HR Shared 是必需的。 请勿使用引脚1、3、5、7、27、 29、31用于 PWM、Edge 等
您的客户使用:
PWM 引脚:13、2、14、15、16 --这里的引脚2是输出
2、边沿引脚:0、11、13、15、20、 21、22
电容引脚:5、2、4、6、7、 2、4 引脚2在这里配置为输入。 不需要人力资源共享要求
CAP 的 TH 引脚应为偶数2n (0、2、4、6)、引脚2n+1 (1、3、5、7...)的 HR 结构 也用于 CAP、因此2n+1引脚不应用于其他 N2HET 功能(PWM、边缘等)。
感谢您的回复!
但仍然不幸运。 客户一直在使用 N2HET2模块。 根据默认配置、仍然捕获的占空比和周期都为0。
请参阅以下文档以获取配置。
谢谢!
N2HET 器件根据 HAL 默认配置进行配置、引脚分配在默认情况下全部使用。 还配置了 PINMUX。
未配置 PWM 但使用默认配置的原因是它们希望避免 PWM 模块和 CAP 模块的干扰。
外部信号源用于直接注入 CAP0的相应引脚。 仍然无法正常工作、请将其改回正常 IO 功能、读取 IO 电平正常。
我们是否有任何示例代码?
您好 Susan、
我记得它们会将 PWM 输出环路到电容输入。 如果使用外部信号源、则无需启用 PWM (引脚8、10、...)。
我没有示例代码、但我进行了多次此类测试、从未看到过此类问题。
您好 Susan、
还有两个要检查的事项:
1.是否启用 HET2
2. VIM 通道63和73被启用或不被启用(针对 HET2中断)。 如果它们在 中断模式中从 NHET 指令中读取数据、中断应该被启用。
您好 QJ、
感谢您的回复。
1. HET2被启用。HALCoGen 项目 可在附件中看到。
我们在主循环中从 NHET 指令读取数据,每100ms,使用这些程序。
capGetSignal (hetRAM2、cap0、testCapSigCh0);
printf ("\r\nsig ch0=%d、%f"、(testCapSigCh0.Duty)、(testCapSigCh0.period));
结果为,sig ch0=0.000000
3、几天前、我们使用循环 PWM 作为测试方法进行捕获、但失败了。
现在、我们使用了外部 信号、该信号可以由同一引脚(HET2引脚0)捕获、但在 GPIO 模式下工作。
尽管信号 可以证明是正确的、但我们得到了相同的失败结果、sig ch0=0、0.000000。
请提供帮助、谢谢。
您好 QJ、
David David2 是我之前提到的客户。 请帮助。
您好 Qj,
, ,、我们更改了 HALCoGen 生成的代码、很 高兴 得到了正确的占空比值。
遗憾的是,期间值仍然 不正确(错误的数字,不是零)。
你有其他建议吗?
谢谢。
测得的周期与正确的周期之间有何差异?
如果频率为1kHz、则周期应为1ms、测得的周期是多少?
“不正确(错误的数字,不是零)”是什么意思?
您好!
您说您获得了正确的占空比。 您是否进行了任何 NHET 代码修改、以便按照 e2echina.ti.com 上文章中所述获得正确的占空比?
在 HALCoGen 生成的代码中、"FALL2RISE"的计数器类型用于占空比测量、而"FALL2FALL"用于周期测量。 如 e2echina 的帖子中所述、您也可以使用"RISE2FALL "和"RISE2RISE"计数器类型来测量占空比和周期。
默认情况下、会清除 hr-lr、这意味着高分辨率模式将用于引脚0 (0、2、4、6、...)上的这个 PCNT 指令。 所有五个 HR 指令(PCNT、WCAP、ECMP、MCMP 和 PWCNT)都有一个专用的 hr_lr 位(高分辨率/低分辨率;程序字段位8)、通过忽略 HR 字段可在 HR 模式或标准分辨率模式下运行。 N2HET 程序有一个架构限制:每个高分辨率引脚只允许一条指令(使用高分辨率)。 这意味着、如果引脚0上的占空比使用高分辨率、引脚0上的周期不能使用高分辨率。 感谢 HR Share 功能、它允许两个 HR 结构共享同一个引脚以进行输入捕捉。
在 HALCOGen 生成的 NHET 代码中、指令#25用于引脚0上的引脚0 HR 结构的占空比、指令#26用于周期、使用引脚1 HR 结构来捕获引脚0上的信号。 在 HALCOGen N2HET1-->引脚0~7配置页面上、为引脚0和引脚1启用 HR 共享: