Какую функцию выполняет тактовый генератор компьютера

Обновлено: 04.07.2024

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

Техническая перспектива: введение в ФАПЧ (система фазовой автоподстройки частоты)

Cубъективный подход может пригодиться техническим специалистам, дав толчок их исследованиям. И точно так же даже поверхностное знакомство с техническими аспектами работы пользовательского оборудования способно помочь нам в уточнении субъективных оценок. При вдумчивом подходе эстетические и технические аспекты могут идти рука об руку и достигать более глубокого понимания предмета.

Со временем пользователи все больше вникают в суть понятия ФАПЧ (система фазовой автоподстройки частоты). ФАПЧ управляет потоком цифровых данных в преобразователе и, следовательно, отслеживает и сводит к минимуму несогласованность по времени при доставке данных, которую мы называем джиттером. Принято считать, что системы с меньшим уровнем джиттера звучат лучше, поэтому более подробное знакомство с тем, как ФАПЧ управляет джиттером, является ключом к тому, чтобы более тонко оценивать качество цифровых аудиосистем.

Когда вы посылаете цифровой аудиосигнал в конвертер (или в цифровой интерфейс), то конвертер необходимо синхронизировать с дискретизацией этого сигнала. В большинстве преобразователей для этого применяется система ФАПЧ, которая пытается сонастроиться с входящим (опорным) тактовым сигналом. Для этого в ФАПЧ используется так называемый компаратор, который отслеживает фазовое соотношение между собственным и входящим тактовыми сигналами.

Если в этом соотношении имеются какие-либо изменения, система ФАПЧ настраивается так, чтобы оставаться настолько синхронизированной (с опорным сигналом), насколько это возможно. Этот процесс называется «установлением фазовой синхронизации» (или фазовой автоподстройкой частоты). При этом ФАПЧ отсылает свой тактовый сигнал в обратном направлении для сравнения с входящим сигналом — поэтому этот процесс также называют петлей ФАПЧ (по англ. PLL — phase lock loop).

Как и в случае с любым электронным устройством, существует множество способов применения ФАПЧ, но то, что отличает одну конструкцию ФАПЧ от другой, выходит за рамки данной статьи. Для наших целей мы будем придерживаться базовых основ, которые конечные пользователи смогут использовать при работе со своими цифровыми системами.


Если тактовый сигнал входящих данных имеет высокий уровень джиттера (фазового дрожания), то это создает определенные проблемы. Правильно сконструированная ФАПЧ-система будет синхронизироваться с входящим тактовым сигналом и в то же время максимально игнорировать его джиттер. Если вам когда-нибудь приходилось видеть, как заклинатель змей находит такое место, в котором кобра еще не атакует, но и не уползает — у вас есть некоторое представление о том, как правильная система ФАПЧ делает свое дело.

Следующей подходящей аналогией может служить круиз-контроль автомобиля, который необходимо постоянно настраивать, обеспечивая плавность хода. Если круиз-контроль слишком чувствительный, автомобиль будет постоянно ускоряться и замедляться, если же он недостаточно чувствителен — машина будет терять требуемую скорость.


ФАПЧ внутри цифрового аудиоконвертера (ЦАПа) работает аналогично тому, как заклинатель змей справляется с коброй, находя золотую середину, в которой змея становится полностью неподвижной

ФАПЧ, слишком быстро реагирующая на входящий джиттер, не в состоянии его игнорировать и, поэтому, в сущности, будет воссоздавать его. Такую систему часто называют «быстрой» или «быстро отслеживающей» ФАПЧ. Скептики могут подметить, что ЦАПы с такой быстрой системой ФАПЧ слишком «чувствительны к входному джиттеру». Это и вправду не очень хорошо, однако правильно сконструированную быструю ФАПЧ можно рассматривать как прозрачную, поскольку такая система представляет собой относительно точную копию входного сигнала.

Правильно сконструированная медленная система ФАПЧ будет точно синхронизироваться с временной разверткой входного сигнала, но не будет воссоздавать его джиттер. Также можно сказать, что медленные ФАПЧ-системы тоже являются прозрачными, так как они представляют исходные данные без джиттера устройства-источника. По сути, ЦАПы могут иметь один из двух различных типов прозрачности: а) прозрачность, которая показывает джиттер устройства-источника; б) прозрачность, игнорирующая этот джиттер источника. Какая из них лучше, зависит от того, что именно мы хотим услышать.


Мы приводим здесь сравнительно упрощенный взгляд на то, как работают быстрые и медленные системы ФАПЧ, но для наших целей этого вполне достаточно. Мы считаем, что производителям конвертеров (ЦАПов) стоило бы рассказать нам о степени прозрачности, которой они стремятся достичь в своих устройствах

Поскольку обычно нам нужно минимизировать джиттер, в большинстве случаев мы будем довольствоваться медленной ФАПЧ, игнорирующей входной джиттер, но в отдельных случаях для мониторинга цифро-аналогового преобразования вполне может пригодиться и быстрая ФАПЧ, которая воспроизводит джиттер источника сигнала. Если бы у нас была такая возможность, то все мы наверняка предпочли бы ЦАПы с регулируемой ФАПЧ, что позволило бы нам по необходимости делать выбор между обоими типами прозрачности. Также не лишним видится наличие документации, описывающей тип ФАПЧ в каждом конкретном устройстве.

Еще одно важное понятие, которое следует учесть, — это фазовый шум. Грубо говоря, если джиттер — это несогласованность во времени, то фазовый шум — это несоответствие по частоте, являющееся следствием джиттера. В контексте нашего разговора, джиттер и фазовый шум — это в значительной степени взаимозаменяемые понятия, однако мы все попытаемся разграничивать эти явления в зависимости от контекста.


Понимание взаимосвязи между временной и частотной областями необходимо для более глубокого понимания работы ЦАПов. Для наших целей полезно иметь хотя бы поверхностное представление о том, как джиттер в тактовом генераторе (эффект во временной области) превращается в фазовый шум (частотная область). Это позволит нам представить, как генераторы тактовых импульсов влияют на аудиосигналы

