繁体   English   中英

哪个MCU(Cortex-M)适合时间紧迫的GPIO应用?

[英]Which MCU(Cortex-M) for time critical GPIO application?

我们有一个在PIC24H上运行的应用程序,我们想将其移植到另一个MCU,最好是ARM Cortex。 应用程序是非常关键的时间,这意味着我们需要确定性的代码行为。 简而言之,有一些脉冲是通过特殊的硬件获取到GPIO引脚的,然后立即分析数据。 数据处理并不复杂(我们不需要强大的cpu / mcu即可)。 分析数据后,GPIO输出引脚将写入其值。

短短3行显示:处理输入引脚根据接收到的模式写入输出引脚确定输入引脚处理中的模式

PIC24H的工作频率为40MHz,我们可以在25ns的时间内切换引脚,我们将以至少2倍的速度感激未来的升级。 因此可以运行确定性代码并以至少80MHz(12.5ns)的频率切换引脚的MCU就可以了。 我们不需要以恒定的快速速率切换引脚,我们需要一个可在不到25ns的时间内切换它的MCU。 我们不能在切换时浪费周期,如果关闭了一个周期,我们就会失去同步。 一切都必须以一个周期的精度(或两个但恒定的两个周期)完成,因此代码应具有100%的确定性。

请让我知道我是否缺少某些东西,或者是否可以使用Cortex-M上的其他方法完成我们需要的东西。 请记住,如果丢失一个周期(由于高速缓存或类似原因),我们将失去信号同步,应用将无法正常工作或根本无法工作。

谢谢! BR

根据这篇博客文章 ,Cortex-M的中断延迟范围为12到16个周期(假设您不使用FPU寄存器),并具有最佳情况的内存。 M0和M0 +比M3 / M4 / M7慢。 最重要的是,您需要增加GPIO访问时间(并注意内核与外设之间的时钟频率不同。Cortex-M7将支持比M3 / M4更高的时钟速度。

尚不清楚识别模式要消耗多少个周期,以及在执行此操作时如何使用中断-通常,像这样的低延迟接口功能将是专用硬件的明显目标,但是由于您已有软件解决方案似乎问题指定不正确。

如果您避免访问任何可能使总线停顿的“慢速”外围设备,则中断等待时间应具有确定性-任何特定设备都应具有涵盖此内容的文档。

恩智浦有一个应用笔记 ,其中描述了如何衡量正在发生的事情的一些细节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM