TNC-контроллер для пакетной связи

В продолжение темы APRS, если нет возможности формировать пакеты программно или же устройство не имеет звуковой карты, или требуется автономное устройство — на помощь придет этот несложный TNC-контроллер. Из-за простоты своего устройства, реализована лишь часть протокола AX.25, режим KISS не поддерживается в более новых прошивках от IZ8EWD значительно расширен функционал. Авторство сего устройства принадлежит Bob Ball (WB8WGA), всю сопутствующую информацию можно получить по ссылкам внизу статьи.

Итак. Декодирование и формирование сигнала методом AFSK осуществляется микроконтроллером PIC16F88 (с помощью компаратора и резистивной матрицы соответственно). Связь с компьютерным терминалом или GPS-приемником происходит по UART протоколу через преобразователь интерфейсов MAX232. Устройство питается напряжением 7-18 вольт. Не буду вдаваться в подробности работы, об этом можно почитать в переводе либо оригинале статьи.

Коллега по цеху UR5WHK в далеком 2007 году изготовил данное устройство, разработав для нее печатную плату, чертеж которой нашелся на просторах Интернета. Особенностей конструкция не имеет. И тем не менее, печатной платой предусмотрена небольшая аппаратная доработка — добавлен гистерезис в компараторе для предотвращения колебаний (установлен резистор на 470 Ом с 1 ноги МК на землю, установлен резистор 100 кОм между первой и второй ножкой МК, установлен конденсатор 1000 пФ с 17 ноги на землю.). Транзистор 2N2222 можно заменить КТ3102. В обвязке MAX232 по даташиту, как и в схеме, должны стоять конденсаторы емкостью 1 мкФ, а не 4,7, как указано на плате. Все необходимые файлы расположены внизу статьи.

Изготовление и сборка проблем не вызвала. Самая трудная задача — запрограммировать и настроить ПО контроллера. Автор использует плату Olimex  и предполагает, что сначала собирается базовая схема для программирования, со светодиодом на 9 ноге МК, который мигает в режиме загрузчика, в МК загружается программатором загрузчик, после окончательной сборки осуществляется загрузка основного ПО программой Screamer. Возникает вопрос — зачем такие сложности, если можно запрограммировать устройство сразу целиком и полностью (собственно, так и поступим).

Прошивка записана, удаляем перемычку GPS Enable, подключаем нуль-модемный кабель к ПК, открываем эмулятор терминала, выбираем нужный COM-порт, подключаемся со скоростью 9600 бит/с 8N1 для версии прошивки 1.08 или 4800 бит/с 8N1 для версий 2.xx. Если все работает — в приемном окне терминала должно отображаться приветствие, приглашение командного интерпретатора и эхо самих команд (и, естественно, результат их выполнения), вводимых в терминал. На неправильные команды интерпретатор ругается знаком ?, если команда правильная — говорит OK и выводит результат.

Теперь самое интересное. Товарищи из [1] перевели на русский только первую часть статьи, в которой отсутствовало описание команд для настройки TNC. Поэтому пришлось поломать голову — а что же делать дальше?

Пожалуй, самые первые и важные команды — это help и disp. Команда help выводит список всех доступных команд с кратким описанием, команда disp выводит текущие настройки контроллера.

Базовая конфигурация следующая:

  • Командой mycall r4adx задаем позывной (свой, естественно).
  • Далее задаем адрес назначения UI-фреймов: unproto aprs — напрямую, или unproto aprs v wide1-1 v wide2-2 — через дигипитеры (более подробную информацию следует искать в описании стандарта APRS).
  • Периодичность передачи маяков настраивается командой beacon every ##. Для мобильных станций с GPS рекомендовано выставлять значение 1-2 минуты, для стационарных маяков — 10-30 минут. Команда beacon every 0 выключает маяк.
  • Сохранить настройки в EEPROM микроконтроллера позволяет команда perm.

Для того, чтобы передавать фиксированные координаты маяка, используется команда btext !4820.55N/04451.43E%Hello, World!, где

  • ! — тип сообщения (Координаты без отметки времени; без сообщений APRS)
  • 4820.55N — 48º20.55′ северной широты
  • / — идентификатор таблицы символов APRS ( / — основная, \ — дополнительная)
  • 04451.43E — 44º51.43′ восточной долготы
  • % — код отображаемого на карте символа
  • Hello, World! — любой текстовый комментарий.

Символ, определяемый / и %, а также другие возможные символы описаны в приложении 2 Справочника по протоколу APRS, или в [4]

Использование TNC контроллера в качестве дигипитера:

Контроллер может также ретранслировать пакеты APRS или другие полученные UI-фреймы, если путь назначения совпадает с адресом, настроенным в параметре myalias. Для активации режима используются команды:

  • myalias wide1-1 — задает псевдоним для пересылки пакетов.
  • digi on — включает режим дигипитера.

В режиме трекера необходимо поставить перемычку GPS enable и сделать соответствующие настройки.

<GPS приемника нет в наличии, проверить работу пока невозможно>

Дополнительные команды:

  • calibrate — TNC переходит в режим передачи и выдает двухтональный сигнал
  • txdelay — задержка между переключением на передачу и генерацией сигнала. Увеличение параметра на единицу увеличивает задержку примерно на 6 миллисекунд
  • monitor all/me/off — мониторинг пакетов на последовательном порту. all — все пакеты, me — пакеты, которые предназначены для mycall и myalias, off — выключено (например, в режиме дигипитера). Мониторинг автоматически отключается при установке перемычки GPS Enable.
  • converse — включает режим передачи ненумерованных UI-кадров всего, что набирается в последовательный порт (в новых версиях сокращено до conv). 
  • TR xmit/rcv/offкоманда трассировки для тестирования программного обеспечения или экспериментов. xmit отображает в шестнадцатеричном формате пакеты, отформатированные для передачи, но фактическая передача не происходит. rcv делает то же самое, но с принятыми пакетами.
  • kiss on/off— активация режима KISS для работы с внешним программным обеспечением (режим реализован начиная с версии прошивки 2.30, предоставленной в [2]).

Настройка аппаратной части сводится к установке уровней принимаемого/передаваемого сигнала.

Файлы:

Ссылки:

  1. http://aprs.qrz.ru/art/ur5whk/index.php
  2. https://www.pianetaradio.it/blog/minitnc/
  3. http://www.enide.net/webcms/index.php?page=wb8wga-tnc
  4. Таблица символов и иконок APRS

2 Comments on “TNC-контроллер для пакетной связи”

  1. Антон приветствую ! Хотел узнать , интересуетесь ли темой Aprs на базе Lora ?

    1. Нет, я давно APRS не пользуюсь… Есть демон APRX чисто на сервере домашнем, который объект в сеть транслирует, и всё

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *