求助各位坛友,大家熟悉K64F里的io口速度(就是io口中断执行的的速度)吗?我实验发现io口中断响应速度才达到1M,达不到我的要求,我需要达到3M,但我找不到添加io速度配置的函数,大家可以帮忙提个建议吗?
Hi 方 鹏,
请问你是想获知中断响应速度,还是想测试IO口翻转频率?
你描述的情况应该是IO口翻转速度跟不上中断速度导致的,可以通过中断里计数满10次再翻转验证该原因。
Kinetis K系列的GPIO翻转速度远低于L系列,L系列的FGPIO翻转速度能够更快。(参考全新FAQ-Kinetis系列产品常见问题总结附件文档“10.1 KL25的IO口最高翻转频率”章节内容)
Cortex M4内核的K64中断执行速度参考:A Beginner’s Guide on Interrupt Latency - and Interrupt Latency of the Arm Cortex-M processors
Best Regards,
Robin
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
您好!感谢大佬回答。我想测试的是中断响应速度,和中断执行速度。
我在做的是一个音频采集,按照如下时序读取io口输入,在bclk的上升沿读取DOUT:
LRCOUT是8KHZ,BCLK是2.8MHZ,发现读取不到io口输入,绝大部分的值都是0。我刚试了一下,在中断里计数到20,对输入40分频(排除io翻转速度的问题),发现速度还是只能达到1MHZ。cortex-m4 中断响应12个CLK,主频120MHZ,理论响应速度能达到10MHZ,现在才1MHZ。这个说明中断响应速度还是不够吧?谢谢您!
进出中断的时间根据内核类型是固定的,但中断里代码执行时间可能需要用systick实测。
Best Regards,
Robin
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
感谢您的回答!
你好,我做的是音频采集,按照时序读取io口电平,然后分离各位得到采样值。时序如下:
LRCOUT是8KHZ,BCLK是2.8MHZ,采集到的数据处理过后绝大部分是0,和实际情况不符。这个是由于在中断里面读取io口的速度不够?还是中断来不及响应呢?按理说120MHZ主频处理这些应该够了呀。跪求大佬指点!