Как тактировать avr

Введение

Прежде чем разбирать, какие бывают источники тактирования, чем они отличаются, их плюсы и минусы и тд,  нам нужно определиться, что вообще означает словосочетание тактовая частота. Да и вообще, что означает термин «частота»?

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

Какие можно привести примеры подобных колебаний? Это могут быть часы с кукушкой, маятник, качели

и даже круги на воде от камушка, который мы кинули в воду:

Более подробно про частоту и период можно прочитать в статье Электрические сигналы и их виды.

Так, теперь ближе к делу. Что же такое тактовая частота?

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

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

В МК AVR тактовая частота в основном измеряется в МегаГерцах. Как помните, приставка «Мега» означает один миллион. Если у нашего МК тактовая частота 8 МегаГерц, то это означает, что он может выполнять 8 000 000 тактов в секунду, или, грубо говоря,  около 8 000 000  различных операций в секунду ;-). Пусть вас не пугает это число, потому что ваши настольные компьютеры, телефоны и планшеты уже работают на частоте в несколько ГигаГерц. Гига — это уже миллиард! Например, если частота процессора вашего компа 2 ГГц, это означает, что он может произвести 2 миллиарда операций в секунду). Мало? Как оказалось на практике, уже стает мало)).

Вернемся к нашим баранам), а именно, к тактовой частоте. Допустим, мы имеем МК Tiny 2313, сконфигурированный на работу 8 МегаГерц и который  может выполнять при этом 8 миллионов тактов в секунду. Каждая операция процессора состоит из тактов. А когда процессор выполняет нашу программу, записанную во Flash память, он тоже производит определенные операции которые указаны в программе. Граничная частота МК Tiny 2313, как говорит нам Datasheet, довольно высокая и составляет аж целых 20 МГц! Это довольно много по меркам МК

Правда, это только с применением внешнего кварцевого резонатора.

Кварцевый резонатор, называемый часто просто кварц, может выглядеть по-разному:

На схемах он обозначается так:

На кварце часто указана частота, на которой он работает. Ниже на фото мы видим кварц, который работает на частоте 8 МегаГерц (8.000MHz)

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

Есть один нюанс, любезно предоставленный нам производителями микроконтроллера. Если нам нужно, чтобы программа выполнялась медленнее в восемь раз, мы можем этого добиться даже не переписывая программу и не выставляя задержки по новой, то есть в 8 раз длиннее. Нам достаточно уменьшить частоту МК в восемь раз и программа будет для нас выполняться медленнее в восемь раз. Забегая вперед, скажу, что сделать это мы можем очень легко, выставив всего одну галочку при программировании фьюз-битов, в бите CKDIV 8. Также легко мы можем отменить все наши изменения.

Этот способ мы использовали при прошивке МК в прошлой статье.

Существуют 4 варианта, которые применяются для тактирования МК:

— тактирование от внутреннего RC-генератора

— тактирование от внешнего кварца

— тактирование от внешнего генератора

— тактирование от RC-цепочки

Генератор напряжения пилообразной формы

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



Генератор колебаний пилообразной формы.

Как нетрудно заметить внесённые изменения касаются цепи заряда-разряда конденсатора С1 в интеграторе. Диоды VD1 и VD2 позволяют выполнять заряд-разряд конденсатора разными токами. При изображённой на схеме полярности включения диодов длительность разряда конденсатора С1, а следовательно и длительность линейно-возрастающего напряжения определяется величиной сопротивления резистора R4', а длительность заряда С1 и линейно падающего сигнала на выходе интегратора – сопротивлением R4” по следующим формулам

Все остальные аспекты работы схемы аналогичны предыдущей. Так как схема не является симметричной то резистор R5 можно удалить. Частота выходного пилообразного напряжения будет определяться суммой резисторов R4' и R4”. Стабильность частоты в данной схеме будет ограниченна температурной нестабильностью диодов VD1 и VD2


Тактирование от внешнего кварца

Тактирование от внешнего кварца чуточку сложнее.  Как же нам подключить внешний кварц? Для начала нам надо найти цоколевку МК, которую мы собираемся тактировать от внешнего кварца. Пусть в нашем примере это  будет Тiny 2313. Чтобы подключить внешний кварц, достаточно найти ножки микросхемы с названием «XTAL1»  и «XTAL2».

 Потом подсоединить кварц вот по такой схеме:

Потом при прошивке надо правильно выставить фьюзы. О них мы с вами поговорим в следующих статьях.

На реальных платах можно увидеть примерно вот такие схемы  расположения элементов с тактированием от кварца. Здесь изображен  МК AVR  в корпусе TQFP , конденсаторы в SMD исполнении, скорее всего в корпусе 0805, и кварц.

А здесь изображен МК в корпусе DIP , два керамических конденсатора, так называемые “желтые капельки”, и кварц.

Как видно на схеме подключения кварца к МК, номинал нужных нам конденсаторов должен составлять 15-22 пикофарада. Расшифровать номинал таких конденсаторов, можно с помощью этого рисунка:

Генератор напряжения треугольной формы

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



Генератор напряжения треугольной формы.

Данный генератор треугольного напряжения состоит из триггера Шмитта на ОУ DA1 и резисторах R1, R2 и R3, а также интегратора на ОУ DA2 и резисторах R4, R5 и конденсатора С1. Треугольные импульсы снимают с вывода «UВЫХ 2», кроме того с вывода «UВЫХ 1» можно снимать прямоугольные импульсы. Резисторы R3 и R5 служат для компенсации напряжения смещения ОУ и в случае, когда нет необходимости в сильной симметрии импульсов их можно заменить перемычками.

Для понимания принципа работы генератора треугольных импульсов рассмотрим график напряжений на его выводах UВЫХ 1 и UВЫХ 2.



Графики выходных напряжений генератора треугольных импульсов: на выходе триггера Шмитта (верхний) и на выходе интегратора (нижний).

Допустим после подачи напряжения питания в схему на выходе триггера Шмитта (DA1) установилось напряжение положительного насыщения ОУ UНАС+, тогда конденсатор С1 начинает заряжаться, а на выходе интегратора (DA2) напряжение начинает соответственно линейно падать. Так как выход интегратора и вход триггера объединены, то при достижении линейно-падающего напряжения уровня нижнего напряжения переключения триггера UНП, то произойдёт переброс напряжения на его выходе до напряжения отрицательного насыщения ОУ UНАС-, а коденсатор С1 начнёт разряжаться. По мере разряда конденсатора напряжение на выходе интегратора начнёт линейно расти до уровня напряжения верхнего переключения триггера Шмитта UВП, после достижения, которого выход триггера переключится до уровня напряжение положительного насыщения ОУ UНАС+ и цикл зарядки – разрядки конденсатора С1, а следовательно и треугольного напряжения повторится.

Из выше сказанного можно сделать вывод, что амплитуда выходного треугольного напряжения, которое можно снимать с выхода ОУ DA2 (UВЫХ 2) будет равна величине гистерезиса триггера Шмитта


Таким образом регулируя величину гистерезиса триггера можно увеличивать или уменьшать амплитуду выходных импульсов треугольного напряжения.

Длительность треугольно импульса состоит из двух периодов: периода нарастания длительностью tН и периода спада напряжения длительностью tС. Длительность этих периодов определяется следующими выражениями

Как известно пороговые уровни триггера Шмитта при опорном напряжении равном нулю (UОП = 0 В) определяются следующими выражениями

Тогда после несложных преобразований и замен получим выражение для длительности и частоты треугольного напряжения


Изменение частоты следования треугольных импульсов осуществляется с помощью резистора R4 (точная регулировка) и конденсатора C1 (грубо), хотя длительность импульсов также зависит от величины сопротивления резистора R4.

Стоит заметить, что максимальная частота следования импульсов ограничена параметрами ОУ, в частности скоростью нарастания выходного напряжения ОУ DA2 (интегратор) и максимальным выходным током ОУ DA1 (триггер Шмитта).

Источники сигнала SYSCLK

Итак, теперь мы знаем, что основным тактовым сигналом в микроконтроллерах STM32 является SYSCLK. Давайте теперь разберемся, как его получить. В нашем распоряжении 3 варианта: генераторы HSI, HSE и модуль PLL:

Рис. 9. Источники сигнала SYSCLK

