Ввиду того, что все мои "железяки" - это все-таки результат моего хобби, а не промышленные разработки, с одной стороны, и тот факт, что я радиолюбитель, а не профессионал, с другой, то со временем, при их эксплуатации всплывают мелочи и глюки, которые сразу не знал, не заметил, не обратил внимание.... Как следствие - возникает желание что-то улучшить, исправить и т.д. Собственно, модернизациям моих "творений" и посвящена данная страница.

А то вдруг, и вправду, их кто-то действительно надумает повторять...

И ВЕДЬ ПОВТОРЯЮТ !!!!!



"Ресивер с цифровой обработкой сигнала"

1). Прошивки

Версия 0 - первая версия прошивки, опубликованная вместе со статьей, и лежащая на сайтеж. "Радиохобби". (Размер файла - 24 кБ)

Версия 1 - с исправлением ошибки. Ошибка была в начальной установке синтезатора частоты при включении ресивера в некоторых условиях. Если включать ресивер любой из кнопок с 1 по 9 (ячейки памяти тюнера), то все происходило правильно - в итоге ресивер настраивался на частоту, хранящуюся в этой ячейке. Но, если Вы выключили ресивер, когда он был настроен на какую-то станцию, а впоследствии включили его кнопками, не меняющими статуса, (кнопки - Setup, Menu, Plus или Minus) то ресивер настраивался не на ту частоту, которая была до выключения, а на произвольную. В данной версии прошивки эта ошибка исправлена. (Размер файла - 24 кБ)

2). Аппаратные изменения

"Черепашьими" темпами переделываю тюнер - не нравится он мне. Запущу - выложу тут. Пока вроде как вырисовывается, что на одной плате будет и синтезатор на LM7001 и радио-тракт: УВЧ на КТ368, смеситель и гетеродин на 174ПС1, УПЧ и детектор на 174ХА6...



"Предварительный усилитель "с претензией на..."

!!! ЕЩЁ ДО ВСЯКИХ ТАМ УЛУЧШЕНИЙ И ИЗМЕНЕНИЙ - ВАЖНО !!!

При печати статьи в журнале ("Радиохобби" №1, 2005 год, стр. 55, рис. 1) обрезаны края схемы, как следствие - на схеме нет двух проводников. Выкладываю правильную схему, в которой красными стрелками указаны проводники, не пропечатавшиеся в журнале.

1). Прошивки

Тем, кто успел-таки прочитать это:

Уже обнаружены некоторые глюки - похоже, слишком часто в процесс вывода на дисплей встряют прерывания, и как следствие, понижена его контрастность, но все никак руки не доходят.

...спешу успокоить - при вскрытии "пациента" оказалось, что это не проблема софта, а банальный непропай в разъеме - пропадал контакт цепи регулировки контрастности дисплея.

Попозже надо будет все-таки доделать обработку пульта, а пока:

Версия 0 - первая версия прошивки, опубликованная вместе со статьей, и лежащая на сайте ж. "Радиохобби". (Размер файла - 24 кБ)

Версия 1 - (Размер файла - 24 кБ/выложен 15 апреля 2005 г.). В этой версии прошивки есть возможность самостоятельно установить старший байт слова конфигурации ЦАП-а (AD1853). Максимально кратко назначениебитов слова конфигурации я (на русском) описал здесь (PDF - 142 кБ). Зачем нужна эта самая возможность? В статье описано, какие аппаратные манипуляции нужно выполнить для того, чтобы обойти ASRC (AD1895), если Вы не хотите ее использовать, или у Вас попросту нет такой микросхемы. Но при этомнеобходимо изменить кратность передискретизации цифрового фильтра ЦАП-а. В предыдущей версии прошивки была жестко прописана кратность "х2". В этой версии кратность ЦФ Вы можете установить самостоятельно - она после этого будет записана в ЭНЗУ процессора и в дальнейшей работе аппарата будет использоваться именно значение, установленное Вами. Сама процедура как вхождения в режим, так и изменения значения конфигурационных битов, описана в статье (в разделе "ВАЖНО – Сервисные режимы !!!"). На приведенном ниже рисунке показаны все три варианта установки кратности цифрового фильтра.