Как правило, практически все, что разработчик ФАПЧ может сделать для уменьшения джиттера/фазового шума, положительно скажется на аудиосистеме в целом. Поэтому разработка ФАПЧ всегда остается главной задачей для конструкторов, когда дело касается минимизации джиттера. Более полное понимание природы ФАПЧ в наших цифровых аудиосистемах поможет нам тоньше воспринимать их звучание, а также учесть все эти важные моменты при совершении покупки.

Долговременная и кратковременная стабильность тактового генератора

Как и в случае с ФАПЧ, даже поверхностное представление о тактовых генераторах поможет нам стать более информированными пользователями и потребителями в данном вопросе.

Технические специалисты делают акцент на долговременной и кратковременной стабильности генератора тактовых импульсов, что напрямую зависит от того, в какой именно сфере этот генератор будет использоваться. Долговременная стабильность выражается в том, насколько сильным будет уход/изменение (drift) частоты генератора по истечении длительных периодов времени — зачастую они измеряются промежутком в 1 000 лет.

Кратковременная стабильность показывает, как будет изменяться частота тактовых импульсов за экстремально малые доли секунды. Наибольшую важность для аудио представляет кратковременная стабильность, так как мы хотим, чтобы наши единицы и нули передавались как можно более равномерно (стабильно) во времени, в то время как изменение точности сигнала по истечении 1 000 лет не имеет для нас никакого значения.

На деле, кварцевые генераторы имеют очень хорошую кратковременную стабильность, но сравнительно низкую долговременную стабильность, поэтому именно их большинство разработчиков использует для аудио. Эти генераторы довольно сложны, но в итоге они обеспечивают прямоугольную волну с такой же частотой дискретизации, с которой работают ФАПЧ и прочие устройства в преобразователе.

Однако, к примеру, в телекоммуникационной отрасли важны обе стабильности, поэтому появилась разновидность клоков, в которых используются рубидиевые генераторы, чтобы обеспечить кристаллам хорошую долгосрочную стабильность. Сейчас аудиомир захватила идея «атомных генераторов тактовых импульсов» (atomic clock), и, несмотря на тот факт, что долговременная точность не имеет значения для аудио, атомные клоки наделали немало шума как на аудиофильском, так и на профессиональном аудиорынке.


Так называемые атомные клоки генерируют высокочастотную синусоидальную волну в 10 МГц, которая далее может использоваться совместимыми с ними тактовыми генераторами, предназначенными для аудио. В большинстве конфигураций 10-МГц генераторы представляют собой автономные устройства, которые отправляют свой сигнал либо в устройство Word Clock, совместимое с 10 МГц (на рынке Pro-аудио их всего несколько), либо на внутренний клок ЦАПа.

На данный момент только Antelope производит профессиональные преобразователи, совместимые с 10 МГц. Новый Antelope 10MX вмещает в себя оба устройства: генератор (10 МГц) и Word Clock, которые находятся в едином блоке высотой 1RU (для монтажа в рэковую стойку). Такое решение впервые используется на рынке профессионального аудио.


Принцип работы рубидиевого генератора довольно сложен, но его основы помогают нам понять, как и почему два отдельно взятых тактовых генератора с частотой в 10 МГц могут функционировать так по-разному. Внутри тактового генератора имеется кварцевый генератор (в некоторых применяются кристаллы с частотой 10 МГц, в других — кратные 10 МГц).

Внутри тщательно контролируемой нагретой камеры находится немного рубидия, который будет выдавать исключительно стабильный высокочастотный сигнал, обеспечивающий долговременную стабильность кристалла. Поэтому кварцевый генератор может генерировать очень точную синусоидальную волну с частотой в 10 МГц.


Рубидиевые генераторы — это сложнейшие устройства, поэтому разработка такого клока представляет собой тонкую задачу. Для контроля всех процессов внутри генератора на 10 МГц используется множество ФАПЧ и прочих сложных устройств — вообразите себе группу заклинателей змей, удерживающих на месте многоголовую змею, и вы получите смутное представление о том, что на самом деле происходит внутри рубидиевого генератора на 10 МГц. Остальная часть конструкции связана с питанием и портированием данного клока для получения на выходе чистой синусоидальной волны с частотой в 10 МГц.

Единственное, что мы определенно точно можем сказать о тактовых генераторах на 10 МГц: они представляют собой гораздо более сложные устройства, чем стандартные клоки на основе кристалла. Одна из причин такой сложности связана с достижением долговременной стабильности, которая, насколько нам известно, не улучшает качество звучания.

В конечном итоге мы придем к выводу, что частота в 10 МГц для аудио была маркетинговой уловкой. Однако для обоснования этого вывода важно пройти тщательный процесс не слепого прослушивания, а также понять некоторую логику в том, как технология с применением клоков на 10 МГц оказалась серьезно воспринята аудиосообществом.

Как прослушивать клоки

Как бы мы ни приветствовали необходимость объективного измерения с использованием соответствующих измерительных инструментов и, в меньшей степени, двойного слепого тестирования, обычный не слепой способ прослушивания остается методом, с помощью которого подавляющее большинство людей будет оценивать аудиоаппаратуру, включая клоки и ЦАПы.

Оценка не слепого прослушивания всегда строится на отдельных наблюдениях, однако мы могли бы помочь пользователю лучше понять, как мыслить и передавать свои собственные субъективные впечатления, а также обеспечить взаимопонимание между сторонниками субъективного и объективного подхода. Таким образом мы бы продвинулись вперед в этом затяжном разговоре о цифровом аудио.

При рассмотрении чего-либо столь же утонченного (но широко распространенного), как синхронизация, акцентирование внимания на параметрах звучания, подверженных влиянию тактовых генераторов, поможет слушателям с любым уровнем знаний и опыта развить свой слух, а также предоставит нам полезный словарный запас терминов, который поможет описать то, что мы слышим. Мы полагаем, что эстетическое чувство может быть развито лучше при надлежащем руководстве и что фокусировка нашего внимания на специфических аспектах сенсорных раздражителей в конечном счете поможет нам стать экспертами.

Ниже приведен список характеристик звучания, которые могут быть услышаны при смене генераторов тактовых импульсов в цифровой системе. В целом, мы уверены, что улучшения любого из этих параметров, вероятнее всего, указывают на уменьшение уровня джиттера.

