Микропроцессорная система управления

 


 

Федеральное агентство по образованию Российской Федерации

ГОУ ВПО

Ивановский государственный энергетический университет имени В.И. Ленина

Кафедра электроники и микропроцессорных систем

 

 

 

 

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту  на тему:

 «Микропроцессорная  система управления»

 

Выполнил

                               

 

                   студент гр. 4-35 Полханов А.С.

                                                 

Проверил

 

                   Софронов С.В., Копылова Л.Г.

 

 

 

 

Иваново 2010

 

СОДЕРЖАНИЕ

Введение …………………………………………………………………………………..……...3

    1. Описание функциональной  схемы……………………………………….……….……....4

    2. Разработка принципиальной схемы

            2.1. Описание микроконтроллера……………………………………………..………..5

2.2. Интерфейс RS-485……………………………………………………..…...…..…...8

2.3. Цифро-аналоговый преобразователь…………………………………….……….11

2.4. Аналого-цифровой преобразователь………………………………….………….13

2.5. Разработка клавиатуры….………………………………………………………...15

2.6. Индикация…………………………………………………………………..……...16

2.7. Схема ФИД……………………………………..…………………………………..18

  3. Расчет блока питания ………………………………………………………………………21

  4. Программа вывода на ЦАП…………..……………………………………………………25

Заключение ……………………………………………………………….………………......…27

Список используемых источников ……………………………………………………..….….28

Приложения:

Приложение 1 – Схема электрическая принципиальная

            Приложение 2 – Спецификация

 

Введение

 

Сегодня в мире ежедневно успешно  проектируется и используется огромное количество различных электронных  устройств и систем. Современная  жизнь немыслима без компьютеров, а сам факт, что сейчас на экранах  мониторов вы читаете эту статью, стал возможен только благодаря сети Интернет и возможностям современной  науки и электронной техники. Однако многие устройства человек использует чаще компьютеров. Без этих устройств  уже нельзя вообразить нашу повседневную жизнь, такой, как мы привыкли ее видеть. Это встроенные приборы, управляемые  различными микроконтроллерами. К примеру, банкомат построен на базе несложного терминала, который имеет сетевое  подключение, и интерфейсные модули для дисплея, клавиатуры, устройству выдачи купюр и так далее. Всем знакомые электронные часы, управляются  микросхемой, отсчитывающей отрезки  времени в микросекундах и  отображающей на экране текущее время. А сотовый телефон и вовсе  имеет собственную операционную систему, со своими файлами, директориями и подпрограммами.

Первой компьютерной системой на кристалле специально созданной для управления – микроконтроллером, была микросхема Intel 8048 выпущенная в 1975 году. Эта микросхема до сих пор применяется в миллиардах клавиатур для персонального ПК. Примерно 55% всех МК продаваемых в мире являются 8-битными. Обычный дом, скорее всего, оснащен дюжиной микроконтроллеров, в отличие от традиционных компьютеров. Современный автомобиль имеет более 30 микроконтроллеров. Микроконтроллеры также можно найти в стиральных машинах, телефонах, телевизорах и магнитофонах, микроволновых печах и кухонных плитах. Даже современные электронные счетчики электроэнергии имеют микроконтроллеры. И на сегодня они доступны и удобны для применения в радиолюбительской практике, даже без специальной подготовки и образования.

В данном курсовом проекте мы реализуем  микропроцессорное устройство управления, основой которого является современный 8-разрядный микроконтроллер, способный  принимать, обрабатывать и отдавать команды периферийной части согласно записанной в него программе.

 

 

 

 

 

 

  1. Функциональная схема

На  рис.1.1 представлена функциональная схема, отражающая взаимодействие всех элементов  реализуемого устройства.

 

Рис. 1.1. Функциональная схема устройства

 

Микропроцессорная система.

  • Микроконтроллер PIC18F8680 со встроенными модулями EUSART, SPI.
  • 3-канальный 12-разрядный АЦП MAX1247 с SPI-интерфейсом.
  • 1-канальный 10-разрядный ЦАП AD561.
  • Клавиатура 20 клавиш (матрица 5*4)
  • LCD-индикатор ACM-1602
  • Схема сопряжения в фотоимпульсным датчиком углового положения ФИ2.

Ввод  данных в устройство:

  • Аналоговые сигналы (3 канала) – через АЦП.
  • Числовые данные и управление функциями – через клавиатуру.
  • Цифровая информация с внешних цифровых источников через интерфейс RS-485.
  • Фотоимпульсный датчик.

Вывод данных из устройства:

  • Аналоговый сигнал управления (1 канал) – через ЦАП.
  • Цифровая и буквенная информация – через дисплей.
  • Данные о текущем состоянии устройства и цифровые данные для внешних цифровых устройств – через интерфейс RS-485.

 

2. Описание принципиальной схемы

Описание основных блоков устройства и обоснование выбора элементной базы, а также общее описание функционирования.

 

2.1. Микроконтроллер PIC18F8680

PIC18F8680 – 8-разрядный микроконтроллер с RISC-архитектурой фирмы Microchip. Он служит основой системы. Наличие в задании требования реализации интерфейса  SPI и RS-485 привело к решению применить микроконтроллер со встроенными модулями этих интерфейсов. Выбор архитектуры PIC вызван предыдущим опытом работы с процессорами данного типа, богатым функциональным оснащением и высоким быстродействием кристалла при умеренной цене. На рисунке 2.1.1 приведена функциональная схема.

Основные  особенности микроконтроллера:

  1. 8-разрядная RISC архитектура: 35 команд (большинство выполняется за 1 м.ц.), производительность до 10 миллионов операций в секунду при тактовой частоте 40 МГц;
  2. 64 кБайт FLASH-памяти программ, программируемой внутрисхемно;
  3. 4 кБайт энергонезависимой памяти данных;
  4. 1 кБайт встроенной статической оперативной памяти;
  5. 2 16-разрядных и 2 8-разрядных таймера-счетчика
  6. Модули EUSART и SPI;
  7. 16-канальный 10-разрядный АЦП;
  8. программируемый сторожевой таймер;
  9. встроенный генератор сигнала сброса при включении питания и по снижению уровня напряжения питания;

 

.

Рис. 2.1.1. Функциональная схема.

Микроконтроллеры семейства PIC имеют  эффективную систему команд, состоящую  всего из 35 инструкций. Все инструкции выполняются за один цикл, за исключением  условных переходов и команд, изменяющих программный счетчик, которые выполняются  за 2 цикла. Один цикл выполнения инструкции состоит из 4 периодов тактовой частоты. Таким образом, учитывая то, что рабочая  частота контроллера составляет 0 Гц ... 20 МГц, минимальное время выполнения инструкции равняется 200 нс. Каждая инструкция состоит из 14 бит, делящихся на код операции и операнд (возможна манипуляция с регистрами, ячейками памяти и непосредственными данными).

Высокая скорость выполнения команд в PIC достигается за счет использования  двухшинной Гарвардской архитектуры  вместо традиционной одношинной Фон-Hеймановской. Гарвардская архитектура основывается на наборе регистров с разделенными шинами и адресным пространством для команд и для данных. Набор регистров означает, что все программные объекты, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры.

На  рис.2.1.2 представлена карта памяти данного микроконтроллера.

Рис.2.1.2. Карта памяти

Программирование контроллера  осуществляется любым программатором, совместимым с процессорами PIC, через стандартизованный разъем.

Тактирование МК будет осуществляться от внутреннего RC-генератора с частотой 4 МГц При этом на выводе RA6 получим тактовый сигнал с частотой в 4 раза меньшей, чем частота RC-генератора. Этот вывод будет задействован для синхронизации внешней логики.

 

 

2.2. Интерфейс RS-485

Интерфейс RS-485 (другое название - EIA/TIA-485) - один из наиболее распространенных стандартов физического уровня связи. Физический уровень - это канал связи и  способ передачи сигнала (1 уровень  модели взаимосвязи открытых систем OSI).

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой  пары - двух скрученных проводов. В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его  заключается в передаче одного сигнала  по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а  по другому (условно B) - его инверсная  копия. Другими словами, если на одном  проводе "1", то на другом "0" и  наоборот. Таким образом, между двумя  проводами витой пары всегда есть разность потенциалов: при "1" она  положительна, при "0" – отрицательна (рис.2.2.1).

Рис.2.2.1. Принцип передачи сигнала.

Именно этой разностью потенциалов  и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной  называют помеху, действующую на оба  провода линии одинаково. К примеру, электромагнитная волна, проходя через  участок линии связи, наводит  в обоих проводах потенциал. Если сигнал передается потенциалом в  одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего ("земли"). Кроме того, на сопротивлении  длинного общего провода будет падать разность потенциалов земель - дополнительный источник искажений. А при дифференциальной передаче искажения не происходит. В самом деле, если два провода  пролегают близко друг к другу, да еще перевиты, то наводка на оба  провода одинакова. Потенциал в  обоих одинаково нагруженных  проводах изменяется одинаково, при  этом информативная разность потенциалов  остается без изменений. Аппаратная реализация интерфейса - микросхемы приемопередатчиков с дифференциальными входами/выходами (к линии) и цифровыми портами.

RS-485 - полудуплексный интерфейс.  Прием и передача идут по  одной паре проводов с разделением  по времени. В сети может  быть много передатчиков, так  как они могут отключаются в режиме приема.

Цифровой выход приемника (RO) подключается к порту приемника (RX). Цифровой вход передатчика (DI) к порту передатчика (TX). Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать  передатчик, а во время передачи - приемник. Для этого служат управляющие  входы - разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и  переключать приемник и передатчик одним сигналом с любого порта  контроллера. При уровне "0" - работа на прием, при "1" - на передачу. Драйвер подключается согласно рис.2.2.2

Рис.2.2.2. Включение драйвера.

Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) переводит  их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но гарантированный пороговый диапазон распознавания сигнала производители  микросхем приемопередатчиков пишут  в документации. Обычно эти пороги составляют ± 200 мВ. То есть, когда UAB > +200 мВ - приемник определяет "1", когда UAB < -200 мВ - приемник определяет "0". Если разность потенциалов в линии  настолько мала, что не выходит  за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые  исказят столь слабый сигнал.

Все устройства подключаются к одной  витой паре одинаково: прямые выходы (A) к одному проводу, инверсные (B) - к  другому.

Входное сопротивление приемника  со стороны линии (RAB) обычно составляет 12 КОм. Так как мощность передатчика  не беспредельна, это создает ограничение  на количество приемников, подключенных к линии. Согласно спецификации RS-485 c учетом согласующих резисторов передатчик может вести до 32 приемников. Однако есть ряд микросхем с повышенным входным сопротивлением, что позволяет подключить к линии значительно больше 32 устройств.

Максимальная скорость связи по спецификации RS-485 может достигать 10 Мбод/сек. Максимальное расстояние - 1200 м. Если необходимо организовать связь на расстоянии большем 1200 м или подключить больше устройств, чем допускает нагрузочная способность передатчика - применяют специальные повторители (репитеры).

Согласование  и конфигурация линии связи

При больших расстояниях между  устройствами, связанными по витой  паре и высоких скоростях передачи начинают проявляться так называемые эффекты длинных линий. Причина  этому - конечность скорости распространения  электромагнитных волн в проводниках. Скорость эта существенно меньше скорости света в вакууме и  составляет немногим больше 200 мм/нс. Электрический  сигнал имеет также свойство отражаться от открытых концов линии передачи и ее ответвлений. Грубая аналогия - желоб, наполненный водой. Волна, созданная  в одном конце, идет по желобу и, отразившись  от стенки в конце, идет обратно, отражается опять и так далее, пока не затухнет. Для коротких линий и малых  скоростей передачи этот процесс  происходит так быстро, что остается незамеченным. Однако, время реакции  приемников - десятки/сотни нс. В  таком масштабе времени несколько  десятков метров электрический сигнал проходит отнюдь не мгновенно. И если расстояние достаточно большое, фронт  сигнала, отразившийся в конце линии  и вернувшийся обратно, может  исказить текущий или следующий  сигнал. В таких случаях нужно  каким-то образом подавлять эффект отражения.

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

Линия связи должна представлять собой  один кабель витой пары. К этому  кабелю присоединяются все приемники  и передатчики. Расстояние от линии  до микросхем интерфейса RS-485 должно быть как можно короче, так как  длинные ответвления вносят рассогласование  и вызывают отражения.

В оба наиболее удаленных конца  кабеля (Zв=120 Ом) включают согласующие резисторы Rt по 120 Ом (0.25 Вт). Если в системе только один передатчик и он находится в конце линии, то достаточно одного согласующего резистора на противоположном конце линии. Подключение приемников-передатчиков показано на рис.2.2.3.

Рис. 2.2.3. Подключение приемников-передатчиков

Т.к. во взятом нами микроконтроллере есть встроенный модуль EUSART с поддержкой интерфейса RS-485, то нет необходимости в использовании дополнительных драйверов. Передача данных между PIC18F8680 и другими внешними устройствами будет осуществляться по выводам RC6, RC7.

2.3. Цифро-аналоговый преобразователь  AD-561

AD561 – интегральная  схема 10-разрядного ЦАП, совмещенная  с источником опорного напряжения  в одном корпусе микросхемы.. Она использует 10 высокоскоростных переключателей регулировки тока, управляющий усилитель, ИОН и тонкопленочный кремниево-хромный резистор с лазерной подгонкой параметров для обеспечения быстродействующего и точного преобразования цифрового кода в аналоговый сигнал. Для обеспечения высокой точности и стабильности 10-разрядного преобразования в AD561 комбинируются несколько технологий. Низкий температурный коэффициент термостабильности обеспечен благодаря термостабильности тонкопленочных резисторов, которые кроме того подвергаются лазерной обработке с 0.01% линейностью. Как результат, достигнута точность ±1/4 LSB для версий K и T и 1/2 LSB для версий J и S.

AD561 также включает  в себя малошумящий, высокостабильный  стабилитрон для организации  источника опорного напряжения  с долговременной стабильностью  параметров и термостабильностью, который можно по праву считать лучшим опорным источником на стабилитроне. Технология лазерной подгонки параметров позволяет корректировать коэффициент термостабильности для каждой микросхемы. Как следствие, в типичном диапазоне температур коэффициент термостабильности до 15 ppm/°C, проверена и гарантируется термостабильность не более 30 ppm/°C для версий K и T, 60 ppm/°C для S и 80 ppm/°C для J. AD561 доступны в четырех исполнениях. AD561J и K рекомендуется использовать при температуре от ±°C до +7±°C и доступны в 16-выводных керамических или пластиковых DIP корпусах . AD561S и T работают при температуре от –5±°C до +12±°C и доступны в керамическом корпусе.

На  рис.2.3.1 изображена типовая схема  преобразования выходного тока ЦАП  в напряжение с диапазоном от 0 до 10В.

Рис. 2.3.1. Униполярный режим 0-10В

Отличительные особенности:

  • Встроенный высокостабильный источник опорного напряжение на стабилитроне
  • Лазерная подгонка параметров при производстве (максимальная погрешность 1/4 LSB для AD561K, T)
  • Быстрое время установления выхода – 250 нс с погрешностью в 1/2 LSB
  • Гарантируется монотонность передаточной характеристики во все температурном диапазоне.
  • Совместимость цифровых входов с уровнями ТТЛ, ДТЛ и КМОП
  • Монолитная конструкция в виде микросхемы
  • Доступность в малогабаритных корпусах
  • Доступность военно-промышленного исполнения MIL-STD-883

 

 

Назначение выводов АЦП описывается  в табл.1.

BIPOLAR OFFSET

Выход напряжения смещения для двуполярного режима. Не используется.

SPN

Вывод резистора цепи обратной связи.

Iout

Аналоговый выход ЦАП

D1-D10

Параллельная шина для загрузки данных от младшего к старшему разрядам. Подключается к выводам RG4,RG5,RD0-RD7 МК соответственно.

-15

Питание –15В

+5

Питание + 5В

GROUND

Общий





Табл.1

 

2.4.  Аналого-цифровой преобразователь MAX1247

 

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

4-проводной последовательный интерфейс  напрямую сопрягается с устройствами  SPI без использования дополнительных логических согласующих ИС (рис.2.4.1). Данные преобразователи построены по методу последовательного приближения.

MAX1247 имеет вход аппаратного управления режимом отключения SHDN (активный-НИЗКИЙ) и программно выбираемый режим отключения, и могут быть запрограммированы на автоматическое отключение по завершению преобразования. Обращение к последовательному интерфейсу автоматически активизирует ИС, а малое время включения позволяет приборам быть отключенными между преобразованиями, что дополнительно снижает потребляемый ток. Данная микросхема поставляется в корпусах DIP и QSOP.

Рис.2.4.1. Подключение к МК

Определим выводы, которые будут задействованы  для реализации поставленной задачи:

  • CH0,CH1,CH3 – входы, по которым ведется снятие аналоговых сигналов с внешних датчиков (3 канала)
  • COM – общий вывод для аналоговых входов
  • SCLK, Din,Dout,CS – выходы АЦП, по которым осуществляется передача данных в МК по SPI интерфейсу. Они подключаются к выводам RC3,RC5,RC4,RF7 микроконтроллера соответственно.
  • Vcc,AGND,DGND – силовые выводы для питания микросхемы
  • SSTRB – используется для определения занятости АЦП.
  • Остальные выводы не используются.

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

                

AGND,DGND

Аналоговый и цифровой общий вывод  микросхемы.

CH0-CH3

Аналоговые входы 0-3.

COM

Общий вывод для аналоговых входов.

CS

Выбор кристалла

Din

Вход последовательных данных.

Dout

Выход последовательных данных.

Refadj

Вход буферного усилителя ИОН. Соединен с Vcc

SCLK

Вход последовательного тактового  сигнала.

SHDN

Вход выключения. Низкий уровень отключает  прибор.

SSTRB

Выход последовательного строба. Низкий уровень- прибор преобразует, Высокий-преобразование закончено.

Vcc

Положительное напряжение питания

Vref

Вход/выход опорного напряжения. Отключен.





Табл.2

 

 

 

 

 

 

 

 

 

 

2.5. Подключение клавиатуры

 

Для ввода цифровой и буквенной информации в приложениях на базе микроконтроллеров  используются клавиатуры. Клавиатура представляет собой блок из нескольких кнопок, объединенных конструктивно  и связанных между собой электрически по матричной схеме.

Порты, подключенные к строкам, настроены  на выход и в начальном состоянии  на этих выводах напряжение логического  нуля. Порты, подключенные к столбцам, настроены на вход, внутренние подтягивающие  резисторы отключены и эти  линии “придавлены к нулю питания” с помощью внешних резисторов номиналом в 10 КОм.  

Процедура сканирования клавиатуры выглядит следующим  образом. Выставляем 1 на выводе RA0 и проверяем состояние выводов RB2-RB5. Если на каком-либо из выводов установлена 1, значит, на клавиатуре в данный момент нажата кнопка, подключенная к первой строке. Сохраняем биты RA0-RA5 и RB2-RB5– по этому коды мы будем определять номер нажатой кнопки. Если ни одна из кнопок не нажата, продолжаем процедуру сканирования.  

 Сбрасываем 1 на выводе RA0 и устанавливаем 1 на выводе PD1. Снова проверяем состояние выводов RB2-RB5, и в случае нажатия кнопки сохраняем биты RA0-RA5 и RB2-RB5  в переменной.   

  Повторяем описанную последовательность  для оставшихся строк.  

 Переключения  кнопок клавиатуры сопровождаются  дребезгом контактов, который  микроконтроллер может “воспринимать”  как многократные нажатия. В  приложениях, использующих клавиатуры, это нежелательное явление, поэтому  в программе опроса клавиатуры  обязательно должна быть какая-нибудь  защита. Обычно делают так - факт  нажатия кнопки регистрируется, если она удерживается в течение  нескольких циклов опроса.   
 
   Код, получаемый в процессе сканирования клавиатуры, часто требуется преобразовать в символьное значение номера/буквы кнопки (например, для передачи по USART`у). Для этого можно создать таблицу перекодировки - двумерный массив. В первом столбце таблицы будут храниться коды кнопок, а во втором соответствующие символьные значения. Методом последовательного перебора в таблице можно находить нужное значение.

 

 

 

2.6. Осуществление индикации

 

          Для отображения информации будет использоваться LCD индикатор ACM-1602. Его характеристики приведены ниже в таблицах 3 и 4.

                      Табл.3

Тип модуля

знакосинтезирующий (текстовый) ЖКИ

Формат модуля

16 x 2

Тип поляризатора

полупрозрачный (transflective)

Подсветка

желто-зеленая светодиодная

Тип стекла

STN серый

Угол обзора

6:00 часов (bottom view)

Температурный диапазон

Расширенный, -20..+70 °С

Контроллер

KS0066U (аналог HD44780)

Кодировка

английская + русская

Габариты модуля

80.0 (W) x 36.0 (H) x 13.5 (D) мм

Размер точки (пикселя)

0.56 (W) x 0.61 (H) мм


                             Табл.4

Напряжение питания  модуля

4.75 - 5.25 В

Потребляемый ток (модуль)

1.5 - 2.5 мА

Потребляемый ток (подсветка)

160 мА (при 5.0 В)


Функциональная  схема индикатора представлена на рис.2.6.1.

Рис.2.6.1. Функциональная схема.

           Нумерация выводов произведена непосредственно на печатной плате индикатора, их назначение определяется согласно табл. 5.

                               Табл.5

№

Название

Описание

вывода

вывода

 

1

Vss

Питание модуля (-) , «земля»

2

Vdd

Питание модуля (+)

3

Vo

Напряжение смещения (управление контрастностью)

4

RS

Регистр управления (1 - данные, 0 - команды)

5

R/W

1 - чтение, 0 - запись

6

E

Строб

7

DB0

 

8

DB1

 

9

DB2

 

10

DB3

Шина команды / данные

11

DB4

 

12

DB5

 

13

DB6

 

14

DB7

 

+

BL+

Питание подсветки (+) +5.0 В

-

BL-

Питание подсветки (-) 0 В


 

Подключение к МК:

  • RS,R/W,E – входы управления режимами индикатора, которые подключаются к выводам RG0-RG2 микроконтроллера соответственно.
  • DB0-DB7 – входы данных, подключаемые к выводам RF0-RF6,RE7 соответственно.
  • V0,Vdd,BL+ - выводы питания и управления подсветкой, подключаются к +5V.
  • Vss,BL- - общие выводы, подключаемые к аналоговой земле.

 

 

 

 

2.7. Схема сопряжения фотоимпульсного датчика с микроконтроллером

 

Основным элементом ФИД является прозрачный диск с нанесенными на него рисками, количество которых достигается  нескольких тысяч. При повороте диска, луч света, излучаемый источником ИС, модулируется рисками и воспринимается фотоприемниками ФП. Электрические  сигналы от ФП преобразуются электронным  преобразователем ЭП в систему электрических  сигналов, которые подаются на микроконтроллер.

В качестве электронного преобразователя  рассматривается следующая схема  сопряжения ФИД с цифровой системой(рис.2.7.1).

 

 

Риc.2.7.1. Структурная схема сопряжения ФИ датчика.

В качестве гальванической развязки используются двухканальная оптопара диод-транзистор.

Микропроцессорная система управления