Как сделать CI-V-кабель для управления приемником Icom IC-R20

a697c5b006a2d123bc7f37d60e0add12.jpg

Привет, Хабр! Это Антон Комаров, автор команды спецпроектов МТС Диджитал. Мой интерес к радио проснулся очень давно, с тех самых пор, как приятель показал мне, насколько полезно иметь в машине CB-радиостанцию для связи с водителями-дальнобойщиками. Поработав в эфире, я заинтересовался:, а что происходит на других диапазонах? Я стал понемногу обзаводиться UHF- и VHF-оборудованием и приобрел не слишком известный RTL-SDR-донгл на базе Elonics e4000.

Но настоящим событием для меня стал подарок хорошего друга, который, видя мое стремление к изучению радио, вручил сканер Icom IC-R20. Это даже по нынешним меркам крутой аппарат на базе супергетеродина с тройным преобразованием частоты. Он позволяет принимать сигналы в диапазоне от 150 кГц до 3 300 МГц, обладая при этом хорошей чувствительностью и избирательностью. Пока я не буду заострять внимание на его технических характеристиках, а расскажу об одной из его возможностей, а именно — удаленном управлении по протоколу CI-V.

Icom IC-735, первый трансивер с CI-V (источник изображения)

CI-V (Communications Interface V) был создан в компании Icom в начале 80-х годов и впервые дебютировал в легендарном трансивере IC-735. С тех пор японские инженеры бережно сохраняли обратную совместимость — в итоге это сделало протокол стандартом для управления оборудованием Icom. Кстати, он неплохо задокументирован: в сети свободно доступны статьи вроде этой, которые описывают не только физический интерфейс, но и используемые команды.

Icom делает шикарное оборудование и поддерживает множество разных аксессуаров, в том числе и для удаленного управления через CI-V. Но как только вы захотите приобрести какой-либо из них, будете неприятно удивлены стоимостью. За адаптер CT-17, реализующий в себе конвертер уровней RS232C в CI-V и позволяющий управлять сразу четырьмя устройствами по цепочке, с вас попросят от 40 до 80 вечнозеленых (плюс доставка и налог в зависимости от страны).

Одиночный же кабель производства дядюшки Ляо обойдется в 19 $, что уже приемлемо. Но ждать с того же «Али» можно достаточно долго. Многие предпочитают собирать его самостоятельно, благо не требуются никакие дорогостоящие компоненты. Прежде чем приступать к созданию кабеля, расскажу, для чего он вообще используется.

Применение

Современные радиолюбители все реже работают голосом или азбукой Морзе, предпочитая более продвинутые виды связи, такие как FT8 или WSPR. Наличие удаленного управления у трансивера позволяет проводить связи в автоматическом режиме без оператора. Сейчас радиолюбитель вполне может находиться в сотнях километров от своего оборудования и при этом иметь над ним полный контроль.

Но если с передачей сигнала все более-менее понятно, то зачем CI-V нужен handheld-радиосканеру? Казалось бы, портативности ему не занимать, передавать он ничего не способен, а настроить частоту можно просто с помощью цифровой клавиатуры за пару секунд. Но если копнуть глубже, то поддержка удаленного управления позволяет реализовать механизм обратной связи при приеме радиосигналов.

Пока вы идете в магазин за пироженкой или читаете эту статью, в ~400 км над землей летает МКС. Довольно часто на МКС проводят эксперименты, связанные с отправкой изображений по протоколу SSTV. Частота известна — 145.800 МГц, пролет можно рассчитать при помощи специальных приложений. Казалось бы, записывай сигнал и потом его декодируй, никаких сложностей.

Дьявол кроется, как уж повелось, в деталях. На тот момент, когда МКС появилась над горизонтом, сигнал будет на частоте 145.8035 МГц. Если вам повезло и станция будет над головой, то в момент пролета частота равна заявленной, то есть 145.800 МГц. Когда МКС вновь скроется за горизонтом, актуальная частота составит уже 145.7965 МГц. Получается, из-за эффекта Доплера разница — 7 кГц, что несомненно отразится на качестве принимаемой картинки.

