Создание системы Internet управления на базе микроконтроллера
Идея создания системы удаленного управления и контроля устройств. Разработка электрической принципиальной и структурной схемы. Обоснование выбора микроконтроллера и чипа ENC28J60. Обоснование выбора и отладки среды моделирования, программы и компилятора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.08.2014 |
Размер файла | 3,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования и науки Украины
Севастопольский национальный технический университет
Кафедра ИС
Реферат на тему дипломной работы
«Создание системы Internet управления на базе микроконтроллера»
Выполнил:
Курсеитов Р.
Научный руководитель:
Заикина Е.Н.
Севастополь
Содержание
Введение
1. Постановка задачи
2. Анализ способов решения поставленной задачи
2.1 Анализ существующих систем
2.2 Анализ способов реализации связи с системой удаленного управления
2.3 Анализ взаимодействия пользователя с системой удаленного управления
3. Техническая часть проекта
3.1 Разработка структурной схемы
3.2 Разработка схемы электрической принципиальной
3.2.1 Обоснование выбора микроконтроллера
3.2.2 Обоснование выбора чипа ENC28J60
3.2.3 Обоснование выбора Wi-Fi модуля
3.3 Описание исполнительного устройства
3.4 Разработка программного обеспечения
3.5 Обоснование выбора компилятора
Выводы
Библиографический список
Введение
Если в первые годы развития Интернет был предназначен для обмена данными между компьютерами, то сегодня все больше и больше интеллектуальных устройств, не основывающихся на персональных компьютерах, подключают к самой развитой из мировых сетей. Каждое такое отдельное устройство может быть названо сетевым или прикладным узлом. Прогнозы таковы, что к 2015 г. количество некомпьютерных пользователей сети Интернет значительно превысит число компьютерных.
Возможность подключения исполнительного устройства в локальную сеть или Интернет уже давно стало необходимостью, а для рынка сетевого оборудования - изначальным требованием.
Для управления исполнительными устройствами в большинстве случаев применяются микроконтроллеры, которые на порядок дешевле персональных компьютеров и имеют узкоспециализированный профиль для решения той или иной задачи.
Сегодня микро-контроллеры управляют промышленными машинами, заменяют тяжелый человеческий труд, облегчают условия жизни. Повсеместно осваивается и внедряется управление с помощью микроконтроллеров во всех сферах быта, досуга и производства. В связи с этим разработка новых систем управления на базе микроконтроллеров преобретает большую актуальность.
Идея создания системы удаленного управления и контроля устройств появилась при решении задач по реализации управления подвижной моделью технического объекта с помощью ЭВМ.
Конечно, не обязательно в качестве управляемого устройства использовать модель “виртуального объекта”, можно управлять реальным устройством, будь то станок или комбайн, необходимо лишь довести комплект устройств управления до необходимого уровня (обеспечить безопасность, хорошее качество связи, высокую дальность связи, надежность и безотказность системы).
Использовать такой законченный комплекс можно везде, где необходимо обеспечить связь устройств какой угодно сложности. А также в тех сферах человеческого труда, где присутствие и управление непосредственно специалистом невозможно по ряду обстоятельств: высокий уровень радиации, неблагоприятная температура, химические и бактериологические загрязнения и др.
В настоящее время существуют множество подобных систем. Начиная от управления домашними бытовыми приборами и заканчивая сложными космическими комплексами.
Например, система AVIOSYS IP Power 9212 [234] предназначена для удаленного (через Internet или локальную сеть) контроля за объектом и управления всевозможным оборудованием. Основное направление - управление домашними электрическими приборами в доме, которое позволяет включать и выключать бытовые устройства, будто чайник, тостер, кондиционер и др. Данная система поддерживает восемь различных устройств. Для ее работы не требуется наличия компьютера в помещении, т.к. система имеет встроенный Web-сервер и систему управления через Web-браузер.
Кроме того, для каждого устройства, подключенного к сети Интернет, требуется собственный адрес в сети, что быстро приведет к исчерпанию возможных адресов и необходимости замены существующей системы адресов. Но данная проблема решается в другой системе под названием EmWare. Разработчики данной системы - сотрудники компании Motorola, предлагают использование распределенной сети, в которой индивидуальные узлы подключены к сети Интернет не непосредственно, а с помощью шлюза. Этим шлюзом может быть персональный компьютер, если он есть в доме, или отдельное специализированное устройство. Шлюз необязательно должен располагаться в доме, он может находиться на территории провайдера услуг Интернет. Узел может быть подключен к шлюзу посредством модема.
На сегодняшний день наиболее распространенным типом связи является Ethernet с присущим ему сложным интерфейсом. Все Ethernet чипы имели до сегодняшнего дня 100 и более контактов, их было тяжело найти в маленьких количествах и ими было тяжело управлять с помощью маленького микроконтроллера с небольшим количеством памяти. Компания Microchip изменила мир с появлением нового Ethernet чипа - ENC28J60. ENC28J60 это небольшой чип всего с 28 контактами, он имеет интерфейс SPI, который легко использовать с любого микроконтроллера.
Это открывает целый мир совершенно новых прикладных задач. Мы можем легко создавать устройства, которые будут управляемы через сеть Ethernet.
В данном направлении работает много компаний мирового уровня. На базе различных микроконтроллеров созданы управляющие и исполнительные устройства всевозможного характера и предназначения.
Возможности удаленного управления практически не исчерпаемы. Они присутствуют в быту, промышленности, сельском хозяйстве, медицине и других сферах. Сегодня никого не удивишь проведением сложной хирургический операции, когда пациент и врач находятся в разных уголках планеты, а все действия возлагаются на робота - хирурга под управлением специалиста.
Системы подобного рода приобретают все большую популярность. Актуальность разработки новых систем управления возрастает в геометрической прогрессии.
Человечество всегда хотело большего. И даже когда добивалось этого, то принимались попытки по усовершенствованию уже существующего. Но спектр задач в сфере удаленного управления настолько широк, что охватить его полностью пока не удалось.
В связи с этим появляется возможность создания собственных систем управления для реализации наиболее тонких и узко специализированных задач в сфере удаленного управления.
В данной работе показана реализация системы удаленного управления опытным образцом с использованием сети Ethernet, Wi-Fi на базе микроконтроллера. Система снабжена встроенным Web - сервером, управление будет осуществляться через Web - браузер.
микроконтроллер программа компилятор
1. Постановка задачи
Целью данной работы является разработка системы удаленного управления техническим устройством на базе микроконтроллера с использованием сети Ethernet, Wi-Fi.
Необходимо реализовать следующие задачи:
1) Исследовать принципы и особенности работы существующих систем удаленного управления
2) Проанализировать возможность выбора языка программирования.
3) Разработать структурную схему системы удаленного управления;
4) Разработать принципиальную схемы системы удаленного управления;
5) Разработать алгоритмы функционирования;
6) Промоделировать работу устройства в среде моделирования;
7) Создать на базе микроконтроллера Atmega устройство для удаленного управления объектом с использованием сети Ethernet, Wi Fi;
8) Для сопряжения устройства с сетью Ethernet воспользоваться чипом ENC28J60, с сетью Wi Fi модулем Microchip MRF24WB0MA;
9) Снабдить систему Web - сервером;
10) Разработать программное обеспечение для функционирования системы удаленного управления;
11) Разработать интерфейс пользователя для взаимодействия с управляющим модулем через Web - браузер;
12) Реализовать управление системой через Web - браузер;
13) Провести анализ технических характеристик разработанной системы.
2. Анализ способов решения поставленной задачи
2.1 Анализ существующих систем
На сегодняшний день существует обильное количество разнообразных систем удаленного управления, начиная от управления домашними бытовыми приборами и заканчивая управлением сложными промышленными роботами.
Рассмотрит несколько систем удаленного управления.
· RC - 100[234]. Система удаленного управления и контроля технологического оборудования. Основное направление данной системы является контроль и учет расхода газа, воды, электроэнергии. Аварийная сигнализация и защитная автоматика в системах тепло-, газо-, энергосбережения. Система может быть снабжена 8 датчиками, которые позволяют контролировать состояние технологического оборудования. Стоимость подобного устройства на сегодняшний день составляет порядка 2500 гривен.
· AVIOSYS IP Power 9212[232]. Данная система предоставляет пользователю удаленный доступ к бытовым приборам дома, офиса (электрочайник, телевизор, тостер, электроосвещение и т.д. Основная направленность системы - это удаленное включение и выключение бытовых приборов, которые непосредственно подключены к системе. Также система позволяет производить мониторинг за состоянием приборов. Система снабжены WEB - сервером и не требует наличия отдельного ПК, позволяет контролировать от 8 до 12 различных бытовых приборов. Управление производиться через WEB - интерфейс на стороне клиента. Стоимость системы составляет порядка 1700 гривен.
· Очень большое развитие получила сфера удаленного управления роботами. Например, система «Сапер» [5464], позволяющая производить разминирование и обезвреживание взрывоопасных устройств. Системы подобного рода на сегодняшний день очень сильно развиты. Это связано с тем, что они позволяют выполнять задачи, которые не может выполнить человек по ряду причин (высокая опасность, сложность, сильная нагрузка)
Современные системы удаленного управления делятся в зависимости от:
- решаемой задачи;
- объекта управления;
- технологии обмена данными между системой управления и клиентской частью (протоколы обмена);
- типа используемого технического оборудования (надежность, производительность и т.д.);
- типа функционального взаимодействия исполнительного устройства и системы управления (через web - браузер, со специального пульта и т.д.).
2.2 Анализ способов реализации связи с системой удаленного управления
Одной из главных задач в системах удаленного управления является выбор типа используемой сети и технологии передачи данных.
Классификация сетей представлена на рисунке 1.
Рисунок 1 - Классификация сети в зависимости от среды передачи
Современные беспроводные системы передачи данных способны обеспечивать пользователя данными с достаточно большими скоростями - до нескольких десятков Мбит/сек. Однако, данные системы редко используются для передачи важной управляющей информации. Рассмотрим подробнее некоторые из них:
- Wi-Fi. Данная система, в общем, удобна, если использовать ее на территории одного предприятия (в среднем, 45 м для закрытого помещения, 400-450 м для открытых пространств), однако, для передачи данных на большие расстояния она не подходит. Кроме того, оборудование для создания WLAN стоит дорого, а сама беспроводная сеть очень подвержена влиянию внешних факторов, таких, как излучение, физические преграды (например, железобетон) и т.д. Также, для создания и продвижения на рынок управляющей/передающей информационной системы важно, чтобы она работала во всех странах одинаково хорошо, но частотный диапазон и эксплуатационные ограничения Wi-Fi в различных странах неодинаковы.
- Bluetooth. Радиосвязь Bluetooth предназначена для передачи, в основном, мультимедийной информации на короткие расстояния (10-100 м), очень сильно подвержена внешним помехам, поэтому в качестве основы для системы передачи данных она не подходит.
- Спутниковая связь. Метод передачи данных через спутник (например, системы VSAT) чрезвычайно удобен т.к. спутник имеет большое покрытие и способен передавать данные практически в любую точку земного шара. Недостатками данной связи является, в первую очередь, слабая помехозащищенность из-за высокого влияния атмосферных, тропосферных и ионосферных эффектов. Также крайне важно то, что задержки при передаче данных системами, использующими спутниковый ретранслятор на геостационарной орбите, очень большие (могут достигать 1 сек). Кроме того, приемно-передающие устройства очень громоздкие и имеют большую стоимость.
- GSM. GSM (от названия группы Groupe Spйcial Mobile) -- глобальный цифровой стандарт для мобильной сотовой связи, с разделением частотного канала по принципу TDMA и средней степенью безопасности. Данный стандарт обеспечивает поддержку таких услуг, как услуги передачи данных (синхронный и асинхронный обмен данными, в том числе пакетная передача данных -- GPRS), передача речевой информации, передача коротких сообщений (SMS), передача факсимильных сообщений и ряд дополнительных услуг. Положительными качествами GSM в качестве основы для передачи данных является то, что сеть GSM имеет широкое покрытие (по данным ассоциации GSM (GSMA) на данный стандарт приходится 82 % мирового рынка мобильной связи, 29 % населения земного шара использует глобальные технологии GSM, в GSMA в настоящее время входят операторы более чем 210 стран и территорий), малые габариты приемных/передающих устройств, хорошее качество связи при достаточной плотности размещения базовых станций, большая ёмкость сети, возможность большого числа одновременных соединений, низкий уровень индустриальных помех в данных частотных диапазонах. Плюсом является и то, что стоимость приемно-передающих устройств и оплата услуг относительно дешевая. Из недостатков можно отметить то, что связь можно организовать на расстоянии не более 120 км от ближайшей базовой станции даже при использовании усилителей и направленных антенн. Также к недостатком можно отнести плохую защищенность сети.
Как уже упоминалось выше, беспроводные сети не применяются для передачи важной информации, т.к. им присущи следующие недостатки:
- опасность взлома;
- низкий уровень помехоустойчивости;
- высокая стоимость;
- высокий уровень расхода энергии;
- несовместимость оборудования;
- ограниченная дальность действия;
- низкая скорость передачи данных;
При использовании проводной сети на основе витой пары, коаксиального кабеля или оптоволокна можно добиться высокой скорости передачи, высокого уровня помехоустойчивости, увеличить дальность действия. Стоимость же проводных сетей на порядок ниже стоимости беспроводных.
2.3 Анализ взаимодействия пользователя с системой удаленного управления
Существует два варианта реализации взаимодействия с системой удаленного управления.
Первый вариант основывается в использовании системы удаленного управления в качестве WEB - сервера, обменивающегося данными с браузером пользователя. Принцип работы представлен на рисунке 2:
Рисунок 2. - Взаимодействие пользователя с системой удаленного управления
1 - пользователь с использованием WEB - браузера устанавливает соединение с системой удаленного управления.
2 - получение страницы с WEB - сервера
3 - посылка команды управления WEB - серверу и получения результатов выполнения
4 - интерпретация полученной команды от пользователя и подачу необходимых сигналов управления исполнительному устройству.
5 - сигналы подтверждения выполнения команды исполнительным устройством.
Второй вариант взаимодействия основывается на сетевом приложении, установленном на стороне клиента, которое предоставляет интерфейс взаимодействия пользователя с системой удаленного управления, посылая команды управления и обрабатывая результаты выполнения команд. Принцип работы представлен на рисунке 3:
Рисунок 3 - Взаимодействие пользователя с системой удаленного управления
1 - посылка команды управления WEB - серверу и получения результатов выполнения
2 - интерпретация полученной команды от пользователя и подачу необходимых сигналов управления исполнительному устройству.
3 - сигналы подтверждения выполнения команды исполнительным устройством.
Основное отличие данного варианта от предыдущего в том, что роль браузера выполняет сетевое приложение. Недостатком второго варианта является то, что для взаимодействия пользователя с системой необходимо инсталлировать дополнительное сетевого приложения. Т.е. удаленное управление можно реализовать только в том случае, если присутствует данное приложение.
Достоинством первого варианта является его мобильность, т.е. можно осуществлять взаимодействие с системой с любого персонального компьютера, что является наиболее предпочтительным вариантом.
3. Техническая часть проекта
3.1 Разработка структурной схемы
Рисунок 4 - Структурная схема разрабатываемой системы
В структурную схему входят следующие блоки:
· Устройтва сопряжения с сетью Ethernet. Необходимо для связи устройства управления с сетью Ethernet для удаленного управления исполнительным устройством;
· Устройтва сопряжения с сетью Wi-Fi. Необходимо для связи устройства управления с сетью Wi-Fi для удаленного управления исполнительным устройством;
· Устройство управления. Данный блок обрабатывает комманды с удаленного терминала и оперирует действиями исполнительного устройства;
· Исполнительное устройство. Непосредственно объект управления;
· INTERNET. Сеть необходима для осуществления управления исполнительным устройством удаленно.
3.2 Разработка схемы электрической принципиальной
3.2.1 Обоснование выбора микроконтроллера
Основным элементом, обеспечивающим управление всеми узлами настоящей системы передачи данных, является микроконтроллер. На рынке присутствует большое количество фирм - производителей микроконтроллеров, лидирующей фирмой является Atmel, производящая микроконтроллеры AVR.
Микроконтроллеры AVR фирмы Atmel - это 8-битные RISC-микроконтроллеры для встраиваемых приложений, представляют собой мощный инструмент, прекрасную основу для создания современных высокопроизводительных и экономичных встраиваемых контроллеров многоцелевого назначения.
Популярность микроконтроллеров AVR очень высока благодаря соотношению показателей цена/быстродействие/энергопотребление, до сих пор являющееся едва ли не лучшим на рынке 8-битных микроконтроллеров. Кроме того, постоянно растет число выпускаемых сторонними производителями разнообразных программных и аппаратных средств поддержки разработок устройств на их основе. Все это позволяет говорить о микроконтроллерах AVR как об индустриальном стандарте среди 8-битных микроконтроллеров.
В настоящее время в рамках единой базовой архитектуры микроконтроллеры AVR подразделяются на несколько семейств:
* TinyAVR;
* Mega AVR;
* Mega AVR для специальных применений;
* ASIC/FPGAAVR.
При создании образца системы управления предполагается использовать микроконтроллер семейства Mega. Микроконтроллеры этого семейства имеют наиболее развитую периферию, наибольшие среди всех микроконтроллеров AVR объемы памяти программ и данных. Они предназначены для использования в мобильных телефонах, в контроллерах различного периферийного оборудования (такого как принтеры, сканеры, современные дисковые накопители, приводы CD-ROM/DVD-ROM и т. п.), в сложной офисной технике и т. д.
Микроконтроллеры семейства Mega поддерживают несколько режимов пониженного энергопотребления, имеют блок прерываний, сторожевой таймер и допускают программирование непосредственно в готовом устройстве. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения стоимость/быстродействие/энергопотребление. Микроконтроллеры семейства Mega являются наиболее развитыми представителями микроконтроллеров AVR общего применения.
К особенностям микроконтроллеров AVR семейства Mega можно отнести:
* FLASH-память программ объемом от 8 до 256 Кбайт (число циклов стирания/записи не менее 10 000);
* оперативная память (статическое ОЗУ) объемом от 512 байт до 8 Кбайт;
* память данных на основе ЭСППЗУ (EEPROM) объемом от 256 байт до 4 Кбайт (число циклов стирания/записи не менее 100 000);
* возможность защиты от чтения и модификации памяти программ и данных;
* возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;
* возможность самопрограммирования;
* возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1 (JTAG), а также наличие собственного однопроводного интерфейса внутрисхемной отладки debugWire);
* разнообразные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей RС-цепочкой, встроенный генератор с внешним кварцевым или пьезокерамическим резонатором, внешний сигнал синхронизации;
* наличие нескольких режимов пониженного энергопотребления;
* наличие детектора пониженного напряжения питания (Brown-Out Detector-BOD);
* возможность программного снижения частоты тактового генератора.
Основными характеристиками процессора микроконтроллеров AVR семейства Mega являются:
* полностью статическая архитектура, минимальная тактовая частота равна нулю;
* арифметико-логическое устройство (АЛУ) подключено непосредственно к регистрам общего назначения C2 регистра);
* большинство команд выполняются за один период тактового сигнала;
* векторная система прерываний, поддержка очереди прерываний;
* большое число источников прерываний (до 45 внутренних и до 32 внешних);
* наличие аппаратного умножителя.
Подсистема ввода/вывода микроконтроллеров AVR семейства Mega имеет следующие особенности:
* программное конфигурирование и выбор портов ввода/вывода;
* выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;
* входные буферы с триггером Шмитта на всех выводах;
* имеется возможность полного отключения цифрового порта ввода/вывода от физического вывода микросхемы);
* на всех входах имеются индивидуально отключаемые внутренние подтягивающие резисторы сопротивлением 20...50 кОм.
Микроконтроллеры семейства Mega имеют богатый набор периферийных устройств (ПУ):
* один или два 8-битных таймера/счетчика. Во всех моделях с двумя 8-битными таймерами/счетчиками один из них может работать в качестве часов реального времени (в асинхронном режиме);
* от одного до четырех 16-битных таймеров/счетчиков;
* сторожевой таймер;
* одно- и двухканальные генераторы 8-битного ШИМ-сигнала (один из режимов работы 8-битных таймеров/счетчиков);
* двух- и трехканальные генераторы ШИМ-сигнала регулируемой разрядности (один из режимов работы 16-битных таймеров/счетчиков). Разрешение формируемого сигнала может составлять от 1 до 16 бит;
* аналоговый компаратор;
* многоканальный 10-битный АЦП последовательного приближения, имеющий как несимметричные, так и дифференциальные входы;
* последовательный синхронный интерфейс SPI;
* последовательный двухпроводный интерфейс TWI (полный аналог интерфейса 12 С);
* от одного до четырех полнодуплексных универсальных синхронных/асинхронных приемо-передатчиков (USART). В ряде моделей эти приемо-передатчики могут использоваться в качестве ведущего устройства шины SPI;
* универсальный последовательный интерфейс USI, который может использоваться в качестве интерфейса SPI или I2C. Кроме того, USI может использоваться в качестве полудуплексного UART или 4/12-битного счетчика.
Ядро микроконтроллеров AVR семейства Mega выполнено по усовершенствованной RISC-архитектуре (enhanced RISC) (Рис. 3.2.1.1), в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров.
Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32 рабочим регистрам, объединенным в регистровый файл. Благодаря этому, АЛУ может выполнять одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за такт. Кроме того, практически каждая из команд (за исключением команд, у которых одним из операндов является 16-битный адрес) занимает одну ячейку памяти программ.
В микроконтроллерах AVR реализована Гарвардская архитектура, характеризующаяся раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение информационных шин позволяет использовать для каждого типа памяти шины различной разрядности, причем способы адресации и доступа к каждому типу памяти также различаются. В сочетании с двухуровневым конвейером команд такая архитектура позволяет достичь производительности в 1 MIPS на каждый МГц тактовой частоты. Архитектура ядра микроконтроллеров AVR представлена на рисунке 5. [1]
Рисунок 5 - Архитектура ядра микроконтроллеров AVR
При создании опытного образца системы управления воспользуемся микроконтроллером AVR ATmega328, который по параметрам подходит для управления периферийными устройствами изделия.
ATmega328-- имеет следующие технические характеристики:
- FLASH-память программ объемом 32 Кбайт
- ОЗУ объемом 2 Кбайт
- EEPROM-память данных объемом 1 Кбайт
- 32 контакта ввода/вывода
- Напряжение питания 4.0…5.5 В
- Тактовая частота 16 МГц
Также, у данной модели микроконтроллера имеются встроенные АЦП, два таймера/счетчика, интерфейсы USART, TWI, JTAG. [1]
Рисунок 6 - Архитектура микроконтроллера AVR ATmega328 и цоколевка выводов кристалла
3.2.2 Обоснование выбора чипа ENC28J60
Для сопряжения исполнительного устройства с сетью Ethernet необходимо воспользоваться чипом компании Motorolla ENC28J60, являющегося наиболее популярным и легкодоступным чипом для микроконтроллеров. В сравнении с остальными схожими чипами ENC28J60 является наиболее мощным при использовании и удобным для программирования. Он включает протокол приема/передачи данных, MAC адрес, и протокол физического уровня в одном чипе. При выборе микроконтроллера AVR ATmega328 для обмена данными наиболее подходящим является интерфейс SPI. Чип ENC28J60 позволяет производить обмен данными по интерфейсу SPI со скоростью до 10 Мбит/с, что является приемлемой скоростью для разрабатываемого исполнительного устройства. Структурная схема устройства представлена на рисунке 7. [2]
Рисунок 7 - Структурная схема ENC28J60 (основные блоки) и цоколёвка выводов чипа
Назначение основных блоков:
· PHY -- физический уровень. Этот уровень включает в себя приёмник, передатчик, драйверы, т.е. все что необходимо для работы с определённой средой передачи данных.
· MAC (Medium Access Controller) -- канальный уровень. В него входит вся логика, необходимая для отправки и приёма кадров в сеть Ethernet. MAC занимается адресацией, расчетом контрольной суммы, фильтрацией принимаемых пакетов, разрешением коллизий (в полудуплексном режиме). Обменивается со следующим, сетевым уровнем готовыми пакетами, а с физическим -- отправляемыми и принимаемыми байтами.
· Управляющая логика занимается всем остальным. В том числе, обслуживает буфер, из которого MAC берёт отправляемые данные и сохраняет принятые. Управляет режимами энергопотребления.
Вся память в ENC28J60 делится на буфер для данных, управляющие регистры и регистры PHY.
В ENC28J60 есть буфер размером 8 КБ. Часть этого буфера обычно выделяется для приёма пакетов, остальную часть можно использовать как угодно. Например, для отправляемых данных.
Управляющие регистры:
Адресное пространство регистров делится на 4 банк по 32 регистра. Основная часть регистров имеет префикс E (Ethernet). Регистры MAC -- с префиксом MA, регистры MII -- с префиксом MI. Регистры можно разделить на функциональные группы. [2]
Рисунок 8- Регистры чипа ENC28J60
Обмен данными с ENC28J60 выполняется транзакциями. Транзакция начинается с отправки микроконтроллером команды. Затем идут опциональные данные (приём или передача). Завершается транзакция «поднятием» ножки CS.
а)
б)
в)
Рисунок 3.2.2.3 - Цикл чтения данных a) структура цикла, б) по тактово для чтения ETH регистров, в) по тактово для чтения MAC и MII регистров
а)
б)
в)
Рисунок 9 - Цикл записи данных a) структура цикла, б) по тактово для записи управлюящих регистров, в) по тактово для записи в буфер
Команда состоит из опкода и аргумента. При чтении или записи регистра, аргумент содержит адрес регистра. Основные команды представлены в таблице 1.
Таблица 1 - SPI команды для ENC28J60 (команды управления от AVR)
Команда |
Опкод |
Аргумент |
Данные |
||||||||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
||
Чтение регистра |
0 |
0 |
0 |
а |
а |
а |
а |
а |
- |
- |
- |
- |
- |
- |
- |
- |
|
Чтение буфера |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
- |
- |
- |
- |
- |
- |
- |
- |
|
Запись регистра |
0 |
1 |
0 |
а |
а |
а |
а |
а |
d |
d |
d |
d |
d |
d |
d |
d |
|
Запись в буфер |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
d |
d |
d |
d |
d |
d |
d |
d |
|
Сброс |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
- |
- |
- |
- |
- |
- |
- |
- |
Для чтения регистра контроллер отправляет ENC28J60 команду чтения регистра и забирает значение. При чтении регистров MAC или MII, контроллер должен пропустить 1 «ложный» байт, затем прочитать значение.
Перед тем, как осуществлять доступ к определённому регистру, нужно выбрать банк. Чтобы не отправлять команду переключения банка при каждой операции с регистром, можно закэшировать текущий банк и переключать банк только при необходимости.
Обмен данными с AVR ENC28J60 реализует пакетами. Отправляемые и принимаемы пакеты находятся в кольцевом буфере. Буфер и структура пакетов представлена в таблице 2
Таблица 2 - Структура и описание пакетов для обмена данными
Название |
Структура |
Описание |
|
Буфер |
ERXST, ERXND - адрес начала и конца кольцевого буфера для принимаемых пакетов. ERXRDPT, ERXWRPT - указатели кольцевого буфера. Дойдя до конца буфера (ERXND), указатель ERXRDPT перемещается на его начало (ERXST). ERXRDPT - указывает на то место, откуда микроконтроллер будет забирать принятые пакеты. ERXWRPT - указывает на место, куда приёмник положит следующий принятый пакет. ETXST и ETXND -- начало и конец отправляемого пакета. Например, если мы хотим отравить пакет размером 256 байт, лежащий в буфере по адресу 0x1800, устанавливаем ETXST в 0x1800 и ETXND в 0x18ff. |
||
Отправка |
Управляющий байт - позволяет переопределить некоторые настройки MAC для отправки этого пакета. Данные пакета - 1 или больше байт (до 1400) передаваемых данных. |
||
Прием |
ENC28J60 записывает пакеты в кольцевой буфер в виде связанного списка. Адрес первого непрочитанного пакета храниться в регистрах ERXRDPT. Забрав пакет, микроконтроллер записывает в ERXRDPT адрес следующего пакета. После этого место, которое занимал пакет считается свободным и ENC28J60 может использовать его для приёма новых пакетов. Статус приёма -- длина пакета (2 байта) и флаги (тоже 2 байта). Все принятые пакеты ENC28J60 записывает в буфер с выравниванием на 2 байта. Таким образом, адрес пакета всегда чётный. Для того, чтобы забрать принятый пакет, микроконтроллер делает следующее: 1) Смотрит сколько принято пакетов (в регистре EPKTCNT). 2) Читает пакет из буфера (по адресу ERXRDPT). 3) Записывает в ERXRDPT адрес следующего пакета. 4) Уменьшает значение счётчика пакетов |
Структурная схема устройства сопряжения микроконтроллера Atmega328 с сетью Ethernet представлена на рисунке 10:
Рисунок 10 - Структурная схема устройства сопряжения микроконтроллера Atmega328 с сетью Ethernet
Принципиальная схема устройства сопряжения микроконтроллера Atmega328 с сетью Ethernet представлена на рисунке 11.
Рисунок 11 - Принципиальная схема сопряжения Atmega328 с сетью Ethernet
Взаимодействие микроконтроллера Atmega328 с чипом ENC28J60 реализуется через SPI интерфейс. SPI - это последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI является наиболее часто используемым интерфейсом для соединения микросхем. В SPI используется четыре цифровых сигнала:
· MOSI (SI) - выход ведущего, вход ведомого. Служит для передачи данных от ведущего устройства ведомому.
· MISO (SO) - вход ведущего, выход ведомого. Служит для передачи сигналов от ведомого устройства ведущему.
· SCLK (SCK) - последовательный тактовый сигнал. Служит для передачи тактового сигнала для ведомых устройств.
· CS (SS) - выбор микросхемы, выбор ведомого.
Связь ведомого и ведущего устройства представлена на рисунке 12:
а) б)
Рисунок 12 - Сопряжение ведущего и ведомых устройств по шине SPI (а) - ведомые устройства объединены, б) ведомые устройства независимы)
3.2.3 Обоснование выбора Wi-Fi модуля
Wi-Fi чип должен удовлетворять следующим требованиям:
1) Поддерживать взаимодействие с микроконтроллером Atmega328 по интерфейсу SPI, что является наиболее предпочтительным при программировании.
2) Работать по стандарту беспроводных сетей IEEE 802.11. Это дает возможность взаимодействовать с системой с обычного ноутбука или wi-fi роутера без дополнительного трансивера.
3) Поддерживать передачу данных со скоростями бла-бла
4) Энергопотребление в пределах бла бла для обеспечения работоспособности системы длительное время.
5) Стоимость в пределах бла бла
На сегодняшний день наиболее популярными чипами Wi-Fi для микроконтроллеров являются чипы фирмы ZigBee, Microchip. Чипы фирмы Zigbee работают по стандарту IEEE 802.15. Для взаимодействия по стандарту Wi-Fi IEEE 802.11 необходимо реализовывать работу системы управления по следующей схеме, представленной на рисунке 13.
Рисунок 13 - Схема работы системы беспроводного удаленного управления с использованием чипа фирмы Zigbee
Данный вариант работы является неприемлемым, т.к. необходимо использовать дополнительный трансмиттер, что приводит к усложнению и увеличению стоимости разрабатываемой системы.
Вторым вариантом организации беспроводного удаленного управления системой является использование чипа компании Microchip. Наиболее предпочтительным чипом является чип MRF24WB0MA, технические характеристики которого представлены в таблице 3.
Таблица 3 - Технические характеристики чипа MRF24WB0MA
Название параметра |
Значение |
|
Интерфейс взаимодействия |
SPI (25 Mhz) |
|
Стандарт работы |
IEEE 802.11b |
|
Работа в диапазоне частот |
2.4 - 2.48 Ghz |
|
WEP |
64-128 bit |
|
Скорость передачи (максимальная) |
1 Mb/s |
|
Питание |
5 В |
|
Энергопотребление (спящий режим/прием/передача) |
250 мкА, 85 мА, 230 мА |
|
Температурный режим |
-20 / +85 °C |
Как видно из таблицы, технические характеристики полностью удовлетворяют поставленным требованиям. Структурная схема взаимодействия модуля Wi-Fi c блоком управления представлена на рисунке 14
Рисунок 14 - Структурная схема взаимодействия модуля Wi-Fi c блоком управления
Главные блоки модуля MRF24WB0MA:
1) Интерфейс взаимодействия с микроконтроллером - SPI
2) Flash-память, RAM, ROM
3) Трансивер, работающий на частоте 2.4 - 2.48 Ghz
4) Усилитель по мощности
5) Блок гальванической развязки
6) Антенна
Принципиальная схема Wi-Fi модуля представлена на рисунке 15.
Рисунок 15 - Принципиальная схема Wi-Fi модуля
Выбрав необходимый микроконтроллер, чип сопряжения с сетью Ethernet, Wi-Fi модуль можно уточнить структурную схему разрабатываемой системы (см. рис. 16)
Рисунок 16 - Структурная схема системы удаленного управления
На основании структурной схемы разработана принципиальная схема исполнительного устройства, представленная на рисунке 17 [3]
Рисунок 17- Схема электрическая принципиальная.
В качестве блока управления можно выбрать плату Arduino Uno, в состав которой входит микроконтроллер Atmega328. Технические характеристики модуля представлены в таблице 4.
Таблица 4 - Технические характеристики модуля Arduino Uno
Параметр |
Описание |
|
Микроконтроллер |
Atmega328 |
|
Сопряжение с ПК |
шина USB |
|
Аналоговые входы |
6 |
|
Цифровые входы - выходы |
14(6 из которых могут быть использованы как выходы ШИМ) |
|
Питание |
По шине USB, от внешнего источника через гнездо |
|
Рабочее напряжение |
5 В |
|
Входное напряжение |
7-12 В |
Arduino Uno является открытым проектом с открытыми схемами и библиотеками программ. Также вместе с модулем предоставляется среда разработки и отладки программ RAD, позволяющая писать программы для микроконтроллеров на языке высокого уровня С, тем самым облегчая, ускоряя процесс написания и отладки программ.
На рисунке 18представлены основные элементы модуля Arduino Uno
Рисунок 18 - Основные элемент модуля Arduino Uno
Обозначения в рисунку:
1 - интерфейс USB для сопряжения с ПК;
2 - разъем для подключения внешнего питания;
3 - стабилизатор напряжения;
4 - кварцевый резонатор в 16 МГц, задающий частоту для микроконтроллера Atmega328;
5 - кнопка сброса;
6 - ICSP интерфейс программирования микроконтроллеров;
7 - выводные контакты питания для дополнительно подключаемых модулей;
8 - аналоговые входы;
9 - цифровые входы/выводы для подключения внешних устройств;
10 - Atmega8U2 контроллер для обмена данными с ПК;
Принципиалная схема Arduino Uno представлена на рисунке 19:
Рисунок 19 - Принципиалная схема Arduino Uno
3.3 Описание исполнительного устройства
В качестве исполнительного устройства используется механическая машинка с закрепленной на ней Wi - Fi камерой для трансляции видео в браузер пользователя. Объект управления движется благодаря встроенным двум электрическим моторам, закрепленных на каждой оси колес.
Для управления электрическими моторами применяется драйвер мотора L293D фирмы Texas Instruments, принцип работы которого представлен на рисунке 20.
Рисунок 20 - Принцип работы драйвера мотора L293D
Таблица 5 - Назначение выводов микросхемы L293D
Номер вывода |
Назначение |
|
1,2 - Enable1,2 |
Входные управляющие сигналы, разрещающие работу моторов (ШИМ сигналы, позволяющие контролировать скорость вращения мотора) |
|
2,7,10,15 - Input 1,2,3,4 |
Входные управляющие сигналы для схемы, влияющие на направление вращение моторов |
|
3,6,11,14 - Output 1,2,3,4 |
Выходные управляющие сигналы для моторов, задающие направление вращения моторов |
|
8, 16 - Vs, Vss |
Питание схемы управления и оконечных каскадов силового драйвера |
|
4,5,12,13 - Gnd |
Заземление |
Питание схемы управления и оконечных каскадов силового драйвера раздельно, т.е. используется два источника питания, как показано на рисунке 21
Рисунок 21 - Схема питание драйвера мотора L293D
Предельные допустимые параметры и температурные характеристики микросхемы L293D представлены в таблице 6.
Таблица 6 - Предельные допустимые параметры и температурные характеристики микросхемы L293D
Обозначение |
Параметр |
Значение |
Ед.изм. |
|
Vcc1 (max) |
Максимальное напряжение питания микросхемы |
36 |
В |
|
Vcc2 (max) |
Максимальное выходное напряжение питания |
36 |
В |
|
VI |
Максимальное входное напряжение |
7 |
В |
|
Vout |
Диапазон выходного напряжения |
-3/+3 |
В |
|
Iout (peak) |
Пиковый выходной ток (не более 100 мс) |
±1.2 |
А |
|
Iout |
Максимальный выходной ток |
±600 |
mA |
|
Top |
Температура окружающей среды |
0 + 70 |
°C |
|
Tstr |
Температура хранения |
-65 +160 |
°C |
В таблице 7 представлена схема подачи управляющих сигналов на выводы драйвера L293D для управления вращением моторов.
Таблица 7 - Схема подачи управляющих сигналов на выводы драйвера L293D для управления вращением левого мотора.
Enable1 |
Input 1 |
Input 2 |
Состояние мотора |
|
1 |
1 |
1 |
Торможение |
|
1 |
1 |
0 |
Вращение влево |
|
1 |
0 |
1 |
Вращение вправо |
|
1 |
0 |
0 |
Торможение |
|
0 |
Не важно |
Не важно |
Отключен |
В таблице 8 представлена схема подключения драйвера L293D к микроконтроллеру Arduino Uno.
Таблица 8 - Схема подключения драйвера L293D к Arduino Uno
Номер вывода L293D |
Номер вывода Arduino Uno |
|
1 |
9 |
|
2 |
3 |
|
7 |
4 |
|
8 |
3V3 |
|
9 |
5 |
|
10 |
6 |
|
15 |
7 |
|
16 |
Внешний источник питания |
|
4,5,12,13 |
GND |
Для поворота камеры на определенный угол используется сервопривод SG - 90, технические характеристики которого представлены в таблице 9.
Таблица 9 - Технические характеристики сервопривода SG - 90
Параметр |
Значение |
|
Вес |
9 гр |
|
Размеры |
23*12*29 мм |
|
Крутящий момент (усилие) |
1,6 кг * см |
|
Время поворота на 60 градусов |
0,1 с |
Для подключения сервопривода к Arduino Uno используется 3 вывода: питание 5В, земля, управляющий вывод номер 8.
3.4 Разработка программного обеспечения
Средой моделирования работы устройства выбрана программа Proteus 7.7 [4], которая является мощным средством при разработке электронным устройств.
Программа создана компанией Labcenter Electronics на основе ядра SPICE3F5 университета Berkeley (Англия). Позволяет создавать устройства, начиная с его графического изображения (принципиальной схемы) и заканчивая изготовлением печатной платы устройства, с возможностью контроля на каждом этапе производства.
Proteus 7.7 включает в себя как простейшие аналоговые устройства, так и сложные системы. Доступна огромная библиотека моделей элементов, пополнить которую может сам пользователь. Достаточный набор инструментов и функций, среди которых вольтметр, амперметр, осциллограф, всевозможные генераторы, способность отлаживать программное обеспечение микроконтроллеров, делают Proteus удобным инструментом для проектирования и разработки схем.
Программа не прихотлива к системным требованиям. Как заявлено разработчиками работает в Windows 98/Me/2k/XP и выше. Для комфортной работы программы рекомендуется процессор с частотой не ниже 500 МГц, объем оперативной памяти 64 МБ, звуковая карта совместимая с DirectX и разрешение монитора не ниже 1024 х 768 точек.
Proteus состоит из двух самостоятельных программ: ISIS и ARES. ARES - это трассировщик печатных плат с возможностью создания своих библиотек корпусов - графическое изображение элемента принципиальной схемы. Основной программой является ISIS, в которой непосредственно происходит разметка печатной платы, а также отладка работы устройства.
Основное окно программы представлено на рисунке 22
Рисунок 22 - Основное окно программы Proteus
Рисунок 23 -Окно программы Proteus для 3D моделирования
3.5 Обоснование выбора компилятора
Написание программы при разработке электронного устройства с использованием современных компиляторов для языков программирования высокого уровня позволяет сократить затраты времени на разработку и получить четко и правильно работающую программу. Благодаря простым, наглядным и понятным функциям языков высокого уровня весомая часть интеллектуального потенциала программиста освобождается от сложностей программирования на ассемблере и начинает использоваться для проверки правильности работы программы в целом, оптимизации работы каждой конкретной функции, создания более дружественного интерфейса с пользователем и добавления новых функций, улучшающих потребительские свойства разрабатываемого электронного устройства.
В поставку модулю Arduino Uno входит среда для разработки программ для микроконтроллеров. Отлаженный программный код можно «зашить» непосредственно в кристалл микроконтроллера по шине USB, что является очень удобно и освобождает программиста от работы с специализированными программаторами.
Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню (см. рис. 24)
В функции компилятора входит автоматическая генерация программ. Он позволяет буквально за несколько минут получить работающую заготовку программы на Си.
Рисунок 24 - Среда разработки Arduino
Назначение кнопок управления программой представлены в таблице 10
Таблица 10 - Назначение кнопок управления программой
Выводы
На данном этапе выполнения дипломной работы были проанализированы существующие на сегодняшний день системы удаленного управления объектами. Подобные системы востребованы на рынке информационных технологий. В связи с этим разработка систем удаленного управления чрезвычайно актуальна, что является мотивацией для проектирования и создания новых исполнительных устройств.
На этапе разработки системы удаленного управления изучены средства моделирования устройств и программы для отладки программного кода, позволяющие ускорить процесс проектирования, программирования и тестирования разрабатываемой исполнительной системы.
Разработана структурная и принципиальная схема будующей системы удаленного управления. Выбран необходимый микроконтроллер для реализации поставленных задач на исполнительное устройство, чип для сопряжения системы с сетью Ethernet для осуществления удаленного управления.
Библиографический список
[1] Микроконтроллеры AVR семейства Mega. Руководство пользователя./А.В. Евстифеев
[2] http://pdf.eicom.ru/datasheets/microchip_pdfs/enc28j60/enc28j60.pdf
[3] http://www.rlocman.ru/shem/schematics.html?di=55059
[4] http://kazus.ru/nuke/modules/Downloads/pub/185/0/Manual%20PROTEUS.pdf
[5] Программирование на языке С для AVR и PIC микроконтроллеров / сост. Ю.А. Шпак - К.: «МК - Пресс», СПб.: «КОРОНА - ВЕК», 2011. - 544 с.
Размещено на Allbest.ru
Подобные документы
Назначение и применение микроконтроллеров - интегральных микросхем, предназначенных для управления электронными схемами. Описание способа адресации. Разработка программы, описание электрической и структурной схемы разрабатываемого микроконтроллера.
курсовая работа [177,6 K], добавлен 30.06.2014Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Разработка структурной схемы и обобщенного алгоритма работы прибора. Оценка максимальной погрешности линейного датчика давления и нормирующего усилителя. Разработка элементов принципиальной электрической схемы микропроцессорной системы сбора данных.
курсовая работа [2,1 M], добавлен 08.02.2015Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013Распределение функций между аппаратной и программной частями микропроцессорной системы. Выбор микроконтроллера, разработка и описание структурной, функциональной и принципиальной схемы. Выбор среды программирования, схема алгоритма и листинг программы.
курсовая работа [304,4 K], добавлен 17.08.2013Разработка принципиальной схемы, выбор управляющего микроконтроллера. Общий алгоритм работы программы. Блок анализа и реализации команд, принятых от персонального компьютера. Описание используемых интерфейсов. Формат данных RS-232C, листинг программы.
курсовая работа [1,2 M], добавлен 26.12.2012Виды терморегуляторов и их общее устройство. Разработка устройства для управления микроклиматом в теплице. Возможные варианты модернизации системы контроля температуры. Блок инициализации микроконтроллера. Разработка структурной схемы работы программы.
курсовая работа [1,8 M], добавлен 27.05.2015Основные параметры устройства отображения информации. Обоснование выбора используемых ресурсов микроконтроллера и схемы включения. Разработка схемы алгоритма. Описание и отладка программы. Схема электрическая принципиальная и листинг трансляции программы.
курсовая работа [121,3 K], добавлен 12.12.2014Прокатный стан и его оборудование, их основные типы и характеристики. Автоматизация технологического процесса. Разработка принципиальной схемы, выбор управляющего микроконтроллера. Алгоритм программы управления. Описание используемых интерфейсов.
курсовая работа [1,4 M], добавлен 26.12.2012Описание функциональной схемы контроллера системы отопления, обеспечивающего многопозиционный контроль температуры и управление ветками отопления и котлом. Разработка принципиальной схемы. Обоснование выбора. Алгоритм работы устройства. Листинг программы.
курсовая работа [1,1 M], добавлен 26.12.2012