Темброблок с микроконтроллерным управлением на TDA8425

Данный материал является логическим продолжением статьи "Цифровой регулятор громкости и баланса на MAX5440 с ДУ", опубликованной на нашем сайте. В адрес автора поступило много пожеланий, добрых отзывов и рекомендаций. Обобщив полученную информацию, мы пришли к выводу, что темброблок должен обладать следующими качествами:

  • дешевые и доступные компоненты для монтажа в отверстия
  • модульная конструкция и простая схемотехника
  • возможность управления кнопками и энкодером
  • работа с пультами дистанционного управления RC5
  • индикатор с мультиязычным интерфейсом
  • плавное гашение подсветки при переходе в режим ожидания
  • автоматическое сохранение и загрузка настроек

Действительно, в предыдущей статье требовались определенные навыки пайки компонентов для поверхностного монтажа и высказанные пожелания являются вполне обоснованными. Наличие различных вариантов управления также нами приветствуются, т.к. ситуации могут быть разными. Мультиязычная поддержка интерфейсов сейчас является нормой жизни и не требует обоснований. Остальные качества являются традиционными в подобных конструкциях.

Что касается дешевизны и доступности, то выбор мы остановили на аудиопроцессоре типа TDA8452. Это наилучшее решение в обычной стерео-аппаратуре. Характеристики у него - "среднестатистические", т.е. вполне приемлемые для современных устройств, даже не смотря на то, что разработан он был в конце 80-х годов. Для управления аудиопроцессором применен распространенный микроконтроллер PIC16F628А. Микросхемы монтируются на отдельных платах и имеют минимум обвязки.

Темброблок сделан в виде двух модулей:

  • модуль микроконтроллера
  • модуль аудиопроцессора

К модулю микроконтроллера подключается:

  • любой знакосинтезирующий индикатор 16*2 (2 строки по 16 знакомест) на контроллере HD44780, KS0066 и аналогичных
  • ИК-приемник, например, TSOP1736 (Vishay), SFH-506 (Siemens), TFMS5360 (Temic), ILM5360 (ПО "Интеграл")
  • кнопки в матричном включении размерностью 3*3 (реально используется 6 кнопок, а остальные 3 кнопки зарезервированы)
  • энкодер PEC16 или аналогичный механический

Модуль микроконтроллера и модуль аудиопроцессора обмениваются данными на шине Ай-Ту-Си (I2C) по линиям SDA (data - данные) и SCL (clock - синхронизация). Ниже схема сопряжения микроконтроллера с внешними устройствами.

Темброблок с микроконтроллерным управлением на TDA8425

Аудиопроцессор включен по типовой схеме согласно документации.

Темброблок с микроконтроллерным управлением на TDA8425

Прокомментируем организацию питания.

Конструкция требует входного стабилизированного напряжения 12 вольт. Питание 12 вольт на модуль аудиопроцессора идет "транзитом" через модуль микроконтроллера. Микроконтроллер и индикатор большую часть времени находится в режиме ожидания внешних управляющих сигналов и общий ток потребления составляет единицы миллиампер. Это позволило использовать слаботочный стабилизатор 78L05 без боязни перегрева за счет падения напряжения. Питание подсветки индикатора взято с входных линий. Необходимый ток потребления (и как следствие яркость подсветки) определяются соответствующим сопротивлением. В нашем случае это сопротивление номиналом 33 Ом. Модули выполнены на односторонних печатных платах. Топология печатных плат позволяет изготовить печатные платы с помощью маркера.

Аудиопроцессор TDA8425 может работать в различных режимах: обычное стерео, расширенное стерео, псевдостерео, моно. В стерео режиме микросхема работает как все "нормальные" стереомикросхемы. В моно режиме сигналы с обоих входов суммируются на внутреннем резисторном делителе и подаются на оба выхода микросхемы. В режиме "расширенное (пространственное) стерео" 50% сигнала из одного канала подмешивается во второе канал, что дает незначительное расширение стереобазы и иногда "слегка" украшает звук. В режиме псевдостерео в левом канале включается линия задержки, где время задержки регулируется внешними конденсаторами. В результате настоящий стереосигнал не получается, но звук действительно становиться чуть "красивей", чем в монорежиме. Эта опция особенно полезна при монофоническом сигнале.
Ниже фотографии собранных модулей.