Clarity («ясность», «чистота», «четкость»). Многие системы считаются «открытыми», так как демонстрируют больше звуковых деталей в высокочастотной области, для которой характерно более высокое разрешение. Определенные звуки — к примеру, звучание ride-тарелок или сибилянты в вокальных партиях — могут быть более детальными и интересными, и ВЧ-динамики в таком случае как бы раскрывают больше информации. Но весь частотный спектр при этом также будет демонстрировать разные уровни ясности.

Changes to Soundstage Shape («изменение сцены»). Некоторые тактовые генераторы будут усиливать центральный звуковой образ, в то время как другие будут стремиться расширить стереобазу, делая акцент на левом и правом дальних краях сцены. Это можно сравнить со звуковой сценой, имеющей «вогнутую» или «выпуклую» форму.

Front-to-Back Depth («глубина сцены»). Глубина звукового образа может изменяться при смене клоков. Как правило, более качественный тактовый генератор будет демонстрировать большую глубину. Зачастую, наряду с увеличением глубины, на записи повышается детальность отраженного звука.

Three-Dimensionality («трехмерность»). Трехмерность, тесно связанная с формой звуковой сцены и ее глубиной, также может рассматриваться как отношение фантомного музыкального образа в центре к остальной части звуковой сцены. Некоторые люди называют это «голографическим» звучанием или даже «голосоникой», потому что звук становится (обратите внимание на визуальный язык) как бы трехмерным.

Localization & Individuation («локализация и индивидуализация»). Способность различать и определять местонахождение отдельных звуков в звуковом образе часто может улучшаться при уменьшении джиттера. При этом панорамное расположение (позиционирование) музыкальных образов может казаться более точным, а местонахождение (разделение) отдельных инструментов в пространстве — более определенным.

Low-End Focus («фокусировка нижних частот/баса»). Внешний тактовый генератор может влиять на плотность и фокусировку самых нижних частот, равно как и на звуковую подачу таких низкочастотных инструментов, как бас-гитара.

Low-End Extension («протяженность низких частот»). Хороший тактовый генератор иногда заставляет цифровую систему расширять свои низкочастотные характеристики (вопиющий пример этого будет рассмотрен ниже).

General Ease of Listening («общая легкость прослушивания»). Для многих слушателей уменьшение уровня джиттера может вызвать ощущение расслабленности при прослушивании, особенно в течение длительного времени. Некоторые заметят, что их тело больше расслабляется при прослушивании одной системы по сравнению с другой.

Richness («насыщенность/яркость»). В высшей степени субъективное качество. Многие опытные слушатели отметят, что звучание становится более «богатым» при минимизации джиттера. Мы полагаем, что слушатели сами придадут этому термину собственное значение и будут использовать его так, как им угодно. Мы также склонны думать, что данный термин может означать суммарный результат многих (если не всех) улучшений вышеперечисленных характеристик.

Мы перешли на описательные формулировки, которые обычно можно услышать от аудиофилов или которые ассоциируются с ними. Мы считаем, что рекорд-мейкеры и далее будут пользоваться этим описательным языком и даже копаться в аудиофильских словарях в поисках лингвистических новшеств.

Развитие языка, который мы используем для описания более тонких аспектов того, что мы слышим, будет только способствовать обмену впечатлениями друг с другом, а также с разработчиками продуктов, которые могли бы использовать наши описания для создания своей техники. Подобный язык всегда будет тем материалом, с помощью которого мы наводим мосты между субъективной и объективной перспективами.

Но мы все же сделаем оговорку: если вы не слышите различий при прослушивании разных тактовых генераторов — это ваш субъективный опыт. Не слышать разницу столь же актуально и важно, как и слышать ее — ведь ключевой аспект здесь состоит в том, чтобы стать опытным экспертом и не позволить чужому мнению склонить вас к тому, чтобы услышать то, чего нет.

Основная проблема кроется в том, что так называемое «управляемое прослушивание» может вызвать предвзятость (тенденция искать подтверждение своим ожиданиям), что представляет собой колоссальную проблему в научно-исследовательской деятельности. Мы не стремимся убедить кого-либо принять нашу идею не слепого прослушивания как научную. Вместо этого мы хотели бы прояснить, что это за парадигма и как можно использовать ее на практике.


Тактовый генератор – электронная схема, производящая тактовый сигнал для синхронизации работы цифровых схем. Такой сигнал может иметь любую форму: и простую прямоугольную, и более сложную. Основными элементами генератора являются резонансная схема и усилитель.

Тактовые сигналы

В электронике, в особенности в синхронных цифровых сетях, тактовый сигнал – это сигнал, имеющий постоянную частоту, два устойчивых состояния (верхнее и нижнее), предназначенных для согласования работы цифровых схем.

Тактовый сигнал меандр

Тактовые сигналы создаются тактовыми генераторами. Наиболее распространенной формой тактового сигнала является меандр (сигнал с рабочим циклом 50%). Рабочий цикл – отношение длительности к периоду импульса. Другими словами, это часть периода, в течение которой сигнал активен.

Схемы, использующие тактовые сигналы, могут становиться активными во время переднего фронта, заднего фронта, или, в случае удвоенной скорости передачи данных, переднего и заднего фронтов импульса.

Принцип формирования тактового сигнала

Кварцевый резонатор

Источником тактовых колебаний является кварцевый кристалл, расположенный в оловянном корпусе. При подаче на кварцевую пластинку напряжения, он начинает совершать механические колебания. Под действием пьезоэлектрического эффекта на электродах кристалла наводится ЭДС. Колебания электротока следуют на генератор, который, собственно, и преобразует их в импульсы.

Генератор тактовых импульсов для компьютера

В компьютере генератор отвечает за синхронную работу всех его устройств: процессора, оперативной памяти, шин данных. Работу процессора при этом можно сравнить с работой часов. Исполнение инструкции центральным процессором осуществляется за определенное число тактов. Точно также функционируют и часы. Такты в механических часах определяются колебаниями маятника.

Производительность процессора напрямую зависит от частоты тактов. Чем больше частота тактов, тем больше инструкций процессор способен выполнить за определенный промежуток времени. Одна команда или инструкция может выполняться процессором за часть такта или за несколько сотен тактов. Общая тенденция современного развития компьютерной техники заключается в снижении количества тактов, выделяемых для выполнения одной простейшей инструкции.

тактовый сигнал в компьютере

Оверклокинг

Особый интерес тактовый генератор процессора представляет для оверклокеров. К оверклокерам относят специалистов в области компьютерных технологий и просто любителей, стремящихся повысить производительность своей техники. В настоящее время оверклокинг доступен даже простым пользователям. Для изменения настроек компонентов компьютера иногда достаточно просто зайти в BIOS.

Прежде всего необходимо ответить на вопрос: за счет чего будет повышаться производительность? Здесь все очень просто. Производители компьютерных комплектующих для повышения надежности своих компонентов закладывают в них технологический запас. Именно этот запас и привлекает любителей выжать максимум из своего компьютера.

Одним из способов разгона компьютера будет замена кварцевого резонатора на кристалл, имеющий более высокую частоту. Или, например, можно убрать дополнительные элементы в виде делителей частоты из схемы генератора.

В современных компьютерах генераторы, как правило, реализуются на одной интегральной схеме. Значения тактовой частоты и множителя процессора, как уже было отмечено выше, можно изменить непосредственно из BIOS.

Начинающие оверклокеры нередко задаются вопросом, как определить модель тактового генератора. Программными средствами это сделать невозможно. Остается только открывать системный блок и искать генератор визуально.

С другой стороны, программным способом определяется модель материнской платы (AIDA64, Everest и другие). Затем для данной модели ищется подробная инструкция, а в ней вполне возможно будет найти информацию о названии генератора. А как узнать для тактового генератора значение тактовой частоты, установленное по умолчанию, и значение после разгона? Эти сведения также можно почерпнуть из инструкции для материнской платы.

Основные элементы

Тактовый генератор 8284А

В качестве резонансной схемы генератора часто выступает кварцевый пьезо-электрический возбудитель. В то же время могут использоваться более простые схемы параллельного резонансного контура и RC-цепь (схема состоящая из конденсатора и резистора).

Генератор может иметь дополнительные схемы для изменения основного сигнала. Так процессор 8088 использует только две трети от рабочего цикла тактового сигнала. Это требует наличия в генераторе тактовых импульсов. И встроенной логической схемы для преобразования рабочего цикла.

По мере усложнения формы выходного синхросигнала в схеме генератора тактовых импульсов могут использоваться смеситель, делитель или умножитель частоты. Смеситель частоты генерирует сигнал, частота которого равна сумме или разности двух частот входных сигналов.

Схема фазовой автоподстройки частоты

Многие устройства используют схемы фазовой автоподстройки частоты (ФАПЧ) для сравнения фазы сигнала с выхода генератора с фазой частоты и регулировки частоты генератора таким образом, чтобы значения фаз совпали.

Схема фазовой автоподстройки

На рисунке приведена схема фазовой автоподстройки частоты (ФАПЧ). Устройство сравнения фаз (компаратор) имеет 2 входа и 1 выход. В качестве входных сигналов используется сигнал от задающего генератора (сигнал на входе схемы ФАПЧ) и сигнал с выхода генератора, управляемого напряжением (ГУН). Компаратор сравнивает фазы двух сигналов и формирует сигнал ошибки, который следует на фильтр нижних частот (ФНЧ), а с него – на ГУН, управляя его частотой.

Программируемый тактовый генератор

Виды тактовых генераторов

1. Генераторы общего назначения

Генераторы общего назначения, как правило, используют схемы ФАПЧ для генерирования выходных сигналов из общей входной частоты. Они для получения опорной частоты используют простые недорогие кварцевые кристаллы. Из сигнала опорной частоты они генерируют выходные тактовые сигналы с низким уровнем дрожания фронта сигнала.

2. Программируемые генераторы

Позволяют изменять коэффициент, используемый делителем или умножителем. Благодаря этому можно выбрать любую из множества выходных частот без изменения аппаратной части.

Применение генераторов синхронизирующих сигналов в сетях SONET

Это тактовый генератор, используемый сетями поставщиков услуг часто в виде встроенного источника сигналов (BITS) для центрального офиса.

Цифровые коммутационные системы и некоторые системы передачи (например, системы синхронной цифровой иерархии SONET) зависят от надежной высококачественной синхронизации. Чтобы обеспечить такое состояние, большинство поставщиков услуг применяют схемы распределения сигналов синхронизации между офисами и реализуют концепцию BITS для обеспечения синхронизации внутри офиса.

На вход генератора тактовой частоты поступают входные сигналы синхронизации, а из выхода следуют выходные сигналы синхронизации. В качестве входных опорных сигналов могут выступать сигналы синхронизации DS-1 или CC (составные сигналы), выходными сигналами также могут быть сигналы DS-1 или CC.

В статьях цикла я уже говорил, что для работы и процессора, и прочих модулей, микроконтроллера необходима синхронизация, которая осуществляется с помощью тактовой частоты.

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

Не смотря на кажущееся разнообразие подходов и решений, в микроконтроллерах разных производителей, общего гораздо больше. И это я сегодня постараюсь показать. И даже не буду делить описание на статьи по разным моделям микроконтроллеров.

Генерация тактовой частоты

Генераторы тактовой частоты могут встроенными в микроконтроллер и внешними. Внешние генераторы мы сегодня рассматривать не будем. Но посмотрим, как такие генераторы можно выбрать в качестве основного источника тактовой частоты.

Внутренние тактовые генераторы могут иметь внутренние же частотозадающие элементы, или внешние. В качестве внешних элементов обычно выступают кварцевые или керамические резонаторы. Но в некоторых случаях и внешние RC цепочки.

Когда высокая точность и стабильность тактовой частоты не требуется, а такое бывает достаточно часто, могут использоваться внутренние частотозадающие цепи. При этом совершенно не важно, используются ли в этом случае те же схемы, что и для внешних цепей, или это отдельные модули. Для полностью внутренних генераторов, как правило, предусматривается возможность некоторой подстройки генерируемой частоты.

Генераторы с внешними резонаторами

В целом, тут абсолютно стандартная схема подключения внешнего резонатора. Вот фрагмент из документации для PIC. Просто по той причине, что он наиболее наглядный

Для других микроконтроллеров (и STM8, и AVR) все точно так же. Только резистор RS на схемах присутствует далеко не всегда. Его функция - ограничение тока через маломощные кварцевые резонаторы (срезы AT). При этом данный резистор может потребоваться. Microchip советует обращаться к документации производителя резонаторов. Для керамических резонаторов может потребоваться и резистор параллельный резонатору. В реальности мне никогда не приходилось использовать ни последовательный, ни параллельный резисторы. При этом в AVR просто есть бит конфигурации позволяющий выбрать работу с маломощным кристаллом.

Выводы подключения резонатора могут иметь разные имена. Так в AVR они обозначаются XTAL1 и XTAL2 (TOSC1 и TOSC2). А в STM8 OSCIN и OSCOUT. Суть от этого не меняется.

Но резонаторы тоже бывают разные. Поэтому предусматривается несколько режимов работы генератора. И задается это битами конфигурации, как бы они не назывались в разных микроконтроллерах. Вот пример использования бит конфигурации (Fuse) для маломощного резонатора в AVR

Здесь указан не только примерный частотный диапазон резонатора, но и рекомендуемые емкости конденсаторов. Для резонаторов допускающих большую амплитуду сигнала есть своя таблица.

Легко заметить, что CKSEL3 как раз и определяет допустимую мощность резонатора.

А вот пример выбора емкости конденсаторов и режима работы для PIC

При этом собственно выбор режима работы производится немного по иному, но тоже через биты конфигурации

Видно, что в целом все очень похоже на AVR.

А вот для STM8 все проще. Генератор этих микроконтроллеров может работать с резонаторами от 1МГц до 16 МГц. При этом дополнительных настроек не требуется. Но и структура генератора в STM8 несколько сложнее

Обратите внимание на элемент схемы "Consumtion control", который и обеспечивает такую гибкость. При этом и к резонатору предъявляются некоторые требования.

Специализированные генераторы с внешними резонаторами

В микроконтроллерах может быть более одного генератора допускающего подключение внешних резонаторов. В таких случаях генераторы не являются равнозначными. Например, в PIC второй генератор ориентирован на работу с резонаторами на частоту 32768 Гц (часовые кварцы). Аналогично и в AVR. Возможности настройки дополнительных генераторов ограничены. В остальном никаких особенностей они не имеют.

Генераторы с внешними RC цепочками

Такой вариант есть не во всех микроконтроллерах. Причем иногда это единственный вариант генератора без использования кварцевого резонатора, так как внутренней RC цепочки может не быть. Здесь особых комментариев не требуется

На номиналы элементов и диапазон генерируемых частот, разумеется, накладываются определенные ограничения.

Внутренние генераторы с внутренними частотозадающими цепями

Такой генератор не требует внешних элементов, что позволяет экономить выводы микроконтроллера. При этом стабильность частоты более низкая. Да и выбор часты обычно сильно ограничен. Внутренних генераторов может не быть вообще, а может быть и несколько (высокочастотный и низкочастотный).

Как правило, высокочастотный генератор имеет специальный регистр, который позволяет подстраивать частоту в некоторых пределах. При этом такие генераторы могут быть и калиброванными.

Подстройка частоты генератора в микроконтроллерах AVR осуществляется через регистр OSCCAL. Точно так же называется регистр подстройки во многих PIC. Но в более современных PIC этот регистр называется OSCTUNE. Впрочем, смысл от этого не меняется. В STM8 регистр подстройки называется CLK_HSITRIMR, но его применение точно такое же.

Кроме точной подстройки частоты может иметься и возможность ее переключения. Переключение, например, задается битами конфигурации CKSEL в ATtiny. В некоторых PIC частоту генератора можно менять во время работы, через регистр OSCFRQ или OSCCON.

Система распределения тактового сигнала

Сгенерированный тактовый сигнал надо доставить до различных модулей микроконтроллера, включая процессор. Причем наличие различных источников сигнала (генераторов) подразумевает и возможность переключения между ними.

Системы распределения тактового сигнала различных микроконтроллеров тоже имеют очень много общего. Я уже приводил иллюстрацию для ATmega, но повторю ее

На этой иллюстрации, внизу, показаны возможные источники тактового сигнала. И мы уже все их знаем. Это внешний тактовый генератор External Clock, внутренний генератор с внешним резонатором Crystall Oscillator, Дополнительный генератор с низкочастотным внешним резонатором Low-frequency Crystall Oscillator, внутренний калиброванный RC генератор Calibrated RC Oscillator.

Выбор конкретного источника сигнала в качестве основного осуществляет мультиплексор. А управляют выбором источника биты конфигурации CKSEL3-CKSEL0, которые мы уже встречали сегодня, и которые встречали в статье " Микроконтроллеры для начинающих. Часть 41. Конфигурация AVR (Fuses, Lock Bits, и другие) "

А теперь тоже самое, но для PIC

Сходство очень наглядное. Только здесь источники сигнала показаны в левой части. Здесь выбор источника тоже осуществляется мультиплексором, только его можно переключать во время работы через регистр OSCCON2 (биты COSC располагаются в нем). А вот начальное состояние этих бит задается в конфигурации битами RSTOSC. Режим работы генератора с внешним резонатором задается битами FEXTOSC конфигурации.

Нужно отметить, что далеко не все PIC имею такую систему распределения тактовых импульсов. Она может быть и гораздо проще, с весьма ограниченными возможностями настройки. Поэтому, как впрочем и для всех микроконтроллеров, избежать изучения документации не получится.

А вот как все это выглядит в STM8

И опять все очень похоже. Выбор источника тактового сигнала осуществляет мультиплексор Master Clock Switch. Пусть вас не вводит в заблуждение, что он управляется битами CKM. Это биты регистра статуса CLK_CMSR. Переключение осуществляется битами SWI регистра CLK_SWR.

Микроконтроллеры очень разные, а модули тактирования у них очень похожи. И это сильно облегчает нам жизнь. Я понимаю, что эти слова вы воспринимаете с иронией. Мол, какое же облегчение, если управление этими похожими системами везде разное. Но разобравшись один раз с принципом работы, в каком либо микроконтроллере, вы сможете гораздо быстрее освоить и совсем другой микроконтроллер.