После сброса микроконтроллера в качестве источника сигнала SYSCLK по-умолчанию устанавливается встроенный RC-генератор HSI. Прохождение тактового сигнала для этого случая представлено на рис. 10, значения по-умолчанию всех делителей обвел кружочком:

Рис. 10. Конфигурация системы тактирования по-умолчанию

А теперь давайте посчитаем значения всех частот в конфигурации по-умолчанию. Частоты HCLK, FCLK, PCLK1, TIMXCLK, PCLK2, TIM1CLK будут равны 8 МГц, частота Cortex System timer равна 1 МГц, а ADCCLK 4 Мгц.

Если мы хотим задействовать HSE-генератор, то картина будет следующей:

Рис. 11. Выбор генератора HSE в качестве источника тактирования SYSCLK

При использовании кварцевого резонатора на 8 МГц все системные частоты будут такими же, что и в предыдущем случае. Разница только в одном: при использовании генератора HSE стабильность частот лучше, чем при использовании HSI. Однако, если мы хотим получить максимальную производительность всей системы, то нужно в качестве источника SYSCLK использовать блок умножения частоты PLL.

Последний и наименее распространенный…

Существует не так много ситуаций, когда требуется генератор на внешних резисторе-конденсаторе или только на конденсаторе. Если по какой-то причине вам не подходят варианты внешних генераторов, рассмотренные выше, выбирайте микроконтроллер с внутренним генератором и используйте его. Однако, если вы полны решимости откопать один или два пассивных компонента из своей коробки запчастей, обратитесь к техническому описанию микроконтроллера за инструкциями по подключению и проектированию схемы генератора. Ниже показаны примеры подключения компонентов, взятые из технического описания на микроконтроллеры C8051F12x – 13x от Silicon Labs:

Варианты использования внешних резисторов и конденсаторов для создания схемы тактового генератора микроконтроллера

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

Генератор импульсов с регулируемой скважностью и частотой

9zip.ru Катушки Теслы Генератор на TL494 с регулировкой частоты и скважности

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

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

Этим требованиям вполне удовлетворяет схема генератора на известной и распространённой микросхеме TL494. Её и многие другие детали для этой схемы можно найти в ненужном компьютерном блоке питания. Генератор имеет силовой выход и возможность раздельного питания логической и силовой частей. Логическую часть схемы можно запитать и от силовой, также её можно питать от переменного напряжения (на схеме имеется выпрямитель).

Диапазон регулировки частоты генератора чрезвычайно высок — от десятков герц до 500 кГц, а в некоторых случаях — и до 1 МГц, зависит от микросхемы, у разных производителей разные реальные значения максимальной частоты, которую можно «выжать».

Перейдём к описанию схемы:

— питание цифровой части схемы, постоянным и переменным напряжением соответственно, 16-20 вольт. Vout — напряжение питания силовой части, именно оно будет на выходе генератора, от 12 вольт. Чтобы запитать цифровую часть схемы от этого напряжения, необходимо соединить Vout и Пит± с учётом полярности (от 16 вольт). OUT(+/D) — силовой выход генератора, с учётом полярности. + — плюс питания, D — drain полевого транзистора. К ним подключается нагрузка. G D S — винтовая колодка для подключения полевого транзистора, который выбирается по параметрам в зависимости от ваших требований к частоте и мощности. Разводка печатной платы выполнена с учётом минимальной длины проводников к выходному ключу и необходимой их ширины.

Rt — переменный резистор управления диапазоном частот генератора, его сопротивление необходимо выбрать под ваши конкретные требования. Онлайн калькулятор расчёта частоты TL494 прилагается ниже. Резистор R2 ограничивает минимальное значения сопротивления времязадающего резистора микросхемы. Его можно подобрать под конкретный экземпляр микросхемы, а можно ставить таким, как на схеме. Ct — частотозадающий конденсатор, отсыл, опять же, к онлайн калькулятору. Позволяет задать диапазон регулировки под ваши требования

Rdt — переменный резистор для регулировки скважности. Резистором R1 можно точно подогнать диапазон регулировки от 1% до 99%, также вместо него можно поставить вначале перемычку

Ct, нФ:
R2, кОм:
Rt, кОм:

