50 оттенков пня* порты ввода/вывода микроконтроллеров microchip

Из чего же сделан ИИП?

Сердцем импульсного источника питания служит ШИМ-контроллер. Структурная схема одного из вариантов специализированного ШИМ-контроллера приведена на рис.1.

Рис.1. Структура специализированной микросхемы драйвера преобразователя питания.

Arduino nano

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

Триггер запускается по тактовым синхросигналам (вход S, Set). Сбросом (вход R, Reset) управляют сигналы компаратора C1, опорный сигнал для которого формируется операционным усилителем сигнала ошибки А1. Выход триггера управляет выходными ключами, управление которыми может быть заблокировано сигналами перенапряжения (компаратор C2), бланкирования и др.

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

Итого, для построения управляемого интеллектуального источника питания нам нужно иметь микросхему ШИМ-контроллера и микроконтроллер, или же можно совместить – на базе микроконтроллера сделать ШИМ-контроллер преобразователя энергии.

Отладочные платы и средства разработки для USB

Программатор-отладчик PICkit2 (номер для заказа PG164120)
Наличие бутлоадера позволяет заливать свое программное обеспечения для освоения навыков работы с USB
Отладочная плата PICDEM FS-USB (номер для заказаDM163025)
предназначена для разработок и демонстрации устройств на микроконтроллере PIC18F4550 с шиной USB2.0. На плате установлен контроллер PIC18F4550 в корпусе TQFP44.

Low Pin Count USB Develpment Kit (номер для заказа DM164127)

Отладочная плата Low Pin Count USB Development Kit предоставляет легкий путь для оценки возможностей микроконтроллеров 20-и выводных USB микроконтроллеров Microchip PIC18F14K50 и PIC18F13K50. Комплект включает все необходимое для начала работы с USB контроллерами (программное обеспечение, исходные файлы примеров, документацию).

PIC18F87J50 Full Speed USB PIC18F87J50 FS USB Demo Board (номер для заказа MA180021)

Плата PIC18F87J50 FS USB Demo Board служит для отладки Full Speed USB 2.0 микроконтроллеров семейства PIC18F87J50. Помимо автономной работы плата так же может использоваться как процессорный модуль для платы PIC18 Explorer Board.

PIC24 Starter Kit (номер для заказа DM240011)
Комплект разработчика PIC24F Starter Kit содержит все необходимое для начала работы с высокопроизводительными контроллерами семейства PIC24F. Этот недорогой комплект содержит интегрированный внутрисхемный отладчик и программатор, контроллер PIC24F с интерфейсом USB (на плате могут быть реализованы функции Host и Device), трехцветный светодиод, емкостная сенсорная панель и графический OLED дисплей. Демонстрационная программа через графическое меню позволяет осуществлять запись данных на внешний USB Flash Drive, осуществлять настройку сенсорной панели и запускать графические задачи.
PIC32 USB Board (номер для заказа DM320003)
Позволяет освоить модуль USB-OTG в контроллерах PIC32
Отладочная плата Explorer 16 Development Board (номер для заказа DM240001) это дешевое средство отладки для ознакомления и начала работы с высокопроизводительными семействами 16-и разрядных микроконтроллеров PIC24 и контроллерами цифровой обработки сигналов dsPIC33F.
Дочерняя плата USB PICtali Plus (номер для заказа AC164131) совместно с USB процессорными Plug-In модулями позволяет разрабатывать и отлаживать USB устройства Host, Device, USB-OTG.

Достоинства контроллеров.

К достоинствам микроконтроллеров PIC следу­ет отнести:

● высокую производительность, которая позволяет реализовывать различные устройства, работающие в реальном времени с большими скоростями (си­стемы управления автомобильными и электрическими двигателями, видеоиг­ры и др.). В частности, производительность Р I С16С5х при частоте тактирова­ния в 20 МГц составляет 5 MIPS (Million Instruction Per Second — миллионов инструкций в секунду). Высокая производительность достигается благодаря использованию:

• RISC –процессора, большинство команд которого выполняется за один ма­шинный цикл (команды перехода и операции табличного чтения выполня­ются за два цикла);

• двухступенчатого конвейера, совмещающего выполнение текущей команды с выборкой из памяти следующей команды;

• Гарвардской архитектуры, обеспечивающей одновременное считывание команд (12, 14 или 16 бит) и данных (8 или 1 бит);

● малое энергопотребление, открывающее широкие возможности для создания устройств с батарейным питанием, питанием от телефонной линии, солнеч­ных батарей (мобильные телефоны, электронные сторожа и др.). Для микро­контроллеров PIC 17, имеющих широкий набор аппаратных средств, потреб­ление тока составляет:

• менее 5 мА при 5 В, 4 МГц;

• 100 мкА при 4,5 В, 32 кГц;

• менее 1 мкА при 5 В в режиме ожидания;

● мощную поддержку разработок, которую осуществляет фирма Microchip .

В качестве средств поддержки разработчику приложений предоставлены ассемблер MPASM и макроассемблер, симулятор MPSIM, интегрированная система отладки для Windows MPLAB, программный, внутрисхемный и отла­дочный эмуляторы, универсальный программатор и компилятор С. Кроме того, имеются библиотеки для работы с фиксированной и плавающей точкой, с последовательным интерфейсом и с аналого–цифровым преобразователем, а также большое количество документированных примеров применения мик­роконтроллеров PIC в различных областях с исходными текстами. Обилие средств поддержки разработчика способствует сокращению сроков создания приложений;

● совместимость, проявляющуюся в том, что программы для микроконтролле­ров более ранних семейств PIC16C5X и PIC16CXX могут быть легко перене­сены на семейство устройств PIC17CXX;

● разнообразие используемых способов программирования «внутри» каждого семейства PIC.

Фирма Microchip выпускает:

• микроконтроллеры с ультрафиолетовым стиранием, в которых память мо­жет быть очищена и контроллер перепрограммирован с помощью програм­матора PRO МАТЕ фирмы Microchip для функционирования в любом режи­ме, например, в режиме с использованием RC –генератора. Эти микроконт­роллеры предназначены для экспериментальных разработок и отладки программ;

• однократно программируемые контроллеры ( One – Time Programming PROM — OTP ), изготовленные в пластиковом корпусе, позволяют пользователю за­писать в память программу и биты конфигурации только один раз. Они применяются в тех случаях, когда нет необходимости часто менять со­держание программы или конфигурацию микроконтроллера в выпускаемом устройстве;

• контроллеры, программируемые изготовителем по заказу пользователя ( Quality TP — QTP ). Этот сервис, предлагаемый фирмой Microchip , пред­назначен для устоявшегося кода программы;

• контроллеры с серийными номерами ( SQTP ), программируемые изготови­телем по заказу пользователя. В этих МК несколько определенных пользо­вателем ячеек содержат номер, уникальный для отдельного устройства. Серийный номер может быть случайным, псевдослучайным и последова­тельным. Его можно использовать как код доступа, пароль или идентифи­катор;

• масочные контроллеры ( ROM ), в которых используются масочные ПЗУ. Та­кие контроллеры, имеющие низкую стоимость, изготавливаются для мас­сового потребителя или при больших объемах заказа;

● высокую надежность, низкую стоимость и др.

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

Вторая жизнь электродуховки «Харьков»

Из песочницы

Всем привет. Не буду делать долгие и лирические вступления о том как коротка и жестока судьба бытовой техники. То что еще вчера воспринималось как последнее достижение прогресса, сегодня уже будет привычной частью среднестатистического домохозяйства, а завтра будет просто выброшено на свалку, не смотря на полную работоспособность или в лучшем случае – разобрано на запчасти как донор деталей. Ибо «тут кнопки, а хочу сенсор», и «дизайн совковый» и «нет этой фишки». И ладно если речь идет о какой то китайской микроволновке или чайнике, к которым и привыкнуть то толком не успеваешь из-за их короткого жизненного цикла и пластиковой бездуховности. Но что делать, когда речь идет о вещи, которая помнит несколько поколений твоей семьи и с детства была для тебя воплощением домашнего уюта, бабушкиных вкусностей и всего самого «лампового». Выкинуть рука не поднимется, как с этой вещью уж слишком много воспоминаний и вообще сие есть кощунство. Но и использовать ну уж никак не представляется возможным по причине тотального устаревания и откровенно непрезентабельного вида. Что делать? Правильно! Воскрешать.

Драйвер шагового двигателя

Один из самых простых вариантов управления Шаговым Двигателем (ШД) это полношаговое управление (full step). В этом варианте сигналы управления сдвинуты на 90°. Поэтому можно взять периодический сигнал, на один делитель частоты подать его в прямом виде, на другой – в инверсном.

Рис. 5a. Формирователь сигналов управления шаговым двигателем.

Рис. 5b. Диаграмма на выходе формирователя.

Изменение частоты на входе CLC будет изменять частоту управляющих сигналов шагового двигателя

Входную частоту можно брать с входа микроконтроллера (внешний сигнал), либо от внутреннего источника – ШИМ или NCO генератора.
При управлении ШИМ-ом нужно менять 2 параметра: регистр периода (частота) и регистр скважности, так как управляющий сигнал должен быть с 50% скважностью.
Применение NCO (Numerically Controlled Oscillator, управляемый генератор) выглядит более привлекательным, так как это генератор может автоматически формировать меандр, поэтому для изменения частоты нужно менять значения только в одном регистре.
Для смены направления нужно инвертировать сигналы на одной из фаз

Декодер манчестерского кода

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

В примере применения AN1470 предлагается следующая реализация аппаратного декодирования Минчестерского кода на основе CLC и NCO (управляемого генератора).

Рис.13a. Схема декодера Манчестерского кода

Рис. 13b. Диаграммы, поясняющие работу декодера

Стадия 1 – D-Триггер
Ячейка CLC4 (D-триггер) защелкивает входной поток по спаду сигнала синхронизации. Выход с этого триггера будет являться декодированными (восстановленными) данными из входного потока.

Стадия 2 – элемент XOR (CLC2)
Поскольку в Манчестерском кодировании изменение сигнала происходит в середине каждого информационного бита, то можно использовать элемент ИСКЛЮЧАЮЩЕЕ ИЛИ чтобы обеспечить нарастающий фронт на стадии 3 в середине каждого бита, т.е. мы синхронизируем декодер в середине каждого бита.

Стадия 3 – NCO + AND-OR (CLC1)
модуль NCO, используется для генерации ¾ битового интервала по завершении которого производится захват (фиксация) данных. NCO используется в режиме с активным низким состоянием. Длительность импульсов можно регулировать с помощью регистров. Модулю NCO необходим источник тактовых импульсов, которые поступают ему из CLC1.
Эти два блока являются наиболее важными в декодере. Они создают импульсы фиксированной длины после каждого нарастающего фронта сигнала, выходящего из «стадия 2». Выходной сигнал NCO подается обратно в элемент И-ИЛИ так, что если выход из «стадия 2» становится равным нулю, то NCO будет продолжать тактироваться до своего переполнения.

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

Управление по напряжению (Voltage Mode)

В этом режиме скважность ШИМ сигнала, управляющего силовыми ключами, определяется непосредственно выходным напряжением. При гистерезисном управлении, если напряжение на выходе ниже нормы – идет «накачка» источника

Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости. В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой»

При гистерезисном управлении, если напряжение на выходе ниже нормы – идет «накачка» источника. Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости. В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой».

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

Рис. 5а. Первая схема – с фиксированным выходным напряжением, вторая – с регулировкой выходного напряжения.

Рис. 5б. Диаграммы выхода ШИМ и выхода компаратора.

Рис. 6. Пример выходного каскада повышающего импульсного источника питания, подключенного к ШИМ контроллеру (см.рис.5).

Конфигурируемые логические ячейки (CLC) на рис .5 можно включить как элемент И. Для предотвращения высокочастотной генерации от компаратора его выход целесообразно пропустить через еще одну CLC – D-триггер с синхронизацией от сигнала ШИМ

В этом случае получим два «бонуса» — отсутствие возникновения высокочастотной генерации и неизменность скважности управляющего ШИМ (см. пояснения на рис

7). Подробнее о конфигурируемых логических ячейках см. в статье «Конфигурируемые логические ячейки в PIC микроконтроллерах» .

Рис.7.а. Укорочение управляющих ШИМ импульсов, возможность появления высокочастотной генерации

Рис. 7.б. Синхронизация сигналов позволяет предотвратить укорочение ШИМ импульсов

Рис. 8. Синхронизация сигналов для предотвращения генерации и укорочения ШИМ.

Управление по напряжению с пропорциональным управлением

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

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

Управление по напряжению с пропорциональным управлением можно реализовать на встроенной периферии PIC контроллеров с помощью ШИМ модулятора – необходим генератор пилы (Ramp генератор) и компаратор (реализацию ШИМ модуляторов мы уже рассматривали в )

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

Для предотвращения насыщения индуктивности при запуске источника или при коротком замыкании на выходе нужно ограничить скважность управляющего сигнала. Для этого выходной сигнал компаратора (CMP1_out) подаем на CLC (элемент И), а на другой вход – опорный ШИМ формирования пилы (сигнал PWM рис

10). Длительность импульса ШИМ будет служить ограничителем скважности управляющего сигнала DRV (ограничивать сигнал с выхода компаратора).

Рис.9 ШИМ-контроллер ИИП в режиме управления по напряжению с пропорциональным управлением.

Рис.10. Диаграммы работы ШИМ контроллера с управлением по напряжению

Импульсный источник питания

Еще один пример использования конфигурируемых логических ячеек совместно со встроенными компараторами.
Таймер TMR периодически устанавливает RS-триггер и открывает силовой транзистор. Ток начинает течь через индуктивность, напряжение на резисторе R1 линейно увеличивается. При достижении напряжения на R1 порогового значения срабатывает компаратор COMP1 и сбрасывает триггер, транзистор закрывается. Ток через индуктивность не может прерваться мгновенно, поэтому ток начинает течь через диод D1 и заряжает выходной конденсатор. По срабатыванию таймера триггер снова устанавливается и процесс повторяется.

Рис.17a. Простейший импульсный источник питания.

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

схема описание
повышающий
понижающий
Sepic

Рис.17b. Различные топологии импульсных источников питания

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

Рис.17c. ИИП с гистерезисным управлением

Включение силового транзистора будет генерировать помеху, которая может приводить к преждевременному срабатыванию компаратора COMP1. Для избавления от этого можно включить RC-фильтр в цепь между R1 и компаратором, а можно добавить рассматриваемый ранее блок бланкирования (формирование импульса по фронту, см. рис 8а, или рис. 14а), который после включения транзистора будет блокировать сброс триггера на короткий интервал времени.

Рис.17d. Помеха при коммутации силового ключа

Рис.17e. ИИП с гистерезисным управлением и бланкированием помехи переключения.

Элементы U1 и U2 можно привести к реализации на элементах ИЛИ и отнести к входу CLC1, тогда вся логическая часть схемы реализуется на трех ячейках CLC (обычно в микроконтроллерах Microchip имеется 4 ячейки).
Все что на схеме изображено левее силового ключа – находится внутри микроконтроллера, связи периферийных модулей так же осуществляются внутри кристалла микроконтроллера. Напряжения порогов Ref и Ref1 могут задаваться встроенными источниками опорного напряжения или ЦАП. Таким образом, импульсный источник питания с регулируемым выходным напряжением можно реализовать на периферийных модулях микроконтроллера. После первоначального конфигурирования схема будет работать полностью аппаратно без необходимости участия ядра в поддержании функции преобразователя. Ядро может заниматься интерфейсными задачами, индикации контроля и др.

Вообще, для построения импульсных источников питания в новых семействах PIC16F17xx микроконтроллеров Microchip есть дополнительные аналоговые (операционные усилители) и специализированные периферийные модули: модули пилообразной компенсации (Slope Compensation) и программируемый рамп-генератор (Programmable Ramp Generator, PRG), операционные усилители, модуль формирования комплементарных выходных сигналов (COG), HLT таймера. Но об этих частях ПНЯ постараемся рассказать в следующий раз.

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

Генераторы

В предыдущей статье посвященной CLC мы уже рассматривали разного рода генераторы/мультивибраторы, рассмотрим как CCDM и PPS позволит упростить и до того простые схемы основанные на ПНЯ (CLC).

Рис 5. Мультивибратор на двух гейтах.

На рис.5 изображен ранее рассмотренный генератор на D триггере, инверторе и RC цепочке (в данном случае схема чуть перерисована для отображения внешних по отношению к микроконтроллеру подключений). Частота генератора определяется параметрами R и C. Резистор R задает ток заряда/разряда конденсатора C. Теперь, при наличии встроенного контроллера тока драйвера порта, мы можем убрать резистор и чуть упростить схему.

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

Рис.6. Мультивибратор с ограничением выходного тока порта CLC2

Следует отметить, что совсем не обязательно для CLC1 использовать D триггер, пойдет любой вариант реализации неинвертирующего гейта.

