Разработка оптического рефлектометра

Заказчик

Компания-производитель измерительных приборов.

Задача

Разработать рефлектометр для оптических сетей передачи данных, который позволяет:

  • Снимать характеристики оптических сетей, определять длину кабелей, наличие и расположение повреждений и переломов кабелей
  • Визуализировать измерения в виде графиков и анализировать полученные данные
  • Использовать многоязычный пользовательский интерфейс с простым добавлением новых языков
  • Управлять прибором с аппаратных клавиш и с сенсорного экрана
  • Получать данные с USB-микроскопа — волоконного эндоскопа (изображение «среза» оптики)
  • Сохранять полученные данные в локальной NAND-памяти, на USB-флеш-накопителе или карточке MicroSD
  • Работать в качестве USB-флеш-накопителя при подключении к компьютеру
  • Передавать и принимать полученные данные по Bluetooth
  • Поддерживать отказоустойчивую систему обновления прошивки

Устройство должно быть малогабаритным и работать от электрической сети 220 В/50 Гц в режиме 24x7 или от встроенного аккумулятора не менее 8 часов.

Решение

Процессорная плата на базе процессора Texas Instruments AM3505 (Сortex a8) с частотой 600 МГц c 128 MB LpDDR, 256 MB NAND-памяти. На компактной плате установлены интерфейсы USB 2.0 OTG, USB 2.0 Host, MicroSD, bluetooth.
Для работы устройства были адаптированы следующие программные компоненты:
  • Загрузчик x-loader
  • Загрузчик U-Boot
  • Ядро Linux
  • Корневая файловая система на основе дистрибутива Buildroot.

Начальный загрузчик (U-Boot) выполняет базовую инициализацию системы (ОЗУ, ПЗУ, сетевой интерфейс) и загружает ОС. Также он используется для первичной прошивки устройства и диагностики основных компонентов.

Программная часть устройства включает стандартные компоненты Open Source:

Компонент ПО Особенности / для чего используется
Ядро ОС Linux (v 2.6.37, адаптированная Texas Instruments для CPU AM3505) 1. Включает драйверы периферийных модулей оптического рефлектометра
2. Предоставляет программные интерфейсы для работы прикладных программ и служб
3. Реализация поддержки основных сетевых протоколов и взаимодействие с внешними устройствами
Разработано спец. ПО на базе Qt4.7 (отраслевой стандарт графических приложений Embedded Linux) 1. Настройка и управление устройством
2. Увеличение скорости разработки и упрощение отладки приложения
Механизм Qt Linguist, входит в состав Qt4 Поддержка нескольких языков
Библиотека QWT Отображение графиков (быстрая и качественная визуализация оптических рефлектограмм)
Библиотека v4l2 Работа с USB-микроскопом (волоконным эндоскопом): настройка параметров и получение изображений
Библиотека bluez4 Работа с интерфейсом bluetooth
mdev Работа с подключаемыми устройствами: USB-флеш, MicroSD, волоконным эндоскопом
busybox Использование базовых консольных внутренних утилит
shel Написание скриптов
Дистрибутив Buildroot Сборка всей системы
Компилятор Codesourcery Компиляция системы с использованием команд NEON

 

Структурная схема программного обеспечения:

Преимущества

  • Использование Qt4 позволило сократить время разработки
  • Небольшие габариты: 118 мм (Д) x 76 мм (Ш) x 43 мм (В)
  • Малое энергопотребление: среднее значение при типичном применении – менее 5 Ватт
  • Низкая себестоимость