ВНИМАНИЕ: При эксплуатации предварительного усилителя в случае установленной AD1895 обязательно нужно установить "2Х" (т.к. "по умолчанию" - 8Х). Можно попробовать режим "4Х". Режим "8Х" при работе с ASRC не поддерживается. Если же не устанавливать AD1895, то используется режим "8Х" (в данной прошивке именно он установлен "по умолчанию"). Можно попробовать режим "4Х". Режим "2Х" не поддерживается.

Необходимо также учесть еще следующее:

Версия 2 - (Размер файла - 25 кБ/выложен 19 апреля 2005). Причин столь скорого появления данной версии прошивки две:

  1. Первая и главная причина - исправление моей ошибки, имеющейся в Версии_1. Так "сладко" расписанное мной парой абзацев выше сохранение слова конфигурации ЦАП-а AD1853 на самом деле не происходило. То есть, установленное пользователем изменение и НЕ СОХРЯНЯЛОСЬ ИМЕННО в память ЭНЗУ процессора управления, и (как следствие) НЕ СЧИТЫВАЛОСЬ из нее. Все изменения, увы, выполнялись и успешно хранились ТОЛЬКО в ОЗУ процессора (всё то время, пока усилитель был подключен к питающей сети) и благополучно терялись, как только пропадала сеть. В ДАННОЙ (2-й) ВЕРСИИ ПРОШИВКИ ЭТА ОШИБКА ИСПРАВЛЕНА. Теперь первые восемь бит слова конфигурации на самом деле и записываются в ЭНЗУ, и считываются из него (как и было обещано для Версии_1).
  2. Вторая новинка в данной версии - ("успокоительная таблетка для параноиков") - програмный счетчик ошибок SPDIF-интерфейса. Поводом для реализации данного режима в программе послужила дискуссия на одном из форумов. Дело в том, что ИМС SPDIF-приемника CS8416 (читаем datasheet, стр. 34) позволяет регистрировать ошибки поступающего на ее вход бифазного сигнала, выставляя в своем регистре ошибок (RECEIVER ERROR; внутренний адрес (шестнадцатиричный) 0С) следующие флаги:

Количество именно этих трёх, приведенных выше, ошибок и подсчитывает теперь программа. Ошибки валидности считаются отдельно, а ошибки бифазного кодирования и ошибки четности - вместе (показания на дисплее - алгебраическая сумма обоих типов ошибок). На каждый из счетчиков отведено по два байта ОЗУ (максимальное значение - 65535). Вывод на дисплей - шестнадцатиричный, о чем предупреждает символ (h) (я тоже лентяй). Подсчет осуществляется на протяжении всего диска. По его окончании или при извлечении диска из проигрывателя счетчики сбрасываются.

Теперь о том, как вывести показания на дисплей.

Всё, после этого нажать кнопку MENU еше раз, или через 10 секунд аппарат выйдет из режима установкм сам. После этого на дисплее будут отображены текущие значения счетчиков ошибок, обновляющиеся по мере их поступления (см. рисунок ниже)...

И последний нюанс - РЕЖИМ ОТОБРАЖЕНИЯ результата подсчета ошибок по умолчанию ВЫКЛЮЧЕН, факт его включения в память (ЭНЗУ) процессора НЕ СОХРАНЯЕТСЯ и при выключении аппарата СБРАСЫВАЕТСЯ. В отличие от САМОГО ПРОЦЕССА подсчета ошибок, который длится ВСЁ ВРЕМЯ!!! То есть, если отображение ошибок включить, допустим, во время прослушивания последнего трека, то счетчики покажут сколько ошибок произошло на протяжении ВСЕГО диска. Просто, я уверен, интерес к этому подсчету у Вас пропадет буквально после пары-тройки дисков...

Версия 3 - (Размер файла - 28 кБ/выложен 18 мая 2005). Главная новинка управляющей программы - обработка команд пульта. Усилителем воспринимаются команды только тех пультов, которые работают в системе RC-5. При разработке этой части программы большую помощь в понимании принципов декодирования команд системы RC-5 оказали следующие документы: статья Л. И. Ридико (на русском) и раздел сайта SB-Projects, посвященный ИК ПДУ (правда, он на английском; но зато не только про систему RC-5). Результатом работы подпрограммы декодирования являются значения принятых адреса устройства (device ID) и кода команды (command ID), сохраненные в соответствующих регистрах ОЗУ процессора. После того, как команда декодирована, первым делом процессор сравнивает полученный адрес устройства со значением, хранящимся в его ЭНЗУ. Только в случае, если они совпадут, выполняется поступившая команда. К адресу мы еще вернемся позже. А пока - немного о командах. По указанным выше ссылкам приводятся таблицы кодов наиболее "распространенных" команд, как это было определено стандартом RC-5. В итоге была составлена приведенная ниже таблица, в которой указано - какие значения кодов команд соответствуют каким кнопкам пульта, а также - и каким кнопкам на лицевой панели предварительного усилителя.

Код команды Кнопка на пульте Кнопка на панели предварительного усилителя
01 (hex) 1 -
02 (hex) 2 -
03 (hex) 3 -
04 (hex) 4 -
05 (hex) 5 -
06 (hex) 6 -
07 (hex) 7 -
08 (hex) 8 -
0C (hex) Standby POWER
0D (hex) Mute -
10 (hex) Volume + UP
11 (hex) Volume - DOWN
20 (hex) Program + RIGHT
21 (hex) Program - LEFT
25 (hex) OK MENU *
3B (hex) MENU MENU *

*ПРИМЕЧЕНИЕ: Как видно из приведенной таблицы, усилитель абсолютно одинаково реагирует на нажатие на пульте кнопок "ОК" и "MENU". Сделал я так потому, что у разных пультов в центре "креста" может стоять любая из этих кнопок.

КРОМЕ ТОГО: Как видите, приведенное в таблице количество кнопок пульта, больше числа таковых на панели усилителя. Думаю, на сегодняшний день это мало удивительный факт - аппаратуры, у которой "на лицевой панели пусто, а на пульте густо" - полным-полно. Назначение кнопок пульта, не продублированных на лицевой панели, - c "1"-й по "8"-ю включают соответствующий вход усилителя, а "Mute" приглушает звук. Хотя, думаю, что это было прекрасно понятно итак - по их названиям...

Но вернемся к адресу. Этот адрес - по сути, является идентификатором устройства, которому предназначена команда, посылаемая пультом. Нужно это на случай, если у Вас в доме несколько различных аппаратов, пульты которых работают в системе команд RC-5. Вы же не хотите, чтобы на один пульт реагировали сразу все устройства? Согласно стандарту, поле адреса в системе RC-5 равно 5 бит, что позволяет адресовать до 32-х различных устройств. Адреса некоторых из них, определенные стандартом, есть в ссылках, приведенных мною выше. Вы наверняка неоднократно слышали об обучаемых пультах. Здесь же всё в точности, да наоборот - усилитель "обучается" воспринимать конкретный пульт ДУ. То есть, эта прошивка предоставляет пользователю возможность настроить усилитель на любой адрес устройства, генерируемый пультом. Адрес, выбранный Вами, будет записан в ЭНЗУ процессора. По умолчанию прописан адрес 00 (hex) - "стандартный" адрес телевизора.

Настройка на другой адрес выполнена максимально простой. Нужно выполнить следующее:

  1. Во-первых, одновременно нажать кнопки UP, MENU и DOWN, чтобы попасть в сервисный режим изменения битов конфигурации AD1853.
  2. После этого еще раз нажать кнопку MENU, чтобы попасть в установку параметра "Remote setup" (см. рис.).

  1. Теперь берем в руки пульт, "стреляем" им в ИК-приемник усилителя и смотрим на дисплей.

ЧТО ПРИ ЭТОМ ПРОИСХОДИТ: Во-первых, не забывайте, что и в этом режиме также работает десятисекундный таймер возврата из установки в основной режим (если ничего не происходит). Во-вторых, в этом режиме нажатия кнопок пульта не управляют усилителем, а лишь декодируются и индицируются во второй строке дисплея. В ней отображается три пункта: первым идет символ "t" и следующее за ним значение бита toggle, которое меняется (0 или 1) при каждом нажатии кнопки пульта, и не меняется, если кнопку удерживать нажатой. Следующий пункт: две цифры стоящие после символа "а" - это и есть адрес устройства (device ID), передаваемый пультом. Последний пункт: символ "с" и две цифры стоящие следом - это код команды (command ID). Если же команда принята неверно, или пульт не стандарта RC-5, вместо этой цифробуквенной "абракадабры" выводится сообщение "Error" (Ошибка).

  1. Итак, Ваши дальнейшие действия. "Постреляв" пультом в усилитель и увидев несколько раз подряд один и тот же адрес, нажимаете на лицевой панели усилителя любую из кнопок UP, DOWN, LEFT или RIGHT. Всё! Адрес, показанный на дисплее, будет сохранен процессором как тот, на который он будет реагировать в дальнейшем. На этом настройка усилителя под выбранный пульт завершена.

