Система сбора данных и управления
Создание аппаратно-программных средств для системы сбора данных и управления с использованием локальной сети. Предметная область системы, ее структурная схема. Описание рабочих алгоритмов, выбор аппаратной платформы. Тестирование разработанной системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 29.05.2015 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
"НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ "МЭИ"
Кафедра: Вычислительной техники
Направление: 230100-Информатика и вычислительная техника
Специальность: Автоматизированные системы обработки информации и управления
ДИПЛОМНЫЙ ПРОЕКТ
СИСТЕМА СБОРА ДАННЫХ И УПРАВЛЕНИЯ
Студент:
Панков Игорь Александрович
Руководитель дипломного проекта
к. т. н., доцент
Аверченков Олег Егорович
Аннотация
Данный дипломный проект написан студентом группы АС-07 Панковым Игорем Александровичем.
Тема дипломного проекта: "Система сбора данных и управления".
Пояснительная записка к дипломному проекту состоит из 5 разделов и 4 приложений на 107 страницах. Включает: 3 таблицы, 34 рисунков.
Дипломный руководитель: Аверченков Олег Егорович.
Разработана система сбора данных и управления. Система представляет собой устройство, имеющее сетевой интерфейс, 4 канала управления, канал сбора данных температуры, 4 канала сбора данных состояния контактных датчиков. Данная система имеет в своем составе встроенный WEB - сервер, взаимодействуя с которым пользователь системы осуществляет сбор данных и управление подключенными устройствами. Взаимодействие ведется через любой браузер, установленный на компьютере пользователя. Благодаря наличию сетевого интерфейса расстояние взаимодействия с системой практически не ограничено.
Система реализована в среде разработки Keil uVision 4 с использованием технологий Ajax, HTML, CSS.html - страницы и текстовые данные разработаны в Notepad++.
Содержание
- Аннотация
- Введение
- 1. Обоснование разработки системы
- 1.1 Описание предметной области
- 1.2 Анализ аналогов и прототипов
- 1.3 Подтверждение необходимости и актуальности проектирования
- 1.4 Постановка задачи проектирования
- 1.5 Перечень задач, подлежащих решению в процессе разработки
- 1.6 Средства решения поставленной задачи
- Выводы по разделу
- 2. Разработка проекта системы
- 2.1 Выбор и обоснование структурной схемы
- 2.2 Описание принципа действия системы по структурной схеме
- 2.3 Выбор аппаратной части системы
- 2.3.1 Выбор архитектуры микроконтроллера
- 2.3.2 Выбор аппаратной платформы для системы
- 2.3.3 Выбор JTAG отладчика
- 2.3.4 Выбор датчиков и исполнительных устройств
- 2.4 Выбор средств проектирования и разработки
- 2.4.1 Выбор среды проектирования основной программы
- 2.4.2 Выбор среды проектирования содержимого WEB-сервера
- 2.5 Разработка рабочих алгоритмов системы
- 2.5.1 Общий алгоритм работы системы сбора данных и управления
- 2.5.2 Алгоритм запуска управляющей программы
- 2.5.3 Алгоритм обработки запроса
- 2.6 Разработка интерфейса взаимодействия с пользователем
- Выводы по разделу
- 3. Реализация проекта системы
- 3.1 Создание программного обеспечения
- 3.1.1 Создание основной программы микроконтроллера
- 3.1.2 Создание файлов содержимого WEB-сервера
- 3.2 Сборка проекта и отладка
- 3.3 Загрузка программного обеспечения в микроконтроллер
- 3.4 Тестирование программного обеспечения системы
- 3.4.1 Тестирование датчика температуры
- 3.4.2 Тестирование получения сетевого адреса
- 3.5 Рекомендации по эксплуатации системы
- 3.6 Руководство пользователя системы
- Выводы по разделу
- 4. Технико-экономическое обоснование разработки
- 4.1 Расчет себестоимости системы сбора данных и управления
- 4.2 Оценка эффективности системы сбора данных и управления
- Выводы по разделу
- 5. Рекомендации по безопасности жизнедеятельности и экологии
- 5.1 Общие сведения об освещенности рабочих мест
- 5.2 Порядок проведения аттестации рабочих мест по условиям освещенности
- Выводы по разделу
- Заключение
- Список использованных источников
- Приложение А. Текст основного модуля HTTP_main. c
- Приложение Б. Текст файла CGI contacts. cgi
- Приложение В. Текст файла JavaScript xml_http. js
- Приложение Г. Текст файла CSS style. css
Введение
Существует достаточно много систем, позволяющих решить проблему сбора данных и управления, но почти все они рассчитаны на специфические условия работы и функционирования, предполагают дорогостоящее оборудование и большие затраты на внедрение и настройку системы. Поэтому возникает потребность в недорогом устройстве, которое могло бы выполнять функции контроля и управления удаленного объекта, путем подключения устройства и взаимодействия с ним через обычную локальную сеть. При этом очень часто к такой системе не предъявляется жестких требований. Очень важно обеспечить основные функциональные возможности при минимуме затрат на разработку, внедрение и эксплуатацию, а также возможную дальнейшую модернизацию системы.
Целью данного дипломного проекта является создание аппаратно-программных средств для системы сбора данных и управления с использованием локальной сети.
Для достижения поставленной цели необходимо решить следующие задачи:
1) изучить и описать предметную область разрабатываемой системы;
2) изучить существующие аналоги разрабатываемой системы;
3) подтвердить необходимость и актуальность проектирования;
4) поставить задачи проектирования системы;
5) выбрать средства решения поставленной задачи;
6) разработать структурную схему системы;
7) разработать рабочие алгоритмы системы и описать их;
8) выбрать аппаратную платформу для разрабатываемой системы
9) реализовать алгоритмы и проект системы в выбранной среде проектирования;
10) провести тестирование разработанной системы;
11) рассчитать экономическую стоимость и эффективность разработанной системы;
12) дать рекомендации по рациональной организации рабочего места оператора ПК;
13) дать подробную характеристику полученным результатам.
Для решения поставленных задач и достижения целей была изучена специализированная литература и детально проанализированы процессы сбора данных и управления: проведены консультации с операторами, наблюдающими за технологическими процессами и ходом работы. Для реализации системы была изучена доступная информация о проектировании электронных устройств и написания программного обеспечения для них на языке программирования C. Также были изучены такие технологии как HTML, Ajax, JavaScript, CSS, потому что они активно использовались при реализации проекта системы.
Данная расчетно-пояснительная записка представлена в пяти частях.
В первой части обоснована разработка данной системы. Подробно описана предметная область и область применения системы. Изучены имеющиеся продукты, способные послужить аналогами разрабатываемой системы. Поставлена задача проектирования и рассмотрены средства ее решения.
Во второй части описана разработка проекта системы. Был описан выбор структурной схемы, описан принцип действия по структурной схеме, была выбрана аппаратная платформа для системы. Также были описаны средства проектирования разрабатываемой системы и рабочие алгоритмы.
В третьей части реализован проект системы. Была создана основная программа для микроконтроллера, а также содержимое встроенного WEB - сервера. Произведена сборка и отладка проекта. Программное обеспечение было загружено в микроконтроллер. Проведено тестирование системы и описаны полученные результаты тестирования.
алгоритм программный локальная сеть
В четвертой части проведен расчет экономической стоимости и эффективности разработанного продукта "Система сбора данных и управления".
В пятой части представлены рекомендации по рациональной организации рабочего места оператора системы. В частности, рассмотрены общие требования к освещенности рабочих мест.
1. Обоснование разработки системы
1.1 Описание предметной области
В современной технике очень часто возникает задача сбора информации с датчиков и управления исполнительными устройствами и механизмами. Такие задачи могут возникнуть в самых разных областях человеческой деятельности. Охранные сигнализации, управление технологическими процессами, производством, соблюдение заданных технологических условий, измерение различных параметров и величин. При этом очень часто проведение сбора информации с датчиков и управление исполнительными устройствами сопряжено с необходимостью постоянного присутствия человека, возможности которого ограничены. Также нередко возникает ситуация ограниченного расстояния, на котором можно собирать данные и управлять устройствами. Кроме того, нередки случаи, когда человек из-за своих физиологических особенностей и/или условий окружающей среды не имеет возможности осуществлять поставленные задачи. В этом случае на помощь ему приходят удаленные системы сбора информации с датчиков и управления исполнительными устройствами. Такие системы лишены большей части описанных проблем.
Также немаловажно расстояние, на котором система сбора данных и управления способна выполнять поставленные ей задачи. Это расстояние должно быть достаточным для осуществления поставленных задач.
Таким образом, разрабатываемая система сбора данных и управления может найти широкое применение в различных областях человеческой деятельности. Она может выполнять задачи сбора данных и управления при небольших затратах на саму систему и обеспечение ее функционирования.
Можно рассмотреть процесс сбора данных и управления на примере, технологического процесса. Обычно технологический процесс включает в себя слежение за определенными параметрами этого процесса. Также этот процесс необходимо контролировать и управлять им. Для всех этих действий необходим оператор, который должен следить за технологическим процессом. При этом очень часто контролируемый процесс и объект управления может находиться в неблагоприятной среде или на значительном удалении от центра предприятия. Поэтому оператор будет вынужден тратить время на перемещение. Также ему может угрожать опасность со стороны неблагоприятной среды, в которой протекает технологический процесс. Присутствие оператора также экономически невыгодно предприятию.
Поэтому все чаще применяют системы удаленного управления и сбора данных, которые часто могут работать автономно без участия оператора. Либо для таких систем необходим всего один оператор, который сможет следить за несколькими технологическими процессами, находясь на значительном расстоянии от места протекания этих процессов. Другими словами эти системы упрощают и удешевляют обеспечение бесперебойной работы и успешное протекание технологических процессов.
Поэтому разработка таких систем является актуальной в условиях все большей автоматизации производства, развития информационных технологий и их внедрения во все сферы жизни общества.
1.2 Анализ аналогов и прототипов
Область применения систем сбора данных и управления практически ничем не ограничена в рамках выполняемых задач. Такие системы можно применять как в быту, так и на производстве. При этом в быту такие системы применяются довольно редко из-за специфики выполняемых ими функций.
На рынке присутствует достаточное количество готовых систем, ориентированных на выполнение задач сбора данных и управления. Среди всех систем этого типа можно выделить некоторые, наиболее часто встречающиеся.
Система сбора данных и управления "КРЕЙТОВАЯ СИСТЕМА LTR" [1]. Система выполняет задачи сбора данных управления в промышленных сетях. Она может иметь интерфейсы взаимодействия с пользователем Ethernet и USB. Данная система имеет модульную структуру и может комплектоваться различными модулями согласно поставленных перед ней задач. Система разработана фирмой "Л Кард". Система построена на базе крейта, к которому подключаются необходимые модули.
Основным приоритетом данной системы являются улучшенные технико-экономические показатели. Применение унифицированных интерфейсов USB 2.0 и Fast Ethernet, а также возможность использования крейтов с различным количеством установочных мест для измерительных модулей позволяет с оптимальными технико-экономическими параметрами реализовывать широкий спектр систем с различным числом измерительных каналов. Конфигурируемая модульная конструкция и развернутая линейка универсальных и специализированных модулей АЦП, ЦАП и дискретного ввода-вывода обеспечивает возможность построения систем с различным сочетанием контролируемых параметров, обеспечивает сбор данных с широкого спектра унифицированных индустриальных датчиков.
Основные особенности системы:
- модульный принцип формирования и функционирования;
- большое разнообразие подключаемых модулей;
- гибкость конфигурирования;
- наличие фирменного программного обеспечения.
Система сбора данных и управления "ioLogik 4000" [2]. Данная система предоставляет компьютерам или контроллерам возможность удаленно, посредством сетей Ethernet или RS-232/485, работать с сигналами аналогового или дискретного ввода/вывода. Поддержка стандартного протокола Modbus делает данную систему совместимой с большинством SCADA-систем. В одной системе может быть до 32 модулей ввода/вывода: до 512 дискретных или до 124 аналоговых каналов. Утилита настройки и мониторинга автоматически находит все подключенные коммуникационные модули.
Основные особенности системы:
- модульный принцип формирования и функционирования;
- возможность автономного питания;
- наличие фирменного программного обеспечения.
- поддержка технологии SCADA.
На рынке представлены и другие системы с похожими характеристиками и особенностями.
На основе обзора похожих по функциональности систем, можно построить общую схему обмена данными разрабатываемой системы. Схема показана на рисунке 1.1.
Разрабатываемая система имеет следующие основные особенности:
- взаимодействие с пользователем через WEB браузер;
- низкая стоимость аппаратной платформы системы за счет использования готовой отладочной платы;
- широкие возможности по дальнейшей модернизации и наращиванию функционала системы;
- возможность питания системы из различных источников;
- возможность быстрого изменения внутреннего программного обеспечения контроллера;
- высока помехоустойчивость.
1.3 Подтверждение необходимости и актуальности проектирования
Во многих сферах человеческой деятельности есть объекты и процессы, требующие к себе внимания человека, который должен следить за теми или иными параметрами и основываясь на этих параметрах, оказывать на объект управляющее воздействие. Проблема заключается в том, что очень часто человек не может находиться непосредственно рядом с объектом управления по тем или иным причинам. Причины могут быть самыми разнообразными. Это может быть физическая невозможность присутствия человека. Или экономическая нецелесообразность такого присутствия. Также возможны и многие другие причины. В связи с этим, человек постоянно стремится сконцентрировать управление объектами или процессами в одном месте и возложить часть задач по управлению на технику, которая постоянно развивается. Это приводит к развитию технических систем, способных собирать данные, обрабатывать их, и отображать эти данные в удобной для человека форме с одной стороны, и принимать управляющее воздействие от человека и применять его к объекту управления с другой стороны. Соответственно возникает необходимость разрабатывать новые системы сбора данных и управления и совершенствовать и модернизировать имеющиеся.
Стоит также отметить, что многие системы сбора данных и управления функционируют в составе локальных вычислительных сетей, в которых происходит обмен данными с другими подобными системами. Это позволяет централизировать управление. В настоящее время в качестве стандарта локальных вычислительных сетей выступает технология Ethernet [3], которую применяют, в том числе в промышленных целях. Поэтому разработка и проектирование систем сбора данных и управления, способных функционировать в составе вычислительной сети стандарта Ethernet, является актуальной. Такие системы находят широкое применение в промышленности, в военной сфере, в коммерции и могут применяться, в том числе для личного использования.
1.4 Постановка задачи проектирования
Необходимо разработать систему сбора данных и управления, позволяющую получать данные из внешних датчиков и управлять подключенными устройствами посредством смены состояния канала управления. Проектируемая система должна отвечать следующим характеристикам:
- простой интерфейс взаимодействия с пользователем;
- отсутствие необходимости установки стороннего программного обеспечения;
- низкая стоимость конечной системы;
- низкая стоимость разработки системы;
- высокое быстродействие;
- динамическое изменение информации на экране оператора.
1.5 Перечень задач, подлежащих решению в процессе разработки
В ходе разработки системы сбора данных и управления, необходимо решить ряд задач. Из всех задач, подлежащих решению необходимо выделить следующие основные задачи:
- определение требований к аппаратной платформе;
- выбор необходимого микроконтроллера и архитектуры;
- выбор подходящей аппаратной платформы;
- словесное описание функционирования системы;
- разработка алгоритма функционирования системы;
- реализация программного обеспечения системы;
- выбор подходящего стека TCP/IP;
- разработка содержимого WEB сервера;
- загрузка программного обеспечения в систему;
- тестирование модулей реального времени и отображения.
1.6 Средства решения поставленной задачи
Согласно техническому заданию требуется программное обеспечение для микроконтроллера, входящего в состав системы, а также разработать содержимое WEB сервера, встроенного в систему. Необходимо предусмотреть возможность изменения программного обеспечения микроконтроллеров. Среда разработки программного обеспечения для микроконтроллеров должна быть достаточно эффективной и удобной для написания и дальнейшего сопровождения написанной программы.
Предполагается также использовать средства отладки и тестирования на первоначальном этапе и выявления ошибок разработки программной части.
Была выбрана среда разработки программного обеспечения для микроконтроллера Keil uVision 4 [5]. Данная среда достаточно функциональна и позволяет получать работающую прошивку за небольшой период разработки. Также в этой среде есть мастер создания проекта, позволяющий еще на этапе выбора типа микроконтроллера, создать заготовки для будущих функций и подключить необходимые заголовочные файлы.
В качестве отладочного средства был выбран внутрисхемный JTAG [6] отладчик CoLinkEx [7]. Данный отладчик обеспечивает загрузку программного обеспечения в микроконтроллер и пошаговую отладку кода в микроконтроллере. При этом также возможно непосредственное управление почти всеми ресурсами микроконтроллера во время отладки.
Выводы по разделу
Целью написания первой главы пояснительной записки было подробное изучение общих сбора данных и управления. В частности применительно к технологическим процессам.
Далее были рассмотрены существующие аналоги и прототипы разрабатываемой системы. Изучены недостатки и достоинства каждой системы, основываясь на которых, мы обосновали необходимость и актуальность разрабатываемой системы.
В результате проделанной работы была поставлена задача проектирования и средства решения поставленной задачи. Программное обеспечение для системы предстоит реализовать средствами среды проектирования Keil uVision 4. Серверную часть системы предстоит реализовать с использованием технологий HTML, CSS, JavaScript, Ajax, CGI.
2. Разработка проекта системы
2.1 Выбор и обоснование структурной схемы
В соответствии с техническим заданием и задачами, которые необходимо решить в процессе разработки, структурная схема системы сбора данных и управления включает в себя следующие основные блоки:
- ОВМ (Однокристальная вычислительная машина) далее также микроконтроллер [8], предназначенная для управления подключенной периферией, обработки поступающей от датчиков информации, управления сетевым интерфейсом;
- датчики, предназначены для преобразования контролируемой величины в электрический сигнал;
- исполнительные устройства, предназначены для получения команд от ОВМ на исполнение каких - либо действий;
- виртуальная файловая система, предназначена для хранения HTML страниц, выдаваемых встроенным WEB сервером;
- сетевой интерфейс, предназначен для связи микроконтроллера с локальной вычислительной сетью, получения и передачи данных из нее.
Структурная схема, объединяющая все эти блоки, показана на рисунке 2.1
Структурная схема достаточно проста. Она наглядно показывает состав разрабатываемой системы и ее основные блоки. Функционирование всей системы основано на взаимодействии между этими блоками.
2.2 Описание принципа действия системы по структурной схеме
Система сбора данных и управления строится на основе ОВМ. ОВМ управляет всеми компонентами устройства, осуществляет обработку поступающей информации и выдачу результата этой обработки. В ОВМ загружено программное обеспечение, реализующее требуемый алгоритм работы.
При подаче питания, происходит аппаратный сброс, и микроконтроллер начинает выполнять загруженную в него программу. Сразу после сброса происходит настройка и инициализация периферийных устройств микроконтроллера, настройка и инициализация портов ввода/вывода.
После этого микроконтроллер выполняет процедуру настройки и инициализации сетевого интерфейса, предназначенного для связи с локальной сетью. Далее он инициализирует подключенные датчики и пытается получить от них необходимую информацию. После этого микроконтроллер пытается получить сетевой адрес, используя сетевую службу DHCP [9] (Динамическое получение сетевых адресов). Если адрес не получен, то микроконтроллер настраивает сетевой интерфейс на адрес по умолчанию (192.168.1.136). Далее происходит инициализация виртуальной файловой системы и WEB сервера и запуск подпрограммы ответа на сетевые запросы.
При получении по локальной сети посредством сетевого интерфейса пакета данных, микроконтроллер анализирует его и в зависимости от результатов этого анализа, выдает ответную информацию, которая передается в локальную вычислительную сеть. Если браузер пользователя системы первый раз обращается к системе по ее адресу или сетевому имени NetBIOS [10], то микроконтроллер выдает браузеру главную страницу управления системы, которая читается из виртуальной файловой системы. Далее пользователь может выбрать на этой странице необходимую ему опцию, тем самым передав микроконтроллеру информацию об этом через браузер. Некоторые HTML страницы формируются динамически, и их содержимое зависит от состояния датчиков и самой ОВМ. Если в переданной пользователем информации, содержаться данные о необходимости изменения состояния исполнительных устройств, то ОВМ меняет состояние соответствующего исполнительного устройства.
2.3 Выбор аппаратной части системы
2.3.1 Выбор архитектуры микроконтроллера
Микроконтроллер - это микросхема, предназначенная для управления электронными устройствами. Обычный микроконтроллер сочетает в себе функции процессора и периферийных устройств, содержит ОЗУ или ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.
На рынке представлено достаточно много семейств микроконтроллеров. Различные семейства отличаются архитектурой, системой команд, количеством периферийных устройств, разрядностью команд и данных, вычислительной мощностью и другими параметрами. Многие микроконтроллеры выполняют специализированные функции, и их область применения достаточно сильно ограничена.
Основным элементом разрабатываемого устройства также является микроконтроллер, выполняющий все функции по управлению устройством по заданному алгоритму.
При выборе архитектуры микроконтроллера для системы сбора данных и управления, учитывались следующие основные требования:
- наличие эффективных компиляторов языка программирования Си;
- наличие документации и литературы, а также других источников информации;
- достаточное быстродействие и эффективность для успешного выполнения программного кода;
- простота отладки программного кода;
- большой выбор готовых микроконтроллеров, использующих данную архитектуру;
- эффективные механизмы работы с памятью;
- достаточная распространенность для массового применения.
Указанным требованиям больше всего подходит архитектура ARM фирмы ARM Limited [11]. Данная архитектура соответствует всем предъявляемым требованиям и полностью подходит для разрабатываемой системы. Архитектура ARM является архитектурой с сокращенным набором команд (RISC). Она представлена 32 и 64 битными решениями. ARM имеет развитую эффективную систему команд, средства работы с памятью, современные технологии безопасного выполнения кода, развитые технологии отладки. Стоит также отметить огромную распространенность данной архитектуры среди современных электронных устройств, из которой следует наличие широкого выбора как самих микроконтроллеров, так эффективных средств разработки программного обеспечения для них.
Производительность процессоров и микроконтроллеров, построенных по данной архитектуре, уже вплотную приближается к производительности младших процессоров для настольных компьютеров, поэтому нет сомнений в высокой производительности данной архитектуры.
Данная архитектура постоянно развивается и совершенствуется, а вместе с ней совершенствуются средства разработки.
Процессоры и микроконтроллеры ARM представлены на рынке несколькими семействами. Некоторые из них являются уже устаревшими, некоторые пока экспериментальными. Наиболее оптимальным является выбор семейства, достаточно современного и при этом широко представленного на рынке микроконтроллеров. Одним из таких семейств является семейство Cortex M3. Данное семейство имеет широкую поддержку производителями микроконтроллеров и процессоров, а также производителями программного обеспечения для проектирования и разработки. При этом микроконтроллеры этого семейства достаточно дешевы. Данное семейство и было выбрано для разработки системы сбора данных и управления.
2.3.2 Выбор аппаратной платформы для системы
Выбрав архитектуру и семейство микроконтроллера для разрабатываемой системы, следует выбрать аппаратную платформу для нее. Этот выбор включает выбор конкретного микроконтроллера и необходимых радиоэлементов.
Аппаратная платформа для системы сбора данных и управления должна соответствовать следующим основным требованиям:
- достаточное количество выводов для взаимодействия с другими элементами системы;
- микроконтроллер семейства Cortex M3;
- наличие у микроконтроллера аппаратных средств отладки через интерфейс JTAG;
- наличие у микроконтроллера достаточного количества флэш - памяти, необходимого для хранения WEB страниц и программного кода;
- наличие у микроконтроллера достаточного количества оперативной памяти для быстрого выполнения программного кода;
- наличие документации на микроконтроллер и литературы, а также других источников информации;
- наличие у микроконтроллера встроенного интерфейса MAC Ethernet для сетевого взаимодействия, исходя из условий задачи;
- реализация физического уровня сетевого интерфейса Ethernet;
- разъем для подключения сетевого кабеля;
- достаточное быстродействие и тактовая частота микроконтроллера для успешного выполнения программного кода;
- кварцевый резонатор для стабильной работы микроконтроллера и прогнозируемых временных задержек;
- доступность микроконтроллера в свободной продаже;
- наличие программатора, позволяющего быстро загружать созданное программное обеспечение в микроконтроллер;
- стабилизаторы питания и наличие соответствующих разъемов на плате;
- наличие контактов для подключения датчиков и исполнительных устройств;
- наличие интерфейса RS232 для вывода отладочной и диагностической информации;
- наличие микросхемы преобразователя уровней для интерфейса RS232.
Проанализировав данные требования, а также требования к внутрисхемной обвязке микроконтроллеров семейства Cortex M3, становится понятно, что разработка принципиальной схемы и изготовление печатной платы для системы сбора данных и управления является довольно затратной задачей. Это становится очевидно, если учитывать, что данное устройство делается пока в единичном экземпляре и имеет в своем составе компоненты, рыночная стоимость которых неоправданно высокая в малосерийных партиях. Поэтому был рассмотрен вариант использования представленных на рынке отладочных плат, соответствующих заданным условиям.
К рассматриваемых на рынке отладочным платам кроме вышеперечисленных условий предъявлялись требования надежности, дешевизны и доступности.
Всем предъявленным требованиям соответствовали отладочные платы фирмы Starterkit. Данная фирма занимается изготовлением отладочных плат достаточно продолжительное время и имеет широкий ассортимент отладочных плат, имеющих различные типы микроконтроллеров и наборы радиокомпонентов на плате.
Проанализировав ассортимент вышеназванной фирмы, была выбрана отладочная плата SK-LPC1778 [12]. Данная плата полностью отвечает предъявленным требованиям и имеет множество дополнительных компонентов, что дает возможным в дальнейшем расширить функциональность разрабатываемой системы сбора данных и управления. Также данная плата имеет достаточно низкую стоимость, сравнимую со стоимостью радиодеталей, входящих в ее состав, при условии покупки этих радиодеталей в розничной торговле. Выбранная отладочная плата имеет следующие особенности:
- базовый микроконтроллер NXP LPC1778 имеющий ядро ARM Cortex-M3, 512 килобайт флэш - памяти для программ, 98 килобайт статической оперативной памяти, аппаратный интерфейс Ethernet RMII, интерфей;
- реализован физический уровень сетевого интерфейса Ethernet;
- разъем для подключения сетевого кабеля;
- реализованы интерфейсы CAN, RS232, I2C, на плате имеются соответствующие разъемы;
- имеется держатель батареи для автономного питания часов реального времени, встроенных в микроконтроллер;
- имеется держатель карты памяти формата microSD, подключенный к микроконтроллеру;
- имеются 2 разъема USB различных типов;
- имеется стандартный отладочный разъем JTAG;
- реализованы схемы электропитания микроконтроллера и периферии, реализована возможность питания от интерфейса USB;
- имеется внешний разъем питания;
- на плату выведена 91 линия ввода - вывода микроконтроллера, для подключения внешних устройств.
Таким образом, в качестве аппаратной платформы для разрабатываемой системы сбора данных и управления была выбрана отладочная плата SK-LPC1778 фирмы Starterkit, отвечающая всем поставленным требованиям к аппаратной платформе. Выбор в качестве аппаратной платформы отладочной платы упрощает разработку и отладку системы за счет минимизации ошибок проектирования аппаратной части, упрощает задачу масштабирования системы и ее модернизации. Также исключается необходимость разработки принципиальной электрической схемы системы и проектирования и изготовления печатной платы системы. Все это приводит к более низкой стоимости разрабатываемой системы и к необходимости разработки и отладки только программного обеспечения к ней. Отладочная плата SK-LPC1778 показана на рисунке 2.2.
2.3.3 Выбор JTAG отладчика
При разработке программного обеспечения для микроконтроллеров семейства Cortex M3, как и для других микроконтроллеров в большинстве случаев необходимо использовать JTAG отладчик [6]. Такой отладчик поддерживает отладку программного кода непосредственно в самом микроконтроллере в реальном масштабе времени и позволяет менять состояние большинства регистров микроконтроллера и состояние ячеек памяти. В простых случаях можно обойтись без отладчика, воспользовавшись встроенным в большинство сред разработки эмулятором. Обычный эмулятор способен эмулировать выполнение написанной программы, но его быстродействие ограничено, и обычно он не способен учитывать реальных особенностей функционирования физического микроконтроллера. Это часто приводит к тому, что в эмуляторе программный код выполняется верно, и с предсказуемым результатом, а в реальном микроконтроллере программа выполняется неверно. Но также возможна и обратная ситуация. Подводя итог, можно с уверенностью утверждать, что для полноценной отладки и разработки качественного и проверенного программного обеспечения для системы сбора данных и управления необходим аппаратный отладчик с интерфейсом JTAG [6].
Обычно отладчик совмещает также в себе функцию программатора. Это логично, потому что для отладки программы ее необходимо предварительно загрузить в микроконтроллер. Загрузка программного обеспечения через интерфейс JTAG выгодно отличается от загрузки через аппаратный загрузчик и последовательный порт скоростью самой загрузки. Поэтому становится ясно, что современный отладчик помогает также в загрузке созданного программного обеспечения в целевой микроконтроллер.
Для упрощения разработки и отладки программного обеспечения для системы сбора данных и управления, а также для его загрузки в целевой микроконтроллер необходим отладчик - программатор.
При этом он должен соответствовать ряду минимальных требований:
- наличие интерфейса USB для подключения к персональному компьютеру;
- компактность самого отладчика;
- низкая стоимость;
- высокая скорость интерфейса JTAG;
- поддержка популярных сред проектирования;
- удобство настройки и использования.
В настоящее время на рынке присутствует довольно много отладчиков - программаторов с интерфейсом JTAG. Среди них можно выделить несколько устройств, в той или иной степени отвечающих заданным требованиям.
ULINK2. Является фирменным отладчиком для среды проектирования Keil uVision с интерфейсом USB. Поддерживает большое число семейств микроконтроллеров, в том числе с архитектурой отличной от ARM. Также среди преимуществ этого отладчика стоит отметить высокую скорость JTAG вплоть до 10 MHz. Имеет относительно высокую стоимость и работает только в своей среде разработки Keil uVision.
J-Link. Является отладчиком с интерфейсом USB и разработан фирмой IAR Systems. Поддерживает большое число семейств микроконтроллеров с ядром ARM. Также среди преимуществ этого отладчика стоит отметить высокую скорость JTAG вплоть до 10 MHz. Недостатками является высокая стоимость данного отладчика и необходимость фирменного программного обеспечения несовместимого с другими JTAG отладчиками.
SEGGER. Является клоном отладчика J-Link. Имеет намного более низкую стоимость и не привязан к фирменному программному обеспечению.
CoLinkEx. Разработан компанией CooCox. Является отладчиком с интерфейсом USB. Поддерживает большое число семейств микроконтроллеров с архитектурой ARM. Имеет в своем составе программное обеспечение, поддерживающее большинство популярных сред разработки для микроконтроллеров с архитектурой ARM. Имеет низкую стоимость. Также стоит отметить, что данный отладчик имеет открытое программное обеспечение и свободен для копирования. Поэтому любой желающий может собрать данный отладчик самостоятельно без нарушения правил лицензирования.
Среди вышеперечисленных отладчиков был выбран CoLinkEx как наиболее полно отвечающий первоначально заданным требованиям и имеющий низкую стоимость. Также данный отладчик примечателен тем, что имеет простую схему лицензирования, допускающую его копирование и модификацию. На рисунке 2.3 представлена одна из модификаций данного отладчика.
2.3.4 Выбор датчиков и исполнительных устройств
Система сбора данных и управления согласно техническому заданию должна собирать информацию с датчиков, иметь возможность передать эту информацию пользователю, а также должна управлять исполнительными устройствами.
Для демонстрации ее работы необходимо выбрать датчики и исполнительные устройства. При этом данные элементы системы должны наглядно демонстрировать ее возможности.
В качестве датчика температуры был выбран цифровой датчик температуры DS18B20 фирмы Dallas Semiconductor [13]. Отличительными особенностями данного датчика являются:
- интерфейс взаимодействия 1 - Wire;
- низкое энергопотребление;
- высокая точность измерения температуры;
- диапазон измеряемой температуры от - 55° C до +125° C;
- программируемая точность измерения от 9 до 12 бит;
- уникальный серийный номер для адресации;
- настраиваемые температурные пороги срабатывания режима тревоги;
- возможность объединения нескольких датчиков в сеть.
Фактически данный цифровой датчик представляет собой микроконтроллер с аналоговым датчиком температуры и аналого - цифровым преобразователем. Он может принимать команды от управляющего микроконтроллера и отвечать ему.
Данный датчик позволяет измерять температуру с настраиваемой точностью и может функционировать на значительном расстоянии от управляющего микроконтроллера. При этом отправка и получение данных осуществляется по одному проводу и существует возможность получения электропитания от этого же провода. Это позволяет использовать для подключения датчика всего 2 провода: сигнальный и общий (земля). Это экономит количество выводов микроконтроллера и потребляемую энергию. Также, учитывая наличие уникального 64 - битного адреса у каждого датчика, возможно подключение несколько датчиков к одному выводу микроконтроллера, но при этом существенно усложняется программный код для работы с датчиками. К системе сбора данных и управления возможно подключение нескольких таких датчиков к различным выводам микроконтроллера. Это потребует незначительной модификации программного кода системы. В целях демонстрации система сбора данных и управления функционирует с одним датчиком.
В качестве контактных датчиков выступают обычные проводные линии в количестве 4 штук, замыкаемые на общий провод при срабатывании. Это значит, что вывод микроконтроллера, отвечающий за конкретный контактный датчик, может иметь 2 состояния: "подключен к общему проводу (земле)" и "не подключен". При этом данный вывод микроконтроллера имеет активированный подтягивающий резистор для исключения влияния помех и ложных срабатываний. Соответственно управляющая программа опрашивает состояние этого вывода микроконтроллера и соответственно контактного датчика. При сработавшем контактном датчике управляющая программа обнаружит на выводе низкий логический уровень, в противном случае обнаружит высокий логический уровень.
В качестве исполнительных устройств были выбраны светодиоды красного цвета в количестве 4 штук. Это было сделано по причине наглядности и простоты подключения. Стоит отметить, что вместо светодиодов возможно подключение любых исполнительных устройств, реагирующих на состояние вывода микроконтроллера при условии согласования токов нагрузки (максимальный выходной ток вывода используемого в системе микроконтроллера - 20 мА). Возможно каскадное подключение исполнительных устройств, требующих большего тока для управления.
Выбранные светодиоды были подключены через защитные резисторы, обеспечивающие нормальное функционирование светодиодов.
Таким образом, разрабатываемая система сбора данных и управления будет иметь:
- канал сбора данных с цифрового температурного датчика;
- 4 канала сбора данных с контактных датчиков;
- 4 канала управления логическим уровнем.
2.4 Выбор средств проектирования и разработки
2.4.1 Выбор среды проектирования основной программы
В данный момент существует три основный языка написания программ для микроконтроллеров с архитектурой ARM. Это язык ассемблера, язык С и язык С++. Большинство разработчиков использует язык С. Остальные два языка имеют свои специфические особенности и широкого применения в данной области пока не находят. Поэтому для написания программного обеспечения для используемого в проекте микроконтроллера был выбран язык С.
На рынке представлено достаточно много систем сред для разработки программного обеспечения микроконтроллеров с архитектурой ARM. Есть также отдельные свободно распространяемые компиляторы. Среди всех сред разработки можно выделить следующие:
IAR Embedded Workbench for ARM (IAR Systems) [14] интегрированная среда разработки созданная компанией IAR Systems. Имеет следующие основные особенности:
- встроенный фирменный компилятор языка С/С++;
- поддержка большого семейства микроконтроллеров с архитектурой ARM;
- развитые средства управления проектом;
- малое количество адаптированных примеров;
- высокая эффективность создаваемого кода;
- имеет несколько типов лицензирования.
CoIDE (CooCox) интегрированная среда разработки созданная компанией CooCox на базе популярной универсальной среды разработки Eclipse [15]. Имеет следующие основные особенности:
- свободный компилятор языка С/С++ GNU ARM;
- поддержка большинства микроконтроллеров с архитектурой ARM;
- развитые средства управления проектом;
- приложение бесплатно и не имеет ограничений на размер создаваемого кода;
- наличие мастера создания проекта;
- удобный редактор исходного кода;
- эффективность создаваемого кода средняя;
- малое количество русскоязычной документации.
Keil uVision (Keil) интегрированная среда разработки созданная компанией ARM Ltd [5]. Имеет следующие основные особенности:
- несколько схем лицензирования;
- фирменный компилятор языка С/С++;
- высокая эффективность компилятора;
- обширная документация;
- поддержка большого семейства микроконтроллеров с архитектурой ARM;
- наличие большого количества адаптированных примеров под разные типы микроконтроллеров;
- простота и гибкость настройки проектов и самой среды разработки;
- поддержка большого числа отладчиков и программаторов;
- высокая скорость работы;
- масштабируемость за счет подключения дополнительных плагинов.
Приведенные выше среды разработки имеют свои преимущества и недостатки. Все они подходят для написания программного кода разрабатываемого проекта. Среди них среда Keil uVision выделяется тем, что она имеет в своем составе большой объем документации и множество типовых проектов для различных отладочных плат. Фирма, разрабатывающая данную среду, производит также различные отладочные платы. Кроме того, данная среда поставляется с библиотекой базовых функций по работе с локальной вычислительной сетью TCP/IP Networking Suite. Данная библиотека существенно упрощает разработку системы сбора данных и управления за счет использования готовых библиотечных функций.
Стоит также отметить, что данная среда разработки широко распространена среди профессиональных разработчиков. В том числе и в России. Также в сети Интернет есть много ресурсов, посвященных данной среде проектирования. Есть и ресурсы на русском языке.
Все это выгодно отличает данную среду разработки от остальных, поэтому она была выбрана в качестве основной среды для написания программного обеспечения. При установке был выбран тип лицензирования с ограничением объема получаемого кода до 64 килобайт без ограничения по времени. Этот тип лицензирования позволяет создать проект системы сбора данных и управления. Окно среды разработки Keil uVision 4 показано на рисунке 2.4.
2.4.2 Выбор среды проектирования содержимого WEB-сервера
По условиям задания система сбора данных и управления содержит в своем составе WEB - сервер и содержимое этого WEB - сервера в виде HTML - страниц и служебных файлов. Разработка этих элементов проекта является отдельной задачей и труднореализуема основной средой разработки Keil uVision.
Для написания кода HTML - страниц и кода JavaScript [16] был выбран текстовый редактор Notepad++. Этот редактор бесплатен для использования и имеет много функций, выгодно отличающих его от аналогов. В нем реализованы подсветка синтаксиса, функции форматирования, конвертирования текста в различные кодировки и множество других функций.
Для тестирования созданных HTML - страниц, подходит любой современный браузер. В качестве браузера был выбран Mozilla FireFox. Он реализует все необходимые функции по работе с HTML - страницами и поддерживает все современные технологии.
Сам WEB - сервер реализован в библиотеке TCP/IP Networking Suite, входящей в набор Keil uVision. В этой библиотеке реализовано большинство функций, которые могут пригодиться при работе сервера. Разработчику остается его правильно настроить и сделать доступными для сервера HTML - страницы.
2.5 Разработка рабочих алгоритмов системы
2.5.1 Общий алгоритм работы системы сбора данных и управления
Алгоритм работы устройства представляет собой порядок выполняемых действий для достижения заданного результата.
После подачи питания на микроконтроллер, формируется сигнал сброса и начинается выполнение программного кода, зашитого в память программ микроконтроллера. При этом можно выделить следующую последовательность:
1) Инициализация системы. Она включает в себя инициализацию служебных регистров микроконтроллера, загрузку в них конфигурационных значений, настройку тактовой частоты главного и вспомогательного генератора тактовых импульсов;
2) Запуск управляющей программы. Включает в себя последовательность действий для приведения системы в работоспособное состояние и начала выполнения заданной программы;
3) Проверка наличия клиентского запроса. При его наличии происходит переход к пункту 4. При его отсутствии к пункту 3;
4) Обработка запроса. Включает в себя непосредственно обработку запроса, выполнение определенных действий в зависимости от результатов обработки и формирование ответа клиенту при необходимости. Далее происходит возврат к пункту 3.
Данный алгоритм линейный и заключается в инициализации и начальной настройке всех элементов системы, затем в повторении определенных команд по кругу для вывода данных о времени каждую секунду и готовности передать их другим устройствам. Некоторые действия в этом алгоритме будут рассмотрены далее более подробно. Блок - схема этого алгоритма показана на рисунке 2.5.
2.5.2 Алгоритм запуска управляющей программы
После начальной инициализации микроконтроллера и системы в целом происходит запуск управляющей программы. Это необходимо для первоначальной настройки и приведения системы в работоспособное состояние. После успешного выполнения данного этапа, система готова к работе и способна отвечать на запросы пользователей. Можно выделить следующую последовательность действий, происходящих в ходе выполнения запуска управляющей программы:
1) Инициализация системы ввода - вывода микроконтроллера. Настройка необходимых регистров, включение подтягивающих регистров для используемых выводов микроконтроллера;
2) Инициализация сетевого интерфейса. Присвоение физического адреса сетевого адаптера, установка заданной тактовой частоты сетевого адаптера, инициализация сетевого адаптера, присвоение сетевого имени NetBIOS, начальная настройка службы DHCP;
3) Попытка получения сетевого IP адреса. Микроконтроллер отправляет запрос на получение IP адреса. Если в локальной сети есть DHCP - сервер, то он должен ответить на этот запрос и присвоить системе определенный IP адрес;
4) Проверка того, получен ли IP адрес. Если адрес получен, то происходит переход к пункту 7, если нет, то к пункту 5;
5) Проверка истечения временного интервала величиной 3 секунды. Если в течении этого интервала IP - адрес не получен, значит в локальной сети нет DHCP - сервера или он не присвоил системе IP - адрес. Если 3 секунды истекло, то происходит переход к пункту 6, если нет, то к пункту 3;
6) Присвоение фиксированного IP - адреса. Происходит в случае неудачной попытки получения IP - адреса через службу DHCP;
7) Инициализация температурного датчика. Начальная инициализация цифрового температурного датчика, настройка его параметров, подготовка его к работе;
8) Получение начального значения температуры от цифрового датчика температуры;
9) Запуск основного рабочего цикла программы.
После выполнения данной последовательности действий, система становится способной отвечать на запросы клиентов - пользователей. Блок - схема алгоритма запуска управляющей программы показана на рисунке 2.6.
2.5.3 Алгоритм обработки запроса
В процессе основного рабочего цикла программы, микроконтроллер постоянно ожидает клиентские запросы от браузера пользователя, поступающие через сетевой интерфейс. Если запрос получен, то запрос анализируется и в зависимости от этого анализа микроконтроллер выполняет соответствующие действия. Алгоритм обработки запросов состоит из ряда действий:
1) Проверка факта получения запроса. Если запрос не получен, то происходит выход из процедуры обработки запроса, если получен, то происходит переход к пункту 2;
2) Проверка. Является ли полученный запрос запросом на отображение HTML - страницы. Если является, то происходит переход к пункту 3, если не является, то переход к пункту 4;
3) Отправка клиенту запрошенной HTML - страницы. Включает поиск заданной страницы в виртуальной файловой системе и выдачу этой страницы браузеру пользователя через сетевой интерфейс. Далее происходит выход из процедуры обработки запроса;
4) Проверка. Является ли полученный запрос запросом на получение температуры. Если является, то происходит переход к пункту 5, если не является, то переход к пункту 6;
5) Получение текущей температуры, сформированной цифровым температурным датчиком. Далее происходит переход к пункту 8;
6) Проверка. Является ли полученный запрос запросом состояния контактных датчиков. Если является, то происходит переход к пункту 7, если не является, то переход к пункту 10;
7) Получение текущего состояния контактных датчиков. Далее происходит переход к пункту 8;
8) Формирование HTML - страницы с требуемыми данными. Включает поиск шаблона требуемой страницы и подстановку в нее полученных данных;
9) Отправка клиенту сформированной HTML - страницы. Происходит выдача HTML - страницы браузеру пользователя через сетевой интерфейс. Далее происходит выход из процедуры обработки запроса;
10) Проверка. Является ли полученный запрос запросом управления. Если является, то происходит переход к пункту 11, если не является, то происходит выход из процедуры обработки запроса;
11) Анализ данных запроса. Происходит анализ поступивших данных управления и поиск информации о том, состояние какого канала управления необходимо поменять и о том, каким должно быть это состояние;
12) Изменение состояния каналов управления. Происходит запись информации, полученной в ходе анализа данных запроса на управление, в управляющие каналы. Далее происходит выход из процедуры обработки запроса.
Подобные документы
Характеристика сущности и назначения автоматизированных информационных систем (АИС), под которыми понимают совокупность информационных массивов технических, программных и языковых средств, предназначенных для сбора, хранения, поиска, обработки данных.
контрольная работа [24,4 K], добавлен 29.08.2010Разработка структурной схемы системы. Выбор и обоснование не указанных в задании элементов. Анализ временных параметров системы. Разработка файла конфигурации для системы сбора-обработки данных на языке AHDL. Моделирование цифровой части системы.
курсовая работа [1,1 M], добавлен 26.10.2014Системы автоматизации перевода, структура подсистемы сбора данных. Схема ввода речевых сообщений на компьютер. Расчет характеристик и выбор микрофона. Технические характеристики микрофонного усилителя ВМ-137. Аналого-цифровой преобразователь AD1871.
контрольная работа [733,5 K], добавлен 08.11.2012Организация электронного документооборота. Создание базы данных. Анализ существующих программных средств автоматизации. Обоснование выбора платформы разработки программного продукта. Выбор почтового клиента. Реализация нулевого прототипа системы.
курсовая работа [384,1 K], добавлен 14.11.2016Создание системы сбора пространственных и атрибутивных данных как один из важнейших этапов ведения кадастрового учета. Требования к информационной системе, исходная информация по кадастровому учету объектов недвижимости. Необходимые программные средства.
курсовая работа [4,5 M], добавлен 17.07.2013Информационные и автоматизированные системы управления технологическими процессами на промышленных предприятиях. Базы данных в автоматизированных системах управления. Системы планирования ресурсов предприятия, сбора и аналитической обработки данных.
контрольная работа [486,7 K], добавлен 29.10.2013Разработка программы-модели в среде "Adamview" для имитации стратегии и наглядной иллюстрации работы программы. Настройка сети; описание эмулятора стратегии и экранных форм интерфейса оператора. Структурная схема распределённой системы управления.
курсовая работа [2,6 M], добавлен 21.01.2013Система сбора данных. Скорость передачи данных. Ячеистая структура сети ZigBee. Основные технические характеристики для ZigBee-модемов компании Telegesis. Изменение состояния цифровых выводов модема. Удаленные маршрутизаторы и конечные устройства.
дипломная работа [1,4 M], добавлен 05.06.2011Создание реляционной базы данных для закупки и реализации товаров. Оптовая база - крупная сеть складских и рабочих помещений. Требования к функциональным характеристикам. Структурная схема базы данных. Программная реализация системы, ее тестирование.
курсовая работа [1,6 M], добавлен 08.07.2012Назначение и цели создания системы. Разработка логической модели данных, выбор хранилища. Диаграмма классов для диспетчера и контент-менеджера, схема взаимодействия объектов системы. Описание программных модулей. Тестирование веб-базированной системы.
курсовая работа [5,4 M], добавлен 17.09.2013