Разработка устройства, предназначенного для измерения сопротивления, индикации состояния и орошения почвы с возможностью адаптации к различным видам грунта. Описание основных модулей микроконтроллера AVR АТMEGA 8А. Реализация программы управления поливом.
Аннотация к работе
Задачей данного курсового проекта было практическое применение знаний, полученных ранее в различных областях науки, для реализации конкретного технического задания. В пояснительной записке представлены этапы перехода от словесного описания поставленной задачи до конкретной реализации в виде функционирующего устройства. Также разрабатывает и производит небольшие модули энергонезависимой памяти для электронных изделий, ПЛИС, цифровые микросхемы-радиоприемники и передатчики, сканеры отпечатков пальцев. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Семейства микроконтроллеров AVR, представленных на рынке: TINYAVR (ограниченный набор периферийных устройств, минимальное число линий ввода-вывода и количество памяти), MEGAAVR (число линий ввода-вывода 23-86, аппаратный умножитель, расширенная система команд и периферийных устройств), XMEGA AVR (наличие достаточного объема памяти, четырехканальный DMA-контроллер, инновационная система обработки событий).Техническое задание (ТЗ) - исходный документ на проектирование технического объекта, который устанавливает основное назначение разрабатываемого объекта, его технические и тактико-технические характеристики, показатели качества и технико-экономические требования, предписание по выполнению необходимых стадий создания документации, а также специальные требования.Необходимо аппаратно реализовать устройство, предназначенное для измерения проводимости почвы на базе микроконтроллера AVR ATMEGA 8А. Устройство должно измерять сопротивление почвы, индицировать ее состояние и сигнализировать о чрезмерном пересыхании почвы. Должна осуществляться автоматическая подача воды для полива в зависимости от состояния грунта.Проект считается законченным, если разработан рабочий блок управления, изготовлены модули управления нагрузкой, написана работоспособная программа и результат соответствует техническому заданию.Входные и выходные параметры (табл.1.1) определяются из задания. Значение проводимости почвы Используется в качестве параметра, отображающего текущее сопротивление почвы 8 бит Посылка информации на порт Передача текущего значения проводимости почвы 8 битОно разрабатывается с целью выявления дополнительных или уточненных требований к изделию, которые не могли быть указаны в техническом задании, и это целесообразно сделать на основе предварительной конструкторской проработки и анализа различных вариантов изделия. в качестве измерительной части было решено использовать резистивный делитель, в одном плече которого стоит уникальный датчик измерения проводимости;Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), который позволяет указать два различных регистра в одной инструкции и выполнить ее за один цикл. В целях достижения максимальной производительности и параллелизма у AVR-микроконтроллеров используется Гарвардская архитектура с раздельными памятью и шинами программ и данных. Данные 16-разрядные регистры называются X-регистр, Y-регистр и Z-регистр и описываются далее в этом разделе. почва орошение адаптация микроконтроллер Рисунок 2.1 - Функциональная схема микроконтроллера ATMEGA8A АЛУ поддерживает арифметические и логические операции между регистрами, а также между константой и регистром. В соответствии с гарвардской архитектурой память AVR-микроконтроллера разделена на две области: память данных и память программ.Для программирования микроконтроллера ATMEGA8A можно использовать языки программирования С и ассемблер.Эскизный проект представляет собой этап составления спецификаций отдельных блоков, разработку подробной структурно-блочной схемы устройства.SPI (Serial Peripheral Interface - последовательный периферийный интерфейс) - последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. В отличие от стандартного последовательного порта, SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором).Управление можно осуществлять как по последовательному интерфейсу SPI, так и по параллельной шине, используя четыре однобитные линии для управления и координации передачи данных и восемь бит для передачи данных. Драйвер дисплея содержит в себе управляющие регистры (Index Register, Control Register и Address Register), регистры настроек и память для хранения изображения GRAM.USART поддерживает полнодуплексную асинхронную или синхронную передачу данных. Передача данных выполняется посылками. USART поддерживает буферизацию данных в обоих направлениях, что обеспечивает непрерывность передачи данных без каких-либо задержек между посылками. По завершению приема и передачи, могут генерироваться прерывания по отдельным векторам.I2C - двухпроводная последовательная шина данных для связи интегральных схем, разработанная фирмой
План
Содержание
Введение
1. Техническое задание
1.1 Назначение устройства
1.2 Требования к реализации
1.3 Входные/выходные параметры
2. Техническое предложение
2.1 Элементная база
2.2 Алгоритм реализации
3. Эскизный проект
3.1 Описание основных модулей микроконтроллера
3.1.1 Интерфейс SPI
3.1.2 LCD - экран
3.1.3 Интерфейс USART
3.1.4 Интерфейс I2C
4. Технический проект
4.1 Разработка проекта.
4.2 Описание интерфейса.
4.3 Реализация основных функций
5. Рабочий проект
5.1 Компиляция проекта
5.2 Прошивка
5.3 Физическое тестирование
Выводы
Перечень ссылок
Приложение А. Исходный код основной программы модуля управления
Введение
Задачей данного курсового проекта было практическое применение знаний, полученных ранее в различных областях науки, для реализации конкретного технического задания.
Результатом выполнения такого задания являлась реализация устройства, предназначенного для измерения проводимости почвы на микроконтроллере AVR ATMEGA 8А. Принцип измерения основан на явлении резистивного изменения сопротивления почвы.
В пояснительной записке представлены этапы перехода от словесного описания поставленной задачи до конкретной реализации в виде функционирующего устройства. Выполнены все этапы проектирования от технического задания до реализации проекта в выбранной элементной базе. Также выполнено программирование микроконтроллера AVR ATMEGA 8А.
Микроконтроллеры семейства AVR за сравнительно короткое время завоевали заслуженную популярность во всем мире.
Atmel Corporation - изготовитель полупроводниковых электронных компонентов. Компания основана в 1984 году. Один из лидеров производства микроконтроллеров (MCS-51, ARM, AVR, AVR32). Также разрабатывает и производит небольшие модули энергонезависимой памяти для электронных изделий, ПЛИС, цифровые микросхемы-радиоприемники и передатчики, сканеры отпечатков пальцев.
Продукция Atmel широко применяется в компьютерных сетях, промышленности, медицине, связи, автомобилях, космосе, военных устройствах, а также кредитных картах.
Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединенных в регистровый файл. В отличие от "идеального" RISC, регистры не абсолютно ортогональны
AVR, пожалуй, одно из самых интересных направлений, развиваемых корпорацией Atmel. Они представляют собой мощный инструмент для создания современных высокопроизводительных и экономичных многоцелевых контроллеров.
На настоящий момент соотношение "цена - производительность - энергопотребление" для AVR является одним из лучших на мировом рынке 8-разрядных микроконтроллеров. Объемы продаж AVR в мире удваиваются ежегодно. В геометрической прогрессии растет число сторонних фирм, разрабатывающих и выпускающих разнообразные программные и аппаратные средства поддержки разработок для них. Можно считать, что AVR постепенно становится еще одним индустриальным стандартом среди 8-разрядных микроконтроллеров общего назначения.
Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт машинного цикла.
Семейства микроконтроллеров AVR, представленных на рынке: TINYAVR (ограниченный набор периферийных устройств, минимальное число линий ввода-вывода и количество памяти), MEGAAVR (число линий ввода-вывода 23-86, аппаратный умножитель, расширенная система команд и периферийных устройств), XMEGA AVR (наличие достаточного объема памяти, четырехканальный DMA-контроллер, инновационная система обработки событий).
Области применения AVR многогранны. Для семейства "tiny" - это интеллектуальные автомобильные датчики различного назначения, игрушки, игровые приставки, материнские платы персональных компьютеров, контроллеры защиты доступа в мобильных телефонах, зарядные устройства, детекторы дыма и пламени, бытовая техника, разнообразные инфракрасные пульты дистанционного управления.
Для семейства "classic" - это модемы различных типов, современные зарядные устройства, изделия класса Smart Cards и устройства чтения для них, спутниковые навигационные системы для определения местоположения автомобилей на трассе, сложная бытовая техника, пульты дистанционного управления, сетевые карты, материнские платы компьютеров, сотовые телефоны нового поколения а также различные и разнообразные промышленные системы контроля и управления.
Для "mega" AVR - это аналоговые (NMT, ETACS, AMPS) и цифровые (GSM, CDMA) мобильные телефоны, принтеры и ключевые контроллеры для них, контроллеры аппаратов факсимильной связи и ксероксов, контроллеры современных дисковых накопителей, CD-ROM и т. д.
Из этого семейства для реализации данного проекта наиболее подходит микроконтроллер AVR ATMEGA8A, т.к. он имеет достаточное количество линий ввода-вывода, необходимую периферию и довольно низкое энергопотребление.
Микроконтроллер семейства mega - Atmega 8А - маломощный 8-разрядный КМОП микроконтроллер, основанный на расширенной AVR RISC-архитектуре. За счет выполнения большинства инструкций за один машинный цикл Atmega 8А достигает производительности 1 млн. операций в секунду, что позволяет проектировщикам систем оптимизировать соотношение энергопотребления и быстродействия.
Высокая производительность, наличие развитой подсистемы ввода/вывода и широкого спектра встроенных периферийных устройств позволяют отнести микроконтроллеры AVR ATMEGA 8А к классу наиболее функциональных микроконтроллеров для встроенных систем управления.
Для разработки программной части проекта была использована среда CODEVISIONAVR. Это интегрированная среда разработки программного обеспечения для микроконтроллеров семейства Atmel AVR.
CODEVISIONAVR включает в себя следующие компоненты: компилятор ассемблера и Си-подобного языка для AVR, генератор начального кода программы, позволяющего произвести инициализацию периферийных устройств, модуль взаимодействия с программатором и редактор исходного кода с подсветкой синтаксиса.
Для компиляции исходного кода и прошивки в конечное устройство был использован программный комплекс WINAVR - набор опенсорсных инструментов для разработки программного обеспечения для микроконтроллеров Atmel AVR для платформы Windows. В комплект входит компилятор GNU GCC для языков программирования C и C .