Несколько слов о работе схемы. Подачей низкого уровня на 13 вывод микросхемы (output control) она переведена в однотактный режим. Нижний по схеме транзистор микросхемы нагружен на резистор R3 для создания выхода для подключения к генератору измерителя частоты (частотометра). Верхний же транзистор микросхемы управляет драйвером на комплиментарной паре транзисторов S8050 и S8550, задача которого — управлять затвором силового выходного транзистора. Резистор R5 ограничивает ток затвора, его значение можно менять. Дроссель L1 и конденсатор ёмкостью 47n образую фильтр для защиты TL494 от возможных помех, создаваемых драйвером. Индуктивность дросселя, возможно, следует подобрать под ваш диапазон частот. Следует отметить, что тразнисторы S8050 и S8550 выбраны не случайно, так как они имеют достаточную мощность и скорость, что обеспечит необходимую крутизну фронтов. Как видите, схема предельно проста, и, в то же время, функциональна.

Переменный резистор Rt следует выполнить в виде двух последовательно соединённых резисторов — однооборотного и многооборотного, если вам нужна плавность и точность регулировки частоты.

В качестве силового транзистора можно использовать практически любые полевые транзисторы, подходящие по напряжению, току и частоте. Это могут быть: IRF530, IRF630, IRF640, IRF840.

Чем меньше сопротивление транзистора в открытом состоянии, тем меньше он будет нагреваться при работе. Тем не менее, наличие радиатора на нём обязательно.

Собрано и проверено по схеме, которую предоставил flyer.

Схема генератора импульсов нс

Основным препятствием для тестирования этих генераторов (их английское сокращение – TDR) обычно является отсутствие доступа или владения заводским измерительным прибором, ведь такое оборудование не является дешевым и доступным. Но сделав действительно небольшие затраты, можно самим построить такую измерительную систему. Так что для неё нужно? Разумеется, осциллограф, предпочтительно цифровой (хотя и не обязательно) с минимальной полосой пропускания 60 МГц (500 Мс -1 ГГц / с) и источником импульсов со временем нарастания не более 1 нс и длительностью 1-2 нс. Полагаем у каждого радиолюбителя есть такой осциллограф, поэтому остается вопрос: как сделать такой генератор импульсов?

Генератор электрических импульсов на таймере 555

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

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

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

Измерения наносекундных импульсов

Ниже приведены результаты измерения. Первое измерение показывает генерируемый импульс, измерение времени нарастания около 13,3 нс, ограниченной ширины полосы осциллографа (200 МГц), общая длительность импульса составляет около 2,5 нс. Генератор, измеренный на осциллографе с полосой пропускания 2 ГГц (10 GS), показал Tr = 280 pS и общую длительность импульса 1 нс.

Другим является измерение открытого коаксиального кабеля с коэффициентом укорочения 0,66 (коэффициент укорочения – это значение, если электромагнитная волна «работает» медленнее в данной среде по отношению к вакууму) кабель RG 178. Общее измеренное время составляет 17 нс, чтобы рассчитать время распространения, это значение должно быть разделено на 2 (время для достижения отражения и возврата сигнала), которое мы получаем, так что 8,5 нс, теперь этого достаточно, чтобы умножить на скорость света (точнее, электромагнитную волну) и по коэффициенту укорочения кабеля, то есть 0,66. После расчетов получаем результат длины кабеля, равный 1,67 м (фактическая длина кабеля составляет 1,7 м), поэтому ошибка измерения составляет около 2%.

Последнее измерение касается установки антенного кабеля. Аналогично здесь отражение в конце и волнистости в середине измерения. Рассчитанные расстояния представляют собой соответственно разъем на расстоянии 2,2 м и молниеотвод на расстоянии 5,5 м и, наконец, антенну на расстоянии 9,2 м (эти измерения также точны до 3%).

Кварцевые и керамические резонаторы

Если вам нужна действительно высокая точность и стабильность без дополнительных затрат на микросхему генератора на основе кварцевого резонатора, выбирайте вариант с одиночным кварцевым резонатором. На рынке широко доступны компоненты с допуском менее 20 миллионных долей (т.е. 0,002%). Схема генератора, показанная выше, частично интегрирована в микроконтроллеры, которые поддерживают конфигурацию с отдельным кварцем; вам нужно будет только обеспечить правильные нагрузочные конденсаторы. Общая емкость нагрузки (Cнагр.общ.) указывается в техническом описании на кварцевый резонатор, а нагрузочные конденсаторы выбираются следующим образом:

\

где Cпар. представляет любую паразитную емкость. Этот расчет на практике довольно прост: выберите разумное значение для Cпар. (скажем, 5 пФ), вычтите его из Cнагр.общ., и затем умножьте результат на два. Таким образом, если техническое описание указывает нагрузочную емкость 18 пФ, мы имеем

\

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

Источник питания и корпус

Печатная плата генератора очень маленькая, на 42×18 мм. Сама схема может питаться напряжением от 1,5 до 3 В, в данном случае использовалась литиевая батарея CR2450. Весь генератор потребляет 5 мА и используя устройство в течение года, напряжение батареи остается на уровне 3 В. Конечно, если кто-то будет использовать его интенсивно, батарея быстро перестанет быстро обеспечивать требуемое напряжение.

Как видите на рисунках ниже, собранное устройство действительно мало и имеет общий размер 12x4x2,5 см. На рисунке показан модуль генератора, переключатель, светодиод, обозначающий включение источника питания и гнездо с батареей CR2450.

Описание устройства

Вся схема основана на двух блоках. Первый блок представляет собой DC-DC преобразователь и он построен с использованием микросхемы LT1073, второй блок представляет собой генератора на базе транзистора 2N2369A от Моторола. Инвертор объекта подает переменное напряжение, которое затем повышается в цепи умножителя диодного напряжения (диоды D1-D3) до значения 90 В. Затем с этим напряжением работает импульсная генераторная схема.

Микросхема LTC1073 используется для получения напряжения + 90 В. Если найти её проблема или купить слишком дорого – эта часть схемы может быть заменена другим преобразователем, например построенным на ne555 или mc34096a.

Схема питается через резистора 1MOM (R5), который подает напряжение непосредственно на транзистор и конденсатор 2PF (C2) – когда он заряжается до напряжения около 50 В (UCE для 2n2369 составляет около 40 В) вызывается краткий пробой перехода К-Э транзистора T1 и возникает импульс (явление лавинного пробоя).

Этот повторяется каждые 10 мкс

Теперь, обратите внимание на номинал транзистора – 2N2369A, не каждый транзистор тут будет работать, многие другие транзисторы просто не хотели функционировать

Выходное сопротивление точно настраивается на 50 Ом с помощью резистора эмиттера. Если кто-то хочет протестировать кабели с разными импедансами, надо подобрать значение резисторов R2, R3 для сопротивления кабеля (например, 75 Ом (2×150)).

Основная схема генерирования линейно-нарастающего напряжения

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



График заряда конденсатора.

Заряд Q конденсатора постоянным током I происходит за время t

В тоже время напряжение UС на конденсаторе емкостью С определяется величиной заряда Q накопленного в конденсаторе

Таким образом, напряжение UС на конденсаторе емкостью С, который заряжается током I будет определяться временем t

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

Интегратор на ОУ я рассматривал в одной из предыдущих статей и показан на рисунке ниже



Схема интегратора на операционном усилителе.

В данной схеме зарядный ток I конденсатора С1 определяется входным напряжением UBX и резистором R1, тогда выходное напряжение будет вычисляться по следующей формуле

Знак «–» в выражении показывает то, что входной сигнал поступает на инвертирующий вход ОУ.

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

Внешний вид макет

Собираем схему и проводим небольшой тест. Попробуем управлять гирляндой согласно нехитрому алгоритму:

  1. нажимаем на кнопку;
  2. ждем 1 секунду;
  3. отпускаем кнопку;
  4. ждем 2 секунды;
  5. переходим к пункту 1.

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

У данного сигнала мы можем определить период повторения и частоту. Период повторения (T) — это отрезок времени, за который гирлянда возвращается в исходное состояние. На рисунке хорошо виден этот отрезок, он равен трем секундам. Величина обратная периоду повторения называется частотой периодического сигнала (F). Частота сигнала измеряется в Герцах. В нашем случае:

