ДП_поясняк (1231259), страница 6
Текст из файла (страница 6)
Рисунок 2.6 - Схема модуля и подключения к управляющему
контроллеру
Как видно на рисунке 2.6, модуль состоит из следующих основных блоков:
-
микрочипа Mrf24J40;
-
ВЧ обвязки;
-
антенны;
-
основного тактового генератора 20 МГц [3].
2.4.2 Подключение трансивера к контроллеру
Согласно заявленным задачам и функциям устройства, оно должно включать в свой состав ретранслятор и выступать в качестве узла соединения в сети. То есть передавать данные по беспроводной сети, а также ретранслировать пакеты данных других устройств в сети.
Работа устройства в сети ZigBee осуществляется с помощью встроенного в устройство приемопередатчика ZigBee. В качестве трансивера выступает описанный ранее Mrf24j40ma фирмы Microchip, который работает под управлением контроллера Atmega32 по интерфейсу SPI.
Для согласования логических уровней напряжения контроллера и трансивера, в каждой сигнальной линии установлен стабилитрон по типовой схеме включения, с дополнительным резистивным балластом, в качестве ограничителя тока стабилитрона. Такой способ согласования подходит ввиду того, что, не влияет на скорость передачи информации по сигнальным линиям. Использование обычного делителя напряжение здесь неприемлемо, потому как резисторы делителя и паразитная емкость сигнальной линии и выводов микросхемы образуют RC – цепочку. Такая RC – цепочка, в процессе работы, образует длительный, по меркам скорости передачи, переходной процесс, который увеличивает время нарастания фронтов импульса. Таким образом, форма импульсов становиться далека от прямоугольного вида. Графический вид описанного процесса представлен на рисунке 2.7 [3].
Рисунок 2.7 - Влияние паразитной емкости на форму импульсов
На рисунке 2.8 и 2.9 представлены диаграммы работы SPI интерфейса модуля.
Рисунок 2.8 - Данные передаваемые в модуль
Рисунок 2.9 - Данные принимаемы от модуля
2.4.3 Организация памяти микрочипа Mrf24J40
Память в MRF24J40 реализована в виде статической оперативной памяти и доступна через порт SPI. Память функционально разделено на регистры управления и буферы данных (FIFO) (Рисунок 2.10). Регистры управления обеспечивают контроль, статус и адресации устройств, для работы MRF24J40.
Рисунок 2.10 - Схема организации памяти модуля
Память имеет два способа адресации: короткий и длинный. Короткий адрес памяти содержит регистры управления с 6-битного адресного диапазона 0x00 до 0x3F. Рисунок 2.11 показывает диаграмму чтения по короткому адресу чтения. На рисунке рисунок 2.12 представлена диаграмма записи по короткому адресу записи. 8-битная SPI передача начинается с '0', чтобы указать короткий адрес транзакции. За ним следуют 6-битов адреса регистра, самый старший бит (MSB) в первую очередь. 8-й бит указывает на то, чтение это ('0') или запись ('1').
Рисунок 2.11 – Чтение по короткому адресу
Рисунок 2.12 - Запись по короткому адресу
Пространство памяти в области длинных адресов содержит регистры управления и буфер приема с 10-битного адресного диапазона 0x000 до 0x38F. Рисунок 2.13 показывает диаграмму чтения по длинному адресу, а рисунок 2.14 диаграмму записи по длинному адресу. 12-битная SPI передача начинается с '1', чтобы указать длинный адрес транзакции. За ним следует 10-битный адрес регистра, самый старший бит (MSB) в первую очередь. 12-й бит указывает чтение ('0') или запись ('1') [3].
Рисунок 2.13 - Чтение по длинному адресу
Рисунок 2.14 - Запись по длинному адресу
2.4.4 Управление регистрами микрочипа Mrf24J40
Управление и настройка модуля осуществляется путем записи команд и определенных значений в управляющие регистры. В регистрах можно посмотреть статус модуля, задавать адреса.
На рисунке 2.15 регистры и их адреса в области коротких адресов. На рисунке 2.16 регистры и их адреса в области длинных адресов [3].
Рисунок 2.15 - Регистры и их адреса в области длинных адресов
Рисунок 2.16 - Регистры и их адреса в области коротких адресов
2.4.5 Управление приемопередатчиком
Управление приемопередатчиком осуществляется по аппаратному интерфейсу SPI, путем записи определенных значений в управляющие регистры. Прежде чем запускать модуль, его необходимо сбросить. MRF24J40 имеет три основных типа сброса.
Первый при включении питания. MRF24J40 имеет встроенную функцию сброса, которая по включению питания автоматически сбрасывает все регистры управления. Рекомендуется подождать 2 мс после сброса, перед началом работы с MRF24J40, чтобы стабилизировалось питание схемы.
Второй тип – сброс путем установки низкого логического уровня (0) на вывод сброса. Это делается с помощью микроконтроллера. Все регистры управления будут сброшены. MRF24J40 выйдет из состояния сброса примерно 250 мкс после сброса. Внутри модуля, ножка сброса имеет внутренний подтягивающий резистор.
Третий вариант – программный сброс. Программный сброс осуществляется с помощью хост микроконтроллера. Схема управления питанием сбрасывается путем установки в регистре SOFTRST бит номер 2 и RSTPWR в '1'.
Инициализация контроллера производится согласно технической документации [3]. Определенные значения регистров управления должны быть инициализированы именно такими значениями. Они обеспечивают улучшенные эксплуатационные параметры. Инициализация производится один раз после сброса. После инициализации регистры MRF24J40 могут быть сконфигурированы для пользовательского приложения. Этапы инициализации, регистры и значения, записываемые в них:
-
1.SOFTRST (0x2A) = 0x07 - Выполнение программного сброса. Биты будут автоматически сбрасываться в '0' аппаратно.
-
2.PACON2 (0x18) = 0x98 – установка бита FIFOEN = 1 и группа битов TXONTS = 0x6.
-
3.TXSTBL (0x2E) = 0.95 – установить биты RFSTBL = 0x9;
-
4.RFCON0 (0x200) = 0x03 - установить биты RFOPT = 0x03;
-
5.RFCON1 (0x201) = 0x01 - установить биты VCOOPT = 0x02;
-
6.RFCON2 (0x202) = 0x80 – Включить фазовую автоподстройку частоты (ФАПЧ), бит PLLEN = 1;
-
7.RFCON6 (0x206) = 0x90 – установить биты TXFIL=1 и 20MСVR=1;
-
8.RFCON7 (0x207) = 0x80 –установить биты SLP CLKSEL = 0x2 (включение внутреннего тактового генератора 100 кГц);
-
9.RFCON8 (0x208) = 0x10 –установить бит RFVCO = 1;
-
10.SLPCON1 (0x220) = 0x21 –установить биты CLKOUTEN = 1 и SLP CLKDIV = 0x01;
-
11.BBREG2 (0x3a) = 0x80 - Установить режим CCA ED;
-
12.CCAEDTH = 0x60 - Установка порога CCA ED;
-
13.BBREG6 (0x3e) = 0x40 –автоматический расчет RSSI, по приему пакета;
-
14.Разрешаем прерывания. Будет описано далее;
-
15.Устанавливаем канал передачи. Будет описано далее;
-
16.Установить мощность передатчика;
-
17.RFCTL (0x36) = 0x04 - Сброс приемного узла модуля;
-
18.RFCTL (0x36) = 0x00 запуск приема пакетов;
-
19.Установка задержка не менее 192 мкс.
MRF24J40 имеет вывод прерывания (INT), который сигнализирует об одном из восьми прерывающих событий на хост-микроконтроллера. Структура прерывания показана на рисунке 2.17. Прерывания разрешены в регистре INTCON (0x32). Флаги прерываний расположены в регистре INTSTAT (0x31). Флаг сбрасывается, при чтении этого регистра. Таким образом, хост микроконтроллер должен считывать и сохранять регистр INTSTAT и проверять биты, чтобы определить, какое прерывание произошло. Полярность импульса прерывания конфигурируется с помощью бита INTEDGE в регистре SLPCON0 (0x211). По умолчанию прерывание устанавливает сигнал низкого логического уровня [3].
Рисунок 2.17 - Логическая схема включения сигнала прерывания
При инициализации модуля, можно указать одну из 16-ти частот в диапазоне 2,4 ГГц. Требуемый канал выбирается путем конфигурирования битов в регистре RFCON0 (0x200 <7: 4>) регистрации. Возможные значения указаны в таблице 2.1.
Таблица 2.1 - Возможные значения регистра RFCON0
MRF24J40 соответствует стандарту IEEE 802.15.4 -2003. Стандарт определяет физический (PHY) и MAC уровни, которые формируют основу для сетевого устройства беспроводной связи. На рисунке 2.18 показана структура пакета и MAC-кадра. Согласно стандарта IEEE 802.15.4 существует три основных типа формата пакета передач: маяк-пакет, командный пакет и пакет данных.
Рисунок 2.18 - Структура пакета в общем виде
Frame control это часть заголовка пакета, в котором указывается тип пакета, шифрование, настройки безопасности, тип адресации.
Frame control это 16 битное слово. Далее приводится расшифровка битов:
-
1-3 биты–Тип пакета (000 - beacon, 001 - data, 010 - ACK, 011 - MAC command);
-
4 бит - зашифрован (1) или нет пакет (0);
-
5 бит - если у отправителя есть еще данные для отправки 1, если нет, то 0;
-
6 бит - запрос подтверждения приема ACK, если 1 то получатель должен ответить ACK, если 0 ACK не требуется;
-
7 бит - отправка пакета внутри одной сети PAN или в другую сеть. Если 1, то адрес PAN не требуется, если 0 то нужно указывать;
-
8-10 биты - не используются;
-
11-12 биты - определяет поля адресации получателя (00 - адреса PAN и адреса получателя нет, 01 - не используется, 10 - поле адреса содержит короткий адрес, 11 - поле содержит MAC адрес);
-
13-14 биты - не используются;
-
15-16 биты определяет поля адресации источника (00 - адреса PAN и адреса источника нет, 01 - не используется, 10 - поле адреса содержит короткий адрес, 11 - поле содержит MAC адрес).
Далее пакет может быть различен в своем содержании, в зависимости от контрольного слова.
Sequence number это номер передачи. Addressing info это адреса источника, приемника и координатора. Data payload – данные.FCS – контрольная сумма, качество сигнала [5].
В зависимости от режима работы модуля, в пакет данных включаются так же ключи безопасности, внутренние команды.
Для отправки пакета выполняются следующие шаги:
-
заполняется буфер отправки согласно стандарту IEEE 802.15.4;
-
дается команда на отправку;
-
если задано, ждем отчет об отправке.
Более подробно, работа с приемопередатчиком будет описана далее.
2.5 Подключение внешней энергонезависимой памяти
2.5.1 Характеристика подключаемой SD карты
В качестве внешней энергонезависимой памяти выбрана карта памяти типа Secure Digital Memory Card (SD) — формат карт памяти (флеш-память), разработанный для использования в основном в портативных устройствах. Для работы с SD картой в программном обеспечении контроллера предусмотрена эмулирование файловой системы FAT, которую распознает любая версия Windows. В заранее созданные файлы, контроллер записывает всю необходимую информацию. Основная информация, записываемая на SD карту:
-
дата и время старта;
-
значение каналов АЦП;
-
состояние контролируемых и управляемых объектов;
-
отображение времени включения режима;
-
диагностическая информация;
-
температура;
-
таблица коэффициентов допустимых значений.
2.5.2 Подключение SD карты
В SD картах памяти предусмотрен SPI интерфейс, который был описан ранее. Сложность в том, что контроллер работает на логических уровнях 0 - 5 В, тогда как карта работает на уровнях 0 - 3.3 В. Для согласования логических уровней контроллера и карты в каждой информационной линии предусмотрен резистивный делитель напряжения. Как было исследовано – это не повлияло на работу интерфейса SPI. Подсоединение карты осуществляется через предусмотренный на плате разъем.
На рисунке 2.19 изображена цоколевка карты памяти, в режиме SPI. В таблице 2.2 пояснение к рисунку 2.19.















