gpt4 book ai didi

c - 哪种 MCU(Cortex-M) 适用于时间关键的 GPIO 应用?

转载 作者:行者123 更新时间:2023-11-30 14:39:53 24 4
gpt4 key购买 nike

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

3 行简短的应用程序: 处理输入引脚 确定输入引脚处理中的模式 根据接收到的模式写入输出引脚

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

如果我遗漏了什么,或者我们需要的东西是否可以在 Cortex-M 上使用其他一些方法来完成,请告诉我。请记住,如果一个周期丢失(由于缓存或类似原因),我们就会失去信号同步,应用程序将无法正常工作或根本无法工作。

谢谢!br

最佳答案

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

目前还不清楚识别模式会消耗多少周期,以及中断在执行此操作时有何用处 - 通常,像这样的低延迟接口(interface)函数将是专用硬件的明显目标,但因为您有现有的软件解决方案似乎问题指定错误。

如果您避免访问任何可能导致总线停顿的“慢速”外设,中断延迟应该是确定性的 - 任何特定设备都应该有涵盖这一点的文档。

恩智浦有一个 application note其中描述了如何衡量正在发生的事情的一些细节。

关于c - 哪种 MCU(Cortex-M) 适用于时间关键的 GPIO 应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55863937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com