Особенности архитектуры построения и организации прикладного программного обеспечения Глонасс-GPS навигационного контроллера для управления подвижными объектами
На рис. 1 представлена функциональная схема модернизированного навигационного контроллера мониторинга и управления подвижными объектами, тактико-технические характеристики которого существенно улучшены по сравнению с устройством-прототипом аналогичного назначения, представленным, например, в работе [1].
В контроллере предусмотрена возможность подключения внешних датчиков (5 на замыкание/размыкание и 3 «аналоговых») и исполнительных устройств (5 на замыкание/размыкание).
В качестве входных датчиков допускается подключение любых устройств, обеспечивающих механическое (кнопки, тумблеры, концевые выключатели, реле и т. п.) или электронное (открытый коллектор) замыкание на «землю». При подключении «аналоговых» датчиков следует использовать внешние согласующие цепи, обеспечивающие диапазон входных напряжений на контактах контроллера от 0 до 2,5 В.
К выходам контроллера подключаются внешние исполнительные устройства с током потребления не более 1 А. Для более мощных устройств следует использовать внешнее реле.
Для обеспечения голосовой связи диспетчера с объектом к разъему AUDIO контроллера можно подключить комплект голосовой связи. Так как в комплекте голосовой связи установлен активный динамик, то ему требуется внешнее питание 8–32 В. Питание можно подводить как непосредственно от бортовой сети автомобиля, так и от соответствующих контактов разъема IN/OUT контроллера.
Важным преимуществом навигационного контроллера является возможность параллельного подключения через разъем RS-232 до трех цифровых датчиков уровня топлива.
В состав контроллера входят следующие основные функциональные узлы и блоки:
- встроенный комбинированный навигационный ГЛОНАСС-GPS приемник (24 канала приема и обработки сигналов навигационных спутников), обеспечивающий высокоточное измерение вектора навигационных параметров подвижных объектов (координат, скорости и времени сеанса радионавигационных определений);
- встроенный двухдиапазонный (900/1800 МГц) GSM-терминал, обеспечивающий доставку сообщений с информацией о местоположении и состоянии объекта и прием команд через TCP/IP-соединение, устанавливаемое с помощью технологии пакетной передачи данных (GPRS), с использованием службы коротких сообщений (SMS), а также голосовую связь;
- встроенный Li-Ion аккумулятор для резервного питания и схему его заряда.
Контроллер представляет собой функционально и конструктивно законченное устройство. Его функции:
- вычисление географических координат объекта, на котором он установлен, с использованием сигналов космических навигационных систем ГЛОНАСС (Россия) и GPS Navstar (США);
- определение состояния внешних дискретных и аналоговых датчиков;
- отправка полученной информации о местоположении объекта и состоянии внешних датчиков через Интернет с использованием технологии пакетной передачи данных (GPRS) на диспетчерский компьютер с известным IP-адресом или коротких сообщений (SMS) на два заданных телефонных номера (например, в диспетчерский центр);
- управление внешними исполнительными устройствами (включение/выключение);
- голосовая связь (через внешнюю гарнитуру или комплект голосовой связи);
- работа от встроенного резервного Li-Ion аккумулятора при пропадании внешнего питания и заряд аккумулятора при работе от внешнего питания;
- удаленная конфигурация параметров и режимов работы (через GPRS или SMS) и по шине USB (драйверы для Win 98/SE/2000/XP, MAC OS-9, MAC OS-X, Linux 2.40 поставляются вместе с контроллером);
- удаленное обновление версий встроенного программного обеспечения через TCP/IP-соединение по GPRS;
- запись маршрутов в энергонезависимую память при отсутствии GPRS соединения и доставка их при восстановлении связи.
При обмене данными по каналам связи контроллер использует алгоритм шифрования по стандарту AES128 [2] с ключом доступа (паролем) длиной 128 бит (16 символов). Пароль в виде строки «0000000000000000» (16 нулей) принят за отсутствие пароля. Внешние программы («Интернет-канал» и пр.) при установлении соединения с контроллером должны знать пароль, записанный в контроллер. Программа первоначально пытается установить соединение с использованием этого известного ей пароля, если же это ей не удается, то она пытается использовать «нулевой» пароль.
Таким образом, программа сумеет установить соединение с контроллером, если:
- пароль, записанный в контроллер, совпадает с паролем, записанным в программе;
- в контроллер записан «нулевой» пароль (доступ к контроллеру открыт).
Для питания контроллера необходим внешний источник постоянного напряжения от +6 до +32 В (заряд встроенного резервного аккумулятора возможен только при напряжении внешнего питания более 10,5 В). Такой широкий диапазон входных напряжений позволяет питать контроллер непосредственно от бортовой сети различных автомобилей. Контроллер может поставляться со специальной схемой защиты от повышенного напряжения питания, которая отключает устройство от бортовой сети при перенапряжении.
Контроллер отправляет в диспетчерский центр набор данных (отчет), содержащий информацию о местоположении, состоянии внешних датчиков, а также технологическую и статистическую информацию. Он формирует отчеты в соответствии с корректируемым пользователем адаптивным алгоритмом, что позволяет получать максимально подробные маршруты передвижения объекта с учетом характера его движения при существенной экономии встроенной памяти и трафика.
В качестве средства доставки команд и отчетов контроллер использует сотовые сети GSM с услугой GPRS, поэтому зона действия связи и прочие параметры определяются возможностями выбранного оператора сотовой связи.
Конфигурация контроллера осуществляется через USB-шину персонального компьютера с помощью специализированного программного обеспечения.
Контроллер поставляется со встроенным резервным Li-Ion аккумулятором емкостью 900 мА·ч, который обеспечивает автономную работу контроллера при пропадании внешнего питания от двух до девяти часов (в зависимости от температуры). Аккумулятор сохраняет работоспособность в диапазоне температур от –20 до +50 °С (при этом теряет емкость при отрицательных температурах) и рассчитан на 400–500 циклов зарядки.
Обмен данными между диспетчерским центром системы и контроллером может осуществляться по трем каналам передачи данных: GPRS соединение, SMS канал связи и USB последовательная шина.
Необходимо отметить, что связь между контроллером и диспетчерским центром системы через Интернет с помощью GPRS соединения — это основной режим доставки телематической информации от подвижных объектов. Для того чтобы контроллер смог установить TCP/IP-соединение с программой «Интернет-канал», необходимо установить параметры этого соединения (адрес интернет-провайдера, пароль и логин для доступа в сеть, IP-адрес и порт компьютера диспетчерского центра). Кроме того, контроллером задается время нахождения в GPRS соединении (длительность GPRS сессии). Установив соединение, контроллер будет поддерживать его заданный период времени, после чего разорвет его и вновь установит через 2–3 секунды. Такой подход позволяет оптимально использовать особенности тарифных планов операторов сотовой связи с точки зрения минимизации расходов на оплату GPRS трафика.
От количества и расположения «видимых» спутников зависит точность определения навигационных параметров. Минимальное количество спутников при работе по комбинированному созвездию КНС ГЛОНАСС и GPS Navstar, требуемое для определения местоположения, — 4 (так называемое 2D-решение), но лучшая точность достигается при видимости пяти и более спутников (3D-решение). Кроме того, в режиме 2D невозможно вычисление высоты объекта. Информация о типе навигационного решения (2D или 3D) записывается в отчет и доставляется в диспетчерский центр вместе с навигационными данными, таким образом можно судить о точности местоположения.
Для первого после подачи питания на контроллер определения местоположения (вычисления навигационного решения) может потребоваться от 45 до 60 секунд. При кратковременном (до 30 секунд) пропадании сигналов от спутников навигационное решение восстановится через несколько секунд после появления сигналов. Контроллер пытается определить (обновить) свое местоположение каждую секунду. Если на момент формирования отчета со времени последнего успешно вычисленного местоположения прошло не более пяти секунд, считается, что это «свежее» навигационное решение. Если по какой-либо причине в момент формирования отчета «свежее» местоположение недоступно уже более пяти секунд (нет GPS-антенны, объект находится в тоннеле, прошло мало времени с момента подачи питания и т. д.), контроллер укажет в отчете последние известные навигационные параметры, которые считаются «устаревшими». Признак «актуальности» (свежие или устаревшие параметры) передается вместе с навигационными параметрами, вследствие чего диспетчер может судить о том, действительное ли это местоположение или уже устарело.
Время и дата тоже определяются по сигналам спутников систем ГЛОНАСС или GPS Navstar, но для этого контроллеру достаточно «увидеть» всего один спутник. С момента определения времени по сигналу от спутника контроллер будет поддерживать правильное время с помощью встроенных часов реального времени даже при пропадании сигналов от спутников на неограниченное время при условии наличия питания контроллера (неважно, от внешнего питания или от резервного аккумулятора). Встроенные часы реального времени имеют собственный независимый источник резервного питания, которого хватает на обеспечение беспрерывной работы часов в течение нескольких дней, даже в случае полного отключения питания контроллера (и внешнего, и резервного аккумулятора).
Контроллер содержит встроенный механический датчик движения, принцип действия которого основан на обнаружении вибрации: наличие вибрации считается «движением», отсутствие вибрации — «остановкой». Для исключения ложных срабатываний и регистрации «лишних» кратковременных «остановок» для начала «движения» необходимо наличие непрерывной вибрации в течение не менее трех секунд, а для регистрации «остановки» — отсутствие вибрации в течение не менее 10 секунд.
Датчик движения можно использовать в качестве дополнительного и независимого источника информации о движении объекта, что позволяет увеличить точность получения координат на остановках и стоянках. Встроенный навигационный приемник имеет погрешность измерения координат, что приводит к тому, что на длительных стоянках появляется «шум», в результате которого снижается точность отчетов, вычисляемых по пройденному маршруту (пробег и прочее). Особенно это заметно, если объект стоит в тесном дворе или в другом месте с ограниченной видимостью навигационных спутников, в этом случае ошибки в определении координат могут быть довольно существенными.
Для того чтобы избежать этой проблемы, можно «замораживать» координаты объекта в отсутствии движения объекта. В этом случае контроллер на остановке будет постоянно передавать одни и те же «замороженные» координаты, вычисленные в момент остановки, а при начале движения контроллер войдет в нормальный режим определения координат.
К важным потребительским свойствам контроллера следует отнести возможность подключения до пяти внешних дискретных датчиков общего назначения «замкнуто/разомкнуто», до трех аналоговых датчиков, на выходе которых используются аналоговые сигналы с изменяющимся напряжением, а также до трех цифровых датчиков уровня жидкости.
Дискретные входы кроме обычного режима могут также работать в режиме детектирования входных импульсов (рис. 4).
Входы в режиме «детектор импульсов» целесообразно использовать в случаях, когда требуется зарегистрировать некоторый процесс, начало и конец которого характеризуются появлением/пропаданием серии импульсов. Примером такого использования может служить датчик вращения того или иного механизма, когда при вращении в датчике возникают импульсы, а при его остановке они пропадают.
Независимо от своей основной функции (обычный вход или детектор импульсов), вход IN1 имеет дополнительнуюо собенность: контроллер подсчитывает количество импульсов (переходов из состояния «разомкнуто» в «замкнуто») на данном входе.
Текущий результат подсчета хранится в энергонезависимой памяти и входит в состав формируемых контроллером отчетов. Можно также задать определенную величину изменения счетчика, при достижении которой будет сформирован отчет.
Счетчик импульсов можно использовать для вычисления параметров, пропорциональных количеству импульсов на том или ином датчике, например, для измерения расхода топлива при использовании турбинного датчика, когда количество оборотов турбины (количество импульсов на датчике) соответствует определенному количеству прошедшего через нее топлива. Еще одним примером использования является подключение датчика скорости (спидометра): в этом случае каждый импульс соответствует определенному пройденному расстоянию, а сумма импульсов — пробегу за определенный период времени.
Разрядность счетчика — 32 бита, то есть максимальное значение, после которого происходит переход в нулевое состояние, равно 4 294 967 295.
Для измерения плавно изменяющихся параметров (уровень топлива, температура, давление и т. д.) к входам AN_IN1, AN_IN2, AN_IN3 контроллера можно подключить до трех внешних аналоговых датчиков. Напряжение с этих входов оцифровывается встроенным восьмиразрядным аналого-цифровым преобразователем (АЦП) контроллера, и текущее состояние входов добавляется к формируемым отчетам.
В дальнейшем с помощью обработки в диспетчерском центре измеренное напряжение можно пересчитать в «реальные» физические величины (литры, градусы и т. д.), используя процесс предварительной калибровки (построение калибровочных таблиц).
Чтобы «сгладить» возможные резкие и быстрые колебания напряжения на аналоговых входах, в контроллере применяется фильтрация показаний входов. Для фильтрации используется фильтр нижних частот (ФНЧ) первого порядка. Новое фильтрованное значение Xi вычисляется по формуле:
где Xi-1 — предыдущее фильтрованное значение; Yi — новое полученное со входа значение; K — коэффициент фильтрации (0 ≤ K ≤ 1).
Для каждого аналогового входа можно задать собственный коэффициент фильтрации (выбрать одно из четырех предустановленных значений коэффициента).
Для каждого из аналоговых входов можно определить два типа событий, приводящих к формированию отчета: при заданном изменении напряжения или при переходе через заданный порог.
При использовании контроллера с цифровыми датчиками уровня жидкости контроллер записывает показания цифровых датчиков вместо показаний соответствующих аналоговых входов, поэтому использование соответствующих аналоговых входов контроллера в этом случае невозможно. Фильтрация значений также становится недоступна, так как она выполняется аппаратно внутри датчика.
Контроллер записывает маршрут объекта, формируя с заданной подробностью точки этого маршрута (отчеты). Отчеты записываются в энергонезависимую память контроллера и при первой же возможности доставляются в диспетчерский центр с использованием TCP/IP GPRS соединения. Таким образом, если контроллеру удалось установить TCP/IP GPRS соединение с диспетчерским центром, отчеты будут доставляться в него по мере их возникновения в режиме реального времени. Если же по любой причине контроллер не смог установить TCP/IP GPRS соединение, отчеты накапливаются в памяти контроллера и будут доставлены в диспетчерский центр сразу после установления соединения.
Функциональные возможности системы радионавигационного мониторинга, в состав которой входит настоящий модернизированный контроллер, в части приема/передачи информации через Интернет реализованы авторами с помощью программы «Интернет-канал» [3].
Объема энергонезависимой памяти контроллера достаточно для хранения около 27 000 точек маршрута. В «средних» условиях этого хватает для нескольких недель автономной (без считывания) работы контроллера. При недостаточном объеме памяти вновь формируемые отчеты записываются вместо самых «старых», таким образом, в памяти контроллера всегда будут последние 27 000 точек отчета.
Контроллер формирует очередную точку маршрута (отчет) при наступлении определенных событий. Одна группа событий определяется пользователем исходя из требуемой подробности записи маршрута, характера движения объекта, наличия внешних датчиков и т. д. и может быть изменена как при начальной конфигурации контроллера, так и дистанционно в процессе работы.
События из другой группы являются технологическими и не могут быть изменены или отменены.
Состав информации, входящей в каждый отчет, содержит как обязательные данные (время, координаты и т. д.), так и конфигурируемые пользователем (высота, курс, показания телеметрического счетчика и т. д.).
- Басюк М. Н., Савицкий Ф. Ф., Хожанов И. В., Чубаров С. А. Архитектура построения и организация программно-математического обеспечения системы радионавигационного мониторинга автотранспорта «Маршрут» // Беспроводные технологии. 2008. № 1.
- Federal Information Processing Standards. Publication 197. November 26, 2001 Specification for the Advanced Encryption Standard (AES).
- Басюк М. Н., Колотов Р. Б., Савицкий Ф. Ф., Хожанов И. В., Чубаров С. А. Свидетельство о регистрации программы для ЭВМ № 2008612036 от 10.04.2008.