51337

Изучение таймеров общего назначения и аналого-цифрового преобразователя микроконтроллера STM32F100RB

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Некоторые характеристики модулей АЦП микроконтроллера STM32F100RB: 12ти разрядная разрешающая способность; 18 каналов из которых 16 внешние; возможность задавать время преобразования индивидуально для каждого канала 8 дискретных значений; возможность задания одиночного или непрерывного преобразования; самокалибровка; наличие оконного компаратора; запуск преобразования от внешнего источника; работа с модулем DM Injected chnnels инжектированные...

Русский

2014-02-09

62.87 KB

46 чел.

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Ижевский государственный технический университет

имени М. Т. Калашникова»

Кафедра «Мехатронные системы»

Лабораторные работы № 2,3

Дисциплина: «Микропроцессорная техника»

Тема: «Изучение таймеров общего назначения и аналого-цифрового преобразователя микроконтроллера STM32F100RB»

Выполнил: студент гр. 7-05-3

Лазарев Б.П.

Проверил:   преподаватель

Лекомцев П.В.

Ижевск 2012

Введение            3

Техническое задание          5

  1.  Разработка алгоритма программы        6
  2.  Разработка программы         8
  3.  Вычислительный эксперимент                   9

Вывод                      10

Список литературы                    10

Введение

Таймеры – неотъемлемое и весьма востребованное устройство в любом микроконтроллере.

Контроллеры STM32 имеют в своем составе три группы таймеров:

  1.  basic timers  — базовые таймеры;
  2.  general-purpose timers  — общего назначения;
  3.  advanced-control timers  — с расширенными возможностями

Эти три группы перечислены по мере увеличения возможностей таймеров.

Из этой классификации следует, что самые простые – это базовые таймеры.

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

“general-purpose” (таймеры общего назначения) - это вторая группа таймеров, которые имеются у микроконтроллеров STM32.

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

Некоторые из них перечислены ниже:

  1.  счетный регистр поддерживает режимы счета:  up — прямой, down — обратный, up/down – двунаправленный (сначала до определенного значения, а затем обратный);
  2.  имеется четыре независимых канала, позволяющих выполнять: захват входного сигнала, сравнение счетного регистра с заданным значением, формирование ШИМ-сигнала или одиночного импульса; по каждому из каналов может формироваться прерывание или запрос DMA; 
  3.  возможность синхронизироваться от нескольких источников: от системной синхронизации, от другого таймера или от внешнего сигнала. 

Аналого-цифровой преобразователь (АЦП, англ. Analog-to-digital converter, ADC) — устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал).

Некоторые характеристики модулей АЦП микроконтроллера STM32F100RB:

  1.  12-ти разрядная разрешающая способность;
  2.  время преобразования — 1 μs;
  3.  18 каналов, из которых 16 — внешние;
  4.  возможность задавать время преобразования индивидуально для каждого канала (8 дискретных значений);
  5.  возможность задания одиночного или непрерывного преобразования;
  6.  само-калибровка;
  7.  наличие оконного компаратора;
  8.  запуск преобразования от внешнего источника;
  9.  работа с модулем DMA

Injected channels (инжектированные каналы) и Regular channels (регулярные каналы) - это две разновидности опроса каналов.

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

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

Техническое задание

Разработать алгоритм и программу на языке «С»  измерения внешнего напряжения посредством АЦП и генерации ШИМ в зависимости от величины измеренного напряжения.

1. Разработка алгоритма программы

Схема алгоритма программы представлена на рисунке 1.

Начало

Подача тактовых импульсов на таймер TIM2, АЦП1 и порта ввода/вывода А (шины APB1 и APB2 соответственно)

Настройка линии РА2 порта А на выход (альтернативный режим)

Разрешить таймеру TIM2 использовать линию РА2 порта А для генерации широтно-импульсной модуляции

Настройка режима широтно-импульсной модуляции

Запуск таймера TIM2

Запуск калибровки АЦП

Устанавливаем период опроса линии РА1 порта ввода/вывода А.

Калибровка окончена?

Устанавливаем последовательность преобразования инжектированной и регулярной группы каналов АЦП1. Разрешаем внешний запуск преобразования инжектированной группы. Устанавливаем последовательность запуска преобразований (одно за другим). Разрешаем преобразование инжектированной группы каналов АЦП1 после регулярной.

А

Рисунок 1 – Схема алгоритма программы

А

Задаём номер канала АЦП1 (1 канал)

Включаем АЦП1

Запуск преобразований

Первое преобразование окончено?

Подача питания прекращена?

Запись результата преобразования в переменную. Умножение переменной на константу. Запись значения переменной в регистр захвата/сравнения таймера TIM2

