Проекты : Темброблоки: аналоговые и цифовые + простые усилители


Анастасия Попкова     

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

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

Что касается дешевизны и доступности, то выбор мы остановили на аудиопроцессоре типа TDA8425. Это наилучшее решение в обычной стерео-аппаратуре. Характеристики у него – «среднестатистические», т.е. вполне приемлемые для современных устройств, даже не смотря на то, что разработан он был в конце 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 - синхронизация). Ниже схема сопряжения микроконтроллера с внешними устройствами.

 

 

 

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

 

 

Прокомментируем организацию питания. Конструкция требует входного стабилизированного напряжения 12 вольт. Питание 12 вольт на модуль аудиопроцессора идет «транзитом» через модуль микроконтроллера.

Микроконтроллер и индикатор большую часть времени находится в режиме ожидания внешних управляющих сигналов и общий ток потребления составляет единицы миллиампер. Это позволило использовать слаботочный стабилизатор 78L05 без боязни перегрева за счет падения напряжения.

Питание подсветки индикатора взято с входных линий. Необходимый ток потребления (и как следствие яркость подсветки) определяются соответствующим сопротивлением. В нашем случае это сопротивление номиналом 33 Ом.

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

 

 

Рисунок печатной платы модуля аудиопроцессора.

 

 

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

Ниже фотографии собранных модулей.

 





 

На фотографии индикатор типа ACM1602K-FL-GBH-02.

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

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

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

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

 

 

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

 

 

Красным цветом отмечены порядковые номера фраз, а зеленым подчеркнута первая фраза «Громкость». Синим цветом подчеркнуты настройки автосохранения параметров; здесь фразы нельзя размещать.
Теперь как в «морском бое» определите по таблице знакогенератора символы во фразе «Громкость» (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-ричном формате

смысл фразы

рус / eng / укр

01

Громкость / Volume / Гучнiсть

02

Баланс / Balans / Баланс

03

Тембр низкие / Bass / Тембр низькi

04

Тембр высокие / Treble / Тембр високi

05

Режим / Mode / Режим

06

Обычный / Linear / Звичайний

07

Расширенный / Spatial / Розширенний

08

Псевдостерео / Pseudo / Псевдостерео

09

Моно / Mono / Моно

0A

Вход / Input / Вхiд

0B

Линейный / * / Лiнiйний

0C

Приемник / * / Приймач

0D

(признак конца фразы)

 

 

 * - это имена входов - №1 и №2.

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

Ниже картинка собранного проекта в Протеусе.

 

 

Ориентировочная стоимость основных компонентов (средние розничные цены; по отдельности можно найти ещё дешевле):

 

Наименование

Описание

Стоимость, руб.

PIC16F628A

микроконтроллер

80

TDA8425

аудиопроцессор

60

LCD 16*2

индикатор

160

PEC16

энкодер

45

TSOP1736

ИК приемник

30

dip-панельки,

конденсаторы,

резисторы и т.п.

 

«рассыпуха»

 

50

ИТОГО:

 

425

 

Если в магазинах вашего региона или у ваших поставщиков стоимость компонентов будет больше чем на 25%, то это явно спекулятивные цены. Требуйте адекватной стоимости компонентов. В противном случае мы бы отказались от сборки темброблока.

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



Файлы:
Печатные платы (Sprint Layot 4.0)
Прошивка (русский интерфейс)
Проект Proteus (7.2 SP6)
LCDALPHA.DLL (для руссификации индикатора в Протеусе)
Видео (VMW 1,5 мб)
Конвертер символов знакосинтезирующих индикаторов


Полезные ссылки:
Попробуй сделать печатную плату на кухне
Собери себе подходящий программатор
Узнай как прошить микроконтроллер прошивкой
Научись программировать и делать прошивки
Задай вопрос или найди ответ в форуме


Назад

Просмотров: 68702

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.