Контроллер ДВ маяка на базе однокристального DDS


ВВЕДЕНИЕ


Этой небольшой статьей я закончу свои изыскания в области прямого программного синтеза на базе AVR контроллеров, приведу конечные проверенные схемы DDS и, конечно же, опишу устройство контроллера для автономного управления QRSS/DFCW маяком.


ФИНАЛЬНЫЙ РЕЛИЗ DDS


Схема комплекта содержит собственно сам DDS (внизу слева), контроллер маяка (вверху слева) и адаптеры для COM и USB портов. Реалии таковы, что современные компьютеры уже не оснащаются старыми - добрыми комами. Схема USB преобразователя 1:1 взята с сайта Getchip. Этот вариант со стабилитронами мне более приглянулся, чем авторский японский. Ссылки на драйверы и прошивку для этого устройства можно найти там же.

Мысль использовать отдельный адаптер для имеющегося в компьютере порта появилась, конечно же, от лени... Зачем городить для каждого устройства свой преобразователь, если можно его сделать только раз и пользоваться для связи с разными девайсами на контроллерах? Вполне логично.

На схеме показаны некоторые возможные варианты подключения адаптера (любого из) к ДДС и контроллеру маяка. Там все просто, главное - прием одного устройства должен идти на передачу другого. При использовании USB адаптера, появляется возможность питать контроллеры от набортных 5 вольт компьютера. Конструктивно также есть широкое поле для маневров: можно скорпусировать все вместе, установив переключатель для управления синтезатором от компьютера, либо от автономного контроллера; а можно вывести RXD, TXD, 5V и GND синтеза на внешний разъем... На любителя.


КОНТРОЛЛЕР ДВ МАЯКА


Устройство позволяет управлять работой передатчика на базе вышеописанного DDS и, соответственно, избавляет от необходимости держать длительное время включенным компьютер, а маяки на ДВ - это длительно :).

На данный момент поддерживается передача сообщения до 64 символов QRSS и DFCW с длиной точки от 1 до 255 секунд. Повтор текста через интервалы от 0 до 65535 секунд. (0 - не повторять, а передать один раз). Все параметры настраиваются из конфигурационной утилиты.

Сердцем устройства является микроконтроллер ATMEGA48. Выбор случайный, просто попался под руку такой. Внешний генератор выполнен на CD4060 и часовом кварце. Частота 2 Гц с выхода генератора подается на контроллер, где и производится отсчет секунд. Скорость связи с компьютером или с DDS установлена 9600 и ее настройки не предусмотрено. Назначение кнопок и светодиодов, думаю, понятно из схемы.

Фьюзы для Меги48, предусматривающие тактирование от внешнего кварца: Подробно на программировании контроллеров не останавливаюсь дабы не повторяться.


УТИЛИТА ДЛЯ КОНФИГУРАЦИИ


Два файла: beacon_control_rus.exe и dds.ini извлекаем из архива в заготовленную папку, подключаем к COM или USB порту через соответствующий адаптер контроллер маяка, подаем питание. Запускаем программу. Настройки-Порт. Там будут перечислены найденные на машине порты, как железные, так и виртуальные. Ставим галку на нужный. Теперь можно попытаться прочитать EEPROM (энергонезависимую память) контроллера. Если все в порядке, увидим инициализационные значения, которые контроллер пишет при первом старте. Я старался сделать названия полей ввода информативными и с подсказками, но некоторые дополнительные пояснения можно дать...

Значение с частотой TCXO или кварца DDS хранится, как и номер ком-порта, в файле dds.ini. Это те значения, о которых контроллеру можно и не знать. Окна для настройки частот передачи на картинке серые (неактивные), т.к. я не подключал реальное устройство при снятии скриншота. Как только будет получен ответ при чтении EEPROM, появится возможность управлять частотой. Быстрый ввод частот можно осуществить кликнув правой кнопкой мыши над нужным полем, ввести целое значение и потом подкорректировать стрелками справа от поля ввода. Частоты точки и тире для DFCW разделены, что ИМХО дает большую гибкость. После ввода/корректировки всех значений, записываем настройки в контроллер соответствующей кнопкой.

ПОРЯДОК РАБОТЫ

Соединяем запрограммированный контроллер маяка с DDS. Подаем питание. Нажимаем и удерживаем около секунды кнопку Start. На синтезатор подается команда поднять PTT, красный светодиод начинает пыхать раз в секунду, а зеленый индицирует наличие посылки. После прохода цикла передачи сообщения, PTT опускается (прием), выжидается запрограммированная ранее пауза и все повторяется до бесконечности. Кнопка Reset останавливает передачу и переводит контроллер в исходное состояние.


Скачать программу для конфигурирования и прошивку.

Контроллер управления маяком находится на стадии тестирования и по мере выявления и устраниния возможных багов, буду в этот архив паковать исправленные версии.