Решил усовершенствовать компьютерный интерфейс, http://qrz.ru/schemes/detail/6888.html созданный несколько ранее. Конструкция морально устарела, в ней отсутствуют некоторые особенности присущие современным распространённым девайсам. Пришлось полностью пересмотреть конструкцию. От прежнего осталось желание подключать разный радиолюбительский софт, особо не задумываясь о кнопках, ключах, гнёздах и т.п.
Новое, в обновлённой конструкции :
Интерфейс получился в меру простым и малозатратным в изготовлении.
Схема функциональных связей, отражающая принцип взаимодействия элементов схемы.
Как видно из картинки,-это конструкция из общеизвестных модулей. Комплектующие вполне доступны и приобрести их не составляет особого труда, например на Aliexpress .
Коротко рассмотрим применённые модули:
HUB - разветвительное устройство, usb концентратор. Из бесчисленного множества производителей и типов, - выбран самый простой USB2.0 4 порта, портативный. Конструкция девайса упрощена до предела. Кроме чипа и разводки по USB портам, -на плате концентратора ничего нет.
При активизации в системе определяется как Generic USB Hub (здесь и далее приводится как пример, показано курсивом )
7.1 channel sound - Звуковая карта Palmexx USB Sound Adapter 7.1 Channel PX/Audio7.1Chan. Известны характкристики этого устройства:
-Скорость передачи данных: 12 Мбит/с;
-Разрядность Цифро-аналогового преобразователя (ЦАП): 24 бита;
-Максимальная стерео-частота ЦАП: 96 кГц;
-Соотношение шум/сигнал: 90 Дб.
По характеристикам видно, что это бюджетная звуковая карта. Особых отличий от чипа, интегрированного в материнскую плату компа, не заметил. Понятно, что для приема и декодирования слабых сигналов нужны более продвинутые звуковки.
На этапе разработки интерфейса необходимо было просто проверить вообще его работоспособность. Ограничимся тем что имеем.
При активизации в системе определяется как USB Audio Device
USB-TTL UART Bridge - исппользуется полностью готовый USB-UART-преобразователь на CP2102 не требующий никакой внешней обвязки и обладающий следующими возможностями:
-соответствие спецификации USB 2.0, full-speed (12 Mbps);
-скорость виртуального RS232 от 300 bps до 1 Mbits;
-поддержка форматов передачи данных 5, 6, 7 и 8 байт данных; 1, 1.5 и 2 стоп-
бита, различные контроли четности
- буфер приемника - 576 байт, буфер передатчика - 640 байт
- встроенные источники опорной частоты, встроенный стабилизатор на 3.3В
Драйвер виртуального ком-порта поддерживается Windows, Mac OS и Linux.
При установке этого устройства в системе появляется дополнительный Silicion Labs CP210x USB to UART Bridge (COMX) -порт, работа с которым полностью идентична работе со стандартными COM-портами.
Arduino Nano - популярная плата на основе микроконтроллера ATmega328. Она включает в себя микроконтроллер, всю необходимую обвязку и конвертер USB-COM для связи с компьютером.
В системе определяется как USB-SERIAL CH340(COMX)
На Arduino Nano реализован TinyFSK (FSK Keyer для Arduino платформы )автор Andy Flowers, K0SM http://www.frontiernet.net/~aflowers/tinyfsk/ По сути это программа для для отправки 5-бит Бодо ( RTTY ) посредством логической манипуляции входов PTT и FSK приемопередатчика. Это модем только для передачи, предназначенный для интеграции с радиолюбительским программным обеспечением (где эта возможность реализована), также для использования в конкурсах, (например N1MM).
Arduino Uno (Arduino Mega) - популярные Arduino платы. В системе определяется как Устройство с последовательным интерфейсом USB(COMX)
В проекте используется в качестве электронного телеграфного ключа. Выбор что использовать Arduino Uno или Arduino Mega,- зависит от объёма необходимой памяти для ключа, требуемых для себя функций, примочек т т.д.
В принципе может быть использован любой электронный ключ, любого автора, естественно Freeware. Из опробованных ключей был выбран и применён K3NG keyer, Anthony Good. Платформа Arduino, очень большие возможности. Огромное число настроек, гибкая система формирования необходимых функций, особенностей использования - просто поражает. Проект ключа развивается, стабильная версия. https://blog.radioartisan.com/arduino-cw-keyer/.
Узел логики, - коммутирует необходимые сигналы в зависимости от используемого режима связи, применяемых радиолюбительских программ или лог-журналов, подключает к трансиверу и гальванически изолирует сигнальные цепи от компьютера. Это сигнал управления передатчиком PTT, манипуляция CW, FSK или AFSK RTTY, проключает звуковой тракт. Блок выполнен на логических элементах, оптимизирован. В процессе разработки интерфейса этот блок неоднократно претерпевал изменения. Оптимальное решение приводится ниже. Этот блок придётся выполнить самостоятельно.
Любой современный трансивер имеет в своем составе встроенные порты для управления частотой, модой, фильтрами. Поэтому тут не вижу причины чтобы интегрировать эти элементы в данный интерфейс. (Возможно ошибаюсь.) По этой причине используются два кабеля для подключения к PC. Первый: USB PC - USB TRX (COM PC - COM TRX) , и второй : USB PC - USB Интерфейс.
Питание интрфейса производится от USB порта. Ток потребления примерно равен 180 mA.
Используя вышеперчисленные модули, получаем набор возможностей:
Подключение к PC по USB интерфейсу с использованием HUB концентратора.
Телеграфирование с любого CW манипулятора, клавиатуры PC или
CW Keyboard без ручных переключений, по выбору, в любой момент без перекрестных наложений.
Используя K3NG ключ, кроме основных функций, связанных с
телеграфированием, получаем набор дополнительных возможностей:
- WinKey эмулятор (K1EL - протокол), CLI (Command Line Interface),
- CW Decoder Goertzel (CW декодер Гёрцеля), Audio Tone Decoder,
- Отображение передаваемой или принимаемой инфомации на LCD мониторе,
- Тон - контроль, режим “практика “.
4. Предача RTTY FSK (через EXTFSK) либо AFSK.
5. Используя TinyFSK модем получаем полноценный FSK RTTY сигнал.(TinyFSK + WinKey= Полная интеграция с N1MM).
6. Реализован режим Psevdo FSK (Fldigi).
7. Режим AFSK RTTY, любые цифровые моды использующие звуковую карту.
Таким образом, самостоятельно придётся изготовить лишь блок логики, его основное назначение:
выбор, коммутация выходных сигналов, поступающих от модулей,
гальваническая развязка компьютера и трансивера ,
согласование уровней сигналов,
Блок логики
Блок логики очень прост. В отличие от первоначального варианта, блок логики упрощен без потери функциональности. Используются КМОП микросхемы логики 561 серии.
Модуль включает в себя следующие узлы:
D3, D4.1, D4.2...коммутатор сигналов 2х1, к входам котрого подключены: две пары независимых данных RTS_CP (PTT1), DTR_CP (KEY1), и Arduino PTT_KB (PTT2), Arduino KEY_KB (KEY2).
один выход на трансивер: KEY, PTT .
появление сигнала PTT на любом из двух входов коммутатора, - активирует этот вход, блокируя второй. Таким образом QSO можно проводить особо не задумываясь, с любой клавиатуры PC Keyboard или CWKeyboard или ТЛГ манипулятора. Наложение инфомации одна на другую - исключено.
D4.3 коммутатор сигналов RTTY. Коммутатором осуществляется выбор источника ключевания RTTY:
TXD_CP предача RTTY FSK через EXTFSK (MMTTY и т.п.)
FSK_Nano TinyFSK модем
Psevdo FSK FLdigi
один выход на трансивер: FSK.
Естественно, любой из этих режимов сопровождается выдачей сигнала PTT на передатчик. В режиме AFSK RTTY надобости в этом коммутаторе нет, манипуляция производится по Audio каналу.
Блок логики полностью гальванически изолирован от входных цепей трансивера оптронами. В Audio тракте использованы изолирующие низкочастотные трансформаторы 600:600.
Питается блок от +5 V шины USB, потребляемый ток примерно180 ма. Конечно возможно питание от внешнего источника.
Формирователь входного сигнала CW для Goertzel декодера и тон-декодера.
Забегая вперед, можно сказать что активировать эту опцию не обязательно. Так что это попытка посмотреть возможности этих декодеров.
Декодер Gertzel от OZ1JHM http://www.skovholm.com/cwdecoder интегрирован в исходный код (скетч) K3NG keyer. Эксперименты с этим декодером и а так же тон-декодером от WB7FHC, Budd Churchward показали что они устойчиво декодируют в некотором диапазоне уровней входных сигналов. А появление второго, близко расположенного сигнала, -приводит к сбою декодирования. Как правило приводятся простенькие схемы с переменным резистором на входе. (регулятором уровня входных сигналов.) Есть более продвинутые схемы.
Чтобы это дело каким то образом автоматизировать, пришлось модернизировать схему на LM358 и LM567. Показано на рисунке. Схема настраивается один раз с помощью подстроечнных резисторов.
На LM358 собран ОУ с глубокой АРУ. Коэффициент усиления каскада определяет в основом соотношением R4 и внутренним сопротивленем канала полевого транзистора. КП303 управляется выпрямленным выходным напряжением LM358. В общем всё как обычно. LM567 - тон -декодер. Похоже он неплохо будет работать с трансивером, имеющим кварцевые фильтры. Декодеру Gertzel, напротив, требуется широкая полоса.
Покаскадная настройка уровней выполнена исходя из условия максимально верного декодирования слабых сигналов, близких к уровню принимаего шума. Частоту декодирования тон-сигнала (LM567) принимаем равной частоте декодера Гёрцеля. (примерно 570Гц) Процедура выполняется один раз при настройке платы.
Особенности выбора и подготовки Arduino к заливке кода
Первоначально эксперименты с электронным CW ключом проводил на ArduinoUno. Опробовались Arduino ключи разных авторов, с разными возможностями. Выбрал наиболее подходящий K3NG, Anthony Good.
Ключ K3NG, без декодера Гёрцеля вполне уместится на Arduino Uno. Для использования всех возможностей ключа потребуется Arduino Mega.
Среду разработки (IDE) берём здесь:https://www.arduino.cc в разделе Software есть последняя официальная версия. Вообще об Arduino очень много информации, например здесь http://arduino.ru/About . Как пользоваться этим инструментарием многократно изложено в сети.
Потребуется также сам код (скетч) K3NG https://blog.radioartisan.com/arduino-cw-keyer/, и код K0SM http://www.frontiernet.net/~aflowers/tinyfsk/
Оба кода в свободном доступе, авторы поддерживают развитие своих идей.
Особенности компиляции кода K3NG:
Подробное описание функций, назначение, настройки, варианты использования подробно изложены в документации автора. Достаточно внимательно прочитать статью K3NG, Anthony Good. Сделан перевод http://rw9uhg.ru/node/22
Основные настройки кода производятся в трёх файлах:
файл keyer_features_and_options.h здесь выбираем опции, которые будем использовать в конструкции,
в файле keyer_pin_settings.h устанавливаем используемые штифты ардуино, согласно проекту
в файле keyer_settings.h выставляем параметры применённого «железа»,- напимер, для LCD дисплея,- число строк и число знаков в строке .
Далее компилируем код в IDE. Плата Arduino готова к установке в интерфейс.
Особенностей заливки кода K0SM (TinyFSK) на Arduino Nano,-нет. Всё как обычно.
Конструкция
Фронтальный вид и вид со стороны разъёмов. На заднем плане интерфейс, сделанный ранее (с антенным переключателем). Две платы. На нижней размещён блок логики и CW декодер.
Трассировка соединений выполнена в Sprint-Layout.
Если конструкция для Вас представляет какой-либо интерес, подробнее можно посмотреть здесь http://rw9uhg.ru
Немного экономики, вывод.
Собрав этот интерфейс, заинтересовался...во что обошлось? Неожиданный результат: суммарная стоимость всех комплектующих, приобретённых на Aliexpress, примерно равна стоимости коробки. Простой вывод: В следующей конструкции приобретаем более качественные комплектующие, конструктивно размещаем на одной плате а коробку подбираем удобнее и красивее.
1.03.2017. RW9UHG, Лев