Апр 262013
 

Когда-то, еще совсем недавно, я частенько заказывал бесплатные образцы (сэмплы) у известной американской компании Analog Devices. И регулярно курьер привозил заказанные микросхемы, даже не все еще пришлось пустить в дело, а накопил уже достаточно. Одно время по необходимости заказывал различные операционные усилители, здесь и rail-to-rail, и различные малошумящие и прецизионные усилители. Всяческие DC преобразователи с изолированными цепями управления по разным интерфейсам, USB интерфейсы с гальванической развязкой и т.д. Все это лежит в фирменных коробочках и ждет своего часа. А недавно, перебирая эти запасы, наткнулся на микросхему AD5242 и подумал, а почему бы не внедрить в одно из устройств эти цифровые потенциометры, чтобы управление и цифровыми и аналоговыми цепями шло от одного микроконтроллера. Для начала решил подключить AD5242 к STM32, сделать пробную заготовку программы управления цифровым потенциометром, “пощупать” эту связку осциллографом и мультиметром, а затем уже внедрить эту микросхему в цепь обратной связи операционного усилителя для регулировки коэффициента усиления с помощью цифровых посылок от микроконтроллера. Ниже изложу описание устройства микросхем AD5241 и AD5242, принципов их работы в моем понимании, а также поделюсь результатами эксперимента.

Continue reading »

Апр 082013
 

Недавно вышла третья версия этой программы. О возможностях второй версии я рассказывал в статье STM32. MicroXplorer. В последней версии добавлена возможность генерации исходного кода для настройки выводов порта, связанных с внутренним периферийным модулем.

Continue reading »

Апр 022013
 

В данном режиме обнаружение изменения уровня сигнала на входе микроконтроллера приводит к “захвату” содержимого счетного регистра таймера. Это позволяет измерить период входного сигнала или длительность импульса. Измерение же обеих этих величин дает представление о параметрах входного сигнала с широтно-импульсной модуляцией. Для таймера общего назначения в режиме захвата можно использовать довольно гибкие настройки этого режима, поскольку набор регистров и схема входного каскада таймера дают такую возможность.

Continue reading »

Фев 032013
 

Завершаем тему с практическими примерами формирования сигнала PWM на выходе порта. В этой статье будет дано краткая инструкция по инициализации таймера для формирования ШИМ сигнала на выходе. Только теперь вся движуха электронов внутри контроллера будут управляться функциями стандартных библиотек StdPeriph_Lib. Пример проекта сделан в IAR и проверен на плате STM32L-DISCOVERY. Для микроконтроллеров серии STM32F10x код будет отличаться только в секции инициализации портов, а для таймера код будет совершенно одинаковым.

Continue reading »

Янв 302013
 

Для предыдущей статьи сделал небольшое дополнение – добавил код формирования PWM сигнала таймером для платы STM32L-DISCOVERY. Отличия здесь совсем небольшие, в инициализации вывода порта, да еще частота тактирования другая – здесь по дефолту используется источник MSI с частотой 2.097 МГц.

Continue reading »

Янв 292013
 

В этой статье рассмотрим метод формирования ШИМ (PWM) сигнала на выходе микроконтроллера. Я решил сразу не загружать вас всей информацией о работе каналов захвата/сравнения (Capture/Compare), а давать информацию небольшими порциями практических примеров. А всю теорию вынести в отдельную статью. Формирование PWM сигнала на выходе с помощью таймера является одним из режимов работы каналов Capture/Compare таймера. В этой статье будут рассмотрены минимально необходимые настройки таймера, которые позволят увидеть на выходе микроконтроллера сигнал с регулируемой длительностью импульсов.

Continue reading »

Янв 282013
 

Давно собирался взяться за эту тему, но все никак не мог определиться с форматом и содержимым статьи. Во-первых, таймеров общего назначения (или универсальных таймеров) в STM32 разработчики не пожалели, там их довольно много. Есть совершенно одинаковые, а есть с отличиями по набору функций. В общем, на любой вкус. Во-вторых, всех возможных функций у этих таймеров тоже довольно много. Изложение всего этого в одной статье с примерами кодов и осциллограммами вылилось бы в довольно большой объем. Но и ограничиваться обзорной статьей с описанием устройства и доступных возможностей тоже не хотелось. Поэтому  будет несколько небольших статей, где я постараюсь на конкретных примерах более подробно рассмотреть устройство и работу таймеров в разных режимах. В этой части вкратце ознакомимся с устройством таймеров, а также реализуем  простейшую и основную задачу для таймера – формирование заданного временного интервала.

Continue reading »

Янв 102013
 

Недавно Metcenger прислал программу, которая облегчает настройку портов микроконтроллеров STM32L152xx в нужные рабочие режимы. Сам ее сотворил, но не стал пользоваться в одиночку, а предложил выложить программу на сайте.

Continue reading »

Янв 072013
 

Есть у меня один вялотекущий проект – хочу собрать генератор с программируемой установкой частоты, индикацией и прочими прелестями интерфейса “человек – машина”. Примерно с год валялась у меня в столе на работе эта микросхема. Получил ее в качестве бесплатного образца (сэмпла) от фирмы Analog Devices. Я частенько заказываю у них сэмплы, шлют без вопросов и телефонных звонков, может потому, что делаю заказы от фирмы. Пока попробовал только “оживить” эту микросхему, программируя ее с помощью микроконтроллера STM32. Оживил и понял, что основная работа только впереди, поскольку в дальнейшем потребуется грамотно развести плату, а также хорошенько подумать над схемой выходного фильтра. Но это в будущем, пока же расскажу об этой микросхеме и поделюсь результатами первых экспериментов с ней.

Continue reading »