Фото. Темброблок с микроконтроллерным управлением на TDA8425
Фото. Темброблок с микроконтроллерным управлением на TDA8425
Фото. Темброблок с микроконтроллерным управлением на TDA8425
На фотографии индикатор типа ACM1602K-FL-GBH-02.

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

В нашем случае, фразы выводимые на экран можно вручную редактировать перед прошивкой микроконтроллера. Эти фразы находятся в области ПЗУ (EEPROM) микроконтроллера и могут быть легко изменены в программе, из которой будет прошиваться микроконтроллер (например, ICProg или WinPic800).

Для переименования следует придерживаться следующих правил:

  • индикатор имеет строку из 16 знакомест, поэтому фразы должны быть не более 16 символов, включая пробелы
  • символы во фразах набираются в 16-ричном формате в соответствии с таблицей знакогенератора (см. по документации)
  • в начале каждой фразы стоит порядковый номер в 16-ричном формате
  • всего 12 фраз, в конце 12й фразы ставится 16-ричное число 0D (признак конца фразы)

Далее приведем практический пример переименования.

  1. Открываем документацию на индикатор и находим таблицу знакогенератора. Ниже типовой пример такой таблицы:

Таблица кодов для индикатора ACM1602K-FL-GBH-02

  2. Запускаем программу, из которой мы будем прошивать микроконтроллер (например, WinPic800), открываем прошивку и переходим на закладку Data.

Редатор сообщении с помощью WinPic800

Красным цветом отмечены порядковые номера фраз, а зеленым подчеркнута первая фраза "Громкость". Синим цветом подчеркнуты настройки автосохранения параметров; здесь фразы нельзя размещать.

Теперь как в "морском бое" определите по таблице знакогенератора символы во фразе "Громкость" (A1 70 6F BC BA 6F 63 BF C4). Если нам нужна иная фраза, например "Volume", то после номера 01 следует набрать 56 6F 6C 75 6D 65. На украинском языке после 01 следует фраза "Гучнiсть", которая выглядит как A1 79 C0 BD 69 63 BF C4.

Последовательность размещения фраз в ПЗУ

Для изменения 16-ричного числа достаточно щелкнуть по этому числу и с клавиатуры ввести новое 16-ричное число. Сделанные изменения можно сохранить в новую прошивку - меню File - Save As: . Если вы переведете интерфейсные фразы на другие языки - просим выслать модифицированную прошивку в форум этого сайта с указанием языка и типа индикатора. Сделанный перевод можно оценить в проекте Протеуса. Для корректного отображения кириллицы необходимо заменить файл библиотеки LCDALPHA.DLL в папке MODELS. Необходимо отметить, что модель ЖКИ 16*2 в Протеусе не совсем корректно работает (в реальной жизни немного иначе).
Ниже картинка собранного проекта в Протеусе.

Эмуляция темброблока в Proteus

Печатные платы устройств:

Печатная плата. Темброблок с микроконтроллерным управлением на TDA8425
Печатная плата. Темброблок с микроконтроллерным управлением на TDA8425
Печатная плата. Темброблок с микроконтроллерным управлением на TDA8425
 

Файлы:

 

Источник: Samopalbas
http://samopalbas.ucoz.ru/publ/6-1-0-73

 

Комментарии

Аватар пользователя Aleksandrov174

А чем и как прошивать что то ничего не сказано о прошивке как и счем ее едят ? То есть какой програматор или что используется как все это сделать опишите подробней пожалуйста А так заинтерисовала схемка Заранее спасибо

Аватар пользователя admin

PIC это микрочиповский контроллер. Программируется оригинальными программаторами и клонами. А также есть JDM-программаторы. Оригиналы дорогие. Клоны дешевле. а ЖДМ собирается "на коленке", но нужен внутренний COM-порт, на USB-COM могут не работать.

Тут свои тонкости. Ради одной схемы придется искать или собирать или запрограммировать у кого-либо этот контроллер. У этого контроллера есть внутренний генератор (если помню 4МГц). Довольно распространенный, в магазинах есть.

Аватар пользователя Самоделкин

Я зашиваю все НЕХ-ы (и для этой схемы в частности) на самодельных программаторах PicKit2 и ExtraPic. Если нужны проверенные схемы -у меня их есть.

Аватар пользователя Андрей Андреевич

А у кого в питере можно заказать прошивку контроллера? Подскажите, пож.

Аватар пользователя admin

По пикам по форумам нужно пройтись. Есть специализированный форум www.microchip.su и т.д.