在电气特性部分下的 AVR 数据表中,您通常会找到这样的图表(此图表来自 ATMega328):
我见过似乎“有效”但在阴影信封之外运行的设计。具体来说,我见过 3.3V (Arduino) 设计使用外部 16MHz 晶振运行时钟。显然,这超出了规范。超出这个范围会产生什么实际的负面后果?
在电气特性部分下的 AVR 数据表中,您通常会找到这样的图表(此图表来自 ATMega328):
我见过似乎“有效”但在阴影信封之外运行的设计。具体来说,我见过 3.3V (Arduino) 设计使用外部 16MHz 晶振运行时钟。显然,这超出了规范。超出这个范围会产生什么实际的负面后果?
如何让生活更有趣101:
你的结果有时可能是错误的,
你的系统有时可能会崩溃,
你的生活可能更有趣,
你的 Segway 克隆只是偶尔会无缘无故地做面部植物,
那个......
然后一定要在制造商的规格之外运行零件。
你得到你不支付的东西。
如果你有一个 10 美元的头,买一个 10 美元的头盔。
或不
在这种速度下,大多数处理器的工作方式是计算某个时钟周期所需的所有信号,在它们稳定时等待下一个时钟沿,锁存所有这些信号并计算下一个时钟周期所需的信号,在这些信号稳定时等待该边沿等。如果时钟边沿在必要信号稳定之前到达,则效果将是任何未稳定的信号都可能无法完全锁存。如果这发生在微控制器中,其影响可能是不可预测的——至少有两个原因:
uint32_t eep_checksum、eep_addr、eep_data; #define EEPROM_WRITE(地址、数据、谓词)\ eep_checksum = 0xC0DEFACE,eep_addr =(地址),eep_data =(数据),\ eep_checksum += eep_addr + eep_data, ((谓词) || HARD_CRASH()), \ eep_checksum += (0xCAFEBABE - C0DEFACE), eep_do_write() 无效 eep_do_write(无效) { ENABLE_EEPROM_WRITE_HARDWARE(); 如果(eep_checksum != eep_addr + eep_data + 0xCAFEBABE) { DISABLE_EEPROM_WRITE_HARDWARE(); 硬碰撞(); } DO_EEPROM_WRITE(); DISABLE_EEPROM_WRITE_HARDWARE(); }除非在加载地址和数据之前执行“eep_checksum = 0xC0DEFACE”,否则 eeprom_write 例程不太可能尝试写入数据。执行之后,将检查谓词的有效性,然后将校验和调整为适当的值并调用 eeprom_store 例程。
制造商指定处理器的操作参数,以便在这些参数内,处理器将正常工作。把东西推到那个信封之外可能会使处理器降低到只有 99.9999999 的可靠性。这听起来可能不算太邪恶,但试图诊断一个处理器每分钟左右出现一次任意错误(图 16MHz)并不好玩。
您的问题的简化答案:
在“安全速度区域”之外工作可能会导致您的系统工作不稳定。那是什么意思?计算结果错误、微控制器复位等。
如果你想这样做只是为了好玩,你应该看看这些页面/文章:
尚未提及的一个考虑因素与在无效电压范围(3.3V 时为 16MHz)下以有效频率运行无关,而与在有效电压范围(5V 时为 24MHz)下以无效频率运行有关的考虑更多是散热问题。
每次芯片中的门打开或关闭时,它都会散热。栅极由 MOSFET 组成,在 ON 和 OFF 或 OFF 和 ON 期间就像一个可变电阻器。该电阻器当然会散热。它切换得越频繁,切换之间的时间就越短,热量从芯片中散发出来,并且您冒着热量积聚的风险。
因此,你跑得越快,就会产生越多的热量。这就是为什么 PC CPU 上有大风扇的原因——它们切换得如此之快,以至于无法足够快地将热量从芯片中排出,因此它们需要帮助。
选择芯片的最高额定速度以允许芯片在有效的工作条件下(即环境温度,例如通常最高 85°C 或 105°C)可靠地散发其热量积聚。超过该频率会导致芯片过热。
是的,如果您提供一些帮助(例如,散热器和风扇,并确保其周围有良好的气流),则可以比预期更快地运行芯片。但是,当然,在夏天温暖的一天,您可能会发现整个冬天都可以正常工作的设备突然开始做一些奇怪的事情。
要考虑的另一件事是转换率。时钟信号(以及其他信号)需要时间来上升或下降到所需的水平。如果芯片内部意味着时钟信号需要 15ns 才能从 LOW 上升到 HIGH,那么您尝试将其时钟设置为 HIGH 周期为 42ns (24MHz) 的频率,这样就只剩下 27ns 的有效时钟剩余时间。这只是 64% 的时钟实际上是时钟信号——其余的都是垃圾。IO 引脚也是如此。诸如 SPI 时钟输出之类的东西将受到 IO 引脚的转换速率的限制,因此,如果您超频您的芯片以获得更快的 SPI,您会发现事情并不总是按计划进行,因为您期望从时钟输出中获得漂亮的方波不再是方形了。