REFERENCE CLOCK OUTPUT MODULE

Views: 609

REFERENCE CLOCK

OUTPUT MODULE

Модуль формирования опорного тактового сигнала

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

Модуль опорного тактового имеет следующие особенности:
• Выбор источника синхронизации с использованием регистра CLKRCLK
• Программируемый делитель частоты сигнала
• Выбираемый рабочий цикл сигнала

БЛОК СХЕМА МОДУЛЯ

ФОРМИРОВАНИЕ ФОРМЫ СИГНАЛА

Базовым свойством модуля это выбрать источник сигнала, разделить его на требуемое значение и возможность сформировать базовую форму со стандартной длительностью 25-50-75%.

Источник синхронизации

Вход для выходного тактового сигнала можно выбрать с помощью регистра CLKRCLK.

Синхронизация опорного сигнала

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

Программируемый делитель частоты

Выбранный входной тактовый сигнал модуль может разделить в диапазоне от 2 до 128. Частота деления выбирается установкой значения битов DIV <2: 0> регистре CLKRCON.

Доступны следующие конфигурации:
• Base FOSC value
• FOSC divided by 2
• FOSC divided by 4
• FOSC divided by 8
• FOSC divided by 16
• FOSC divided by 32
• FOSC divided by 64
• FOSC divided by 128
Значения делителя частоты может быть изменена во время работы модуля, однако, чтобы предотвратить сбои на выходе формирователя, бит DIV <2: 0> должен быть изменен только при отключенном модуле (EN = 0).

Выбор рабочего цикла

Биты DC <1:0> регистра CLKRCON могут использоваться для изменения рабочего цикла выходного сигнала. Для всех тактовых частот можно выбрать рабочий цикл 25%, 50% или 75%, за исключением значения FOSC без делителя!
Рабочий цикл может быть изменен, когда модуль включен; однако, чтобы предотвратить сбои на выходе, биты DC <1:0> должны быть изменены только тогда, когда модуль отключен (EN = 0).

Примечание

Бит DC1 сбрасывается на «1». Это делает рабочий цикл по умолчанию 50%, а не 0%.

Работа в режиме сна

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

Регистры управления модулем

CLKRCON

R/W-0/0 U-0 U-0 R/W-1/1 R/W-0/0 R/W-0/0 R/W-0/0 R/W-0/0
EN


DC<1:0>


DIV<2:0>


bit 7  bit 6 bit 5 bit 4 bit 3  bit 2 bit 1 bit 0
bit 7


EN: Бит включения модуля
1   = Модуль включен
0   = Модуль выключен
bit 6-5 не используются при чтении значение 0
bit 4-3


DC<1:0>: Биты выбора рабочего цикла (1)
11  = рабочий цикл выходов часов 75%
10  = Рабочий цикл выходов часов составляет 50%
01  = Рабочий цикл выходов часов составляет 25%
00  = рабочий такт выходов 0%
bit 2-0


DIV<2:0>: Биты делителя частоты
111 = Базовое значение часов, деленное на 128
110 =Базовое значение частоты, деленное на 64
101 = Базовое значение частоты, деленное на 32
100 = Базовое значение частоты, деленное на 16
011 = Базовое значение частоты, деленное на 8
010 = базовое значение частоты, деленное на 4
001 = Базовое значение частоты, деленное на 2
000 = Базовое значение частоты

Примечание

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

CLKRCLK

U-0 U-0 U-0 U-0 U-0 R/W-0/0 R/W-0/0 R/W-0/0
CLK<2:0>


bit 7 bit 6 bit 5 bit 4 bit 3  bit 2 bit 1 bit 0
bit 7-3 не используются при чтении значение 0
bit 2-0


CLK<2:0>: биты выбора источника CLKR 
111 = не реализованы
110 = не реализованы
101 = не реализованы
100 = SOSC
011 = MFINTOSC (500 kHz)
010 = LFINTOSC (31 kHz)
001 = HFINTOSC
000 = FOSC

Регистры связанные с этим модулем

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

Тестирование модуля

Конфигурация

Настройка выхода модуля. Выход может быть подключен к любому выходу потов B и C, что интересно можно подключить не к одному порту, а к нескольким или ко всем!!!

Вариант настройки выхода на два вывода порта C.

Модуль позволяет вывести на выход при подключении от HFINTOSC (64МГц задана) только при значении битов DIV<2:0> = 010 делитель на 4, т.е с значения 16 Мгц., при попытки настроить на более высокие частоты работать не будет. Т.е. мы не можем фторировать частоты выше чем опорная частота деленная на 4.

Рабочий цикл работает правильно, если выберем длительность 0% частота на выходе модуля отсутствует.

Зададим следующие параметры

Проверим форму сигнала при настройке на разные длительности, на выходе мы получим частоту 2 мГц.

Частота 2 Мгц, длительность 50%

Настроен выход на одновременно на две ноги микроконтроллера порты PORTC0 и PORTC1

Частота 2 Мгц, длительность 25%

Настроен выход на одновременно на две ноги микроконтроллера порты PORTC0 и PORTC1

Частота 2 Мгц, длительность 75%

Настроен выход на одновременно на две ноги микроконтроллера порты PORTC0 и PORTC1

Стать по теме

 


Это может быть интересно


  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Views: 2974 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
  • My libraries for Altium DesignerMy libraries for Altium Designer
    Views: 4470 Attention, this version of the database is outdated today. See updates in articles https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure  and https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure-v23-2/    My libraries for Altium designer  (Updated V – 29/05/2022) (c) 2021 …
  • MPLAB® Code ConfiguratorMPLAB® Code Configurator
    Views: 1825 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
  • ESP32-первое знакомствоESP32-первое знакомство
    Views: 7277 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
  • MPLAB X IDE – управление проектамиMPLAB X IDE – управление проектами
    Views: 1202 Среда  MPLAB X IDE позволяет оперативно работать с несколькими проектами, например, если у вас в работе несколько проектов: Для того чтобы переключиться достаточно выбрать другой проект: Для выбора …
  • Униполярный шаговый двигательУниполярный шаговый двигатель
    Views: 2479     В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при …
  • Проект с использованием MCC часть 05Проект с использованием MCC часть 05
    Views: 2228 Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое …
  • Просто о внешних переменныхПросто о внешних переменных
    Views: 950  Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0
    Views: 290 Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0   Here I want to share how I configure Altium Designer and how I use the DXPPreferences1.DXPPrf …
  • Проект с использованием MCC часть 12-1Проект с использованием MCC часть 12-1
    Views: 1133 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее