На главную Форум Проекты Ссылки Скачать Статьи ProgCode_Help


Управление аудиоконтроллером TDA8425

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


Данное устройство собрано на микроконтроллере PIC16F628A, аудиопроцессоре TDA8425 и ЖКИ 16х2 на основе HD44780. Почему именно на них, а не на более современных м/с? Ну, во первых потому что они у меня уже были, а во вторых разобравшись с работой TDA8425 очень легко перейти на более современные аудиопроцессоры.

Теперь о том что может данное устройство:

- регулировка громкости в диапазоне от -64dB до +6dB с шагом 2dB
- регулировка тембра НЧ от -12dB до +15dB с шагом 3dB
- регулировка тембра ВЧ от -12dB до +12dB с шагом 3dB
- два переключаемых входа
- режим MUTE (звук выключен)
- режимы СТЕРЕО, ПСЕВДОСТЕРЕО, МОНО и РАСШИРЕННОЕ СТЕРЕО

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

Схема устройства управления аудиоконтроллером TDA8425 приведена на рисунке:
схема управления аудиоконтроллером TDA8425



При включении питания звук устанавливается на заранее заданное значение (в данном случае -52dB, так сказать по умолчанию сразу после прошивки МК), звук выключен и включен первый канал. Если в течении 3 сек (приблизительно) не поступило ни одной команды подсветка ЖКИ станет более приглушенной. При нажатии любой клавиши на пульте ДУ, включается подсветка, отрабатывается команда и, если нет новых команд, подсветка выключается через 3 сек неактивности.
Все изменения (тембр, номер канала, громкость и т.д.) запоминаются в EEPROM. После повторного включения они восстанавливаются.
В целях "экономии" ресурса EEPROM ПИКа, данные сохраняются только после 3-х секунд "неактивности", т.е. когда все регулировки уже закончены. Выключение подсветки ЖКИ является своеобразным признаком окончания сохранения текущих регулировок в EEPROM ПИКа.

Распределение ячеек памяти EEPROM:

00h - 47h = спецсимволы.
48h - 5Fh = свободно

********** Менять под используемый пульт ДУ **************************************
60h = 0F0h - On/Off (код клавиши "On/Off")
61h = 010h - Volum Up (код клавиши "Volum Up")
62h = 090h - Volum Down (код клавиши "Volum Down")
63h = 070h - Chanel (код клавиши "Chanel")
64h = 0B0h - Выбор по кольцу: Volume, Bass, Treble, Balance (код клавиши "RCL")
65h = 030h - Effect (код клавиши "Effect")
********** Менять под используемый пульт ДУ **************************************

66h - 77h = свободно
78h - 7Dh = данные для аудиопроцессора
7Eh - 7Fh = свободно


Внешний вид экрана показан на рис.LCD-01
LCD-01.jpg
выключение звука и выбранный канал демонстируются на ЖКИ (в красном кружке на рис.LCD-01 и LCD-02)
LCD-02.jpg
По умолчанию регулируется громкость, при этом ЖКИ принимает вид показанный на рис.LCD-03
LCD-03.jpg
ползунок отмечает уровень громкости.

При нажатии на клавишу циклического выбора регулируемого параметра RCL по кольцу выбираются регулируемый параметр: Bass, Treble и Volume (рис.LCD-04 и LCD-05)
LCD-04.jpg LCD-05.jpg
В данной прошивке в EEPROM занесены коды с моего пульта, для того чтобы посмотреть коды выдаваемые Вашим пультом, надо временно замкнуть вывод 3 (RA4) на общий провод (показано на схеме в красном кружке), в таком случае при нажатии любой кнопки во второй втроке будут отображаться коды Вашего пульта
(рис.LCD-06).
LCD-06.jpg
Посмотрите и запишите коды клавиш пульта ДУ которые Вы собираетесь использовать, их необходимо записать с помощью программатора в EEPROM ПИКа по выше указанным адресам. Для работы в нормальном режиме не забудьте снять перемычку ;-)
Если есть желание посмотреть работу без аудиопроцессора, то выводы RA6 и RA7 надо оставить свободными (без подтягивающих резисторов), в таком случае МК "понимает" что TDA'шки нет.
С помощью кнопок регулируется только громкость, для остальных регулировок есть лентяйка, кнопки скорее как спасательный круг, когда батарейки "сели", а звук регулировать нужно ;-).
Есть две версии прошивки: под пульты работающие по NEC-протоколу и по RC-5 протоколу. Скажу сразу, с RC-5 протоколом не стоит нажимать клавиши пульта очень часто (раз 5-6 в сек), иначе команды будут пропускаться. Дело в том, что из десятка пультов что есть у меня только один работает по протоколу RC-5 и он постоянно "занят", "выдернуть" его надолго у меня не получается. Есть желание доделать, но... как всегда не хватает времени.




Прошивка для NEC-протокола в HEX формате:  tda8425_NEC.rar

Та же самая прошивка в формате программы ProgCode:  tda8425_NEC.sfr

Прошивка для RC-5 протокола в HEX формате:  tda8425-RC5.rar

Та же самая прошивка в формате программы ProgCode:  tda8425-RC5.sfr




Автор конструкции:  Альберто

Связаться с автором можно по email (указан на схеме)

Задать автору вопросы по конструкции так-же возможно в форуме http://pic.borda.ru  в разделе "Наши разработки"











Rambler's Top100


Hosted by uCoz