ChipSpace

Апр 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 »

Янв 032013
 

Один из постоянных читателей блога – Metcenger, попросил выложить на сайте свой проект для STM32L152. В проекте использован макрос, который упрощает работу с портами микроконтроллера STM32L152 (кроме того, этот макрос можно использовать для AT91SAM7, LPC2xxx, ADuC70xxx, AVR, MSP).

Continue reading »

Дек 012012
 

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

Continue reading »

Ноя 112012
 

Недавно принял участие в семинаре «Применение 32-разрядных микроконтроллеров ATMEL на базе ядра CortеxM4 с использованием интегрированной среды разработки Atmel Studio 6», который проводила компания Rainbow Electronics в Екатеринбурге.  Семинар был практический, после обзорного знакомства с микроконтроллерами Atmel на базе ядра Cortex-M4, участники приступили к выполнению лабораторных работ. Работали с отладочной платой SAM4S Xplaned в среде разработки Atmel Studio 6.   Прошлогодний семинар проводил представитель фирмы Atmel из Франции, тогда темой были микроконтроллеры Cortex-M3, а с примерами проектов работали в среде IAR. Честно говоря, после прошлогоднего семинара пару дней побаловался с отладочной платой, которые подарили каждому участнику, и все на этом. Тогда у меня сложилось впечатление, что Atmel вчистую проигрывает STMicroelectronics в продвижении микроконтроллеров на ядре Cortex-M3. Цена чипов и отладочных плат, русскоязычные сайты по тематике – все это  было в пользу STM32. Нынешний семинар привлек возможностью попробовать среду разработки Atmel Studio 6, самостоятельно я ее не изучал из-за отсутствия аппаратных средств отладки. О впечатлениях от прошедшего семинара, а также знакомства с новой продукцией Atmel читайте далее.

Continue reading »