ПРИМЕЧАНИЯ:

  1. "Стреляя" пультом в приемник усилителя во время настройки, Вам также желательно сверить выводимые на дисплей коды команд с приведенной выше таблицей, чтобы убедиться, какие именно кнопки выбранного Вами пульта будут обрабатываться.
  2. Если всё время при нажатии кнопок на выбранном Вами пульте, на дисплее высвечивается "Error" (Ошибка), то это значит, что пульт использует систему команд, отличную от RC-5. Такой пульт не подойдет для управления данным усилителем. Например, при написании и проверке подпрограммы обработки сигналов пульта, проверка моего домашнего "арсенала" показала, что из 7 (семи!!!) пультов лишь один работает в стандарте RC-5. Это был пульт модели 105-230М от телевизора фирмы LG. Я не зря точно указываю модель - можете купить такой пульт и "с ходу в бой", тем более что пульт этот команды выдает с адресом 00 (hex), а усилитель (напомню еще раз) по умолчанию воспринимает именно этот адрес. Цена на него весьма демократична - в мае 2005 года такой пульт продавался по цене 25 гривен в нескольких торговых точках запорожского радиорынка.

Но лично мне пришлось искать вариант пульта, у которого либо был бы другой (отличный от "0"-го) device ID, либо имелась возможность его как-то изменить (как-никак, а телевизор LG, от которого у меня был пульт 105-230М, стоит дома в той же комнате, где и усилитель). "Первый блин вышел комом" - вскрытие купленного на базаре пульта показало, что в нем бескорпусная микросхема скрывалась под каплей компаунда. Как ей поменять адрес - было абсолютно не известно. Пришлось проконсультироваться с продавцами. Оказалось такие "капли" стоят в подавляющем большинстве пультов. После того, как я объяснил продавцам, чего хочу, они мне посоветовали купить пульт RC-6. О причинах такого выбора, а также его переделке см. ниже.

Вот пульты, которые я опробовал с усилителем:

Несколько слов о переделке пульта RC-6. Задача переделки единственная - получить device ID, отличный от "нуля". Заглянем-ка еще раз в datasheet. Во-первых, пульт работает в Single system mode - на выводе SSM (конт. 2) высокий уровень. В этом режиме device ID, генерируемый пультом, определяется перемычкой между одним из выводов Z0...Z3 (конт. 3-6) и одним из выводов DR0...DR7 (конт. 9-13, и 15-17) согласно таблицы "Table 2" на стр. 10 в datasheet-е.

В пульте RC-6 для получения "нулевого" device ID есть перемычка (дорожка на плате) между выводами Z0 (конт. 3) и DR0 (конт. 17). Можно, конечно, переделать его и на device ID, равный "16", как этого требует стандарт RC-5 для пультов, управляющих предварительными усилителями. Но, моему усилителю все-равно, какой при настройке запомнить device ID, а пульт RC-6 самой "малой кровью" переделывается на device ID, равный "8" (тюнер спутникового ТВ). Что нужно сделать? Нагрев паяльником вывод 3 (Z0) ИМС, аккуратно поднимаем его иголкой (обычной, швейной). Подняв ножку (3-ю) над контактной площадкой, загибаем её до упора вверх. После этого акуратно ставим "соплю" припоя между контактной площадкой вывода 3 и контактной площадкой вывода 4 (Z1). Теперь у нас соеденены между собой выводы Z1 (конт. 4) и DR0 (конт. 17), что дает нам device ID, равный "8". Вот и вся переделка...

Если же у Вас все-таки есть желание выставить device ID, равный именно "16" (предварительный усилитель), то, поднявши ножку 3 микросхемы, нужно припаять небольшую перемычку между выводами Z2 (конт. 5) и DR0 (конт. 17)...

Не опробованный, но тоже вариант пульта.

