ДП_поясняк (1231259), страница 3
Текст из файла (страница 3)
Разработчик обеспечивает поддержку модулей библиотеками программного кода на языке программирования Си для хост-контроллера, с использованием которых можно начать работу с модулем.
Компания Microchip предлагает эффективный и бесплатный стек протоколов ZigBee для микроконтроллеров Microchip. Применение стека позволяет провести разработку в кратчайшие сроки с минимальными затратами на разработку. Стек от Microchip написан на основе ZigBee спецификации версии 1.0. Разработчики беспроводных систем могут использовать бесплатный стек протоколов ZigBee c трансивером MRF24J40 и PIC микроконтроллером. К преимуществам использования программного стека компании Microchip можно отнести:
-
бесплатная лицензия без последующих отчислений;
-
эффективный код реализации ZigBee протокола;
-
стек предоставляется в исходных кодах, что позволяет разработчикам адоптировать его для применения в своих устройствах;
-
разработан под широкую номенклатуру микроконтроллеров;
-
Microchip для оптимизации решения под конкретную задачу.
Microchip предлагает бесплатный стек протоколов MiWi™ на основе стандарта IEEE 802.15.4 Беспроводные сети на основе MiWi™ - это идеальное решение дешевых приборов с ограниченным объемом памяти программ. Протокол MiWi™ бесплатен, занимает мало памяти в микроконтроллере и разработан компанией Microchip для тех, кому не нужен полный функционал ZigBee-протокола, но требуется универсальность IEEE 802.15.4 трансиверов для передачи данных между дешевыми устройствами. К преимуществам использования программного стека MiWi можно отнести:
-
наименьшая стоимость полнофункционального сетевого протокола на основе трансивера IEEE 802.15.4;
-
малый объем памяти для протокола MiWi™;
-
не требуется сертификации;
-
стек протоколов предоставляется компанией Microchip без лицензии при условии применения трансивера MRF24J40 и микроконтроллеров Microchip.
Так же компанией Microchip предлагается программно-аппаратный анализатор ZigBee и Mi-Wi сетей - Zena.
Рисунок 1.4 - Анализатор ZigBee сетей Zena
Анализатор представляет собой плату, подключаемую по USB к персональному компьютеру и программное обеспечение, наглядно показывающее топологию сети и прохождение пакетов в беспроводной сети. Программное обеспечение Zena содержит инструменты для создания конфигурации и скрипта линкера в зависимости от пользовательского приложения. Демонстрационная версия программы Zena является частью бесплатного стека протоколов ZigBee и MiWi и позволяет создавать исходные коды программы под конкретную пользовательскую задачу и анализировать предварительно записанный сетевой трафик [3].
Рисунок 1.5 - Программное обеспечение анализатора Zena
Полнофункциональная версия работает с платой, которая анализирует радиочастотный трафик и связывается с компьютером по USB интерфейсу. Плата позволяет захватывать и анализировать в реальном времени сетевые пакеты ZigBee и MiWi сетей, а использование фильтров пакетов и адресов устройств позволяют гибко конфигурировать отображаемые пакеты для легкого поиска нужной информации.
Согласно данных разработчика, применение отладочной платы дает возможность:
-
уменьшить размер кода стека протоколов путем выкидывания ненужных свойств сети;
-
уменьшить время разработки благодаря простому взаимодействию со стеком;
-
использования окна конфигурации сети, что позволяет в реальном времени отслеживать трафик и пути прохождения данных между узлами сети;
-
весь трафик записать в файл для последующего анализа сетевого трафика.
Компанией Microchip предлагает демонстрационный комплект PICDEM™ Z 2.4 ГГц. Данное устройство - это легкий в освоении отладочный и оценочный комплект для освоения устройств на основе IEEE 802.15.4, который в себя включает две радиочастотные платы на основе трансивера MRF24J40 и две основные платы на основе микроконтроллеров PIC18LF4620. Комплект содержит программное обеспечение, исходные коды стека, а также файлы разводки печатных плат для быстрого освоения разработки высокочастотных устройств. Комплект также включает плату Zena -анализатор сетей ZigBee и MiWi.
1.2 Выбор устройства обработки информации на базе микроконтроллеров и его характеристики
1.2.1 Подбор микроконтроллера, отвечающего целям проектирования
Промышленность выпускает огромное количество микропроцессорных компонентов, предназначенных для выполнения тех или иных задач. Очень актуально использование отдельных типов микропроцессорных устройств – микроконтроллеров.
Микроконтроллер – это интегральная микросхема, выполненная, как правило, на одном кристалле. Такая схема имеет в своем составе не только сам процессор, но и ОЗУ, ПЗУ, энергонезависимую память EEPROM и различные периферийные устройства:
-
универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;
-
различные интерфейсы ввода-вывода, такие, как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;
-
аналого-цифровые и цифро-аналоговые преобразователи;
-
компараторы;
-
широтно-импульсные модуляторы (ШИМ-контроллер);
-
таймеры;
-
контроллеры бесколлекторных двигателей, в том числе шаговых;
-
контроллеры дисплеев и клавиатур;
-
радиочастотные приемники и передатчики;
-
массивы встроенной флеш-памяти;
-
встроенные тактовый генератор и сторожевой таймер.
Таким образом, микроконтроллер можно назвать микро ЭВМ, предназначенной для выполнения простых задач:
-
в вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD, калькуляторах;
-
электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления — стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах, различных роботах, системах «умный дом»;
-
устройства промышленной автоматики;
-
систем управления станками.
При выборе микроконтроллеров приходится делать выбор между размерами и стоимостью с одной стороны и гибкостью, и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т.д. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.
Компании производители выпускают различные семейства контроллеров:
-
MCS 51 (Intel);
-
MSP430 (TI);
-
ARM (ARM Limited);
-
ST Microelectronics STM32 ARM-based MCUs;
-
Atmel Cortex, ARM7 и ARM9-based MCUs;
-
Texas Instruments Stellaris MCUs;
-
NXP ARM-based LPC MCUs;
-
Toshiba ARM-basedMCUs;
-
AnalogDevices ARM7-based MCUs;
-
CirrusLogic ARM7-based MCUs;
-
Freescale Semiconductor ARM9-based MCUs;
-
AVR (Atmel);
-
PIC (Microchip);
-
STM8 (STMicroelectronics);
-
С8051F34x.
Контроллеры выпускают в различных корпусах и под различный способ монтажа, чаще всего это DIP и TQFP.
1.2.2 Контроллеры фирмы AVR
Для построения разрабатываемого устройства выбраны контроллеры семейства AVR фирмы ATMEL.
Условиям проектирования удовлетворяет 8-разрядный контроллер Atmega32 выполненный в корпусе TQFP и предназначенный для поверхностного (SMD) монтажа (Рисунок 1.6) [4].
Как и на каждый контроллер, на Atmega32 разработчик выпускает техническую документацию, которая была изучена. В ней представлены основные характеристики. Контроллер имеет высокую производительность, низкое энергопотребление, продвинутую RISC архитектуру. Согласно технической документации имеет 131 ассемблерную команду, большинство выполняется за один такт, тридцать два 8-ми разрядных рабочих регистров общего назначения, 32 кбайт Flash -памяти для хранения программ, 1024 байт энергонезависимой памяти EEPROM, 2 кбайт SRAM, количество циклов записи / стирания: 10000 Flash / EEPROM 100000, сохранение данных: 20 лет при 85 ° С / 100 лет при 25°C. Так же имеет защиту от копирования данных, интерфейс JTAG (IEEE Std. 1149.1 совместимый).
Рисунок 1.6 - Конфигурация выводов корпуса контроллера
Периферийные компоненты контроллера:
- два 8-разрядных таймера / счетчика с отдельными делителями и режимами сравнения;
- один 16-разрядный таймер / счетчик с отдельным предварительным делителем, режим сравнения и захвата;
- счетчик реального времени с отдельным генератором;
- четыре ШИМ-канала;
- 8-канальный, 10-разрядный АЦП;
- байт-ориентированный двухпроводный последовательный интерфейс;
- программируемый последовательный USART;
- Master / Slave SPI последовательный интерфейс;
- программируемый сторожевой таймер с отдельным генератором;
- аналоговый компаратор.
Специальные функции:
- сброс по включению и снижению напряжения питания;
- внутренний калиброванный RC осциллятор;
- внешние и внутренние источники прерываний;
- шесть режимов сна (Idle, АЦП Снижение шума, экономии энергии, при отключении питания, в режиме ожидания).
Порты ввода вывода:
- 32 линии программируемых входов / выходов;
- 40-контактный PDIP, 44-выводных TQFP корпусах.
Напряжения по эксплуатации:
- 2.7 В - 5.5 В для ATMEGA32L;
- 4.5 В - 5.5 В для ATmega32.
Максимальная тактовая частота:
- 0 - 8MHz для ATMEGA32L;
- 0 - 16МГц для ATmega32.
Потребляемая мощность на частоте 1 МГц, 3 В, 25 ° C:
- активный режим: 1.1мA;
- режим ожидания: 0.35 мA;
- спящий режим: <1 мкА [4].
Данные характеристики полностью удовлетворяют поставленным требованием проекта.
1.2.3 Аппаратные и программные интерфейсы взаимодействия с ПК и периферийными устройствами
Устройство должно взаимодействовать с внешней памятью, приемопередатчиком, компьютером посредством интерфейсов взаимодействия.
В качестве интерфейса взаимодействия с приемопередатчиком выбран аппаратный SPI интерфейс. Для взаимодействия с внешней памятью был выбран программный SPI интерфейс. В качестве интерфейса взаимодействия с компьютером, выбран UART.
Идея передачи информации побитно с определенными интервалами времени лежит в основе всех последовательных интерфейсов, они различаются только способами синхронизации. В интерфейсе SPI (Serial Peripheral Interface, последовательный периферийный интерфейс) синхронизирующие импульсы передают по отдельной, специально выделенной линии. Это облегчает задачу синхронизации (не требуется специально задавать скорости обмена), но требует большего числа сигнальных проводов. В подавляющем большинстве случаев необходим дополнительный провод, который присутствует всегда при подключении более чем двух микросхем к одному интерфейсу, но иногда требуется и при одиночном подключении.
Схема обмена данными по SPI между двумя контроллерами показана на рисунке 1.7. Устроен этот обмен довольно хитро — как видно из рисунка, два 8-разрядных регистра (источника и приемника) образуют единый регистр сдвига, соединенный в кольцо линиями MISO и MOSI. С началом передачи включается генератор синхроимпульсов, и из ведущего устройства по линии MOSI начинают поступать данные, одновременно вытесняя из ведомого биты по линии MISO. Через восемь тактов регистры полностью обмениваются информацией между собой.
Рисунок 1.7 - Схема передачи данных по интерфейсу SPI
Значения скорости обмена по SPI-интерфейсу не стандартизованы и могут достигать у некоторых микросхем десятков Мбит/с.
Программно-реализованный SPI интерфейс не отличается по принципу действия. Отличие в том, что в аппаратном SPI сигналы о работе интерфейса фиксируются аппаратным способом. Например, при приеме байта - срабатывает прерывание. В программном SPI нужно постоянно проверять окончание передачи. Плюс такого способа организации SPI это возможность использовать любые свободные выводы микросхемы.
В качестве интерфейса взаимодействия с компьютером, выбран переходник USB – COM собранный на микросхеме FT232rl, подробное описание которого будет дальше. То есть со стороны контроллера используется UART, по которому информация передается на переходник.
Идея этого интерфейса заключается в передаче целого байта по одному проводу в виде последовательных импульсов, каждый из которых может находиться в состоянии 0 или 1. Если в определенные моменты времени считывать состояние линии, то можно восстановить то, что было послано.