F = 1/T = 1/3 = 0.33 Гц

Период повторения можно разбить на две части: когда гирлянда горит и когда она не горит. Отрезок времени, в течение которого гирлянда горит называется длительностью импульса (t).

А теперь самое интересное! Отношение периода повторения (T) к длительности импульса (t) называется скважностью. Скважность нашего сигнала равна S = 3/1 = 3

Скважность величина безразмерная

Скважность нашего сигнала равна S = 3/1 = 3. Скважность величина безразмерная

В англоязычной литературе принят другой термин — коэффициент заполнения (Duty cycle)

Это величина, обратная скважности

В случае нашей гирлянды коэффициент заполнения равен:

D = 1 / 3 = 0.33(3) ≈ 33%

Этот параметр более нагляден. D = 33% означает, что треть периода занята импульсом. А, например, при D = 50% длительность высокого уровня сигнала на выходе таймера будет равна длительности низкого уровня.

Тактирование от RC-цепи

Тактирование от RC-цепочки осуществляется вот по такой схеме:

Здесь мы берем конденсатор емкостью не менее 22 пФ, а резистор от 10 Ом и до 100 КилоОм. По простой формуле можно с легкостью рассчитать частоту, на которой будет тактироваться наш МК:

где

F — частота, Гц.

R — сопротивление резистора, Ом.

С — емкость, Фарад.

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

Но чтобы получить очень точную частоту тактирования, которая почти не гуляет, надо использовать кварц

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

Итак, как мы помним из предыдущей статьи, некоторые ножки имеют двойное назначение, и помимо того, что могут использоваться как порты ввода-вывода, также используются для обеспечения расширения функций МК. Действительно, если МК сконфигурирован для работы от внутреннего RC-генератора, вам достаточно подать на него питание +5 Вольт и землю, и микроконтроллер включится и начнет выполнять программу. Но если вы выпаяли микроконтроллер из какого-либо устройства и он должен был в нем тактироваться от кварца, или по ошибке выставляя биты конфигурации, вы выставили тактирование от кварца, МК перестанет у вас быть виден в программе оболочке, и не сможет выполнять программу, даже если вы подадите на него +5 Вольт и землю.

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

Шины

У микроконтроллеров STM32 все периферийные устройства (порты ввода-вывода, таймеры, интерфейсы SPI, и т.д.) подключены к так называемым шинам, через которые периферия получает тактовый сигнал и обменивается данными с ведущими устройствами шины (например, с процессором).

В STM32F103x8 три основных шины: AHB, APB1 и APB2. На каждой из шин висит определенная группа устройств:

  • AHB: процессорное ядро, память и DMA;
  • APB1: USART2, USART3, I2C1/2, CAN, таймеры TIM2..4;
  • APB2: порты GPIO, АЦП, USART1, TIM1, SPI1.

В даташите на STM32F103x8 есть блок-схема, в которой указано, какая периферия куда подключена:

Рис. 1. Блок-схема микроконтроллеров STM32F103x8 и STM32F103xB

Схема на рис. 1 поначалу может казаться сложной и непонятной, это нормально, со временем все в голове уложится и ощущение непонимания исчезнет.

А еще есть вот такая таблица, в которой так же указаны периферийные устройства и шины, к которым они подключены:

Рис. 2. Таблица шин и периферийных устройств

Можно заметить, что на рис. 2 возле названия шины (AHB, APB1 и APB2) в скобках указана ее максимальная частота. Так как периферийные устройства получают тактовый сигнал от шины, ее частота задает скорость работы подключенных к данной шине устройств. Далее мы рассмотрим, как настроить частоту каждой из шин микроконтроллера.

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

Итак, вот основные тезисы, которые необходимо запомнить:

  1. Все периферийные устройства в микроконтроллерах STM32 подключены к шинам (AHB, APB1 и APB2), через которые производится взаимодействие с устройствами и подача на них тактовых сигналов;
  2. Шины микроконтроллера STM32 могут иметь разные частоты тактирования;
  3. Перед началом работы с периферийным устройством необходимо разрешить подачу на него тактового сигнала.
Related posts
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
The voice for you
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: