×

Внимание

Форум находится в режиме только для чтения.

Исследование возможностей АЦП в связке с DMA бюджетного контроллера STM8L

10 года 3 мес. назад #5852 от admin
Освоить самый популярный, лучший по сочетанию цена – возможности 8-битный...

Освоить самый популярный, лучший по сочетанию цена – возможности 8-битный контроллер STM8L051 / 151 – дело чести для любого разработчика. Инженеры компании IC-Contract подготовили несколько лабораторных работ и выложили исходники для быстрого освоения всеми желающими.

                Рассмотренные в прошлом обзоре возможности АЦП далеко не исчерпывающие.  Сегодня рассмотрим работу АЦП на несколько каналов, а так же свяжем работу преобразователя с контроллером прямого доступа к памяти DMA. Последнее – позволит нам отказаться от использования прерываний по окончанию аналого-цифрового преобразования.

                К предыдущей схеме проекта добавился внешний аналоговый температурный датчик LM335 либо LM235 либо LM135.

STM8l ADC DMA 1

Рисунок 1. Схема проекта.

                Кроме измеряемых внешних каналов проект включил в себя измерение внутренних каналов микроконтроллера: измерение внутреннего опорного напряжения и встроенного в контроллер STM8L151F3P6 датчик температуры с аналоговым выходом (у STM8L051- отсутствует).

Таким образом, АЦП последовательно циклически измеряет 4 канала аналоговой информации. Даже самые простые микроконтроллеры STM8L051F3P6 имеют на борту контроллер прямого доступа к памяти (DMA). Данная периферия позволяет исключить использование ядра в множестве обменных операций, например, по окончанию преобразования АЦП данные результата преобразования могут оказаться непосредственно в массиве переменных. Таким образом, периферия полностью разделяет процессы получения результата и его обработки.

В нашем случае, имеется массив из 4-х 16-ти битных переменных: два внешних и два внутренних канала измерения. Контроллер прямого доступа к памяти прекрасно справляется со своей задачей:

STM8l ADC DMA 2

Рисунок 2. Работа DMA: результат работы АЦП находится в памяти

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

                Проект сделан под оболочкой STVDс использованием компилятора Cosmic.

Компания IC-Contract желает вам успешных разработок.

Получить более подробную информацию по продукции STMicroelectronics  вы можете, обратившись: 

E-mail: 
  Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Телефон: (343) 372-92-30 
Задать вопрос техподдержке вы можете на нашем 
форуме.

Время создания страницы: 0.043 секунд
Работает на Kunena форум