Рис. 7. Другой вариант мультивибратора на двух логических гейтах.

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

  • уменьшение используемого числа выводов МК (да, вы же помните что у нас есть часть ПНЯ в виде PPS), то есть для одного и того же корпуса можем иметь больше возможностей — впихнуть больше в меньшее.

  • возможность программного изменения частоты! Если мы меняем ток заряда/разряда конденсатора, то мы меняем скорость изменения напряжения на конденсаторе, а значит частоту переключения мультивибратора.

Рис. 8. Управление током позволяет программно менять частоту мультивибратора.

В первоначальной схеме от микроконтроллера понадобилось бы 3 вывода, модифицированная схема с использованием PPS и CCDM требует только 2.

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

Рис.9. Мультивибратор на одном гейте

Рис.10. Форма сигнала на конденсаторе мультивибратора и контрольный выход логического элемента.

Измерение Емкости. Емкостной сенсор. Сенсорная кнопка

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

сигналы комментарий
Осциллограммы без касания сенсора
Осциллограмма при «нажатом» сенсоре

Рис.16a. Диаграммы работы мультивибратора при изменении времязадающей емкости.

Подобным методом можно детектировать протечку воды или определять влажность почвы и использовать для автоматизации полива цветов ))

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32

Tutorial

Введение

Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является трансфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой особенностью на известном китайском сайте. Статья же увидела свет потому, что информации по контроллеру SSD1283A очень мало(как в русском, так и западном сегменте сети), и руководства я нигде не встречал. В сети можно найти даташит, однако там нет информации по инициализации и работе с дисплеем, а из полезного только описания регистров. Хочу подчеркнуть, что данный материал конечно же не является истиной последней инстанции. Я привожу лишь свой опыт взаимодействия с устройством. Основная цель статьи проста — помочь всем тем, кто решил, хочет или захочет поработать с данным дисплеем, не более.

Как прошивать микроконтроллер? С чего начать изучение?

Официальный программатор для семейств PIC – это PICkit V3, является наиболее распространенным. Программный код загружается в чип с помощью ПО, которое есть на диске, он идёт в комплекте с программатором. IDE имеет название MPlab. Является официальной средой разработки от производителя, между прочим, бесплатной. Для изучения устройств есть отличная книга на русском языке «Pic-микроконтроллеры. Полное руководство» автор её Сид Катцен. Кроме этой книги вы найдете огромное количество видео-уроков и текстовых материалов, которые вам помогут.

Применение микроконтроллеров PIC весьма широко, многие радиолюбители собирают металлоискатели и счетчики Гейгера на этих МК.

Характеристики контроллеров.

Следует отметить, что различный аппарат­ный состав и характеристики имеют не только микроконтроллеры разных се­мейств, но и модели (версии) одного семейства. Однако общим для большинства моделей контроллеров является:

● RISC –архитектура (с двухступенчатым конвейером), обеспечивающая выпол­нение большинства команд процессора за один машинный цикл;

● Гарвардская архитектура (с раздельными шинами данных и программ), обес­печивающая одновременный доступ к памяти данных и программ;

● КМОП технология, обеспечивающая:

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

• широкий диапазон напряжений питания (2…6 В) и температур (–40…+70 °С);

• малое энергопотребление;

● наличие таймера–счетчика с программируемым предварительным делителем, сторожевого таймера с встроенным R С–генератором, таймера–счетчика реаль­ного времени — ТМ R 0, регистра состояния — STATUS ; регистра косвенной адресации — FSR и др.

● прямой и косвенный режимы адресации; режим пониженного энергопотреб­ления.

В качестве примера в табл. 6.1.1 приведены показатели МК средних моделей.

Генератор пилообразного напряжения

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

Рис. 11. Генератор пилообразного напряжения.

То есть в данном случае конденсатор заряжается ограниченным током 1мА, а разряжается через порт без ограничения тока (следует учесть, что максимально допустимый ток для порта 50мА, поэтому может понадобиться последовательный резистор для ограничения тока).

Как вы видите из диаграмм (рис. 10 и 11) на конденсаторе получаем пилу, верхнее и нижнее значение напряжений которой лежит между уровнями лог 1 и 0 цифровых входов.

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

Рис.12. Мультивибратор с компараторами.

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

Рис 13. Выход мультивибратора