嗨,对话框中,我们需要捕获输入频率。根据14681 datasheet, Timer1有2个通道的捕获输入触发器。似乎我们可以捕捉两个事件之间的时间间隔,从而计算频率。但是,我注意到这个定时器被用作FreeRTOS的系统源。是否有可能在不干扰系统功能的情况下使用这个定时器作为频率测量?
的问候。
嗨auzzz,我建议不要将Timer1用于其他目的。这就是为什么在那些运行在FreeRTOS之上的SDK示例项目中,没有包含访问Timer1的api的原因。
嗨LT_Dialog,谢谢你的回复。是否有其他解决方案来实现DA14681频率测量?
问候,Auzz
嗨auzzz,在你的申请中,你可能遇到的最大频率是多少?你能告诉我一些关于这个功能的细节,以便我们给你适当的建议吗?
嗨LT_Dialog,谢谢你的回复。最大频率为200khz。我们设计了一个电路来产生交流信号,根据不同的环境(干燥、潮湿或水下),频率可能在200hz到200khz之间变化。
你好auzzz,其他计时器Timer0/2可能相当大。或者,Cortex-M0的系统计时器——SysTick,运行在1HMz,是另一个选择。
所有这些计时器Timer0/2和SysTick都有一个限制,即系统在使用它们时必须保持在有功功率模式。也就是说,当DA14681进入睡眠模式时,这些计时器的电源是门控的。
顺便说一下,我查了SDK, Timer1使用32kHz作为源时钟,这并不适合测量频率高达200kHz的信号。
希望这个有帮助。
嗨auzzz,
我建议不要将Timer1用于其他目的。这就是为什么在那些运行在FreeRTOS之上的SDK示例项目中,没有包含访问Timer1的api的原因。
嗨LT_Dialog,
谢谢你的回复。
是否有其他解决方案来实现DA14681频率测量?
问候,
Auzz
嗨auzzz,
在你的申请中,你可能遇到的最大频率是多少?你能告诉我一些关于这个功能的细节,以便我们给你适当的建议吗?
嗨LT_Dialog,
谢谢你的回复。
最大频率为200khz。我们设计了一个电路来产生交流信号,根据不同的环境(干燥、潮湿或水下),频率可能在200hz到200khz之间变化。
你好auzzz,
其他计时器Timer0/2可能相当大。或者,Cortex-M0的系统计时器——SysTick,运行在1HMz,是另一个选择。
所有这些计时器Timer0/2和SysTick都有一个限制,即系统在使用它们时必须保持在有功功率模式。也就是说,当DA14681进入睡眠模式时,这些计时器的电源是门控的。
顺便说一下,我查了SDK, Timer1使用32kHz作为源时钟,这并不适合测量频率高达200kHz的信号。
希望这个有帮助。