Конец

Рисунок 1 - Продолжение

2. Разработка программы

В соответствии со схемой алгоритма программы разработана программа. Текст программы представлен на  рисунке 2.

#include<stm32f10x_rcc.h>

#include<stm32f10x_gpio.h>

#include "stm32f10x.h"

int main(void)

{

 GPIO_InitTypeDef PORT;

 //Включаем порты А и С и таймера TIM2

RCC->APB2ENR |= (RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA);

 RCC->APB1ENR |= (RCC_APB1Periph_TIM2);

 //Настройка ноги PA2 на выход, альтернативный режим

 PORT.GPIO_Pin = (GPIO_Pin_2);

 //Будем использовать альтернативный режим а не обычный GPIO

 PORT.GPIO_Mode = GPIO_Mode_AF_PP;

 PORT.GPIO_Speed = GPIO_Speed_2MHz;

 GPIO_Init(GPIOA, &PORT);

 //Разрешаем таймеру использовать PA2 для ШИМа

 TIM2->CCER |= (TIM_CCER_CC3E);

 //Устанавливаем режим прямого ШИМ-а на ногу PA2(третий канал)

 TIM2->CCMR2|=(TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2);

 //Запускаем таймер!

 TIM2->CR1 |= TIM_CR1_CEN;

 //Включаем тактирование АЦП

 RCC->APB2ENR |=(RCC_APB2ENR_ADC1EN);

 ADC1->CR2 |= ADC_CR2_CAL; //Запуск калибровки АЦП

 while (!(ADC1->CR2 & ADC_CR2_CAL)); //Ожидаем окончания калибровки

 ADC1->SMPR2 |=0x0;// (ADC_SMPR2_SMP1_2 | ADC_SMPR2_SMP1_1 | ADC_SMPR2_SMP1_0); //Задаем длительность выборки/

 ADC1->CR2 |= ADC_CR2_JEXTSEL; //Преобразование инжектированной группы запустится установкой бита JSWSTART

 ADC1->CR2 |= ADC_CR2_JEXTTRIG; //Разрешаем внешний запуск инжектированной группы

 ADC1->CR2 |= ADC_CR2_CONT; //Преобразования запускаются одно за другим

 ADC1->CR1 |= ADC_CR1_JAUTO; //Разрешить преобразование инжектированной группы после регулярной.

 ADC1->JSQR |=ADC_JSQR_JSQ4_0 ; //Задаем номер канала (выбран ADC1)

 ADC1->CR2 |= ADC_CR2_ADON;//Теперь включаем АЦП

 ADC1->CR2 |= ADC_CR2_JSWSTART; //Запуск преобразований

 while (!(ADC1->SR & ADC_SR_JEOC)) //ждем пока выполнится первое преобразование

 { }

 uint32_t adc_res;

 while(1)

 {

   adc_res = ADC1->JDR1; //Читаем результат из JDR1

   adc_res=adc_res*16;

   TIM2->CCR3 = adc_res;

 }

}

Рисунок 2 – Текст программы

3. Вычислительный эксперимент

Согласно техническому заданию была разработана схема подключения источника постоянного напряжения, через переменный резистор (для возможности регулирования напряжения  в пределах от 0 вольт до максимального значения источника постоянного напряжения) к линии АЦП микроконтроллера STM32F100RB и подключения сигнальных светодиодов, к выводам таймера общего назначения (с помощью которого генерируется ШИМ сигнал для управления яркостью светодиодов).  

При изменении сопротивления R1 происходит изменение значения входного напряжения на линии АЦП. В зависимости от результата преобразования АЦП изменяется скважность ШИМ сигнала (генерируемого таймером общего назначения TIM2), вследствие чего изменяется яркость светодиодов. Схема подключения источника питания и сигнальных светодиодов к микроконтроллеру STM32F100RB представлена на рисунке 3.

   Вывод

В ходе выполнения данного курсового проекта были получены навыки работы с периферией микроконтроллера STM32F100RB фирмы «STMicroelectronics» , в том числе: порты ввода/вывода, таймеры общего назначения, модуль АЦП.

    Список литературы

1. STMicroelectronics.: “RM0041 Reference manual. STM32F100xx advanced ARM-based 32-bit MCUs.”,,2011.-675c.

2. STMicroelectronics.:“Datascheet STM32F100x4 STM32F100x6 STM32F100x8 STM32F100xB” ,,2012.-88c.

3. Тревор Мартин .: "Микроконтроллеры фирмы STMicroelectronics на базе ядра Cortex-M3. Серия STM32." – Санкт-Петербург: «БХВ-Петербург», 2008. – 387с.


 

А также другие работы, которые могут Вас заинтересовать

25553. Факторы семейного благополучия 13.1 KB
  Психологическая совместимость супругов. Психологическая совместимость взаимное принятие партнеров по общению и совместной деятельности основанное на оптимальном сочетании сходстве или взаимодополнительности ценностных ориентации личностных и психофизиологических особенностей. Компоненты с семейной психологической совместимости: Психофизиологическая совместимость сексуальная совместимость. Ценностная совместимость любовь нежность взаимоуважение верность деликатность Личностная совместимость наличие благоприятных качеств...
25554. Предприятие, цели и задачи его создания. Основные типы предприятий. Аренда, лизинг, франчайзинг 123.5 KB
  Предприятие – это самостоятельный специализированный субъект созданный в порядке установленном законом для производства продукции выполнения работ и оказания услуг с целью удовлетворения общественных потребностей и получения прибыли. 2 по структуре продукции: узкоспециализированные многопрофильные комбинированные. Оплата труда непроизводственного персонала включается в себестоимость продукции косвенным путем. Затраты на оборотные средства включаются в себестоимость изготавливаемой продукции в полном объеме по мере потребления.
25555. Учение Платона о душе 28.5 KB
  Вожделеющая и страстная души должны подчиняться разум ной которая одна может сделать поведение нравственным. И наконец разумную часть души Платон отождествляет с возницей который ищет правильный путь и направляет по нему колесницу управляя конем. В описании души Платон придерживается четких чернобелых критериев доказывая что есть плохие и хорошие части души: разумная часть для него является однозначно хорошей в то время как вожделеющая и страстная – плохими более низкими. У человека Платон выделял два уровня души – высший и низший.
25556. Аристотель о душе и ее способностях 30.5 KB
  Форма – придает материи качественную определенность составляет сущность вещей. Материя не может быть бесформенной форма не может не иметь материальной основы. Душа – форма живой материи. Душа и тело связаны как материя и форма т.
25557. Неоплатонизм и томизм в философии и психологии Средневекового периода 30.5 KB
  Развитие мира – постоянное восхождение или нисхождение божественного Ступени: Божественное первоначало Божественный ум Божественная душа Природа По мере нисхождения верховного начала оно передается во множество умов и душ. Первично божественное материя – последняя стадия дробления первоначала Душа человека происходит из мировой души она нематериальна непространственна едина. Уровни или части души: Умопостигаемая душа Чувственная душа Тело Деятельность души функции Обращение к мировому разуму Обращение к чувственному миру и...
25558. Развитие средневековой психологии на востоке. Авиценна, Альгазен, Аверроэс 26.5 KB
  Авиценн согласен с Аристотелем в том что душа это форма тела и о трех способностях души растительной рост животной ощущения аффекты движения и разумной воображение память разум. Авиценн выделил чистые разумные акты независимые от тела. Причины выделения индивидуального разума – 1. чувства и разум разобщены самостоятельны по отношению друг к другу независимы.
25559. Психология в эпоху Возрождения: основные тенденции в развитии философо-психологических взглядов 27.5 KB
  Поскольку человек есть часть природы то и душа его есть лишь проявление природы. Стремления и удовольствия – требования природы человек должен их удовлетворять. Помпонацци 1462–1524 О бессмертии души Бог в делах природы участия не принимает. Человек есть результат развития природы причем у него как и у всего живого появляется психическое душевное названное термином дух захваченное из окружающей среды наиболее совершенное материальное вещество.
25560. Общие черты в развитии психологии Нового времени 26 KB
  : Рост производства Переход к капитализму Мануфактуры Тенденции характерные для философов: Отделение науки от религии: отказ от веры светский характер науки для того чтобы ускорить прогресс Источник познания: Сенсуализм родоначальник – Ф.Бэкон Источник познания – чувственный опыт. Источник познания – мышление разум. Способы научного познания: Индуктивный: от частногоопыта к общему правилу Дедуктивный: от общего теории к частному частным ситуациям Что первично: психика или телесный мир Сенсуализм: сначала...
25561. Ф. Бэкон и оформление эмпирического принципа в философии и психологии 41.5 KB
  Бэкон и оформление эмпирического принципа в философии и психологии Ф. Бэкон 1561 1626 английский философ историк политический деятель основоположник эмпиризма. Бэкон – родоначальник английского материализма и эмпирического направления в философии и психологии. Человек: Чувственная часть души проявляется в теле – занимается наука Разум божественный – занимается теология Суть основной философской идеи Френсиса Бэкона – эмпиризма – в том что в основе познания лежит исключительно опыт.