close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Департамент образования и науки Кемеровской области
ГОУ СПО «Юргинский техникум машиностроения и
информационных технологий»
Программирование микроконтроллера
микропроцессорной системы
позиционирования объекта относительно
уровня земли на базе акселерометра ADXL330
Пояснительная записка
КП.230101.13.22 ПЗ
Курсовой проект
Содержание
Лист
Введение
1.Системотехническое проектирование микропроцессорной системы
1.1.Назначение и область применения микропроцессорной системы
4
1.2.Структурная схема микропроцессорной системы
6
1.3.Алгоритм работы микропроцессорной системы
2.Схематическое проектирование микропроцессорной системы
2.1.Структура и основные характеристики микроконтроллера
8
2.2.Структура, принцип работы и основные характеристики датчика
9
2.3.Разработка электрической схемы микропроцессорной системы
3.Программирование микроконтроллера микропроцессорной системы
3.1.Программная среда для написания программы
10
3.2.Алгоритм программы для микроконтроллера
13
3.3.Написание программы для микроконтроллера
14
3.4.Отладка программы в режиме эмуляции
3.5.Моделирование работы схемы под управлением программы
4.Экспериментальные исследования
4.1.Описание лабораторного стенда
17
4.2.Исследование работы микропроцессорной системы на лабораторном стенде 19
Введение
Бурные темпы развития цифровых методов обработки информации влекут
разработку и всеобщее внедрение в практику вычислений и управления
производством микропроцессорных средств (персональных компьютеров и
соответствующего периферийного оборудования) обработки информации. Их
аппаратурная
реализация,
включающая
микропроцессоры,
контроллеры,
системные платы, шины, накопители, системы вывода видео и аудиоинформации
и т.д., во многом обеспечивает заданные уровни вычислительной мощности и
функциональных возможностей систем, использующих эти средства. Разработкой
аппаратурных средств занимаются множество фирм. Использование при
разработке различных конструктивно-технологических принципов порождает
большое
разнообразие
вариантов
их
построения
для
построения
высокопроизводительных вычислительных систем, основу которых составляют
микропроцессорные
средства
обработки
информации
(микропроцессорные
системы). При разработке микропроцессорной системы основным практически
всегда стоит вопрос выбора оптимального состава аппаратурных средств и,
прежде всего, микропроцессоров, обеспечивающих получение максимально
возможной эффективности работы системы.
В реальных условиях поиск соответствующих материалов для решения данного
вопроса почти всегда оставался сложным из-за недостаточности публикаций
обобщающего характера.
Цель курсового проекта: Написать программу для акселерометра ADXL330.
Задачи: Написать программу, разработать схему, составить алгоритм работы
программы.
1.1 Назначение и область применения микропроцессорной системы
Микропроцессор (МП) - функционально завершенный процессор ЭВМ
реализованный в виде одной или нескольких БИС и предназначен для обработки
цифровой информации по заданным программам.
Микропроцессорный контроллер (МПК) - функционально завершенная
микро - ЭВМ, предназначенная для целей контроля и управления.
МПК может реализовываться на следующей элементной базе:
- однокристальных микропроцессорах (ОМП);
- секционных (многокристальных) МП;
- однокристальных микроконтроллерах (ОМК).
Наибольший
эффект
от
внедрения
микропроцессоров
достигается
в
устройствах и системах локальной автоматики, системах измерения, контроля и
других областях, в которых применение средств цифровой обработки данных до
появления микропроцессоров было нерентабельным. Сравнительно низкая
стоимость, малые габариты и потребляемая мощность, высокая надежность и
исключительная гибкость, не свойственная другим способам обработки данных,
обеспечивают приоритет микропроцессоров перед другими средствами обработки
данных. Микропроцессор также является удобным средством для построения
контроллеров, предназначенных для контроля и управления технологическими
процессами в различных отраслях народного хозяйства.
Наибольший
эффект
применения
микропроцессоров
достигается
при
встраиваемом варианте его использования, когда микропроцессор встраивается
внутрь приборов, устройств или машин. В таком варианте использования от
микропроцессора требуется не столько вычислительная производительность
(операции умножения, деления и пр.), свойственные обычным ЭВМ, сколько
логическая оперативность, столь необходимая в задачах управления.
По области применения определилось три направления развития
микропроцессоров:
- микроконтроллеры;
- универсальные микропроцессоры;
- сигнальные микропроцессоры.
По внутренней структуре существует два основных принципа построения
микропроцессоров:
- гарвардская архитектура;
- архитектура Фон-Неймана.
По системе команд микропроцессоры отличаются огромным разнообразием,
зависящим от фирмы-производителя. Тем не менее можно определить две крайние
политики построения микропроцессоров:
- аккумуляторные микропроцессоры;
- микропроцессоры с регистрами общего назначения.
В современных МК применяются следующие архитектуры процессоров:
RISC - (Reduce Instruction Set Commands) архитектура с сокращенным набором
команд.
CISC - (Complex Instruction Set Commands) традиционная архитектура с
расширенным набором команд.
ARM - (Advanced RISC - machine) усовершенствованная RISC архитектура.
Главная задача RISC архитектуры обеспечение наивысшей
производительности процессора.
Её отличительными чертами является:
- малое число команд процессора (несколько десятков);
- каждая команда выполняется за минимальное время (1-2 машинных цикла);
- максимально возможное число регистров общего назначения процессора
(несколько тысяч);
- увеличенная разрядность процессора (12,14,16 бит).
Современная RISC архитектура включает, как правило, только последние
3 пункта, т.к. за счет повышенной плотности компоновки БИС стало возможным
реализовать большое количество команд.
1.2 Структурная схема микропроцессорной системы
Функционирование МПС сводится к следующей последовательности
действий: получение данных от различных периферийных устройств (с
клавиатуры терминала, от дисплеев, из каналов связи, от различного типа
внешних запоминающих устройств), обработка данных и выдача результатов
обработки на периферийные устройства (ПУ). При этом данные от ПУ,
подлежащие обработке, могут поступать и в процессе их обработки. На рисунке 1
изображена структурная схема микропроцессорной системы.
Рисунок 1 – Структурная схема микропроцессорной системы
Техническими заданиями на курсовой проект предусмотрено выполнить
проектирование
по
теме
программирование
микроконтроллера
микропроцессорной системы позиционирования объекта относительно уровня
земли на базе акселерометра ADXL330. При помощи технологии iMEMS,
позволяющей сочетать микромеханические структуры и цепи обработки сигналов
на одном кристалле. Analog devices создал новый экономичный трёхосевой
акселерометр ADXL330 потребляющий 200 мкА при напряжении питания 2В –
это более чем в два раза меньше чем у аналогичных приборов и самое малое
энергопотребление среди приборов данного класса. Задуманный как акселерометр
для мобильных телефонов и других портативных мобильных бытовых устройств,
ADXL330 имеет надёжный 3-осевой датчик, располагающийся на одном
кристалле со схемами преобразования сигнала. ИС выпускается в пластиковом
корпусе для поверхностного монтажа размером 4 x 4 x 1.45 mm.
Как первый представитель семейства 3-осевых акселерометров Analog
Devices, ADXL330 идеально подходит для самых разных бытовых устройств, где
требуется экономичность, компактность и надёжность.
В качестве примеров можно назвать:
- мобильные телефоны, реагирующие на движения и анализирующие положение.
Такие возможности позволяют реализовать удобный "интуитивный" интерфейс
пользователя, организовать "умное" управление питанием с целью продлить
жизнь батареи;
- портативные компьютеры и медиаплейры с системами защиты жёсткого диска.
Анализ механических воздействий позволяет организовать сложные алгоритмы
защиты жестких дисков, требования к объёму которых постоянно растут;
- игровые устройства управляющиеся движением могут стать более
интерактивными и удобными; новый интерфейс позволяет расширить
возможности существующих игр и открыть возможности для создания
принципиально новых;
- цифровые фотоаппараты и видеокамеры могут иметь алгоритмы
способствующие улучшению качества снимка за счет анализа положения,
движения и вибраций.
Акселерометр ADXL330 – это компактный, малопотребляющий, трёхосевой
датчик ускорения со встроенными схемами обработки сигнала и выходом
напряжения. В рабочем диапазоне ±2g акселерометр способен измерять
статическое ускорение (гравитацию) и таким образом определять угол наклона, а
также измерять динамическое ускорение, являющееся проявлением движения,
ударов и вибрации. Диапазон напряжения питания 2…3.6 В. Акселерометр
ADXL330 применяется при требуемом частотном диапазоне от 0.5 Гц до 1.6 кГц.
Поставляется этот прибор в 16-выводном пластиковом корпусе 4х4 мм CSP,
выдерживает ускорение до 10000g.
2.1 Характеристики ADXL330
На таблице 1 представлена характеристика датчика ADXL330
Параметры
Данные
Энергопотребление, мкА
200
Частотный диапазон, Гц
От 0.5 до 1.6
Рабочая температура, 0С
От -25 до +70
Оси
3
Особенности
Компактность, малое потребление
энергии,
Размеры
4 х 4 х 1.45 мм
Таблица 1 – Характеристики датчика ADXL330
2.2 Принцип работы
При воздействии на подвижный элемент сенсора массой силы возникает
смещение, пропорциональное ускорению.
На балки, зафиксированные на подложке, подаются электрические сигналы –
прямоугольные импульсы различной полярности в противофазе. При отсутствии
ускорения смещение механики отсутствует и емкости равны, поэтому выходной
сигнал переменного напряжения, снимаемый с подвижной, также практически
равен нулю (всегда присутствует малое ненулевое смещение). При наличии
ускорения баланс емкостей нарушается, и появляется переменный сигнал.
Схема датчика ADXL330
На рисунке 2 представлена принципиальная схема датчика ADXL330.
Рисунок 2 – Принципиальная схема модуля трёхосевого акселерометра
На рисунке 3 показана плата акселерометра ADXL330
передняя сторона
обратная сторона
Рисунок 3 - Плата расширения на базе трёхосевого акселерометра от компании
mikroElektronika
3.1 Программная среда для написания программы
CodeVisionAVR
Программа представляет собой интегрированную среду разработки ПО для
AVR микроконтроллеров.
Из основных достоинств CodeVisionAVR можно отметить то, что он не
слишком
сложен
для
самостоятельного
освоения,
поддерживает
все
многочисленное семейство микроконтроллеров AVR (включая чипы с ядром
ATxmega), формирует емкий и результативный программный код. Помимо
компилирования среда разработки способна записать созданную программу в
память микроконтроллера. Модуль прошивки может взаимодействовать со всеми
популярными программаторами (AVR910, STK200/300 и многими другими).
Редактор позволяет работать с двумя проектами одновременно, размещать
Лист
Изм.
Лист
№ докум.
Подпись
Дата
КП.230113.14.22 ПЗ
10
закладки, настраивать время автоматического сохранения результатов. На
рисунках 4-5 представлена программа CodeVisionAVR.
Рисунок 4 – CodeVisionAVR
Основными модулями, входящими в состав CodeVisionAVR являются:
- трансляторы программ, составленных на Си-подобных языках или ассемблере, в
машинный код для AVR;
- элементы для инициализации периферийных устройств;
- модуль для работы с платой отладки STK-500;
- компоненты взаимодействия с внешними программаторами;
- редактор первичного кода;
- терминальный модуль.
Результат работы в программе CodeVisionAVR может быть представлен в виде
Лист
Изм.
Лист
№ докум.
Подпись
Дата
КП.230113.14.22 ПЗ
11
HEX, ROM или BIN-файла для прямой прошивки микроконтроллера путем
использования стороннего программатора. Кроме этого, программа может быть
передана в формате COFF (файл отладчика) или OBJ.
Число библиотек CodeVisionAVR растет с каждой новой версией и включает
в себя поддержку продукции от таких известных производителей как Philips,
National semiconductor, Maxim-Dallas semiconductor и многих других. Компилятор
CodeVisionAVR отличается от AVR-GCC, который можно наблюдать в программе
WinAVR, синтаксисом, количеством поддерживаемых микроконтроллеров и
быстродействием конечного кода. Но больше всего по специфике работы,
расположению команд и своим возможностям программа напоминает PonyProg.
При работе важно не забывать, что процедура прошивки самой программы,
fuse битов и ПЗУ в CodeVisionAVR являются самостоятельными процедурами.
Разработчик рекомендует сначала прописать пользовательский код, затем
EEPROM-память, а в конце fuse’ы. Чтобы убедиться, что CodeVisionAVR
обнаружил внешний программатор, который подключается к LPT порту рабочей
станции, необходимо нажать кнопку «Reset Chip». При этом на программаторе
обязаны загореться индикаторы чтения/записи.
Рисунок 5 - CodeVisionAVR
Разработчик программы – компания HP InfoTech, расположенная в столице
Румынии, городе Бухаресте. Работники фирмы постоянно трудятся над своим
продуктом, улучшая оптимизатор кода и ускоряя работу компоновщика. Число
пользователей, купивших данный софт, составляет более 13000 человек.
Существует две версии программы: CodeVisionAVR Evaluation – бесплатный
ознакомительный вариант с ограничением до четырех килобайт размера
программного кода и отсутствием ряда ключевых библиотек и CodeVisionAVR –
платная коммерческая, защищенная от установки паролем.
Интерфейс CodeVisionAVR английский и русификатора к нему нет.
Требуемая платформа для установки – Windows 95, 98, 2000, XP, Vista и 7.
Поддерживаются 32- и 64-разрядные операционные системы.
3.2 Алгоритм программы для микроконтроллера
На рисунке 6 представлен алгоритм работы схемы
Рисунок 6 – Алгоритм работы схемы
3.3 Текст программы для микроконтроллера
На рисунках 7-12 представлен текст программы написанной в CodeVisionAVR
Рисунок 7 – Текст программы
Рисунок 8 – Текст программы
Рисунок 9 – Текст программы
Рисунок 10 – Текст программы
Лист
Изм.
Лист
№ докум.
Подпись
Дата
КП.230113.14.22 ПЗ
15
Рисунок 11 – Текст программы
Рисунок 12 – Текст программы
4.1 Описание лабораторного стенда
Плата Big Avr
ME-BIGAVR6 - отладочная плата от фирмы Mikroelektronika для разработки
и отладки приложений на базе микроконтроллеров семейства AVR (Рисунок 13).
Данное устройство является дальнейшим развитием линейки отладочных плат
BIGAVR. Плата универсальна и поддерживает микроконтроллеры в корпусах
TQFP64 и TQFP100, установленных на дочерние платы со слотами DIMM168P.
Такое решение имеет много плюсов и делает эксплуатацию платы более удобной.
Плата оснащена большим количеством разнообразных устройств ввода и вывода
информации и гибкой системой их коммутации с микроконтроллером. В качестве
устройств ввода предусмотрены кнопки, подключаемые ко всем линиям портов
микроконтроллеров, накопитель MMC/SD, посадочное место под температурный
датчик DS1820, вход АЦП. Для отображения данных на плате имеются
светодиоды на всех линиях портов микроконтроллера, а также предусмотрены
посадочные места со штыревыми разъемами для установки алфавитно-цифрового
и графического ЖКИ дисплеев. Установленный контроллер сенсорного экрана
позволяет использовать технологию Touch Screen. Для двунаправленного обмена
предназначены CAN, USB и два RS-232 интерфейса. Все линии портов
микроконтроллера выведены на 11 штыревых разъемов 2х5. К этим разъемам
возможно подключение внешних плат расширения, широко представленных в
ассортименте.
Микросхема последовательной
EEPROM
24LC01
позволит
сохранить конфигурацию устройства и другие стартовые параметры. Также
следует отметить наличие источника опорного напряжения, часов.
Отличительные особенности:
- место под установку мезонинного модуля с микроконтроллером;
- установленный мезонинный модуль с микроконтроллером ATmega128
- интегрированный внутрисхемный USB-программатор (AVRprog2);
- место под установку ЖКИ 2х16 с регулятором контрастности;
- место под установку графического ЖКИ с регулятором контрастности;
- контроллер сенсорного экрана;
- интерфейсы: RS-232 с возможностью отключения 2шт. и PS/2;
- слот считывателя SD-карт с цепью стабилизатора напряжения;
- цепь сброса;
- стабилизатор напряжения для питания МК;
- цепь ввода аналоговых сигналов;
- светодиоды и кнопки, подключенные ко всем выводам микроконтроллера, с
возможностью подтяжки к GND и Uпит. или отключения;
- 11 штырьковых разъемов (PORT A - PORT E) по 10 выводов с гибкой системой
коммутации, для подключения периферийных плат (EXTRA BOARDS);
- возможность запитки от USB-порта;
- установленный стабилизатор напряжения и разъем для подключения внешнего
источника питания.
Рисунок 13 – Плата BigAVR 6
4.2 Исследование работы микропроцессорной системы на лабораторном
стенде
На рисунках 14 – 17 представлены фотографии работы датчика
Рисунок 14 – Датчик в обычном состоянии
Рисунок 15 – Показания датчика в обычном состоянии
Рисунок 16 – Датчик в приподнятом состоянии
Рисунок 17 – Показания датчика в приподнятом состоянии
Лист
Изм.
Лист
№ докум.
Подпись
Дата
КП.230113.14.22 ПЗ
20
Заключение
При выполнении курсового проекта была проанализирована литература по
нескольким
источникам
«Программирование
и
выполнена
микроконтроллера
практическая
часть
микропроцессорной
по
теме
системы
позиционирования объекта относительно уровня земли на базе акселерометра
ADXL 330». В курсовом проекте с помощью программы CodeVision разработан
алгоритм работы микроконтроллерной системы. С помощью программы Proteus
professional разработан алгоритм работы микроконтроллерной системы. В
текстовом редакторе
записка.
Microsoft Word 2007 была оформлена пояснительная
1/--страниц
Пожаловаться на содержимое документа