Апр 282012
 

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

Continue reading »

Апр 272012
 

Продолжаем эксперименты с цифро-аналоговым преобразователем. В предыдущей статье STM32. DAC – Цифро-Аналоговый Преобразователь. Часть 1. был рассмотрен порядок настройки DAC STM32L. В первой части также имеются ссылки, по которым можно загрузить описание регистров модуля DAC (на русском языке) и исходный рабочий проект в IAR, в него и будем вносить изменения. Пойдем дальше, посмотрим на что еще способен этот модуль.

Continue reading »

Апр 192012
 

Цифро-аналоговый преобразователь может работать с 8- или 12-разрядными данными. В 12-разрядном режиме работы данные должны быть выровнены влево или вправо. Запуск преобразования возможен программно, либо от внешних источников – это могут быть таймеры или внешний вход EXTI_9. Имеется 2 канала преобразования, их можно использовать раздельно или одновременно (синхронный запуск преобразования в обоих каналах). Оба канала полностью независимы друг от друга, каждый имеет свои собственные регистры для данных и модуль преобразователя. Вход опорного напряжения Vref является общим с АЦП. Какие еще возможности имеются в ЦАП данного семейства микроконтроллеров? Кроме обычного преобразования “цифра-аналог” модуль может генерировать сигнал шума, а также сигнал треугольной формы. Кроме того, предусмотрена работа с модулем DMA (прямой доступ к памяти). В принципе, модуль ЦАП один из самых несложных для изучения и начала работы.

Continue reading »

Мар 252012
 

Это самые простые таймеры в составе микроконтроллера. Они не способны создать сигнал ШИМ на выходе, не выполняют функций захват/сравнение и т.д. С их помощью можно лишь сформировать временной интервал, сгенерировать прерывание или запрос DMA. Поэтому базовые таймеры содержат минимум регистров и настроить их очень несложно. Используя отладочную плату STM32L-DISCOVERY, рассмотрим простейший пример создания временной задержки в программе с использованием базового таймера. Помигаем светодиодом с периодом в 1 секунду, при этом настройки будут минимально необходимыми, только конфигурация порта и таймера, остальное все будет по умолчанию (то есть тактовым источником будет MSI с F = 2,097 МГц).

Continue reading »

Мар 152012
 

Недавно в новостной рассылке от STMicroelectronics сообщалось о выходе 2-ой версии программы MicroXplorer. В анонсе упоминались следующие возможности программы:

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

Continue reading »

Мар 032012
 

DMA (Direct Memory Access) – Прямой Доступ к Памяти (ПДП). Эта функция используется для быстрой пересылки данных, при этом ядро микроконтроллера не загружено соответствующими операциями, его ресурсы можно использовать для других задач. Передача данных (транзакции) между периферийными модулями и/или памятью идет абсолютно независимо от ядра микроконтроллера, этой задачей “рулит” специальный блок – контроллер DMA.

Continue reading »

Фев 132012
 

Вдогонку к теме АЦП сделал файл с описанием его регистров для микроконтроллеров серии STM32L15xx. PDF-ку можно загрузить ТУТ. Все на русском языке, кроме названий регистров и бит :).

Другие статьи:

Фев 122012
 

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

Continue reading »

Янв 152012
 

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

Continue reading »

Янв 072012
 

Пора бы разобраться с выводом информации на ЖК дисплей, установленный на плате. В дальнейшем освоении STM32, думаю, его наличие на плате очень пригодится, куда-то же нужно вывести результаты измерения АЦП, например, преобразовав данные в нормальный для понимания буквенно-цифровой вид. Да и любую другую информацию, хотя бы и при отладке программы его можно использовать.

Continue reading »