И еще один вариант (для самых ленивых) мне подсказали на форуме сайта ООО "Симтех". Вариант такой - использовать универсальный пульт и выбрать у него код устройства, для управления которым нужен сигнал стандарта RC-5, и при этом адрес устройства отличается от нуля. Цитирую:

Dmitry, к примеру польский МАК
код 2023 адрес 5 (для VCR-a)
код 3020 адрес 8 (для SAT-а)

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

Чтож, думаю, пока что с обновлением прошивок на усилитель я сделаю паузу...

...Эх, поспешил...

Своеобразным дайджестом всех, приведенных выше изменений прошивок (1-й, 2-й и 3-й версий), стала статья "ЦАП с громкостью - год спустя", которая была опубликована в журнале РХ № за 2006 год. Но самое веселое заключалось в том, что пока указанная статья ждала своей публикации, Ридико Л. И. переслал мне письмо от одного своего знакомого, сподвигнувшее меня на ...коренную переделку всей прошивки.

Итак, немного о будущей 4-й версии...

Всё дальнейшее - уже "по собственной инициативе". Как говорится, коль уж полез перекраивать алгоритмы...

Итак, вот она - эта прошивка:

Версия 4 - (Размер файла - 35 кБ/выложен 20 июля 2007 г.)

Решил "одним махом" ответить сразу всем на их вопросы об исходниках:

ZIP-архив с исходными текстами управляющей программы версии 4 - (Размер файла - 44 кБ/выложен 14 ноября 2007 г.)

Ввиду того, что изменений в программе было очень много, и часть из них достаточно радикльные, я начал писать "Руководство пользователя" к данному предусилителю. Возни много, и пока что инструкция не закончена, но, думаю, лучше "не все, чем совсем ничего". Выкладываю как есть, а когда доделаю, то естественно выложу готовую. Тогда и метка о "недоделанности" пропадет...

"Руководство пользователя" - НЕДОПИСАННОЕ !!! - (Размер файла - 797 кБ/выложен 20 июля 2007 г.)

2). Аппаратные изменения

ВНИМАНИЕ - ОШИБКА В ПЕЧАТНОЙ ПЛАТЕ !!!

При подготовке статьи к печати я допустил ошибку в рисунке печатной платы основного блока. Заключается она в неправильной разводке цепи питания "+3,3 Вольта" ИМС CS8416. По схеме видно,что данное напряжение должно поступать с выхода стабилизатора IC1 на вывод 6 (VA) микросхемы IC3. В то же время на рисунке платы ошибочно изображено, что напряжение "+3,3 Вольта" подается на вывод 5 микросхемы IC3.  ЭТО НЕ ПРАВИЛЬНО!!! Ниже приведены два рисунка - слева, как нарисовано в статье (подписано "НЕ ПРАВИЛЬНО") и справа так, как должно быть (подписано "ПРАВИЛЬНО"). Увы, исходников этих чертежей у меня не осталось. Поэтому, выложить исправленный чертеж всей платы при всем желании я не могу...

А теперь непосредственно обновления...

  1. Самый "напрашивавшийся" Upgrade: Решил убрать тот "злополучный" кварцевый резонатор, подключенный к AD1895 (который описан в статье в "Приколах") и вместо этого подать на нее сигнал с внешнего генератора. Что это даст - "Будэм пасматрэть...".
    Сделал, припаял. Честно говоря, "лучше" или "так же" - даже не скажу. Но - уже спаял, припаял - короче говоря - оставил.
    Схема, плата, расположение элементов, а также плата зеркально (под утюг) - все тут.
    Платка эта одним краем (в доке он подписан) припаяна прямо к фольге, оставленной в качестве экрана на "верхней" стороне основной платы - за счет этого обеспечивается подача на нее "земли". Кроме того, на эту платку нужно подать питание "+7,5 Вольта" (например, с контакта 1 разъема XS4).
    На основной плате при таком Upgrade не нужно устанавливать Q2, R16, C21 и C22. Сигнал с выхода платки подается прямо на 2-ю ногу IC9 (AD1895).
  2. Пока что только планы - преобразователи I/U на AD8099, затем фильтры на MAX29x, а просуммировать результат на SSM2143...

P.S. Исходники прошивок (SORRY) пока выкладывать не планирую...

Последние изменения - 20 мая 2005 г. © Дмитрий Харций



Назад