CCP – модуль в режиме Compare на примере PIC18


CCP – модуль можно использовать в трех режимах:

Capture – позволяет захватывать входной сигнал и определять его параметры (длительность или частоту). Дополнительно управлять внутренними модулями.

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

PWM – формирование сигналом ШИМ.

В режимах Compare и PWM  модуль работает совместно со встроенными таймерами.


Тут речь пойдет о использовании CCP модуля в режиме Compare для формировании частоты.

Как выполнить настройку модуля в этом режиме.

В проекте запускаем MCC, в окне Ресурсы устройства

Выбираем в разделе CCP любой модуль (CCP1….CPPn) и делаем двойной клик. MCC добавит модуль в раздел Ресурсы проекта.

Сделаем клик для окна открытия быстрой настройки модуля, в нем укажем с каким таймером ему предстоит работать

Я выбрал из доступных вариантов таймер 5. Далее необходимо выбрать режим Pulse output, clear TMRx этот режим позволяет формировать на выходе модуля непрерывный поток заданной частоты.

После этого добавим выбранный таймер 5. Перейдем в окно Ресурсы устройства и откроем раздел таймеры и сделаем двойной клик на нашем таймере, он исчезнет в разделе Ресурсы устройства

 и появиться в разделе Ресурсы проекта. Вызовем свойства таймера и выполним его настройку, в принципе то, навастривать нечего. Главное, что бы тактовая была настроена FOSC/4, хотя можно выбрать и любое другой источник. Настройку  предделителя можно оставить 1:1, от него будет зависеть шаг генерируемой частоты при изменении настроек регистра CCPR.

Как это работает:

Таймер тактируется от тактовой частоты в нашем случает от FOSC/4, при совпадении значения записного в регистр CCPR со значением в таймере TMR будет формироваться импульс для выходной логики модуля который управляет RS-триггером. После это выполняется сброс таймера и его отсчет будет начат заново. По достижении сравнения выходная логика переключит триггер в противоположное состояние. Таким образом при задании значения в регистр CCPR мы формируем период который будет задавать выходную частоту на выходе модуля.

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

Дополнительно в разделе Ресурсы проекта выберем ресурс Модуль выводов

и проверим конфигурацию нашего вывода, он должен быть настроен на выход и все остальные опции должны быть отключены

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

Наша тактовая частота FOSC = 64 000 000 Гц (в моем случае), сразу делиться на 4 (так выбрано в конфигуратора), т.е на входе таймера мы имеем 8 000 000 Гц. Далее идет предделитель у меня настроен на 1 , т.е после него все те же 8 МГц, таймер с связке с модулем может иметь период от 1 до 65536. Т.е. если период 1, то на выходе формируются управляющие импульсы для выходной логики с частотой 8Мгц, после каждого импульса состояние RS-триггера меняется на противоположное, это еще деление на 2 и мы будем иметь выходную частоту 4 Мгц.

Расчет выходной частоты для нашей настройки буде иметь вид

Foun = ((((FOSC/4) /Prescaler)/CCPR)/2);

Минимальная частота будет составлять если CCPR = 0xFFFF  ~  122 Гц.

Отсюда модно получить значение которое Нам необходимо записать в модуль CCPR  для получения заданной частоты.

CCPR  = ((((FOSC/4 )/Prescaler)/Foun)/2);

Если значение  CCPR  установлено в 0 на выходе будет постоянно высокий уровень! 



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


  • REFERENCE CLOCK OUTPUT MODULEREFERENCE CLOCK OUTPUT MODULE
    REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от конфигурации выводов …
  • WiFi ESP8266 – AT команды связанные с функцией Wi-FiWiFi ESP8266 – AT команды связанные с функцией Wi-Fi
    AT команды связанные с функцией Wi-Fi Функции Wi-Fi подключения, запускаться из командной строки Команда Описание  1 AT+CWMODE Проверка, настройка режима работы Wi-Fi (sta/AP/sta+AP), (не рекомендуется для новых проектов). 2 AT+CWMODE_CUR Проверка, …
  • ch-4000 – универсальная печатная платаch-4000 – универсальная печатная плата
    На смену устаревшей плате ch-3000, пришла новая ch-4000. Плату уже можно приобрести в магазине Ворон. Схема. Плата позволяет создавать таймеры, часы реального времени, регуляторы температуры, регуляторы влажности, вольтметры, дистанционное управление …
  • JDY-62A Audio bluetooth moduleJDY-62A Audio bluetooth module
    Простой модуль для простого аудио блютуса. Встроенные подсказки на английском языке. Модуль включён, режим муте – после подачи питания. Контроль разряда батареи предупреждение что батарея разряжена и необходима подзарядка. При …
  • TM1650 драйвер LED семисегментного индикатораTM1650 драйвер LED семисегментного индикатора
    Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd.  Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только в их …
  • ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
    На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11  самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств он даже …
  • Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3
    Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, откроется два …
  • MCC – K42 – настройка модуля DMAMCC – K42 – настройка модуля DMA
    MCC – в версии v.3.95.0 и начиная ядра 4.85.0 конфигуратор предоставляет графический интерфейс для настройки модуля DMA. Для начала: Посмотреть какая версия МСС можно в закладке версии, если у вас …
  • ESP32-первое знакомствоESP32-первое знакомство
    Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как он подключается, …
  • 12-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA20412-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA204
    Введение. 12-битный модуль A/D Converter является усовершенствованной версией 10-битного модуля, предлагаемого на некоторых устройствах PIC24. Оба модуля являются преобразователями, в своих ядрах, с последовательным приближением (SAR), в окружении ряда аппаратных …



 

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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Метки