Программирование AVR: работа с USB AVR-USB-MEGA16: управление радиотрактом магнитолы RX-ES20 от компьютера Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


AVR-USB-MEGA16: управление радиотрактом магнитолы RX-ES20 от компьютера Печать
Добавил(а) microsin   

Описывается консольное управление синтезатором LC72131 (через командную строку виртуального USB COM-порта), встроенным в радиотракт магнитолы Panasonic RX-ES20.

Микроконтроллер ATmega32 подключен с одной стороны по USB к компьютеру (через класс USB CDC библиотеки V-USB, благодаря которому в компьютере получается виртуальный COM-порт), а с другой стороны - к синтезатору частоты LC72131 радиотракта магнитолы RX-ES20. К виртуальному COM-порту можно подключится стандартной терминальной программой (HyperTerminal, TerraTerm, SecureCRT) и текстовыми командами (а также кнопками "вверх", "вниз") управлять настройкой приемника.

AVR-USB-MEGA16-LC72131-overview2.png

Проект делался с целью разобраться с работой синтезаторов частоты на примере LC72131. Синтезаторы частоты применяются для управления частотой гетеродина супергетеродинного приемника (т. е. приемника, построенного на принципе преобразования входной радиочастоты в промежуточную).

[Как устроен синтезатор частоты радиоприемника]

Работает синтезатор частоты довольно просто. На рисунке показана упрощенная схема построения синтезатора частоты магнитолы RX-ES20 (её радиотракт построен на двух микросхемах - TA2008 и LC72131) - опущены неважные с точки зрения понимания общего принципа узлы (например, ФНЧ на выходе фазового детектора, кварцевый генератор, управление, детали внутренней структуры микросхемы синтезатора). Внутри синтезатора имеется делитель частоты с программируемым коэффициентом деления N. На его вход подается частота гетеродина (как известно, от частоты гетеродина зависит частота, на которой идет радиоприем). Частота с выхода счетчика сравнивается с некоей опорной частотой, которая имеет стабильную частоту и фазу (вырабатывается от кварцевого резонатора). Значение опорной частоты определяет шаг перестройки синтезатора, а коэффициент деления счетчика N - частоту настройки приемника.

AVR-USB-MEGA16-LC72131-synth.png

Как это работает? На первый взгляд неочевидно, что частота гетеродина F равна произведению коэффициента деления счетчика N и значения опорной частоты Fref. Давайте рассмотрим поподробнее. В установившемся режиме (его еще называют режим захвата частоты, lock state) частота на выходе счетчика совпадает по частоте и фазе с частотой опорного генератора. Если по какой-то причине (например, из-за температурного дрейфа параметров или из-за изменения напряжения питания) частота гетеродина изменится, то изменится и частота и фаза на выходе счетчика. Это вызовет появление напряжения на выходе фазового детектора, и произойдет изменение напряжения настройки Utune - оно прикладывается к варикапам гетеродина и влияет на емкость варикапов и, следовательно, на частоту гетеродина. Именно поэтому F=N*Fref.

Когда мы меняем коэффициент деления счетчика N, то частота на выходе счетчика (F/N) также перестает совпадать с опорной частотой (Fref). На выходе фазового детектора появляется постоянное напряжение (Utune), которое перестраивает варикап таким образом, что частота на выходе счетчика и опорная частота уравниваются. Таким образом, частота настройки гетеродина F равна N*Fref.

Итак, с частотой настройки гетеродина разобрались. Осталось вычислить частоту, на которой будет работать приемник, если гетеродин настроен на частоту F. Вы, наверное, знаете, что в супергетеродинном приемнике основное усиление сигнала происходит на промежуточной частоте, или ПЧ (так как на фиксированной полосе частот легко получить стабильное и большое усиление). В магнитоле RX-ES20 значение ПЧ равно 459 кГц для диапазона СВ (AM MW 522..1629) и 10.7 МГц для диапазона УКВ (FM 87.5..108 МГц). Частота приема Frec равна разности частоты гетеродина F и промежуточной Fmf (Frec = F-Fmf). Разности потому, что так проще вырезать входными фильтрами помеху по зеркальному каналу (в подробности вдаваться не будем). Например, чтобы настроить радиоприемник магнитолы RX-ES20 на частоту 1476 кГц (диапазон СВ, или MW), нужно гетеродин настроить на частоту 1476+459=1935 кГц.

[Схема подключения микроконтроллера ATmega32 к тюнеру RX-ES20]

Особенностей подключения никаких, т. к. все управляющие сигналы - стандартные цифровые. Для получения постоянного напряжения 9 вольт (оно нужно для питания тюнера) взял конвертор DC-DC от старой сетевой карты. Просто привожу схему подключения и схему радиотракта магнитолы RX-ES20.

rx-es20-LC72131sch.png AVR-USB-MEGA16-LC72131-connections.png

[Как управляется радиоприемник магнитолы RX-ES20 от компьютера]

Для этого не нужна никакая специальная программа. Достаточно подключить запрограммированную макетную плату AVR-USB-MEGA16 к компьютеру и запустить любимый терминальный клиент (мне очень нравится SecureCRT, весьма рекомендую). После подключения к виртуальному COM-порту макетной платы (плата запрограммирована так, что видна в операционной системе Windows как COM-порт) Вы получаете командную строку, через которую можете управлять радиоприемником. Можно ввести цифры частоты в килогерцах и нажать Enter, и приемник сразу перестроится на эту частоту - доступен диапазон от 500 кГц до 160 МГц, но радиотракт магнитолы способен принимать, как я уже упоминал, только на диапазонах СВ и УКВ.

AVR-USB-MEGA16-LC72131-console.png

Имеются также следующие команды:

? показать общую подсказку по командам.
F показать частоту настройки радиоприемника и частотомером замерить частоту на выходе радиотракта (правда, частотомер работает неправильно, я пока не разобрался, почему).
P показать состояние входных (I2, I1) и выходных (BO4..BO1) портов синтезатора LC72131. Порт I1, в частности, подключен к сигналу стереоприема (см. принципиальную схему радиотракта).
P=bbbb установить состояние выходных портов синтезатора. Порт BO2 переключает в приемнике режимы моно/стерео (работает только на FM, см. также принципиальную схему радиотракта).
I показать подробную информацию по состоянию внутренних управляющих бит синтезатора (что означает каждый бит - см. Ссылки, описание микросхемы LC72131).
T показать время работы (в секундах) с момента включения питания
S сохранить текущие настройки в энергонезависимой памяти (частота настройки радиоприемника, состояние портов BO4..BO1, состояние бит ULx и DZx).
UL=bb поменять значение бит UL1 и UL0.
DZ=bb поменять значение бит DZ1 и DZ0.

Курсорными стрелками "вверх" и "вниз" можно быстро менять частоту настройки вверх и вниз соответственно. Перестройка производится с шагом в 1 кГц в диапазоне 500 кГц .. 29.999 МГц и с шагом 25 кГц в диапазоне 30 .. 160 МГц.

[Ссылки]

1. Описание микросхемы синтезатора частоты Sanyo LC72131.
2100602Radio-synt-LC72131.zip - Firmware управления радиотрактом приемника на ATmega32 (можно применить также и ATmega16) - исходники (проект для AVR Studio), готовые прошивки, драйвер COM-порта, даташиты, сервисное руководство магнитолы RX-ES20, фотографии.
3. Приемник P-45 site:p-45.narod.ru - радиолюбительский сканирующий приемник 45..855 МГц, управляется ATmega8, исходники открыты. Спасибо автору за замечательную конструкцию и исходники, которые мне помогли в запуске синтезатора LC72131.
4. Макетная плата AVR-USB-MEGA16.
5. GitHub - RodLophus/SanyoCCB: Arduino library for Sanyo CCB Bus site:github.com.

 

Комментарии  

 
0 #4 Виталий 15.03.2013 01:34
:-) Спасибо автору, жалко что мало пояснений по битам, пришлось все самому искать и подбирать нолики и единички. А так хотелось найти простой исходник, в котором описывается простой пример установки частоты.

Написал свой велосипед для raspberry pi - консольная программа
https://github.com/avtehnik/rpi-sanyo-ccb/tree/console_control

Надеюсь кому-то понадобится.
Цитировать
 
 
0 #3 Вадег 04.10.2011 02:04
Спасибо за ответ, и еще раз за освещение всей этой темы вокруг LC72131! Пообщавшись с народом и перечитав еще раз даташит - понял, что захват станции надо производить по частотомеру и сигналу "настройки", который в моем тюнере почему-то выведен отдельно, а его надо будет завести на IO1 или IO2 и тогда в купе с частотомером можно устроить автопоиск, меняя время измерения у частотомера на большее, когда "подходит" к станции. Т. е. засекли станцию по IO1 например, а дальше меняем делитель так, чтобы при 64 мс измерении частота была точно 10700000ГЦ. Потом опять понижаем время измерения до 4 мс, и ждем очередного сигнала с IO1.
Цитировать
 
 
0 #2 Вадег 01.10.2011 05:39
У меня подобный "обломок" тюнера, тоже панас, но музцентр. В общем с вводом разобрался - поет радивце. Но волнует такой вопрос: возможно ли как-то понять, когда происходит захват станции? Т. е. средствами синтезатора через ножку DO?
В моем тюнере есть сигнал захвата с ПЧ-шной микрухи, когда станция поймана на нем ЛОГ.1, в принципе можно использовать его, но как-то это не то. Спасибо за перевод ДШ, читал про вывод данных, но ничего не понял.

microsin: захват станции через регистры синтезатора не определишь - это всего лишь синтезатор частоты. Захват (если имеет место автоподстройка частоты) нужно определять другим способом, который зависит от схемы радиотракта.
Цитировать
 
 
0 #1 RIS 13.11.2010 20:44
Как же я долго искал эту инфу! Спасибо!!!
Цитировать
 

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


Защитный код
Обновить

Top of Page