Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 2160.pdf
Скачиваний:
28
Добавлен:
30.04.2022
Размер:
9.07 Mб
Скачать

4. ПРОГРАММА ДИСТАНЦИОННОГО УПРАВЛЕНИЯ

4.1. Описание программы

Программа дистанционного управления роботизированным устройством представляет собой приложение для операционной системы Android с графическими элементами для ввода и вывода данных – виджетами. Программа визуально отображается в виде нескольких окон, в каждом из которых сгруппирован определенный функционал. Например, окно отображения карты местности, окно для настройки роботизированного устройства, окно ручного управления движением и так далее. Переключение между окнами осуществляется при помощи нажатий в соответствующие области экрана смартфона, а также при помощи жестов. Так, чтобы вызвать меню выбора активного окна, необходимо либо произвести нажатие на кнопку в левом верхнем углу экрана, либо провести пальцем от левого края экрана к правому. Визуально меню выбора активного окна изображено на рис. 4.1.

Рис. 4.1. Меню выбора активного окна

Рассмотрим окно отображения карты местности. Его внешний вид изображен на рис. 4.2. В данном окне происходит отображение текущего положения роботизированного устройства, а также спутниковой карты местности. На карте обозначаются соответствующими надписями такие объекты как населен-

86

ные пункты, крупные водоемы, названия улиц, а также некоторых учреждений. Положение роботизированного устройства обозначено треугольником, острый угол которого указывает текущее направление движения. При помощи жестов возможно перемещение области просмотра карты вверх, вниз, влево и вправо. Для этого необходимо прикоснуться к экрану смартфона и произвести движение пальцем в направлении, противоположном требуемому перемещению. При получении данных телеметрии от роботизированного устройства с позицией текущего местоположения область просмотра карты автоматически переместится в позицию, при которой роботизированное устройство будет находиться в центре. Кроме того, можно менять и масштаб карты. Для этого необходимо прикоснуться к сенсорному экрану смартфона двумя пальцами и свести либо развести пальцы для уменьшения или увеличения масштаба соответственно. Максимально возможный масштаб карты позволяет отчетливо просматривать положение роботизированного устройства в здании.

Окно «Радиоуправление» служит для управления настройками роботизированного устройства. Внешний вид окна изображен на рис. 4.3. Окно содержит различные элементы управления. Кнопка «Подключение» служит для начала сеанса связи с роботизированным устройством. При ее нажатии происходит сопряжение смартфона с роботизированным устройством по протоколу Bluetooth. После сопряжения кнопка становится недоступной для нажатий, но при этом все остальные элементы управления переходят в разблокированное состояние.

Рис. 4.2. Окно карты местности

87

Рис. 4.3. Окно «Радиоуправление»

Группа элементов управления типа «флажок» с названием «Телеметрия» служит для включения и выключения различных типов сообщений телеметрии. Подробно о них написано в предыдущих разделах.

Группа элементов управления типа «флажок» с названием «Автоматизация» служит для включения и выключения автоматических функций роботизированного устройства, таких как автоматическое удержание направления и автоматическое следование к точке маршрута.

Окно «Передвижение» служит для ручного управления передвижением роботизированного устройства. Внешний вид окна изображен на рис. 4.4. Здесь находится всего один элемент управления, работающий по типу джойстика. При отклонении джойстика от центрального положения вверх или вниз роботизированное устройство начинается двигаться вперед либо назад соответственно. При отклонении джойстика влево или вправо роботизированное устройство осуществляет поворот в ту же сторону. Величина отклонения джойстика пропорциональна скорости передвижения.

Рис. 4.4. Окно «Передвижение»

88

Окно «Датчики» служит для отображения информации с различных датчиков, смонтированных на роботизированном устройстве. Среди отображаемых величин имеется информации о температуре и влажности воздуха, а также уровне радиационного фона. Информация, отображаемая в данном окне, является актуальной только при включенной телеметрии соответствующего типа.

Рис. 4.5. Окно «Датчики»

Таким образом, рассмотрена программа дистанционного управления роботизированным устройством по радиоканалу. Описан графический интерфейс программы, а также предназначение ее элементов управления.

5. РАЗЛИЧНЫЕ РЕАЛИЗАЦИИ ИСПОЛНЕНИЯ РОБОТИЗИРОВАННОГО УСТРОЙСТВА

5.1. Реализация устройства с использованием Wi-fi для передачи данных с комплекса на управляющую ПЭВМ

Так как назначение этой системы заключается в получении, оцифровке, передаче и обработке информации, то входными данными является информация с подключенных датчиков. После снятия с них информации, она через порт GPIO(Интерфейс ввода/вывода общего назначения (англ. general-purpose input /output, GPIO) — интерфейс для связи между компонентами компьютерной системы, к примеру микропроцессором и различными периферийными устройствами.) передается на Arduino/Raspberry, где данные обрабатываются встроен-

