51337

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

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

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

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

Русский

2014-02-09

62.87 KB

47 чел.

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

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

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

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

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

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

Лабораторные работы № 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с.


 

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

66720. Классификация грузовых автотранспортных средств 1.4 MB
  Именно поэтому грузовые автомобили относятся к числу наиболее востребованных типов спецтехники. Универсальность функциональная гибкость и рыночная ликвидность все эти факторы способствуют повышенному спросу на технику для грузоперевозок к числу которой относятся грузовые автомобили...
66721. Ковда Виктор Абрамович 276.5 KB
  В этом отношении почвоведение получило приоритетность в отношении изучения почвенных ресурсов для жизнеобеспечения населения. Из всех объединений почвоведов к началу 1922 года сохранился только почвенный отдел ВЭО в Петрограде.
66722. Колегія Павла Галагана 119 KB
  Українська інтелектуальна еліта має формуватися на національній ідеї, що є джерелом культурно-історичної динаміки нації, отже, й система освіти має ґрунтуватися на глибокій і цілісній національній основі. Одним з осередків формування інтелектуальної еліти українського народу є середні загальноосвітні...
66723. Разработка комплексной диагностики системы управления таможенного органа 309 KB
  Хозяйствующий субъект является открытой системой, взаимодействующей с внешней средой. Внешняя среда оказывает влияние как на эффективность организации в целом, так и на его ключевые подсистемы.
66724. Перевозки грузов автомобильным транспортом 123.5 KB
  За последнее десятилетие существенно изменились экономические связи в стране. Директивные методы управления уступают рыночным отношениям. Грузовой транспорт стал работать в условиях развивающейся конкуренции. Повышаются требования к срокам доставки грузов, что влияет и на процессы подготовки и приемку грузов.
66725. АЛЕКСЕЙ АНДРЕЕВИЧ РОДЕ 246 KB
  Труды А.А. Роде — не просто источник исчерпывающей информации по многим конкретным проблемам почвоведения. По ним можно учиться глубокому творческому подходу к познанию сложнейших проблем мироздания, высокой принципиальности в отстаивании своих убеждений...
66726. ЛАЗЕРНЫЕ ПРИНТЕРЫ 242.5 KB
  Лазерные принтеры менее требовательны к бумаге, чем, например, струйные, а стоимость печати одной страницы текстового документа у них в несколько раз ниже. При этом недорогие модели лазерных и светодиодных монохромных принтеров уже способны конкурировать...
66727. Решение алгебраических и трансцендентных уравнений 220 KB
  Часто приходится находить корни уравнений вида, где f(x) определена и непрерывна на некотором интервале. Если f(x) представляет собой многочлен, то уравнение - алгебраическое, если в функцию входят функции типа: тригонометрических, логарифмических, показательных и т.п., то уравнение называется трансцендентным.
66728. Либеральные реформы 60-70гг. XIX в., их противоречивость 34 KB
  Городская реформа 1870 создала городское самоуправление: городскую думу и управу решавшие коммунальные вопросы борьба с пожарами контроль за санитарией проблемы школ приютов лечебниц и др. Судебная реформа стала историческим фактом. Реформа школы в основном была осуществлена двумя актами: 14 июня 1864 г.