Делители частоты

Во всех семействах микроконтроллеров, которые мы рассматриваем, на структурных схемах можно найти делители частоты. Названия у них разные, немного различаются выполняемые функции, но они есть везде.

Для AVR такой делитель можно найти под названием System Clock Prescalerю Для PIC он делитель называется Postscaler Divider. Для STM8 делитель просто показан после мультиплексора (управляется битами CPUDIV). Для STM8, кроме того, есть делитель для внутреннего высокочастотного RC генератора (HSI). А для PIC (некоторых PIC), есть PLL умножитель частоты внешнего тактового сигнала.

Дело в том, что часто возникает необходимость работать на частоте отличной от частоты резонатора или внутреннего генератора, выбор которых ограничен. Да и для экономии энергии источника питания полезен переход на более низкие частоты.

Для установки начального состояния делителей обычно используются биты конфигурации. Но во время выполнения программы тоже часто предусматривается возможность изменения коэффициента деления через управляющие регистры.

Распределение тактового сигнала

После делителя тактовый сигнал распределяется по различным модулям микроконтроллера. При этом для STM8 делитель влияет только на частоту процессора.

Во многих случаях можно управлять подачей тактового сигнала на различные модули микроконтроллера через управляющие регистры. Мы уже частично касались этого вопроса при рассмотрении управления питанием и режимов сна. И более подробно будем рассматривать при изучении периферийных модулей.

Мониторинг тактовой частоты

Когда микроконтроллер работает от внешнего тактового генератора или использует внешний кварцевый резонатор существует потенциальная опасность пропажи тактового сигнала. Для ответственных применений остановка работы может быть недопустимой, поэтому нужно иметь возможность как то продолжать работу в такой аварийной ситуации.

Для этого в некоторых микроконтроллерах имеется встроенный модуль мониторинга тактовой частоты для источников связанных с внешним миром - Fail-Safe Clock Monitor или Clock security system. При обнаружении проблем с тактированием этот модуль автоматически переключает микроконтроллер на работу от внутреннего генератора.

Это иллюстрация для PIC, но в STM8 все устроено примерно так же. Переключение на внутренний генератор далеко не всегда является отличным выходом из положения, но позволяет сохранить выполнение критичных функций и включить индикацию аварийной ситуации.

Вывод тактовой частоты

В большинстве случаев предусматривается и возможность вывести тактовый сигнал на один из выводов микроконтроллера. Я не буду рассматривать эту возможность, так она используется в основном для централизованной синхронизации подчиненных микроконтроллеров главному. А для начинающих такое вряд ли потребуется.

Но в некоторых случаях вывод тактовой частоты надо не включать, а отключать, что бы освободить вывод для других целей. С этим мы столкнемся в практических примерах. Там я и расскажу, как вывод тактовой часты можно отключать.

Заключение

Генерация тактовой частоты является чрезвычайной важной функцией обеспечения работы микроконтроллеров. Но зачастую этому вопросу не приходится уделять слишком много внимания. Настройка обычно выполняется лишь однажды, при задании конфигурации микроконтроллера. Не редко оказывается приемлемой и конфигурация по умолчанию. Если требуется более тонкая настройка, то она обычно выполняется момент настройки микроконтроллера после подачи питания или сброса.

При этом в разным микроконтроллерах используются примерно одинаковые подходы, а модули тактовых генераторов очень похожи. Все это и позволило достаточно сжато показать основные моменты, что бы у вас сложилось представление о том, как это все работает. А конкретные детали будем рассматривать в примерах практических устройств в последующих статьях.

Сегодня даже рядовой пользователь может попытаться повысить
производительность своего компьютера, изменяя состояние опций BIOS Setup. А было
время, когда для выполнения подобной операции требовались паяльник, осциллограф
и серьезные познания в области цифровой схемотехники. Для современных
оверклокеров акцент сместился от схемотехники к термодинамике, так как
устойчивость работы электронных схем на частотах, превышающих штатные,
существенно зависит от эффективности их охлаждения.

Все эти результаты эволюции платформы PC, безусловно, хороши и логичны.
Недостаток только в том, что возможности для удовлетворения любопытства и
исследовательского интереса существенно уменьшились, так как в домашних условиях
"залезть" внутрь микросхем чипсета и тем более что-то там модифицировать, к
сожалению, невозможно.

Мы в очередной раз убеждаемся в том, что ищущий "изюминку" не обрадуется
килограмму изюма, а счастье есть состояние несовместимое с фундаментальными
свойствами пространства и времени. Так как пути устранения указанного
противоречия автору неизвестны, перейдем непосредственно к предметной области.

Чтобы разобраться в работе тактового генератора и схемотехнических аспектах
разгона, рассмотрим эволюцию подсистемы тактирования от "древней" IBM PC/XT до
сегодняшних платформ. В практической части статьи приведен пример, позволяющий
на уровне принципиальной электрической схемы и ассемблера посмотреть на
процессы, происходящие при переключении тактовой частоты в BIOS Setup.

1. Платформы PC/XT. Разгоняем с помощью паяльника.

Тактовый генератор в IBM PC/XT реализован на микросхеме Intel 8284, советский
аналог – КР1810ГФ84, описан в [26].

Задающий генератор использует кварцевый резонатор частотой 14.31818 MHz.
Тактовая частота процессора формируется путем деления на 3 частоты задающего
генератора: 14.31818 MHz / 3 = 4.773 MHz. Тактовый сигнал для системного таймера
формируется путем деления на 12 частоты задающего генератора: 14.31818 MHz / 12
= 1.193 MHz. Заменив кварцевый резонатор 14.318 MHz на 24.0 MHz, мы получим
тактовую частоту процессора в режиме "турбо" 24.0 MHz / 3 = 8.0 MHz.

Работоспособность системы на новой тактовой частоте будет зависеть от
величины технологического запаса быстродействия у процессора, подсистем памяти и
ввода-вывода. Отдельного внимания требует системный таймер. Напомним, что он
используется программным обеспечением для формирования интервалов времени,
продолжительность которых не зависит от быстродействия процессора, поэтому
повышение частоты тактирования таймера приведет к нежелательным последствиям:
будут спешить часы DOS Time, частоты звуковых сигналов, выводимых на PC Speaker,
будут завышены. Чтобы избежать таких последствий, система IBM PC/XT,
поддерживающая режим "турбо" должна содержать два тактовых генератора: для
процессора и для таймера. Вместе с тем, существовали некорректно написанные
программы, которые для формирования времязадающих функций использовали не
таймер, а процессор, рассчитывая на то, что тактовая частота всегда равна 4.773
MHz. Для обеспечения совместимости с такими программами, была введена кнопка
"Turbo", позволяющая переключаться между стандартной и повышенной частотой.
Заметим, что понятия "множитель" тогда не существовало, частоты тактирования
ядра процессора и шины всегда были равны. Следовательно, разгон процессора мог
быть выполнен только путем повышения частоты шины.

2. Платформы PC/AT 286, 386. Работаем с переключателями.

Во времена процессоров 80286, 80386 производители наладили выпуск
универсальных материнских плат, допускающих установку процессоров с различными
тактовыми частотами. Модельный ряд 80386DX содержал процессоры с частотами 16,
20, 25, 33, 40 MHz. Первые универсальные платы использовали панельку для
установки осциллятора (осциллятором здесь называется схема, содержащая кварцевый
резонатор и генератор, интегрированные в одном корпусе). Пользователь или
производитель платы должен был установить осциллятор, частота которого
соответствовала тактовой частоте процессора. Разумеется, системный таймер
тактировался от другого генератора.

Такой "детский конструктор" уже допускал разгон без паяльника (путем
установки осцилляторов с частотами, превышающими штатные), если конечно
осциллятор был установлен в панельке, а не запаян. Затем появились так
называемые частотные синтезаторы, способные из частоты одного задающего
генератора (обычно это классическая для платформы PC частота 14.31818 MHz)
сформировать все частоты, необходимые для работы платформы при поддержке
различных процессоров. Один из методов выполнения такого преобразования –
умножить опорную частоту на достаточно большой коэффициент, в результате
получится сигнал с частотой, из которой путем деления на целые коэффициенты
можно получить все требуемые частоты с приемлемой точностью. Данное
преобразование выполняется внутри микросхемы частотного синтезатора. Для
управления частотой выдаваемого тактового сигнала используются входы задания
частоты. Код, подаваемый на эти входы, задается переключателями (jumpers),
установленными на материнской плате. Теоретически, в таких системах уже
существовала возможность реализации программного управления тактовой частотой.
Для этого требовалось реализовать порт вывода (программно-доступный регистр),
выходы которого подключаются к входам задания частоты, вместо переключателей.
Записывая разные коды в этот порт, BIOS или другая программа может переключать
тактовую частоту. Но данное решение не стало популярным, во-первых, потому, что
такая гибкость в те времена еще не была востребована, а во-вторых, потому, что
большинство частотных синтезаторов тех времен не допускали переключение частоты
без выключения питания.

3. Платформы PC/AT 486. Первые процессоры с умножением частоты.

В процессорах класса 486 впервые появилось понятие "множитель". Например,
процессор 80486DX2-50 тактировался от частоты 25 MHz, на этой частоте работала
шина. Внутри процессора происходило умножение частоты тактового сигнала на 2, и
ядро работало на частоте 50 MHz. Разумеется, этот процессор работает медленнее,
чем 80486DX-50, у которого и шина и ядро тактируются от 50 MHz. Тогда почему же
разработчики приняли такое решение? Дело тут в том, что технологических
возможностей для роста частоты ядра значительно больше, чем для роста частоты
шины. Цепи системной шины реализованы в виде проводников на плате, соединяющих
процессор и "северный мост" чипсета. Цепи ядра реализованы внутри кристалла
процессора, здесь физическая длина проводников и количество буферных элементов,
через которые проходят сигналы, значительно меньше. Чтобы максимально
реализовать разгонные потенциалы, как ядра, так и шины, их требовалось запустить
на разных частотах, что и было сделано путем введения механизма умножения
частоты, который успешно применяется и в современных процессорах. Для
процессоров поколения 486 были достигнуты частоты 50 MHz (для шины) и 133MHz
(для ядра). Приведены штатные значения, без учета экспериментов по разгону.

Заметим, что переключатели задания частоты шины подключены к управляющим
входам тактового генератора, так как он вырабатывает частоту, а переключатели
задания множителя – к управляющим входам процессора, так как умножение
происходит внутри процессора.

4. Платформы Intel Pentium, AMD K5, K6. Гибкость заставляет задуматься.

Умножение частоты и возможность выбора множителя появились еще во времена
процессоров 486. Следующее поколение процессоров - Intel Pentium и AMD K5/K6,
использующее процессорный разъем Socket 7, базируется на той же идеологии
тактирования, но набор частот и множителей был существенно расширен. Перед
оверклокерами встает задача выбора оптимального (с точки зрения
производительности) режима работы процессора. Хотя численные значения частот и
множителей сегодня совсем другие, приведенный ниже принцип рассуждений применим
и для современных систем.

Дано: Тактовый генератор на плате поддерживает частоты шины 50, 55, 60, 66.6
MHz. Процессор поддерживает множители 1.5x и 2 x. Предел устойчивой работы
нашего процессора 120 MHz.

Найти: Оптимальный (с точки зрения производительности) режим работы
процессора.

Очевидно, у нас два варианта: 66.6 x 1.5 = 100 MHz или 60 x 2 = 120 MHz. В
нашем случае, мы не можем использовать 66.6 x 2 = 133.3 MHz, так как заявленный
порог устойчивости процессора 120 MHz. В первом варианте шина работает быстрее,
но ниже частота ядра, во втором варианте – наоборот. Сразу признаемся, что на
прямой вопрос "что лучше" однозначного ответа не существует, и вот почему.

Представим себе компактный фрагмент машинного кода, долго работающий с
компактным блоком данных, код и данные помещаются во внутренний кэш процессора.
Очевидно, что вскоре после начала выполнения, код и данные будут автоматически
скопированы процессором из ОЗУ во внутренний кэш и для доступа к ним не
потребуется обращений по системной шине. От этого момента и до завершения
выполнения нашего фрагмента процессор будет работать с производительностью,
зависящей от частоты ядра и не зависящей от частоты шины.

Теперь представим другую ситуацию – процессор копирует в памяти блок данных,
размером десятки мегабайт. Очевидно, в этом случае, процессор существенную часть
времени будет занят операциями на шине (чтение из блока-источника, запись в
блок-получатель), поэтому производительность здесь существенно зависит от
частоты шины, если, конечно эффект от быстрой шины не нивелирован медленной
оперативной памятью.

Мы рассмотрели два диаметрально противоположных примера. Ситуации,
встречающееся в программном обеспечении на практике, находятся "посередине". Но
тем не менее, на скорость работы одних программ больше влияет частота шины,
других – частота ядра. Даже в пределах одного приложения могут встречаться
фрагменты, как первого, так и второго типа. Поэтому, углубляясь в теоретические
рассуждения, не следует забывать и о методе "научного тыка".

5. Современные системы. Нажми на кнопку – получишь результат.

Понятия "частота шины" и "множитель", рассмотренные выше, благополучно дожили
до наших дней, изменились только численные значения этих параметров. Современная
платформа позволяет управлять тактовой частотой процессора и множителем из BIOS
Setup. Читателю, знакомому с цифровой и микропроцессорной схемотехникой,
очевиден путь решения этой задачи: код управления частотой, подаваемый на
тактовый генератор и код управления множителем, подаваемый на процессор
формируется посредством программно-доступных регистров (портов вывода), выходы
которых подключены к соответствующим управляющим линиям. Записывая данные в эти
регистры, BIOS, либо другая программа, может устанавливать требуемые значения
частоты и множителя. Архитектура регистров, реализующих данную функцию, зависит
от модели платформы, поэтому программы, реализующие такое управление, могут быть
написаны под одну конкретную плату (как пишется BIOS), либо они должны
распознавать тип платы и содержать модули поддержки под каждую плату.

В большинстве реализаций современных платформ, тактовый генератор выполнен в
виде отдельной микросхемы, программный доступ к его регистрам обеспечивается по
2-проводной последовательной шине SMB (System Management Bus). Заметим, что та
же шина используется для считывания микросхем SPD (Serial Presence Detect)
хранящих параметры модулей оперативной памяти. Контроллер шины SMB находится в
составе "южного моста" чипсета. Детальное описание шины SMB содержится в [17].
Информацию по контроллеру шины SMB можно найти в документации на "южные мосты"
чипсетов, например [10], [19], [20]. Документация на большинство тактовых
генераторов также доступна, например [21]. Шина SMB построена на базе протокола
I2C, предложенного фирмой Philips.

Важным свойством современных платформ является автоматическое определение
тактовой частоты процессора. Для этого процессор сам формирует код управления
частотой системной шины. Этот код жестко прошит в процессоре в соответствии с
его типом (не путать с множителем). Код подается от процессора на тактовый
генератор и управляет режимом работы последнего. Процессоры семейства Intel
Socket 775 используют сигналы BSEL[0,1,2] для выбора частоты системной шины.
BSEL расшифровывается как Bus Select.

Каким же образом автоматический выбор частоты в соответствии с типом
процессора и управление частотой из BIOS Setup существуют совместно?

Итак, мы включили питание, тактовый генератор принял от процессора код
управления частотой по линиям BSEL[2,1,0] и автоматически запустился на частоте,
соответствующей установленному процессору. Процессор начал выполнение стартовой
процедуры BIOS POST на штатной частоте. Затем, BIOS на одном из этапов
выполнения процедуры POST, интерпретирует содержимое памяти CMOS, в которой
хранится информация о состоянии опций Setup. Если в Setup установлена частота,
отличающаяся от штатной, BIOS перепрограммирует тактовый генератор, и он
запустится на новой частоте. Физически, это сводится к выполнению транзакций на
шине SMB, записывающих данные в регистры тактового генератора.

Именно так приводятся в исполнение установки BIOS Setup. Прежде чем выполнить
перенастройку тактового генератора, чипсета и других устройств в соответствии с
установками опций, BIOS проверяет контрольную сумму информации CMOS, а также
бит, индицирующий факт потери батарейного питания. Если выясняется, что
информация в CMOS недостоверна, перепрограммирования частоты не происходит,
процессор продолжает работать на штатной частоте. На этом основано действие
перемычки Clear CMOS, которая позволяет сбросить настройки Setup и запуститься в
штатном режиме, если плата не стартует после чрезмерного разгона.

Источники информации

17) System Management Bus (SMBus) Specification. Version 2.0.

18) PCI BIOS Specification. Revision 2.1.

(Информация на данном сайте более полная, чем на "родных" сайтах
производителей указанных микросхем.)
19) VIA VT82C686A South Bridge Datasheet. Revision 1.54. Для поиска документа
набирать строку "VT82C686".
20) VIA VT82C686B South Bridge Datasheet. Revision 1.71. Для поиска документа
набирать строку "VT82C686".
21) Cypress W230 Spread Spectrum FTG (Frequency Timing Generator) for VIA K7
Chipset. Для поиска документа набирать строку "W230".

Книги

22) В.Л. Григорьев. Микропроцессор i486. Архитектура и программирование.
Москва ТОО "ГРАНАЛ" 1993.
23) В.Г. Артюхов, А.А. Будняк. В.Ю. Лапий. С.М. Молявко, А.И. Петренко.
Проектирование микропроцессорной электронно-вычислительной аппаратуры.
Справочник. Киев "Тэхника" 1988.
24) К. Г. Самофалов, О.В. Викторов. Микропроцессоры. Библиотека инженера. Киев
"Тэхника" 1989.
25) 2B ProGroup: В.А. Вегнер, А.Ю. Крутяков, В.В. Серегин, В.А. Сидоров, А.В.
Спесивцев. Аппаратура персональных компьютеров и ее программирование. IBM
PC/XT/AT и PS/2. Москва "Радио и связь" 1995.
26) Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, Ф.В. Филиппов.
Микропроцессорный комплект К1810. Структура, программирование, применение.
Справочная книга. Москва "Высшая школа" 1990.

Читайте также: