Микроконтроллеры

СОДЕРЖАНИЕ

                                                                        Лист 

         ВВЕДЕНИЕ 

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

        AVR-микроконтроллеры в сочетании  с датчиками позволяют создавать  эффективные системы контроля  в бытовой и промышленной, а  также в медицинской технике.  Их главные достоинства - универсальность,  программная гибкость, возможность  цифровой обработки данных и реализации сложных алгоритмов управления. Интеграция в одном корпусе большого количества периферийных устройств обеспечивает компактность и низкую стоимость приборов в условиях сжатых сроков разработки и постановки изделий на производство.

       Однокристальная микро-ЭВМ (микроконтроллер) представляет собой, построенную вокруг микропроцессора вычислительную систему, которая выполнена на одном кристалле вместе с микропроцессором.

       В данной работе используется микроконтроллер  AТmega103 фирмы Atmel. Микросхема выполнена в 40-выводном корпусе, что дает безусловный выигрыш. Таким образом, микроконтроллер имеет (4 внешних порта РА ,РВ,РС и РD). Прибор обеспечивает производительность, приближающуюся к 1 МГц. Архитектура эффективно поддерживает как языки высокого уровня, так и программы на языке ассемблер. Микроконтроллер AТmega103 [3, стр.50] содержит: 4Кбайта загружаемого ПЗУ, 256 байтов СОЗУ дает возможность наращивать память данных, программируемый последовательный UART, программируемый сторожевой таймер и многое  другое.

       Стандартное решение такой конструкторской  задачи - построение схемы, выполняющей следующую последовательность действий:

  • преобразование сопротивления в напряжение при помощи источника тока;
  • преобразование напряжения в код при помощи встроенного в контроллер аналогово-цифрового   преобразователя (АЦП);
  • подача полученного кода в микроконтроллер (МК), где полученная информация обрабатывается и передается дальше.

            Сегодня некоторые зарубежные  фирмы выпускают АЦП, выполняющие  описанную выше цепочку преобразований. Например, фирма Analog Devices производит аналого-цифровые преобразователи AD7710, AD7711 и AD7713 со встроенными операционным усилителем (с программируемым коэффициентом усиления), источниками тока и последовательным интерфейсом. Эти микросхемы адаптированы для применения в измерительных системах (где датчиками могут служить термометр сопротивления, термопара или тензорезистивный мост), и датчики подключаются непосредственно к АЦП при минимуме дополнительных компонентов. Применять такие АЦП в небольших приборах дорого (цена специализированных АЦП превышает стоимость всех остальных компонентов, вместе взятых), а использование обычных АЦП значительно увеличивает число компонентов в схеме (и отрицательно сказывается на стоимости, габаритах и надежности прибора).

       Целью моей курсовой работы является исследование принципа устройства .......... и характеристик микроконтроллера.

       В работе рассмотрены следующие вопросы: описание принципиальной и функциональной схемы, характеристики микроконтроллеров.

       1 Общая часть 

       1.1 Основные требования предъявляемые к устройству

       Согласно  заданию схема должна содержать  следующие блоки:

  • Стабилизатор напряжения (необходим для преобразования напряжения 10-30В, в 5В).
  • Микроконтроллер (служит для управления всеми блоками данной схемы).
  • Датчик температуры.
  • Источник тока (необходим для измерения температуры, так как на термометр сопротивления необходимо подавать постоянный ток).
  • Источник опорного напряжения (для создания опорного напряжения в АЦП).
  • Последовательный интерфейс для связи с ПК (необходим для передачи полученных данных в персональный компьютер).
  • Дисплей (предназначен для отображения измеряемых данных).
  • Клавиатуру (по нажатию какой либо кнопки мы можем измерять температуру или просмотреть уже измеренную).
  • Супервизор напряжения (вырабатывает общий сигнал сброса).
 

       1.2.  Характеристики микроконтроллера

       Развитие  семейства MSP430 приведено на рисунке 1.  

       

Рисунок 1-Развитие семейства MSP430P325

16 разрядный  микроконтроллер MSP430P325IPG производства TEXAS INSTRUMENTS.

               Таблица 1 - Параметры микроконтроллера MSP430P325IPG

        Наименование характеристики
        Разрядность 16
        Масочное  ПЗУ нет
        Flash нет
        EEPROM 16k
        RAM 512
        Линий I/O 14
        АЦП 6/14
        Компаратор нет
        Встроенный  генератор есть
        Интерфейсы LCD 84сег
        Рабочая частота 8 МГц
        Корпус QFP64

      Основные  параметры микроконтроллера MSP430P325IPG представлена в таблице1                              

      Микроконтроллер MSP430P325IPG имеет встроенный стабилизатор тока 0…6 мА и 12-разърядный АЦП с расширением до 14-разрядов. Поэтому измерение температуры с применением микроконтроллера MSP430P325IPG не представляет особых трудностей. 
 
 
 
 
 
 
 
 

 

2 ОСНОВНАЯ ЧАСТЬ 

2.2 Разработка функциональной схемы устройства 

Функциональная  схема представленная на рис. 1. состоит из следующих блоков:

1)   Стабилизатор напряжения. На вход данной микросхемы подается напряжение 10-30В с выхода получаем постоянное напряжение 5В. Напряжение 5в необходимо для питания микросхем.

  1. Микроконтроллер. На данную микросхему также подается земля и питание. Сигнал сброса и на его входы также поступают сигналы от различных устройств таких как датчик температуры, последовательный интерфейс обмена, клавиатура, устройство отображения и др. т.е данная микросхема управляет всеми остальными.
  2. Датчик температуры. Представлен в виде термометра сопротивления и через должен него протекает постоянный ток, чтобы с выводов снимать изменяющееся напряжение. Напряжение будет изменяться в зависимости от температуры.
  3. Источник тока. С выхода данной микросхемы снимаем постоянный ток, на вход подается земля и питание.
  4. Источник опорного напряжения. На вход земля и питание, с выхода получаем постоянное напряжение 2,5В. Опорное напряжение для встроенного АЦП.
  5.   Последовательный интерфейс. Он управляется от микроконтроллера, т.е. на его входы кроме питания и земли, подаются сигналы (RE,R0,DE,DO) по которым происходит считывание или запись данных в компьютер по последовательному порту.  
  6. Клавиатура. С выхода идет код в микроконтроллер, который там обрабатывается и по нему выполняется какая либо операция, на вход подается земля.
  7. Дисплей. Предназначен для вывода измерений. Выводом данных на экран управляет микроконтроллер, поэтому на входы данного блока также поступают  сигналы управления и сами данные с микроконтроллера. На вход также подается земля и питание.
  8. Супервизор напряжения. На выходе данного блока формируется общий сигнал сброса, на вход подаются земля и питание.
 

 
 
 
 
 
 
 
 
 
 
 

Рисунок 1 — Функциональная схема микроконтроллера AVR 

 

2.3 Описание принципиальной электрической схемы 

Согласно  заданию требуется исследовать цифровой медицинский термометр на базе контролера AVR. Микроконтроллер имеет достаточное число выводов, напряжение питания от  2,7 до 6 В, есть программируемый полный дуплексный UART (так как мне необходимо организовать последовательную связь с компьютером). Еще в нем имеется сторожевой таймер, внутренняя память и в данном микроконтроллере имеется возможность применить языки высокого уровня для его программирования.

    Для супервизора напряжения была  выбрана микросхема mcp100 так как она обладает следующими характеристиками:

  • напряжение питания до 5В,
  • высокий и низкий уровень сигнала Reset,
  • время сигнала Reset 350 мС, потребляемый ток 45мкА,
  • температурный диапазон от –40до +85 гр.С

По характеристикам  эта схема подходит для данного  устройства.

   Для связи с компьютером используется  интерфейс RS485. Была выбрана микросхема  МАХ481, у нее напряжение питания тоже 5 В.

    Также используется датчик температуры  100П

    Для устройства необходим   жидко кристаллический индикатор  со следующими характеристиками

  • напряжение питания 5В
  • двух строчечный
  • со встроенным контроллером, русским алфавитом и наиболее дешевый

Данными свойствами обладает модуль PG1602.

Термометр смонтирован на двухслойной печатной пластине. На её лицевой стороне  помещены ЖК-индикатор и кнопки. Микроконтроллер и остальные элементы установлены на обратной стороне. В Цифровом термометре применены SMD-контроллеры. Печатная плата термометра помещена в стандартный корпус, в верхней части которого находится разъём для температурного зонда. Расположение основных элементов цифрового термометра в нутрии корпуса показано на рис.3. 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рисунок 3- принципиальная электрическая схема.

 Печатная  плата крепится четырьмя винтами  к бобышкам на верхней крышке  корпуса. Последняя закрыта специальной плёнкой , на которую методом шелкографии нанесены надписи. Индикатор защищен окном из прозрачной пластмассы толщиной 0,6мм. Крышки термометра крепятся друг к другу четырьмя винтами. Для достижения герметичности корпуса все швы перед сборкой проклеиваются силиконом.

Термометр обладает следующими характеристиками:

  1.погрешность измерения ( аппаратная) – в диапазоне от -50 до 199,9°С;

  2.погрешность измерения ( аппаратная) в диапазоне от +200°С до         +450°С_±0,1°С;

  3.период измерения температуры равен 1с;

  4.точность внутренних часов составляет ±10 с в сутки;

  5.индикация разряда батареи;

  6.4½-разрядный ЖК-индикатор с высотой цифр 9мм;

  7.Габариты: 65х130х25мм;

  8.Вес 120г;

  9.Питание от литиевой батареи 3,6в;

10. Срок службы батареи при работе 12 часов в сутки – не менее 5 лет.

Внутренне устройство цифрового термометра представлено  на рис. 4.

  

 
 
 
 
 

Рисунок4 - Внешнее устройство цифрового термометра

Базовый элемент схемы-микроконтроллер MSP430P325- идеальная микросхема для создания энергонезависимых измерительных приборов. Микроконтроллер MSP430P325 с EPROM-памятью программ используется для отработки программного обеспечения, а однократно программируемый микроконтроллер MSP430P325- в серийной продукции. Микроконтроллер MSP430P325 имеет встроенный стабилизатор тока0…6мА и 12 разрядный АЦП с расширением до 14 разрядов. Поэтому измерение температуры с применением микроконтроллера MSP430P325 не представляет особых трудностей.

РезисторR2 создаёт ток, протекающий через датчик PT1000. Конденсатор С1,С3 и резистор R3 представляют собой простейший фильтр. Остальные элементы необходимы для нормального функционирования прибора. Кнопки SB1-SB2,R12 и контроллер С8 используются схемой обслуживания кнопок. Резистор R7 и микросхема DA1 применяются для формирования опорного напряжения в программе контроля разряда батареи питания. Резисторы R8-R11 определяют режим работы встроенного драйвера жидкокристаллического индикатора HL1. ЖК-индикатор типа 5066 имеет три подложки и работает в мультиплексном режиме.

      Литиевая  батарея Bat1 обеспечивает прибор питанием. Микроконтроллер  MSP430P325 (DD1) управляет всеми перечисленными элементами. Благодаря его использованию, количество элементов в схеме минимально. Основные элементы, необходимые для работы термометра АЦП, стабилизатор тока, драйвер ЖК-индикатора, аналоговый мультиплексор, таймер – в микроконтроллер.

      Кнопка SB1(ON/OFF) включает выключает термометр. Кнопка SB2(Hold/Set) в режиме «температура» фиксирует показания измеренной температуры на индикаторе или включает режим непрерывного измерения. Кнопка SB3(С/TIME) переключает режимы работы термометра «температура/часы». Внешнее устройство цифрового термометра представлено на рис.5. 

Рисунок5-Внешнее устройство цифрового термометра 
 

 

3Экспериментальная часть 

3.1Сравнительные  характеристики микроконтроллеров

На  сравнение микроконтроллеров  были взяты два  микроконтроллера на базе AVR

    AT90S2333 и AT90S4433 - экономичные 8-битовые  КМОП микроконтроллеры, построенные с использованием расширенной RISC архитектуры AVR. Исполняя по одной команде за период тактовой частоты, AT90S2333 и AT90S4433 имеют производительность около 1MIPS на МГц, что позволяет разработчикам создавать системы оптимальные по скорости и потребляемой мощности. В основе ядра AVR лежит расширенная RISC архитектура, объединяющая развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам за один машинный цикл. Подобная архитектура обеспечивает десятикратный выигрыш в эффективности кода по сравнению с традиционными CISC микроконтроллерами. AT90S2333/4433 предлагают следующие возможности: 2кБ/4кБ загружаемой флэш памяти; 128/256 байт EEPROM; 128 байт статического ОЗУ, 20 линий ввода/вывода общего назначения; 32 рабочих регистра; настраиваемые таймеры/счетчики с режимом совпадения; внешние и внутренние прерывания; программируемый универсальный последовательный порт; 6-канальный 10-разрядный АЦП; программируемый сторожевой таймер со встроенным генератором; SPI последовательный порт для загрузки программ; два выбираемых программно режима низкого энергопотребления. Холостой режим (Idle Mode) отключает ЦПУ, оставляя в рабочем состоянии регистры, таймеры/счетчики, SPI порт и систему прерываний. Экономичный режим (Power Down Mode) сохраняет содержимое регистров, но отключает генератор, запрещая функционирование всех встроенных устройств до внешнего прерывания или аппаратного сброса. Микросхемы производятся с использованием технологии энергонезависимой памяти высокой плотности фирмы Atmel. Загружаемая флэш память на кристалле может быть перепрограммирована прямо в системе через последовательный интерфейс SPI или доступным программатором энергонезависимой памяти. Объединяя на одном кристалле усовершенствованный 8-битовый RISC процессор с загружаемой флэш памятью, AT90S2333/4433 являются мощными микроконтроллерами, которые позволяют создавать достаточно гибкие и эффективные по стоимости устройства. AT90S2333/4433 поддерживаются полной системой разработки включающей в себя компиляторы Си, макроассемблеры, программные отладчики/симуляторы, внутрисхемные эмуляторы и отладочные комплекты.

    Таблица2-Описание выводов

Назначение

 вывода

Номер вывода Номер вывода PDIP
RESET 29 1
PD0/RXD 30 2
PD1/TXD 31 3
PD2/INT0 32 4
PD3/INT1 1 5
PD4/T0 2 6
VCC 4 7
GND 5 8
XTAL1 7 9
XTAL2 8 10
PD5/T1 9 11
PD6/AIN0 10 12
PD7/AIN1 11 13
PB0/ICP 12 14
PB1/OC1 13 15
PB2/SS 14 16
PB3/MOSI 15 17
PB4/MISO 16 18
PB5/SCK 17 19
Назначение вывода Номер вывода Номер вывода PDIP
AVCC 18 20
AREF 20 21
AGND 21 22
PC0/ADC0 23 23
PC1/ADC1 24 24
PC2/ADC2 25 25
PC3/ADC3 26 26
PC4/ADC4 27 27
PC5/ADC5 28 28

Продолжение таблици2

Описание  выводов микроконтроллеров представлены в таблице 2 

GND - земля  

Port B (PB5..PB0) - Порт B является 6-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B могут поглощать ток до 20мА. Если выводы PB0..PB5 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт B обслуживает некоторые специальные функции, которые будут описаны ниже.

Port С  (PС5..PС0) - Порт С является 6-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта С могут поглощать ток до 20мА. Если выводы PС0..PС5 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт С обслуживает аналоговые входы АЦП. 

Port D (PD5..PD0) - Порт D является 8-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B могут поглощать ток до 20мА. Если выводы PD0..PD7 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт D обслуживает некоторые специальные функции, которые будут описаны ниже. 

RESET - Вход сброса. Удержание на входе низкого уровня в течение двух машинных циклов (если работает тактовый генератор), сбрасывает ус-

тройство. 

XTAL1 - Вход инвертирующего усилителя генератора и вход внешнего тактового сигнала.

XTAL2 - Выход инвертирующего усилителя генератора. 

AVCC - Вывод источника питания АЦП. Этот вывод через фильтр низкой частоты должен быть подключен к выводу питания процессора. 

AREF - Вход опорного напряжения АЦП. Напряжение, подаваемое на этот вывод лежит в пределах 2.7В...AVCC. 

AGND - Если плата имеет отдельный слой аналоговой земли, к нему подключается этот вывод. В противном случае этот вывод соединяется с GND.

В состав AT90S2333/4433 входит универсальный асинхронный  приемопередатчик (UART), его основные особенности: 

- генерация  произвольных значений скорости

- высокая  скорость при низких тактовых  частотах

- 8 или  9 бит данных

- фильтрация  шума

- Определение  переполнения

- Детектирование  ошибки кадра

- Определение  неверного стартового бита

- Три  раздельных прерывания - завершение  передачи, очистка регистра передачи и завершение приема.

- Режим  мультипроцессорного обмена.

Передача  данных инициируется записью передаваемых данных в регистр ввода/вывода данных UART - UDR. Данные пересылаются из UDR в сдвиговый регистр передатчика когда:

- новый  символ записывается в UDR после  того как был выдвинут стоповый  бит для предыдущего символа.  При этом сдвиговый регистр  загружается сразу.

- новый  символ записывается в UDR до  того как выдвинут стоповый бит для предыдущего символа. При этом сдвиговый регистр записывается сразу после того, как будет выдвинут стоповый бит предыдущего символа.

При этом в регистре состояния UART - USR устанавливается  бит-признак очистки регистра данных - UDRE/ Когда этот бит установлен, UART готов к приему следующего символа. При перезаписи UDR в 10(11)- разрядный сдвиговый регистр, бит 0 сдвигового регистра обнуляется (стартовый бит), а бит 9 или 10 устанавливается (стоповый бит). Если выбрано 9-битовое слово данных (установлен бит CHR9 в регистре UCR), бит TXB8 из UCR переписывается в 9-й бит сдвигового регистра передатчика.

После тактового импульса, следующего с  частотой передачи, стартовый бит выдвигается на вывод  TXD. Затем выдвигаются данные, начиная  с младшего бита. После того как  выдвинут стоповый бит, в сдвиговый  регистр загружаются новые данные, если они были записаны в UDR во  время передачи. При  загрузке устанавливается  бит UDRE.  Если до выдвижения стопового бита в регистр UDR не поступают новые данные, UDRE  остается установленным до последующей записи UDR. Если новые данные не поступили и на выводе TXD появляется стоповый бит, в регистре USR устанавливается флаг окончания передачи - TXC.

Установка бита TXEN в UCR разрешает работу передатчика. При очистке бита TXEN, вывод PD1 можно использовать для ввода/вывода данных. Если бит TXEN установлен, передатчик UART подключен к выводу PD1 независимо от установки бита DDD1 в регистре DDRD.

Прием данных

Логическая  схема приемника обрабатывает сигнал на выводе RXD с частотой в 16 больше скорости передачи (для обработки одного бита принимаемой последовательности, производится 16 выборок входного сигнала). В состоянии ожидания одна выборка логического нуля интерпретируется как спадающий фронт стартового бита, после чего запускается последовательность обнаружения стартового бита. Если в первой выборке сигнала обнаружен нулевой отсчет, приемник обрабатывает 8, 9 и 10 выборки сигнала на выводе RXD. Если хотя бы две из трех выборок равны логической единице, стартовый бит считается шумом и приемник ждет следующего перехода из 1 в 0. Если обнаружен стартовый бит, начинается обработка бит данных. Решение об уровне данных также производится по 8, 9 и 10 выборкам входного сигнала, уровень входного сигнала определяется по равенству двух выборок. После того как уровень данных определен, данные вдвигаются в сдвиговый регистр приемника. Для определения стопового бита хотя бы две из трех выборок входного сигнала должны быть равны 1. Если это условие не выполняется, в регистре USR устанавливается флаг ошибки кадра FE. Перед чтением данных из регистра UDR пользователь должен проверять бит FE для обнаружения ошибок кадра. Независимо от принятия правильного стопового бита по окончанию приема символа принятые данные переписываются в UDR и устанавливается флаг RXC в регистре USR. Физически регистр UDR состоит из двух отдельных регистров, один используется для передачи данных, другой - для приема. При чтении UDR происходит доступ к регистру приемника, при записи - к регистру передатчика. При обмене 9-битовыми данными 9-й бит принятых данных записывается в бит RXB8 регистра UCR. Если при приеме символа из регистра UDR не был прочитан предыдущий символ, в регистре UCR устанавливается флаг переполнения - OR. Установка этого бита означает, что последний принятый байт данных не переписывается из сдвигового регистра в регистр UDR и будет потерян. Бит OR буферирован и обновляется при чтении правильных данных из UDR. Таким образом, пользователь всегда может проверить состояние OR после чтения UDR и обнаружить происшедшее переполнение. При сбросе бита RXEN в регистре UCR прием данных запрещается. При этом вывод PD0 можно использовать для ввода/вывода общего назначения. При установке RXEN, приемник подключен к выводу PD0 независимо от состояния бита DDD0 в регистре DDRD.

Режим мультипроцессорного обмена Режим  многопроцессорного обмена позволяет  нескольким ведомым процессорам принимать данные от ведущего. Для этого сначала декодируется адресный байт, который определяет к какому из процессоров обращается ведущий.