Arm 微控制器外围设备能否以高于CPU频率的频率运行。?

Arm 微控制器外围设备能否以高于CPU频率的频率运行。?,arm,embedded,microcontroller,avr,cpu-architecture,Arm,Embedded,Microcontroller,Avr,Cpu Architecture,我想知道微控制器外围设备是否可以在高于CPU频率的频率下工作。这可能吗?这完全是特定于零件的-请参阅零件数据表参考手册 对于像AVR这样的简单部件,可能没有(尽管我没有检查过-有很多部件)。当然,对于具有复杂时钟树的部件,如STM32。例如: 在本例中(由ST的弃用但仍然有用的计算),核心时钟为24MHz,而USB必须在48MHz下运行,I2S必须在106.5MHz下运行。另外请注意,I2S可以独立于本例中使用的HSE振荡器进行外部时钟设置。请澄清您的意思,更具体地说。我的意思是,外围设备(比

我想知道微控制器外围设备是否可以在高于CPU频率的频率下工作。这可能吗?

这完全是特定于零件的-请参阅零件数据表参考手册

对于像AVR这样的简单部件,可能没有(尽管我没有检查过-有很多部件)。当然,对于具有复杂时钟树的部件,如STM32。例如:


在本例中(由ST的弃用但仍然有用的计算),核心时钟为24MHz,而USB必须在48MHz下运行,I2S必须在106.5MHz下运行。另外请注意,I2S可以独立于本例中使用的HSE振荡器进行外部时钟设置。

请澄清您的意思,更具体地说。我的意思是,外围设备(比如SPI)是否可以在处理器使用24 MHz时以48 MHz工作!外设接收数据的速率可能高于进程,这可能导致它们之间的不同步!我们是否可以使用数字设计,通过将数据存储到中间缓冲区或缓冲区库来实现这一点?@AmrAbdeen:你评论中的所有信息都属于这个问题。然而,这使得你的问题更加离题,甚至对你来说也太宽泛了。我建议你把问题缩小到更具体的范围,到别处去问;这不是一个软件问题。这不仅是可能的,而且是常见的。例如,在ATmega16U4上,在睡眠期间CPU时钟停止,USB外围设备倾向于运行48MHz时钟,尽管CPU的运行速度不能超过16MHz。AVR数据表的“系统时钟和时钟选项”一章中有时钟域的摘要。AVR XMEGA设备还使用PLL从12MHz晶体生成48MHz USB时钟。@Rev1.0:是,但不独立于核心时钟,核心时钟也在48MHz下运行。您完全没有理解问题和答案的要点。例如,ATtiny26具有PLL,可为高速计时器1提供高达64MHz的时钟,而内核的工作频率不高于16MHz。问题是“微控制器外围设备的工作频率是否高于CPU频率”。当“核心”运行在12MHz,USB外设运行在48MHz时,情况不是这样吗?@AterLux这是一个更清楚的例子。我不认为这会使我的答案无效,我的答案建议检查特定部分的文档。重点是至少举一个例子来说明这是可能的。