Cypress技术论坛
直播中

俞旸

7年用户 203经验值
私信 关注
[问答]

使用SysTick定时器和NVIC以50kHz处理中断可行吗?

您好,我正在寻找帮助或建议为特定的计数任务编程PSoC4。我的当前项目是通过捕获在音频信号的一个或多个周期期间出现的1MHz时钟脉冲的数量来建立精确的音频计数器。在低频段,一个周期就足够了,但是在较高的频率下,我需要在许多周期内测量以获得准确的结果(计数为50000或更多)。我使用的是PSOC4的外部晶体以确保精度。因此,我需要两个计数器,一个捕获总计数,一个保持输入周期数的计数。不幸的是,PSoC4没有足够的逻辑资源来实现两个足够长的计数器,加上需要将计数发送给处理器的状态寄存器。因此,我想知道我是否可以利用处理器中的SyBoT定时器和/或嵌套向量中断控制器(NVIC)来直接计算周期数。它实际上需要以最大50kHz的速率捕获脉冲,并且我不确定它是否能够以这种速率处理中断。那么,可以告诉我这是否可行?如果是,我需要一些帮助来编写代码来处理中断,因为这是一个我没有经验的领域。我总是发现,执行类似任务的代码示例是最好的起点,所以如果有人指向我现有的代码示例,这将是理想的。我意识到我总是可以使用一个更大的PSoC部分,但是PSoC4就是我所拥有的,如果可能的话,我愿意坚持下去。非常感谢任何人提供的帮助。

回帖(24)

俞旸

2019-8-22 08:57:17
基本频率计数器是耦合到计数器使能/读/状态寄存器的门。
SyTobe被CPU时钟计时,所以你可以使用它来生成门。
HTTP://www. CyPress?COM/?ID=4和;RID=94607
然后使用24位UDB计数器,实用工具逻辑组件库中的20位基本计数器,或者
组合7位计数器和软件计数其溢出,因为这将相对较低。
速度。
你想要测量的范围、分辨率(我看到1兆赫)和F的准确度是多少?
问候,Dana。
举报

杨军

2019-8-22 09:32:38
由于您通过引入晶体驱动时钟解决了项目的第一部分,剩下的就足够简单了。而不是计数中断驱动的单脉冲,这将消耗大量的MIPS在1兆赫,你可以使用计数器和中断时,计数器溢出。计数器、计数脉冲和计数PF周期都可以使用软件和硬件方法的组合,而不必破坏资源的可利用量。
尽管如此,您可以使用SyTalm计时器,并在计数倒计时时生成中断。查看系统参考指南(从创建者帮助菜单访问)第15章。
鲍勃
举报

王琳

2019-8-22 09:49:30
当计数低频时,倒易计数器更实用。
附加信息,超过你想知道的计数器。
AN52-1时间和频率的基本原理
HTTP://www. KeVis.COM/MIN/FACET.JSPX?CC=美国& LC= En&Km=AN52-1和Sm=G
2002年时间间隔测量基础
HTTP://www. GoGoLe.COM/URL?RCCT=J&P;ESCR= S&RAMP;源=Web&CAMP;VED= 0CCAQFJAA&A;URL= HTTP%3A%2F%2FWW.LAPAPTIL.COF2FPDF %2FAN200 -3。PDF&Em=SP6PoVQHL8YFGWSLXHWWBW &;UG= AFQJCNNGBPWCSPHKOBTNTnGVSR9XOEQ和BVM=BV 82001339,D EXY SA= T
AN-200对频率计数器规范的理解
HTTP://www. GoGoLe.COM/URL?SA= T&RC==&;ErrC=S&OP;Cd=0CCFQFJAA&A;URL= HTTP %3A%2F%2FWW.LAPAPTIL.COF2FPDF %2FAN200 -4。PDF&EP=C5PVIPNSKVNV AHKGB &;UGG=AFQJCNHMLDQ5HS3SELDLD1NYRYCOQHJDW和BVM=BV 82001339,D EXY。
AN—1288计时技术
HTTP://www. GoGoLe.COM/URL?= J&P;ESCR= S&RAMP;源=0Cccqfjaa&;URL=HTTP %3A%2F%2FLATICATA.CONT%2FLITWEB%2FPDF %2F5965-7984E。PDF&EQ= PVPKYKGWGOT8YGAWA&USG=AFQJCNHD145GPHYX85 TKFPNA1HD4QUOG和BVM=BV 82001339,D Exy SA= T&RCT
问候,Dana。
举报

杨军

2019-8-22 10:01:35
如果你发布一个项目档案,论坛就容易多了。
“文件”创建者
“创建工作区束”
问候,Dana。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分