• 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 3
    0
    Суть решений на CIP — синтез аппаратного ШИМ-контроллера с аналоговой ОС. ШИМ — «аналоговый», цифрой (таймером) задается только период. Скважность определяется по компаратору, т.е. обратной связью. Прерывания не нужны, ШИМ обновлять/рассчитывать кодом не нужно.
    Кстати, на новых ATtiny817 таймер TCD то же сделан с прицелом на подобные задачи — есть бланкирование, есть сброс по внешним сигналам.
    (для полностью цифровых решений есть dsPIC — см. комментарий выше)
    Да, положительный опыт есть.
    Рекомендую не раскапывать внутреннюю схему F1779, а нарисовать то что Вам нужно, какой фронт/уровень к чему должен приводить, а далее через MCC настроить нужную периферию. Думаю вся необходимая Вам периферия в нем присутствует.
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 3
    0
    Спасибо. Опыт есть в прототипировании и помощи в конфигурации периферии PIC (т.е. ШИМ контроллера) под задачи партнеров. Сам не большой спец по «аналоговой/силовой» части. Т.е. мои задачи были примерно такие, что под желаемую диаграмму сигналов (т.е. кто на что влияет, запускает, выключает) «нарисовать» ШИМ контроллер и сделать реализацию на CIP (с объяснениями что, зачем, почему). Далее уже другие люди «прикручивали» силовую часть и воплощали свои идеи.
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 3
    0
    По поводу UCD3138. Это уже полностью цифровое решение, аналоговая ОС заменяется на быстрое ядро с вычислениями и DSP. У многих есть. У микрочип это dsPIC33 серии GS — быстрые АЦП, компараторы, ОУ, DSP ядро, 70MIPS, ШИМ c разрешением 1нс.
    www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182
    www.microchip.com/design-centers/intelligent-power/digital-power-design
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    COG это не только dead-time и комплементарные сигналы. COG это еще бланкирование (будет рассмотрен пример в 3-й части), это несколько режимов выхода (в т.ч. push-pull), это различные источники Set и Reset (у показанной NCP один вход PWM), это shutdown c ручным или автоматическим разрешением на продолжение работы, это заданное(запрограммированное) состояние выходов при детектировании аварии.
    Т.е. подобный 2-х канальный MOSFET-драйвер может быть полезен, но COG позволяет делать гораздо больше вариантов ШИМ контроллера.
    Вообще это несколько разные функции, COG это «сердце ШИМ контроллера», а драйвер это выход ШИМ контроллера.
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    это нарисованы драйвера MOSFET. NCP это двухканальный драйвер MOSFET, ШИМ контроллер не заменит
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    Есть
    The COG module has the following features:
    • Six modes of operation:
    — Steered PWM mode
    — Synchronous Steered PWM mode
    — Forward Full-Bridge mode
    — Reverse Full-Bridge mode
    Half-Bridge mode
    — Push-Pull mode
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    ОК, к вопросу о тактовой частоты вопросов нет ;-) 100++МГц это уже мк класса СМ3, СМ4 (сравним с реализацией на 8-и битнике с достаточной тактовой единиц МГц или ниже и корпусами 8-14-20pin).

    Далее.
    Конечно период регулирования зависит от нагрузки и изменений входного напряжения. Далее идем в начало, см. часть 1
    Voltage Mode (VM) гистерезисный. Тут вообще частоту ШИМ и скважность не нужно менять. Да и МК не нужен — достаточно мультивибратора и компаратора. Но и точность регулирования самая плохая.
    VM пропорциональный. Тут сложнее — на параметры контура регулирования оказывает влияние изменение входного напряжения.
    Current Mode (CM) — имеет 2 контура. Внутренний (быстрый) осуществляет регулировку на каждом периоде ШИМ. Этот метод поддерживает заряд индуктивности одинаковой энергией (если не брать во внимание второй контур). За счет этого нет влияния изменения входного напряжения на параметры петли ОС.
    как-то так.
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    так вы посмотрите на схемы (см. часть 1). Есть таймер, который задает период (Set триггера). Сбросом (Reset) триггера управляет компаратор (аналоговая вещь), т.е. завязки на тактовую частоту вообще нет. Да хоть ставьте тактовую 100кГц — обратная связь аналоговая и асинхронная от Ядра микроконтроллера (тема номера: ПНЯ — периферия независимая от Ядра).
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    вот в этом проблема. для регулировки выходных параметров источника параметры ШИМ нужно «двигать», т.е. в вашем случае источник с while(1){} не работает — нужен код для обеспечения работы петли регулирования, иначе параметры будут плыть от нагрузки. А дальше считайте: например частота ШИМ 100кГц (весьма мало для ИИП), 10бит разрешение ШИМ — тактовая для таймера нужна 102.4МГц, за 10мкс нужно измерить U(I) на выходе (АЦП), посчитать регулятор и обновить регистры ШИМ
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    ОК, а скважность и частота будут задаваться через регистры?
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    Скажем так, для примера контроллера рис.2.4 (или др. на этой странице выше) код программы для PIC будет выглядеть примерно так:
    init_CIP();
    while(1) {
    }
    В общем случае не нужно что-то делать, не нужно обрабатывать прерываний, Источник, после инициализации, будет выполнять свою функцию. Код и прерывания могут быть нужны для сервисных функций.

    я не большой специалист в STM32. Было бы здорово, если сможете показать на каком STM32 и в какой конфигурации периферии можно сделать такой же аппаратный ШИМ контроллер ИИП.
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2
    0
    8-и битные обычно нет. Но недавно появились PIC18F K42 — у них можно настраивать длину слова (в пределах 8 бит). Но таких модулей SPI два, т.е. можно соединить в цепь и настраивать длину до 16. Если 21 — то 16 + 5 ))
    У более младших… наверное то же можно сделать передачу/прием не кратно 8 бит — поможет ПНЯ (CLC + таймер-счетчик)
  • 50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания
    0
    «по простому» — можно формировать ШИМ от таймера (задается частота и скважность). Это есть у всех МК (не только Microchip). Для ИИП нужно (в идеале) на каждом импульсе измерять параметры выхода и к следующему импульсу иметь расчет по скважности. В этом случае нужно иметь быстрый АЦП, быстрое ядро. Например dsPIC33 семейства GS имеют DSP ядро и ШИМ с разрешением 1.04нс (частота для таймера ШИМ 960МГц). Поэтому для источников «среднего» уровня, предлагаемое решение выглядит весьма интересным (ИМХО), так как параметры ШИМ задаются не таймером, а формируется обратной связью, петлевой фильтр не вычисляется ЦОС, а отрабатывается аналоговым петлевым фильтром.
    С другой стороны, если источник нужен без доп.функций, то подойдет масса специализированных ШИМ-контроллеров, ASIC и пр., и это будет дешевле. Но если нужен сервис, как то: интерфейсы управления (DALI), диагностика, работа с датчиками и пр, то «зачем платить дважды?», когда на одном МК можно сделать ШИМ контроллер под нужную топологию и контроль с управлением.
    Т.е. я бы сказал так, что решение «хуже» (относительно ASIC) тем, что чуть дороже. А «лучше» — если нужна гибкость, универсальность, управляемость, коммуникабельность, программируемость.
    Конкуренты… смотря как сравнивать. подобным образом, через подобие CIP/ПНЯ и быстрые компараторы, — есть у Atmel, но он теперь тоже Microchip ))
  • Памятка. AVR. Buzic
    0
    тут описание как формировать полифонический звук
    «Пианино» на ОСРВ

    особенно нравится сопровождающее проект видео ))

  • 50 оттенков ПНЯ* Аппаратный прием ШИМ-кодированных сигналов микроконтроллерами Microchip
    –1
    Наверное, мы из разных вселенных. Мой мир целиком не описывается «википедией» и не такой однозначный. Вот несколько примеров «моего мира»:

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

    В моем мире существует ШИМ с постоянной и переменной частотой: Constant Frequency PWM (CF PWM) и Variable Frequency PWM (VF PWM).
    Да и в вашем мире ШИМ с фиксированной частотой имеет «аномалии» в терминологии (какая частота у ШИМ при скважности 0 или 100%? ;-)
    Касательно VF PWM. Он в свою очередь бывает Constant (Fixed) On-time PWM и Constant (Fixed) Off-time PWM, причем не просто «бывает», но и вполне себе используются в импульсных источниках питания, корректорах коэффициента мощности. Больше того, такие полупроводниковые компании как ON Semiconductor, Texas Instruments, Analog Devices, ST Microelectronics и наверное другие, используют Constant On (Off) -time PWM в интегральных микросхемах. Не берусь спорить о терминах, но уважаю вышеупомянутые компании, в даташитах которых встречаются упоминания о «Constant Off Time PWM», «Constant On Time PWM».

    Не совсем понял причину упоминания Вами протокола RC5 применительно к «моему датчику» (почему моему??). Если имеется в виду протокол RC-5 в контексте ИК пультов, то не совсем понимаю в чем меня убеждаете/поправляете. В «моей вселенной» RC-5 кодируется манчестером (фазовое кодирование), а вовсе не ШИМ (впрочем в статье об этом написано и даже дана ссылка на описание RC5).
  • 50 оттенков ПНЯ* Аппаратный прием ШИМ-кодированных сигналов микроконтроллерами Microchip
    0
    Информация в Ширине импульса. Да, при этом меняется период. Если вместе с шириной импульса будет меняться пауза, т.е. период будет постоянным — не существенно для предложенного метода, работать будет точно так же.
  • 50 оттенков ПНЯ* Аппаратный прием ШИМ-кодированных сигналов микроконтроллерами Microchip
    0
    спасибо, поправил ))
  • 50 оттенков ПНЯ* АЦП и АЦП с вычислителем микроконтроллеров Microchip
    0
    Да, наверное когда кто-то пишет/произносит ДНК вместо дезоксирибонуклеиновая кислота, то в мире рождается еще один котенок
  • 50 оттенков ПНЯ* Порты ввода/вывода микроконтроллеров Microchip
    0
    Спасибо за комментарий. Да, CTMU весьма интересная штука, ток там кстати программируется. CTMU есть еще в семействах PIC18, PIC32. По уровнемеру жидкостей есть перевод тут
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    Попробуйте свежие версии MPLAB X. Читал в конф. что у людей магическим образом ускорилась работа.
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    Была отдельная утилита для конфигурирования CLC, но сейчас не знаю её актуальность (поддержка новых МК).
    Вообще, плагин он же не только для CLC, он для конфигурации всей периферии, плюс еще есть библиотеки (бутлоадер, Ethernet, сенсорные кнопки)
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    например у PIC16LF1508 типовой ток WDT заявлен 0.44uA при 3.0В. Само ядро в спячке имеет типовой ток 0.025uA
    На Таймер 1 в Sleep отдельно ток не прописан, но он работает от того же генератора, что и WDT. Т.е. при выключенном WDT ожидаемо что Таймер 1 потребляет примерно такой же ток.
    Т.е. если WDT выключен, то потребление с работающим Таймером 1 должно быть где-то на таком же уровне 0.5мкА.

    Если дойдут руки, то сделаю материал на тему микропотребления. У меня получался средний ток потребления приборчика (PIC + датчик температуры + ЖКИ) около 1.3мкА. Это при постоянном отображении данных на ЖКИ, периодическим просыпанием и измерением температуры.
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    WDT он же для защитных функций и в «нормальной жизни» не должен срабатывать. У PIC Timer1 может работать в Sleep от внутреннего LowPower RC генератора (LPINTOSC), т.е. для такого таймера можно настроить пробуждение с желаемым временем/периодом (в разумных пределах).
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    … еще есть в SAM — М0+ кортексах от Atmel, называется CCL (Configurable Custom Logic), тоже на основе LUT (Lookup Table)
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    Подобное есть в XMEGA, называется XCL (XMEGA® Custom Logic).
    Но оно работает с программируемой таблицей истинности, есть 2(3) входа и 1 выход.
    Второй момент, что работает от тактовой частоты.
    У PIC логические ячейки асинхронны от ядра и их быстродействие гораздо выше
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    Done ;)

    см табличку по ссылке выше про 8-и битники. Там есть колонка HC I/O (mA), HC это High Current, есть МК с нагрузочной способностью 50 и 100мА (делают не все порты с такими функциями, но по паре присутствуют)
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    Про Харрис и Харрис, Имею ввиду, что книга может быть полезна чтобы начать изучение логических элементов и синтез логических схем там подробно описан, тем более что книга есть на русском.
    Книга, конечно, не совсем про это, но про «это» тоже есть ))
  • Конфигурируемые логические ячейки в PIC микроконтроллерах
    0
    Для изучения рекомендую книгу Д. Харрис, С. Харрис. «Цифровая схемотехника и архитектура компьютера» (тут подробности http://habrahabr.ru/post/259505/)

    Именно логические ячейки в PIC-ах у Microchip появились давно. Первые, если не ошибаюсь, в PIC10F3xx — это примерно 7 лет назад (первые PIC10 появились примерно в 2007)

    Где есть… много где. Ниже ссылки на полезные документы, где в табличке приведены семейства и отмечено какая периферия у них есть — удобно для подбора нужного набора периферии
    8-и битники (PIC10, PIC12, PIC16, PIC18): http://ww1.microchip.com/downloads/en/DeviceDoc/30010068D.pdf
    16-и битники (PIC24) http://ww1.microchip.com/downloads/en/DeviceDoc/30010109B.pdf
    32-х битные: недавно анонсированные PIC32MM получили немного CLC
  • Эй, Симулятор! Покажи свой язык
    0
    Мне сложно ответить, мопед не мой. С моей колокольни это выглядит так, что готовые (сторонние) инструменты нужно было бы интегрировать в свой симулятор. Тут могут возникать правовые моменты, сложности с сопровождением и т.п. А так -> своя IDE + свой симулятор + свои инструменты = законченная среда. Это сейчас они позволяют к IDE писать сторонние плагины и дают API, а 10 лет назад даже к своему инструменту не было описания (говорили что мало интереса от клиентов и, соответственно, нет внутренних ресурсов на поддержку). Хотя с другой стороны — как может возникнуть интерес к тому, о существовании чего не знаешь?

    Но тем не менее, моё мнение, что идея была замечательная. Я не знаю, у конкурентов Microchip в микроконтроллерном бизнесе (Atmel, TI, ST, Freescale, и др. уважаемых компаний) есть ли подобные вещи для симуляции и тестирования кода? Или оно действительно большинству не нужно? Ведь отлаживают как-то arduino- подобные вещи даже без дебаггеров…
  • Эй, Симулятор! Покажи свой язык
    0
    Зачем изменили или зачем «новый» язык? Ну, пусть бы он был неизменным VHDL, ОК, но смысл не в этом. Прелесть в возможности тестирования кода при симуляции, в возможности формирования тестовых воздействий, возможности синхронизировать тесты с кодом и др… И это, имхо, как раз не «странный велосипед», а вполне себе рабочий инструмент (пусть и не идеальный).
    Я хоть и не часто использую, но было несколько раз, что код полностью оттестирован в симуляторе и в железе заработал с первого раза и трудится практически в неизменном виде. К тому же можно моделировать ситуации, которые на столе сложно создать, а в «поле» всякое бывает…
  • Использование конфигурируемых логических ячеек PIC микроконтроллеров для управления WS2812
    0
    Да, кстати CLC и в PIC24F серий GA4, GB4 тоже есть, но там управление ws2812 через DMA можно организовать
  • Использование конфигурируемых логических ячеек PIC микроконтроллеров для управления WS2812
    0
    да, ключ --asmlist генерирует .lst файл. Там на каждую Си строку команда(ы) на asm. Вроде по умолчанию MPLAB X включает формирование этого листинга (проверить Project Properties -> XC8 global options -> XC8 Compilers, во вкладке Processing and… поставить галочку у Generate the ASM listing file)