89

ным АЦП. В результате преобразования полученный результат отправляется по интерфейсу UART на радиомодуль. Модуль передает данные по Wi-fi каналу на управляющую ПЭВМ, где она попадает в Raspberry Pi 4b. На устройстве происходит конечная обработка и графическое представление информации на общей карте местности. Параллельно с представлением информации на ПЭВМ, данные с Raspberry по радиомодулю передаются на любое устройство с ОС Android и отображаются в Android-приложении.

Для передачи данных целесообразно использовать модуль ESP8266 WiFi. ESP8266 – микроконтроллер с интерфейсом WiFi, который имеет возможность исполнять программы из флеш-памяти.

Контроллер недорогой, обладает небольшим количеством внешних элементов и имеет следующие технические параметры:

Поддерживает Wi-Fi протоколы 802.11 b/g/n с WEP, WPA, WPA2;

Обладает 14 портами ввода и вывода, SPI, I2C, UART, 10-бит АЦП;

Поддерживает внешнюю память до 16 МБ;

Необходимое питание от 2,2 до 3,6 В, потребляемый ток до 300 мА в зависимости от выбранного режима.

Важной особенностью является отсутствие пользовательской энергонезависимой памяти на кристалле. Программа выполняется от внешней SPI ПЗУ при помощи динамической загрузки необходимых элементов программы. Доступ к внутренней периферии можно получить не из документации, а из API набора библиотек. Производителем указывается приблизительное количество ОЗУ – 50 кБ.

Особенности платы ESP8266:

Удобное подключение к компьютеру – через USB кабель, питание от него же;

Наличие встроенного преобразователя напряжения 3,3В;

Наличие 4 Мб флеш-памяти;

Встроенные кнопки для перезагрузки и перепрошивки;

Все порты выведены на плату на две гребенки с шагом 2,5 мм.

Существует огромное количество разновидностей модуля ESP8266. Наиболее популярным вариантом является ESP 01. Исполнение программы требуется задавать состоянием портов GPIO0, GPIO2 и GPIO15, когда заканчивается подача питания. Можно выделить 2 важных режима – когда код исполняется из

UART (GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0) для перепрошивки флеш-карты и когда исполняется из внешней ПЗУ (GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0) в штатном режиме.

90

Рис. 5.1. Описание портов [3]

Распиновка для ESP01 изображена на картинке.

Рис. 5.2. Схема распиновки модуля [3]

Описание контактов:

1 – земля, 8 – питание. По документации напряжение подается до 3,6 В – это важно учесть при работе с Arduino, на которую обычно подают 5 В.

6 – RST, нужна для перезагрузки микроконтроллера при подаче на него низкого логического уровня.

4 – CP_PD, также используется для перевода устройства в энергосберегающий режим.

7 и 0 – RXD0 и TXD0, это аппаратный UART, необходимый для перепрошивки модуля.

2 – TXD0, к этому контакту подключается светодиод, который загорается при низком логическом уровне на GPIO1 и при передаче данных по UART.

5 – GPIO0, порт ввода и вывода, также позволяет перевести устройство в режим программирования (при подключении порта к низкому логическому уровню и подачи напряжения).

3 – GPIO2, порт ввода и вывода.

Перед подключением к Arduino важно помнить, что у ESP8266 напряжение питания не может быть выше 3,6, в то время как на пате Arduino напряжение равно 5 В. Соединять 2 микроконтроллера нужно с помощью резистивных делителей. Перед подключением модуля нужно ознакомиться с распиновкой

91

выбранного ESP8266.Схема подключения для ESP8266-01 представлена на рис. 5.3.

Рис. 5.3. Схема подключения [3]

3,3 В с Arduino – на Vcc&CH_PD на модуле ESP8266, Земля с Arduino – к земле с ESP8266, 0 – TX, 1 – RX.

Для поддержки стабильной работы ESP8266 необходим источник постоянного напряжения на 3,3 В и максимальный ток 250 мА. Если питание происходит от конвертера USB-TTL, могут происходить неполадки и сбои в работе.

Работа с библиотекой Wi-Fi для ESP8266 схожа с библиотекой для обыкновенного шилда. Имеется несколько особенностей:

mode(m) – для выбора одного из трех режимов: клиент, точка доступа или оба режима единовременно.

softAP(ssid) – нужен для создания открытой точки доступа.

softAP(ssid, password) – создает точку доступа с паролем, который должен состоять не менее чем из 8 знаков.

WiFi.macAddress(mac) и WiFi.softAPmacAddress(mac)– определяет МАС адрес.

WiFi.localIP() и WiFi.softAPIP() – определение IP адреса. printDiag(Serial); – позволят узнать данные о диагностике.

WiFiUDP – поддержка передачи и приема multicast пакета в режиме кли-

ента.

Работа выполняется по следующему алгоритму:

1.Подключение USB-TTL к USB и к ESP.

2.Запуск Arduino IDE.

3.Выбрать в меню инструменты нужный порт, плату, частоту и размер flash-памяти.

4.Файл — Примеры — ESP8266WiFi — WiFiWebServer.

5.Записать в скетче SSID и пароль сети Wi-Fi.

6.Начать компиляцию и загрузку кода.

92

7.Дождаться окончания процесса прошивки, отсоединить GPIO0 от

земли.

8.Поставить скорость 115200.

9.Произойдет подключение, будет записан адрес IP.

10.Открыть браузер, ввести в адресной строке номер IP/gpio/1

11.Посмотреть монитор порта, если к выходу GPIO2 подключен светодиод, он должен загореться.

Arduino Due — первая плата Arduino на основе 32-битного микроконтроллера с ARM ядром на базе процессора Atmel SAM3X8E ARM Cortex-M3. Обладая тактовой частотой 84 МГц и 32-битной архитектурой, позволяет выполнять большинство операций над целыми числами в 4 байта за один такт. На плате предусмотрено 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), связь по USB с поддержкой OTG, 2 ЦАП (цифроаналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.

Рис. 5.4. Элементы платы

Микроконтроллер Atmel SAM3X8E ARM Cortex-M3

Сердцем платы Arduino Due является 32-битное ARM ядро AT91SAM3X8E с тактовой частотой 84 МГц, 512 КБ флеш-памяти и 96 ОЗУ, превосходящее по производительности обычные 8-битные микроконтроллеры.

Микроконтроллер ATmega16U2

93

Микроконтроллер ATmega16U2 создает порт программирования для связи микроконтроллера SAM3X с USB-портом компьютера. При подключении к ПК Arduino Due определяется как виртуальный COM-порт. Перепрошивка микросхемы 16U2 производится через ICSP разъём используя стандартные драйве-

ра USB-COM.

Пины питания

VIN: Напряжение от внешнего источника питания (не связано с 5 В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.

5V: На вывод поступает напряжение 5 В от стабилизатора напряжения на плате, независимости от того, как запитано устройство: от адаптера (7–12 В), от USB (5 В) или через вывод VIN (7–12 В). Питать устройство через вывод 5V не рекомендуется — в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.

3.3V: 3,3 В от стабилизатора напряжения платы. Максимальный ток — 800 мА. Cтабилизатор также обеспечивает питание микроконтроллера SAM3X.

GND: Выводы земли.

IOREF: Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В зависимости от напряжения на нём, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5 В, так и с 3,3 В устройствами.

Порты ввода/вывода

В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое могут выдержать вход/выходы составляет 3,3 В. Подав напряжение, например 5 В, на выводы Arduino Due, можно вывести плату из строя.

Цифровые входы/выходы. Пины 0-53 :

Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 3 или 15 мА в зависимости от вывода микроконтроллера, или ток входа — 6 или 9 мА. К контактам подключены подтягивающие резисторы 100 кОм, которые по умолчанию выключены, но могут быть включены программно.

ШИМ: пины 2–13:

Позволяют выводить аналоговые значения в виде ШИМ-сигнала. Разрешение ШИМ позволяет менять функция analogWriteResolution().

АЦП: пины A0–A11:

12 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 12-битного числа (4096 значений). По умолчанию выставлена разрядность — 10 бит, для совместимости с другими платами. Разрешение АЦП можно менять с помощью функции analogReadResolution(). Аналоговые входы платы производят измерения от 0 до максимального значения 3,3 В. Если по-

94

дать на вход напряжения свыше 3,3 В — это вызовет повреждение кристалла

SAM3X.

TWI/I²C: пины 20(SDA), 21(SCL)и TWI 2/I²C 2: SDA1 и SCL1: Для обще-

ния с периферией по синхронному протоколу, через 2 провода. Для работы используйте библиотеку Wire.

SPI: Пины SPI выведены на центральный 6-контактный разъем, совместимый с Uno, Leo nardo и Mega2560. Для коммутации по интерфейсу SPI используйте библиотеку SPI.

UART: Serial: пины 0(RX) и 1(TX); Serial1: пины 19(RX1) и 18(TX1);Serial 2: пины 17(RX2) и 16(TX2); Serial3: пины 15(RX3) и 14(TX3).

Эти выводы используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими выводами микросхемы ATmega16U2, выполняющей роль преобразователя USB-UART. Для связи Arduino Due с компьютером через порт программирования, используйте класс Serial.

DAC1/DAC2: На выводах ЦАП DAC1 и DAC2 доступны аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать в качестве аудиовыхода, используя библиотеку Audio.

 

Таблица 5.1

 

Светодиодная индикация

 

 

 

Имя

Назначение

 

светодиода

 

 

 

 

 

 

RX и TX

Мигают при обмене данными между Arduino Due и ПК.

 

 

 

 

L

Светодиод вывода 13. При задании значения HIGH светодиод

 

включается, при LOW – выключается.

 

 

 

 

 

 

ON

Наличие питания на Arduino Due.

 

 

 

 

Разъём Programming USB

Разъём предназначен для прошивки платформы Arduino Due с помощью компьютера. Для использования этого порта выберите в Arduino IDE в качестве вашей платы "Arduino Due (Programming Port)". При этом также производится стирание предыдущей прошивки. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже при повреждении главного микропроцессора. В программное обеспечение Arduino входит монитор последовательной шины, который дает возможность компьютеру обмениваться простыми текстовыми сообщениями с платой подключенной через Programming USB посредством контроллера

ATmega16U2.

95

Разъём Native USB

Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы

"Arduino Due (Native USB Port)". Native USB port подключен к SAM3X, тем са-

мым осуществляя последовательную связь (CDC) посредством USB обеспечивая подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Также это дает Due возможность эмулировать USB мышь или клавиатуру.

Native USB может также работать как USB хост для подключенных периферийных устройств: мыши, клавиатуры и прочего.

Разъём для внешнего питания Разъём для подключения внешнего питания от 7 В до 12 В.

ICSP-разъём для ATmega2560

ICSP-разъём предназначен для внутрисхемного программирования микроконтроллера ATmega2560. Также с применением библиотеки SPI данные выводы могут осуществлять связь с платами расширения по интерфейсу SPI. Линии SPI выведены на 6-контактный разъём, а также продублированы на цифро-

вых пинах 50(MISO), 51(MOSI), 52(SCK) и 53(SS). ICSP-разъём для ATmega16U2

ICSP-разъём для внутрисхемного программирования микроконтроллера

ATmega16U2.

Характеристики:

1.Микроконтроллер: AT91SAM3X8E

2.Тактовая частота: 84 МГц

3.Напряжение логических уровней: 3,3 В

4.Входное напряжение питания: 7–12 В

5.Портов ввода-вывода общего назначения: 54

6.Максимальный ток с пина ввода-вывода: 3 или 15 мА (в зависим о- сти от вывода)

7.Максимальный выходной ток пина 3.3V: 800 мА

8.Максимальный выходной ток пина 5V: 800 мА

9.Портов с поддержкой ШИМ: 12

10.Портов, подключённых к АЦП: 12

11.Разрядность АЦП: 12 бит

12.Flash-память: 512 КБ

13.Оперативная память: 96 КБ

14.Габариты: 101×53 мм

Максимальная длина и ширина печатной платы Arduino Due составляет 10.2 см и 5.4 см соответственно, с учетом USB-разъемов и разъема питания, выступающих за пределы платы. Три крепежных отверстия позволяют прикреплять плату к поверхности или корпусу. Обратите внимание, что расстояние ме-

96

жду цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет

4 мм.

Arduino Due спроектирован таким образом, чтобы обеспечивать совместимость с большинством плат расширения для Uno, Diecimila или Duemilanove. Расположение основных выводов платы полностью эквивалентно: цифровые выводы 0 - 13 (а также смежные выводы AREF и GND), аналоговые входы 0 - 5, разъем POWER и разъем "ICSP" (SPI) - все выводы расположены на одинаковых расстояниях друг относительно друга. Кроме того, линии основного приемопередатчика UART соединены с одними и теми же выводами (0 и 1).

Arduino Due предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Arduino или другими микроконтроллерами, а также с различными устройствами, такими, как телефоны, планшеты, камеры и т.д. В микроконтроллере SAM3X есть один аппаратный UART и три аппаратных USART для реализации последовательных интерфейсов с TTL-уровнем напряжения 3.3В.

USB-порт для программирования на плате взаимодействует с микросхемой ATmega16U2, выполняющую роль USB-UART преобразователя, который при подключении к компьютеру определяется как виртуальный COM-порт. (Для корректной идентификации на Windows-системах потребуется .inf-файл, на системах с OSX и LINUX плата распознается автоматически). Микросхема 16U2 соединена с аппаратным приемопередатчиком UART микроконтроллера SAM3X. Для программирования микроконтроллера через микросхему ATmega16U2 используются выводы RX0 и TX0. В пакет программного обеспечения Arduino входит специальная программа, позволяющая считывать и отправлять на Arduino простые текстовые данные. При передаче данных через микросхему-преобразователь USB-UART во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USBпреобразователя, данные светодиоды не задействуются).

Штатный USB-порт на плате также соединен с контроллером SAM3X и предназначен для последовательной (CDC) передачи данных через USB. Данный порт позволяет Arduino взаимодействовать с различными приложениями на компьютере (например, Serial Monitor или др.). Использование штатного USB-порта при подсоединении к компьютеру позволяет Arduino Due работать в качестве USB-мыши или клавиатуры. Более подробную информацию об этом см. в справке по библиотекам Mouse и Keyborad.

Штатный USB-порт также может работать как USB-хост и поддерживает подключение периферийных устройств, таких как мыши, клавиатуры или смартфоны. Более подробную информацию об этом см. в справке по библиоте-

ке USBHost.

В микроконтроллере SAM3X также реализована поддержка последовательных интерфейсов TWI и SPI. В программное обеспечение Arduino входит библиотека Wire, позволяющая упростить работу с шиной I2C; для получения

97

более подробной информации см. документацию. Для работы с интерфейсом SPI используйте библиотеку SPI.

Raspberry Pi 4 Model B – новый одноплатный компьютер является похожим на предыдущий флагман компании — Raspberry Pi 3 Model B+, а вот характеристики стали лучше:

 

 

Таблица 5.2

 

Сравнение характеристик

 

 

 

 

 

Raspberry Pi 4 B

Raspberry Pi 3 B+

Процессор

Четырёхъядерный, 1,5 ГГц

Четырёхъядерный, 1,4 ГГц

 

Порт питания

USB Type-C

micro-USB

 

HDMI

Два micro HDMI, вывод изо-

Один HDMI, вывод изобра-

 

 

бражения на два 4K-монитора

жения на один монитор

 

 

 

1080p

 

USB-порты

Два USB 3.0, два USB 2.0

Четыре USB 2.0

 

Bluetooth

5.0

4.1

 

Оперативная

До 4 ГБ

Максимум 1 ГБ

 

память

 

 

 

Raspberry Pi 4 имеет до 4 ГБ оперативной памяти, более быстрый четырехъядерный процессор, поддержку двух дисплеев с разрешением до 4K, Gigabit Ethernet, USB3.0, беспроводной локальной сети, Bluetooth 5.0 и USB-C power. Это производительность настольного ПК!

Более быстрый 64-битный четырехъядерный процессор с тактовой частотой 1,5 ГГц на SoC Cortex A72 от Raspberry Pi 4 в сочетании с оперативной памятью LPDDR4 объемом до 4 ГБ обеспечивает производительность, сопоставимую с настольными ПК x86 начального уровня. Вы увидите значительно более высокую скорость загрузки и гораздо лучшую производительность для задач с интенсивным использованием процессора, таких как эмуляция и использование медиа.

Raspberry Pi 4 имеет два порта USB 3.0, что в 10 раз быстрее по сравнению с USB 2.0 и идеально подходит для подключения быстрых периферийных устройств, таких как SSD и флэш-накопители. Есть также два порта USB 2.0 для подключения менее зависимых от скорости периферийных устройств, таких как клавиатуры и мыши.

Гнездо ethernet на Raspberry Pi 4 перемещается на настоящую гигабитную скорость для сверхскоростной проводной сети и, как и в Raspberry Pi 3 B +, также есть возможность Power-over-Ethernet (требуется дополнительная

Raspberry Pi PoE HAT).

Переход на Bluetooth 5.0 (с 4.2 на Raspberry Pi 3 B +) позволяет получить вдвое большую скорость (2 Мбит/с) и в четыре раза больший диапазон (50м на

98

улице, 10м в помещении), чем в предыдущем поколении. Вы получите лучшую энергоэффективность по сравнению с Bluetooth 4.2.

Двухдиапазонная беспроводная локальная сеть 802.11 b/g/n/ac, как и Raspberry Pi предыдущего поколения, для быстрой беспроводной сети с меньшими помехами и лучшим приемом.

Размер (85 × 56 мм) такой же, как и у модели B +.

Рис. 5.5. Размерный чертеж Raspberry Pi 4 Model B

 

Таблица 5.3

Основные характеристики Raspberry Pi 4 B

 

 

 

Процессор

Broadcom BCM2711, 64-битный четырёхъядерный

 

ARMv8 Cortex-A72 процессор с тактовой частотой

 

 

1.5 ГГц

 

GPU

VideoCore VI GPU поддерживает стандарты

 

 

OpenGL ES 3.0; кодирование H.264 до 1080p30, де-

 

 

кодирование 4Kp60 видео (H.265 до 4Kp60, H.264

 

 

до 1080p60)

 

Оперативная память

1/2/4 ГБ SDRAM LPDDR4

 

Поддерживаемые карты

10 class TF Card (Max128GB)

 

памяти

 

 

Ethernet

10/100/1000 Мбит Gigabit Ethernet (контроллер

 

 

Broadcom BCM54213PE)

 

99

 

Окончание табл. 5.3

 

 

 

Wi-Fi и Bluetooth

2.4 ГГц и 5 ГГц IEEE 802.11.b/g/n/ac WI-FI и

 

Bluetooth 5.0 Low Energy (BLE), обеспечиваемые

 

 

микросхемой Cypress CYW43455

 

Аудио

гнездо 3.5 мм, 2 порта micro-HDMI

 

USB 2.0 Ports

2 порта USB 2.0 и 2 порта USB 3.0 через VLI VL805

 

GPIO

40 pin ввода-вывода общего назначения (GPIO),

 

 

UART (Serial), I2C/TWI, SPI с селектором между

 

 

двумя устройствами; пины питания: 3,3 В, 5 В и зем-

 

 

ля.

 

Источник питания

5 В, 3.0 А через порт USB type C или GPIO; Power

 

 

over Ethernet (PoE) через отдельный PoE HAT (от-

 

 

дельные 4 пина)

 

Камера

1 x CSI-2 для подключения камеры по интерфейсу

 

 

MIPI

 

Видеовыход

2xmicro-HDMI

 

 

1 x DSI (Display Serial Interface) для подключения

 

 

штатного дисплея;

 

 

1 x композитный видеовыход (CVBS видео, PAL и

 

 

NTSC) 3.5 мм разъем

 

Поддерживаемые ОС

Ubuntu, Debian, Fedora, Arch Linux, Gentoo, RISC OS,

 

 

Android, Firefox OS, NetBSD, FreeBSD, Slackware,

 

 

Tiny Core Linux, Windows 10 IOT

 

Размер

85.6 мм x 56.5 мм x 17 мм

 

Модуль управления пи-

MxL7704

 

танием (PMIC)

 

 

Вес

45 г

 

Рис. 5.6. GPIO Raspberry Pi 4 B [3]

100

Рис. 5.7. Структурная схема системы

Структурная схема состоит из:

микрокомпьютер Raspberry Pi 4 b;

микрокомпьютер Arduino Due;

wi-fi модуль;

GPS модуль;

мобильные источники постоянного напряжения 1 и 2;

стационарный источник постоянного напряжения;

беспилотный радиоуправляемый транспорт;

устройство согласования и фильтрации помех;

android устройство;

устройство согласования и фильтрации помех (2 шт);

коммутатор (2 шт);

усилительное устройство ВЧ;

усилительное устройство ОВЧ;

антенна Харченко;

регулируемый диполь;

КArduino Due через интерфейс GPIO (интерфейс для связи компьютерной системы) подключаются все вышеперечисленные датчики и модули, мобильный источник постоянного напряжения 1 подключается через специальной вход питания Arduino. Через Wi-fi сеть Arduino Due подключено к беспроводной точке доступа. Raspberry pi 4b и Android устройство подключены к беспроводной точке доступа через Wi-fi сеть. Питание беспроводной точки доступа и Raspberry pi 4b обеспечивает стационарный источник постоянного напряжения.

101

Рис. 5.8. Структурная схема ПО МРС

Raspberry pi 4b выступает как беспроводная точка доступа и многопоточный TCP сервер для обеспечения по Wi-fi сети обмена данными через протоколы передачи данных SSH. Данные, полученные с датчиков и модулей на Arduino Due, передаются через беспроводное подключение в точку доступа и через многопоточный сервер загружаются в базу данных, написанную на языке программирования SQL. Далее данные с базы данных передаются в ПЭВМ , где производится обработка полученных данных и их последующая визуализация в удобном виде для наглядного восприятия оператором. Так же имеется Android приложение, позволяющее через беспроводную сеть производить мониторинг полученных и обработанных данных на Android устройстве.

Пост технического анализа, перехвата и контроля источников радиоизлучения (далее – ТАПК) является одной из составляющих разработанного комплекса. Программно-определяемое радиоприемное устройство на базе платформы RTL-SDR. В основе данного устройства лежит использование системы на кристалле, а именно контроллера (АЦП + демодулятор) Realtek RTL2832U (рис. 5.9) и тюнера R820T2 (рис. 5.11), которые более подробно представим ниже.

Рис. 5.9. Микросхема контроллера Realtek RTL2832U [3]

102

Рис. 5.10. Структурная схема контроллера Realtek RTL2832U [3]

Realtek RTL2832U представляет собой квадратную микросхему 6 мм (QFN) с 12 выводами на сторону. Сердцем являются его АЦП (аналогоцифровой преобразователь) и DSP (цифровой сигнальный процессор). Он выполняет цифровое преобразование с понижением частоты DDC (IF в основной диапазон) через микшеры I / Q (фаза 90 градусов), цифровая фильтрация нижних частот, I/Q-ресэмплинг и отправка 8-битных I/Q-данных через порт USB. Используется напряжение питания 3,3 Вольт, а также кристалл частотой 28,8 МГц. Спецификация чипа поставляется с соглашением о неразглашении. «U» в названии обозначает интерфейс USB (2.0). USB использует 4 контакта: + Напряжение, D-, D + и земля. USB-удлинитель рекомендуется использовать с RTL-SDR, чтобы защитить радио от помех, создаваемых компьютером. Микросхема RTL2832U содержит восемь универсальных входов / выходов. Высококачественная звуковая карта будет выдавать 32 бит на 192 кГц, пропускная способность 6,144 Мбит / с. Однако, RTL2832U имеет только 8-битный АЦП с частотой дискретизации 28.8 МГц, но это не лишает его возможности работать на скорости 3,2 мв/с (миллион выборок в секунду, 3200 кГц).

Важными выводами RTL2832U являются следующие:

выводы 1/2 - синфазные входы, положительные/отрицательные;

выводы 4/5 - квадратурный вход поз/мин;

выводы 11/12 - кварцевый генератор 28,800 МГц;

вывод 13 - автоматическая регулировка усиления или АРУ;

выводы 16/17 - SCL/SDA последовательные часы/данные;

выводы 18/19 - SCL / SDA 2k (256 байт) EEPROM S24CS0;

выводы 25/26 - линейный стабилизатор напряжения с низким падением, U = 3,3В AMS1117;

выводы 40/41 – передача данных по интерфейсу USB 2.0.

RTL2832U поддерживает радиоприемные устройства на ПЧ (промежуточной частоте, 36,125 МГц), низкой ПЧ (4,57 МГц) или выходе с нулевой ПЧ с

103

использованием кристалла 28,8 МГц. Микросхема как демодулятор выполняет следующие функции:

синхронизация символов;

регулировка частоты, поворот фазы, оценка и коррекция канала;

внутреннее и внешнее обратное перемежение;

декодирование Витерби, декодирование RS;

прямое исправление ошибок по соседнему и совмещенному каналам;

подавление помех, подавление импульсного шума;

автоматическое восстановление несущей, выравнивание канала;

коррекция частоты дискретизации, интерполяция и децимация частоты дискретизации, автоматическая регулировка усиления;

задержка, измерение уровней радиочастоты, оценка SNR, управление АРУ программно-определяемого радиоприемного устройства.

Rafael Micro R820T2 - это высокоинтегрированный кремниевый тюнер, в который встроены малошумящий усилитель (МШУ), микшер, дробные ФАПЧ, VGA, регулятор напряжения и следящий фильтр, что устраняет необходимость во внешних фильтрах на ПАВ, МШУ, «balun» и линейных стабилизаторах напряжения с низким падением (LDO). Встроенный ЛСН, высокопроизводительный МШУ и небольшой корпус делают R820T идеальным решением для проектов, чувствительных к стоимости.

Рис. 5.11. Микросхема тюнера Rafael Micro R820T2 [3]

Особенности:

самая низкая стоимость без внешних фильтров SAW, LNA, balun, LDO и регулируемых деталей;

сверхнизкое энергопотребление (менее 178 мА);

напряжение питания 3.3В;

2-проводной интерфейс I2C;

максимальная входная мощность +10 дБм;

104

коэффициент шума 3,5 дБ

Программируемые функции R820T2 доступны через совместимый с I2C последовательный интерфейс. При подключении данной микросхемы необходимо учитывать несколько важных уточнений:

ВЧ-дорожки должны быть заземлены для защиты;

экранированные разъемы должны использоваться со всеми экранами, подключенными к заземляющей плоскости с низким сопротивлением соединения.

минимизация пути заземления к устройству E-pad для кристалла;

место расположения кристалла должно быть далеко от ВЧ дорожек;

генератор кварцевого усилителя имеет специальный контакт питания

(контакт 11), который следует осторожно отделить от земли с минимальной длиной дорожки, чтобы минимизировать шум платы при подключении к эталонным часам;

системные часы и часто переключаемые сигналы не должны направляться близко к кристаллу и радиочастотной трассе;

размещение цепей фильтра АРУ и фильтра CP как можно ближе к устройству;

размещение керамических конденсаторов постоянного тока должно быть как можно ближе к устройству. Это гарантирует, что питание проходит через конденсаторы, прежде чем оно пройдет через VIA в плоскости питания.

Микросхема R820T2 имеет встроенную автоматическую регулировку усиления для достижения оптимального соотношения сигнал/шум при минимальном искажении. Когда входная мощность увеличивается, внутренний детектор мощности активируется, чтобы ослабить внутреннее усиление МШУ на оптимальном уровне. С другой стороны, когда мощность входного радиочастотного сигнала уменьшается, внутренний детектор мощности увеличивает внутреннее усиление МШУ для достижения хорошего качества принятых данных.

Однако, данная платформа программно-определяемого радио не лишена некоторых недостатков. Во-первых, нестабильность кварцевого опорного генератора вызывает погрешность в определении частоты. Одним из решений является замена его на генератор с температурной компенсацией TCXO. К сожалению, этот генератор, работающий на частоте 28,8 МГц, относительно дорогой.

Вкачестве альтернативы, можно использовать генератор типа VCXO, например, Si550, который не обеспечивает такую точную температурную компенсацию как TCXO, но относительно стабильный [19].

Внешний вид данного кварцевого генератора, распиновка и структурная схема представлены на рисунках ниже (рис. 5.12 и 5.13).

105

Рис. 5.12. Внешний вид кварцевого генератора типа VCXO модели Si550, а также его распиновка [18]

Рис. 5.13. Внешний вид кварцевого генератора типа VCXO модели Si550, а также его распиновка [18]

Si550 VCXO использует передовые схемы DSPLL® от Silicon Laboratories

для обеспечения низких колебаний часов на высоких частотах. Si550 доступен с выходной частотой на любой скорости от 10 до 945 МГц, а также при частоте 1400 МГц. В отличие от традиционных VCXO, где каждый кристалл имеет собственную выходную частоту, Si550 использует один фиксированный кристалл, чтобы обеспечить широкий диапазон выходных частот. Основанный на интегральной схеме подход позволяет кристаллу быть в роли резонатора, чтобы обеспечить исключительную стабильность частоты и надежность. Кроме того, синтез тактовой частоты DSPLL обеспечивает превосходное подавление шума при подаче сигнала. Si550 VCXO является конфигурацией для широкого спектра пользовательских характеристик, включая частоту, напряжение питания, выходной формат, наклон настройки и температурную стабильность. Конкретные конфигурации запрограммированы на заводе во время отгрузки, тем самым устраняя длительное время выполнения заказа, связанное с нестандартными генераторами.

Отметим, что на точность частоты приема, оказывает влияние также и кремниевая технология изготовления чипа R820T2, являющаяся низкочастотной для данной области применения. Это порождает аналогичную проблему

106

смещения частоты сигнала от реального значения. Устранение недостатка возможно с помощью калибровки коммерческой платформы. Для этого необходим источник сигнала со стабильной и заранее известной частотой. Разрешается использовать два типа источников – радиовещательную станцию FM диапазона, либо же GSM сигнал.

При калибровке необходимо учитывать нелинейность случайного смещения частоты сигнала во всей полосе приемника. Это значит, что калибровка в более низком диапазоне радиостанции может быть не эффективна. Следовательно, лучшим решением, хоть и более продолжительным по времени, рекомендуется калибровка по GSM сигналу. Для этого проводим сначала грубую, а затем точную калибровку с помощью программного обеспечения под операционной системой на базе ядра Linux 3.16. При выполнении грубой настройки, с помощью команды «rtl_test -p» переводим платформу в режим калибровки приема сигнала по GSM, во время которой осуществляется грубая оценки ошибки при поиске каналов базовых станций и набор необходимой в будущем статистики для точной калибровки. В результате получаем отчетную информа-

цию: «real sample rate: 2048 003 current PPM: 2 cumulative PPM: -7» и «real sample rate: 2047986 current PPM: -6 cumulative PPM: -7». Эти данные и потребуют-

ся нам для точной калибровки комплекса системы мониторинга. Для этого используем программное обеспечение «Kalibrate-SDR».

Анализируя радиочастотную часть комплекса, важно заметить, что используемая в платформе микросхема влияет на чувствительность приема. Это определяется тем, что усилитель внутри нее шумит сильнее, чем более дорогие типы отдельных высокочастотных GaAs усилителей. Для снижения уровня шумов на 1,5— 3 дБ и улучшения приема рекомендуется дополнительно к схеме использовать малошумящий усилитель, включаемый между антенной и устройством.

Повышение чувствительности возможно, в дополнение к первому способу, благодаря применению антенных фидеров со сравнительно малыми потерями. Для небольших расстояний до 10 метров хорошим вариантом является радиочастотный коаксиальный кабель «Radiolab 5D-FB» с затуханием на частоте 900 МГц — 21 дБ на 100 метрах, на частоте 1800 МГц — 30 дБ на 100м; для длин до 20 метров — радиочастотный коаксиальный кабель «Radiolab 8D-FB» с затуханием на частоте 900 МГц — 13 дБ на 100м, на частоте 1800 МГц — 20 дБ на 100м). Не менее важным является использование антенного разъема BNC, обеспечивающего достаточно малую потерю сигнала не более 0,3 дБ .

На основании ранее приведенных недостатков платформы RTL-SDR, был проведен ряд полезных модификаций для улучшения технических характеристик программно-определяемого радиоприемного устройства, например:

повышение температурной стабильности используемых компонентов в принципиальной электрической схеме устройства с помощью добавления пассивного, а также активного охлаждений главных составляющих – микро-

схем демодулятора Realtek RTL2832U, а также тюнера Rafael Micro R820T2;

107