Как ARM MCU работает быстрее, чем внешний кристалл?

12

Поэтому до этого я работал только с простыми 8-битными микроконтроллерами Atmel и понял, что на моей схеме платы разработки он имеет только кристалл 12 МГц, но MCU работает на частоте до 100 МГц. (Я думаю, что по умолчанию установлено значение 80 МГц. Я сделал это только один раз для забавы. Это просто простая строка в коде.)

Как оно это делает? Почему, например, Atmega328 работает на скорости используемого кристалла?

user3033693
источник
5
1) МГц означает милли герц, то есть 1/1000 герц, используйте МГц (заглавная М), когда вы имеете в виду мегагерц. 2) какой 8 битный MCU? 3) Что за доска развития? 4) ATMega 328 не должен работать на скорости кристалла, прочитайте раздел синхронизации в таблице данных, чтобы увидеть, что возможно. 5) Некоторые микросхемы имеют ФАПЧ, которое можно использовать для умножения частоты внешнего тактового сигнала.
Bimpelrekkie
1
@Bimpelrekkie: Большая часть этого комментария является ответом. Хотели бы вы ответить на этот вопрос?
JRE
Делитель VCO для сравнения с 12 МГц заканчивается умножением f. Вот что делает синтезатор PLL freq.
Тони Стюарт Sunnyskyguy EE75
@Bimpelrekkie похоже, что кто-то уже исправил это для меня. Я уже упоминал Atmel и Atmega328. но это не важно, как это пример. У afaik atmega328p нет PPL? Меня больше всего интересовало, как вы можете просто умножить это. К счастью, Маркус Мюллер уже объяснил это очень хорошо.
user3033693
процессор в компьютере, на котором вы читаете это, вероятно, использует эталонную частоту 100 МГц или медленнее, но ядро ​​работает в ГГц.
old_timer

Ответы:

28

Это не имеет никакого отношения к ядру, являющемуся процессором ARM; это о том, как работает схема синхронизации:

Во многих системах, таких как микроконтроллеры, радиочастотные микросхемы, звуковые микросхемы ... необходимо генерировать более быстрые тактовые импульсы, которые в точности кратны некоторым опорным тактовым сигналам (например, внешнему кристаллу).

Вы делаете это, имея управляемый напряжением генератор (VCO), который вы можете регулировать по частоте, увеличивая или уменьшая управляющее напряжение.

Теперь, просто установив любое управляющее напряжение, вы можете заставить его колебаться с частотой примерно в правильной «точке», но не с точным кратным входной частоты. В частности, ГУН могут быть немного дремучими, так что частота также будет постоянно «блуждать» повсюду. Вам нужно управлять этим генератором, сравнивая его с опорным генератором.

Способ сделать это - использовать фазовую петлю . Идея проста:

  1. N
  2. fVCO/Nfref

Выше приведен цикл управления, привязанный к фазе - отсюда и название.

Для «богатых» микроконтроллеров, которые имеют много периферийных устройств и, следовательно, выигрывают от наличия нескольких тактов внутри, обычно используется как минимум 1 ФАПЧ. ATMega328 немного странен в этом отношении: это относительно энергоемкий, относительно периферийный микроконтроллер, который до сих пор не имеет PLL.

Маркус Мюллер
источник
1
Спасибо тебе :) это очень хорошо объясняет! Вместо того, чтобы высмеивать или фокусироваться на моих глупых ошибках, вы просто сказали мне то, что я, очевидно, спрашиваю. На некоторые вещи ОЧЕНЬ тяжело обращать внимание при дислексии. Даже если я читаю через свой пост 2-3 раза, я скучаю по многим маркам или случайно помещаю заглавные буквы там, где мне не нужно. Не говоря уже о том, что английский не мой родной язык.
user3033693
7
@AmyGamble Ваш английский очень хорош, однако! Я думаю, что первый комментарий, который вы получили под своим постом, состоял в том, что очень многие молодые инженеры просто забывают о капитализации единиц - что может стать очень проблематичным позже :) Я надеюсь, что вы никогда не будете разочарованы!
Маркус Мюллер
9

Некоторые устройства имеют ФАПЧ, которые могут умножить частоту кристалла на более высокие частоты. ATMega328 не имеет PLL, он использует кристалл напрямую.

Просто я
источник