Одним из способов устранить влияние на прием будет динамическое перестроение по частоте с малым шагом (1 кГц и менее). Существует специальное программное обеспечение, которое, имея актуальные данные TLE (набор элементов орбиты для спутника Земли), способно отправлять команды на перестроение по частоте в момент пролета, что позволяет максимально качественно принимать полезный сигнал. Это только один из примеров того, для чего подобному приемнику может потребоваться управление через CI-V.

Особенности протокола

Давайте посмотрим, как вообще выглядит передача данных по протоколу CI-V. Несмотря на его схожесть с AX.25, он представляет собой отдельную, несовместимую с ним, сущность.

Структура любого пакета выглядит так:

  • FE FE — преамбула;

  • destaddr —адрес назначения;

  • srcaddr —адрес источника;

  • cmdcode —код команды;

  • data1 … dataN — данные;

  • FD —завершающий байт.

У каждой модели Icom есть свой стандартный адрес в виде шестнадцатеричного значения. Для IC-R20 он выглядит как . Когда у вас просто одиночный кабель, подключающий одно устройство к компьютеру, вам не нужно ничего менять. Но если у вас оригинальный интерфейс CT-17 и несколько однотипных устройств, то каждому из них нужно будет присвоить отдельный адрес.

С момента разработки стандарта скорости обмена данными увеличивались. Именно скорость — важная настройка, на которую нужно обратить особое внимание. По умолчанию в моем приемнике выставлено AUTO, что дает возможность самостоятельно выбрать рабочее значение, в зависимости от того, куда оно подключено и какая максимальная скорость поддерживается на другом устройстве. Но можно все это сделать и вручную. Доступные варианты:

  • 300 bps;

  • 1 200 bps;

  • 4 800 bps;

  • 9 600 bps;

  • 19 200 bps.

На физическом уровне CI-V представляет собой самый обычный сигнал TTL, где напряжение выше 2В будет означать единицу, а менее 0,8В — ноль. Значит, если взять какой-нибудь готовый модуль USB-to-UART, например от FTDI, и сделать переходник, то мы получим тот самый кабель, который нам нужен. Обратите внимание, что уровень адаптера должен быть установлен перемычкой на 5 вольт, а не на 3,3.

Схема и изготовление

В сети давно гуляет схема переходника, который можно собрать буквально на коленке. Он пригоден для работы с большинством трансиверов и ресиверов Icom:

CI-V-кабель для подключения к адаптеру FTDI USB-to-UART (источник изображения)

Схема простейшая: кремниевый диод 1N4148, резистор на 10 кОм, стереоразъем 3,5» и немного монтажного провода. И вот тут вас сразу будет поджидать неочевидная ловушка. Если вы попробуете поискать в сети готовый кабель, вас ждет такая картинка:

Готовый адаптер (источник изображения)

Здесь не стерео-, а моноразъем 3,5». Именно это ввело меня в заблуждение, и я решил: если китайский кабель с аудиоконнектором, то и я такой возьму. Сказано — сделано:

Все готово к пайке

Все готово к пайке

Первый тест

Спустя десять минут передо мной лежал собранный кабель, его я сразу решил протестировать при помощи приложения CI-V Scout, созданного радиолюбителем KB3HHA Сетом Кохеном (Seth D Cohen). Эта небольшая программа позволяет сформировать и отправить на устройство с поддержкой CI-V набор байт, в ответ на которые оно должно отреагировать и вернуть информацию.

Выбираем номер виртуального COM-порта, который предоставляет драйвер адаптера FTDI, в качестве Baud Rate можно поставить 9 600, а далее стоит внимательно посмотреть на адреса. В графе CI-V Address: Source должно стоять значение по умолчанию, а именно — E0. А вот в Destination прописываем адрес нашего девайса 6C.

Осталось лишь указать значение команды в поле Command.Ставим туда значение 3. В ответ приемник вернет нам текущую частоту, на которую он настроен. В общем виде это выглядит так:

FE FE 6C E0 03 FD

Ответ нам должен поступить в виде:

FE FE E0 6C 03 {freq} FD

где {freq} — закодированная в HEX частота. Нажимаем кнопку Connect и затем Send для отправки последовательности байт:

80052f8dc206099efdfa62eb959f463c.png

Команда ушла, FTDI радостно отморгался лампочками, но в ответ я увидел лишь эхо и сообщение Time out waiting for response to command Seq: 1 Sender: E0 Recipient: 6C Command:03.

Ответа не было, а это значит, кабель собран неправильно. А еще я внезапно понял, что разъем для CI-V и для наушников один и тот же. Получается, с моноразъемом я точно не смогу потом получить звук, что делает кабель фактически бесполезным.

Решение проблемы

На больших и серьезных трансиверах CI-V отделен от вывода звука. Поэтому предлагаемые готовые кабели построены на моноразъеме — им просто не нужно больше, а моно всегда дешевле, чем стерео. Но с Icom IC-R20 случай вообще особый. Пока я искал, в чем же ошибся, нашел файл с интереснейшей таблицей и сноской:

8a563970adf1cda82d05384474b1aa2f.png

Получается, что с IC-R20 нужно не только использовать стереоразъем 3,5», но и поменять распиновку. RX должен быть на центральном кольце, а не на наконечнике. Правильная схема приобретает вид:

34c2e93850ae252476579f7f564ac487.jpg

Наконечник в этом варианте служит для вывода звука в паре с GND, а данные будут идти с центрального кольца. Это справедливо исключительно для IC-R20, такая вот особенность модели. Итак, взяв уже правильный стереоразъем и повесив RX на центральное кольцо, я еще раз попробовал запустить CI-V Scout:

a08ac4647d4037aade044703ff0122e2.png

Вуаля — все работает корректно, и в ответ на мою команду устройство сообщило текущую частоту: 00 00 10 37 01, то есть 137.100 МГц.

Не стоит забывать и о том, что это работает и в обратную сторону. Icom IC-R20 сам умеет выступать в роли «командующего» и задавать параметры, отсылая их на ведомое устройство. Им может быть или компьютер, или другой трансивер и ресивер.

Для этого зажмите кнопку 8 (SET), выберите пункт SET EXPAND при помощи правой крутилки (DIAL-R), поставьте курсор на ON и подтвердите еще раз кнопкой 8 (SET). Теперь в разделе настроек будет значительно больше параметров.

Прокрутите список вниз и выберите пункт CI-V TRANSCEIVE. Подтвердите выбор с помощью 8 (SET), поставьте курсор на ON и еще раз нажмите 8 (SET). Теперь при смене любых параметров, будь то частота (или модуляция), соответствующие команды будут отсылаться на другое подключенное устройство с адресом по умолчанию E0.

Вместо заключения

Использование самодельного CI-V-кабеля в большинстве случаев оправдано низкой ценой. Переходник USB-to-UART стоит 2,5 $. Разъем, диод и резистор — еще 1 $. Стоимость провода я в расчет не беру: его можно взять вообще откуда угодно. Получается, что за 3,5 $ и 10 минут времени вы соберете кабель, который в готовом виде стоит 19 $ и предполагает месяц ожидания. Плюс если вы гордый обладатель IC-R20, то этот кабель с моноразъемом вам к тому же и не подойдет — тогда придется отменять заказ и запрашивать возврат средств.

Ну, а если у вас не единичный трансивер, а несколько, стоит либо собрать много таких кабелей, либо уже задуматься о покупке оригинального аксессуара. Хотя, сдается мне, можно будет сделать самоделку на базе Arduino со смешной стоимостью. Или же вообще на Raspberry Pi Zero с выводом на экран и возможностью установки параметров на каждый трансивер в отдельности. Если я соберу такой сетап, обязательно с вами поделюсь. А на сегодня это все.

Буду рад, если в комментариях поделитесь собственными самоделками.

© Habrahabr.ru