Cервисный модуль для MP3-бумбоксов
С некоторых пор в продаже появились очередные «разработки» из поднебесной – бумбоксы, работающие с FLASH-накопителями. Большинство в своём составе имеют FM-приёмник и небольшой дисплейчик, отображающий режимы работы: номер текущего трека или частоту принимаемой станции.
На рынках их можно приобрести по довольно сносной цене, немного дороже в городских магазинах и киосках типа 1000-и мелочей. Набор функций у них, как правило, одинаковый, различаются в основном дизайном корпусов, расположением динамиков и дисплеями. Примеры внешнего вида бумбокса со светодиодным индикатором приведены на Рис.1 – Рис.3, а с жидкокристаллическим индикатором на Рис.4. Бумбоксы с ЖК-дисплеем могут иметь дополнительные режимы – календарь, часы и будильник.
Рис.1. БУМБОКС В РЕЖИМЕ FLASH-плеера | Рис.2. БУМБОКС В РЕЖИМЕ FM-приёмника |
Рис.3. БУМБОКС ВИД СЗАДИ | Рис.4 БУМБОКС с ЖК-индикатором ОБЩИЙ ВИД |
В комплектации имеется пульт дистанционного управления, цифровыми кнопками которого можно задать частоту радиостанции или номер нужного трека. С кнопок на бумбоксе эта опция не доступна. К тому же, всегда ли мы берём с собой пульт ДУ, уезжая в сад, огород или отдыхать на природу? Вне квартиры пульты имеют свойство теряться, а батарейка в неподходящий момент разряжаться. Предлагаемая схема предназначена для улучшения сервисных функций при управлении с кнопок, расположенных на корпусе бумбокса. Конечно же, разные конторы в своих изделиях назначают кнопкам различные функции, например, в бумбоксе на Рис.4 кнопки перемотки (кратковременное нажатие) совмещены с регулировкой громкости (нажатие и удержание). Не составит труда разобраться с управлением и сформировать правильную коммутацию необходимых кнопок. Алгоритм управления разработан применительно к бумбоксу, в котором кнопки PREV (предыдущий) и NEXT (следующий) в режиме плеера выполняют функцию перехода на другой трек, а в режиме тюнера – функцию поиска радиостанции.
Если сравнить управление в режиме FM-приёмника с управлением в режиме FLASH-плеера, то оказывается следующее: чтобы начать поиск нужной радиостанции, достаточно нажать и некоторое время удерживать кнопку «перемотка». После отпускания кнопки поиск продолжается. При обнаружении несущей частоты сканирование прекращается, и приёмник остаётся настроенным на станцию. В режиме FLASH-плеера так не получится, чтобы переходить на следующие (или предыдущие) треки необходимо постоянно нажимать кнопки «перемотка». А если нужный трек находится где-нибудь в середине или в конце полностью записанного FLASH-накопителя? Появилась задумка, как избавиться от такого недостатка, не внося в схему бумбокса кардинальные изменения. Хотелось, чтобы при нажатии кнопки перемотка осуществилась до нужного трека (или, как минимум, ближе к нужному треку), причём без постоянного удержания этой кнопки в нажатом положении. Очевидно, в схеме должен быть какой-нибудь генератор импульсных последовательностей, который бы управлял ключами, а они, в свою очередь, и «давили» на кнопку нужное число раз. Как нельзя лучше для такой цели подходят микросхемы телефонных номеронабирателей – готовые генераторы импульсов, обладающие вдобавок ещё одной полезной функцией – наличием внутреннего ОЗУ. После непродолжительных экспериментов выбор пал на старенькую отечественную микросхему КР1008ВЖ1. В отличие от «модерновых», она имеет дополнительные выходы, упростившие схемное решение разработанного сервисного модуля. УГО микросхемы показано на Рис.5, структура на Рис.6, а диаграммы выходных сигналов на Рис.7. Подробно с микросхемой можно познакомиться в [1], откуда я позаимствовал эти картинки.
Рис.6. Структурная схема ИС НН КР1008ВЖ1
Рис.7. Временные диаграмы микросхемы ЭНН КР1008ВЖ1
На Рис.7 показана логика работы выходов КР1008ВЖ1, где PULSE (вывод 12) – выход ИМПУЛЬСНЫЙ КЛЮЧ. На нём появляются импульсы в соответствии с нажатой цифровой кнопкой (отмечу ошибку на графике – в режиме «отбой», соответствующий промежутку t3 - t4, на этом выходе нет лог.1); MUTE1 (вывод 16) и MUTE2 (вывод 18) – два выхода РАЗГОВОРНЫЙ КЛЮЧ (ещё ошибка на графике – надписи MUTE1 и MUTE2 надо поменять местами). На выходе MUTE2 лог.0 появляется только на время отработки микросхемой одной цифры, а на выходе MUTE1 лог.0 присутствует в течение времени, пока производится набор всего номера. На этих выходах лог.0 появляется одновременно в режиме «отбой», который возникает при нажатии рычажного переключателя (укладке трубки на аппарат) или кнопки «#» на клавиатуре; IDPO (вывод 10) – на этом выходе формируются импульсы с уровнем лог.1 на время межсерийной паузы; KS (вывод 11) – выход КЛЮЧ ПОДПИТКИ. На нём появляется напряжение с уровнем лог.1 на время отработки микросхемой цифры; КТ (вывод 4) – выход ТОНАЛЬНОГО ПОДТВЕРЖДЕНИЯ нажатия кнопки.
Первый вариант сервисного модуля, позволяющий осуществлять автоматическую перемотку треков, изображен на схеме 1.
Схема 1.Сервисный модуль. Вариант 1
Питание модуля формируют стабилизатор тока DA1 и стабилизатор напряжения DA2. Резистор R1 задаёт ток стабилизации для DA2, а конденсатор С1 сглаживает возможные пульсации. В исходном состоянии триггеры DD1.1 и DD1.2 находятся в «нулевом» состоянии (на основных выходах - лог.0, а на инверсных – лог.1), диоды VD6 и VD7 закрыты. Микросхема DD2 выключена напряжением высокого уровня, поступающего с резистора R6 на вход 15DD2, следовательно, внутренний генератор микросхемы не работает и на всех выходах присутствует напряжение лог.0. Для перемотки треков используют кнопки SB1 или SB2. Например, для перемотки на следующие треки кратковременно нажимают кнопку SB2 «NEXT». В этом случае лог.1 с выхода триггера 2DD1.1 через замкнутые контакты кнопки поступит на вход 8DD1.2. Триггер DD1.2 переключится в «единичное» состояние, а так как с помощью элементов R5, C3 и VD4 он преобразован в одновибратор, начинается отработка временного интервала длительностью около 3-х секунд. На это время устанавливаются на выходе 12DD1.2 – лог.0, а на выходе 13DD1.2 – лог.1. Напряжение с уровнем лог.0 через открытый диод VD7 поступает на вход 15DD2 и активирует микросхему DD2, одновременно запрещается управление одновибратором на триггерной ячейке DD1.1 и элементах R4, С2 и VD3 с помощью кнопки SB1 «PREV». Напряжение с уровнем лог.1 поступает на входы 13DD3.2 и 13DD4.2. Теперь элемент DD3.2 подготовлен для работы с выходом 12DD2, а ключ DD4.2 открыт и включенный светодиод HL2 указывает направление перемотки. Так как микросхема DD2 активирована, то на её выходе 16DD2 появляется лог.1, которая закрывает диод VD5. Через R5 начинается зарядка С3 в течение указанных 3-х секунд. Если за это время не нажата ни одна кнопка клавиатуры, конденсатор С3 зарядится до напряжения переключения DD1.2. Одновибратор вернётся в исходное состояние, что приведёт к выключению DD2. Если нажатия кнопок были, то лог.0 через открытый диод VD5 не даст зарядиться конденсатору С3, пока DD2 отрабатывает принятую информацию с клавиатуры. Аналогично работают элементы, предназначенные для кнопки SB1. Итак, после выбранного направления перемотки кнопками SB1 или SB2, с помощью клавиатуры осуществляют саму перемотку. Например, необходимо промотать (пропустить) десять треков. Можно нажать один раз кнопку «0» или два раза кнопку «5»; нажать кнопки «8» и «2» или десять раз кнопку «1». В любом случае перемотка осуществится на десять треков. В чём же разница, если итог все равно один и тот же – после перемотки заиграет одиннадцатый трек? Разница выявилась в процессе наладки схемы на макетной плате. Предполагалось, что перемотка будет происходить со стандартной частотой импульсов на выходе 12DD2, т.е. F=10Гц, которая задаётся внешними элементами генератора C4 и R7, и для микросхемы КР1008ВЖ1 номиналы соответствуют при сопротивлении R7=100кОм, ёмкость С4=300pF, при этом межцифровая пауза согласно графику длится 800mS. Не получилось – с частотой перемотки 10Гц контроллер плеера пропускал треки. Из заданных 10-ти перематывались только 6…8 треков (каждый раз по-разному). Быстрое нажатие «родных» кнопок перемотки плеера дало такой же результат. Вероятно, контроллеру плеера необходимо какое-то время для обращения к FLASH-носителю. Было решено изменить элементы генератора, т.е. подобрать максимальную частоту на выходе PULSE, при которой не происходит сбоя во время перемотки треков. Полученные опытным путём номиналы этих элементов показаны на схеме. С понижением частоты соответственно увеличилось время межцифровой паузы до 4 секунд. Это время и стало определять указанную выше разницу при различных вариантах задачи числа пропущенных треков. Теперь, если задать десять треков с помощью кнопки «0», то перемотка выполнится сразу до одиннадцатого трека. Если задать перемотку кнопками «8» и «2», то после промотанных восьми треков, появляется возможность прослушать 4-х секундный фрагмент девятого трека (если перемотка задана двумя нажатиями кнопки «5», то, соответственно, проиграется 4-х секундный фрагмент шестого трека). Если перемотка задана десятью нажатиями цифры «1», то получаем «сканирование» FLASH-носителя с воспроизведением 4-х секундных фрагментов, что совсем неплохо. Остановить «сканирование» на понравившемся треке можно в любой момент нажатием кнопки «#» (сброс). Микросхема КР1008ВЖ1 имеет ещё одну функцию: если после нажатия цифровой кнопки нажать кнопку «*» (повтор последнего набранного номера), то межсерийная пауза увеличивается на 2,6 секунды. Данная функция предусмотрена и в других «телефонных» микросхемах. Она необходима, когда требуется увеличить время перед набором следующей цифры номера и применяется в основном для набора междугородних номеров, например, после набора цифры «8». Если её нажимать после цифровой кнопки при перемотке, то можно увеличить время воспроизведения коротких фрагментов (с учётом пониженной частоты внутреннего генератора длительность межцифровой паузы увеличилась до 14 секунд), но при этом не забывать, что это равносильно занятию одного знака в ОЗУ микросхемы. В микросхеме КР1008ВЖ1 ОЗУ ограничено 22-мя знаками, поэтому, максимальное число треков для перемотки, которое можно единожды задать, равно 220-ти: 22 нажатия на цифровую кнопку «0», что, наверное, не совсем удобно. Но такой «ручной набор» необходим только один раз (замечу, что «ручной набор» с клавиатуры модуля можно осуществлять с любой скоростью по сравнению со скоростью нажатий на «родные» кнопки бумбокса). Для последующих перемоток, например, к шестисотому треку, достаточно воспользоваться функцией повторного набора номера, т.е. кнопкой «*», нажимая на неё после нажатия кнопки «#».
На выходе 12DD2 появляются импульсы, число которых соответствует нажатой цифровой кнопке клавиатуры. Эти импульсы поступают на вход 12DD3.2, затем инвертируются элементом DD3.4 и поступают вход 6DD4.4. В такт с импульсами токовый ключ DD4.4 замыкается и размыкается, имитируя нажатия на кнопку NEXT плеера. На выходе 11DD2 присутствует лог.1 пока отрабатывается цифра. Эта лог.1 подаётся на затворы транзисторов VT1, VT2 и открывает их. Стоки транзисторов подключены к входу «стерео» УМЗЧ плеера. Открываясь, транзисторы шунтируют входы обоих каналов УМЗЧ, что устраняет нежелательные звуки, пока отрабатывается очередная заданная цифра. Через три секунды после отработки последней цифры схема возвращается в исходное состояние – на входе 15DD2 появляется лог.1. Эта лог.1 подготавливает DD2 к работе с внутренним ОЗУ.
Если кнопки плеера имеют соединение с общим проводом, т.е. замыкают входы контроллера на минус схемы, то вместо DD4 можно применить токовые ключи, выполненные на полевых или биполярных транзисторах и включить их по схеме транзисторов VT1 и VT2.
Второй вариант сервисного модуля, изображенный на схеме 2, можно назвать упрощённо-модернизированным аналогом первого.
Схема 2. Сервисный модуль. Вариант 2
В этой схеме имеется возможность оперативно сменить направление перемотки на противоположное. Например, для выбора перемотки назад нажимается кнопка SB1 PREV. В этом случае триггер DD1.1 переключается в «единичное» состояние и активирует DD2. С выхода 18DD2 лог.1 через развязывающий диод VD8 и резистор R6 поступит на вход 12DD4.1. Диод VD5 при этом закрыт лог.1-цей с выхода 1DD1.1, следовательно, ключ DD4.1 откроется и включит указатель направления перемотки HL1. Лог.1 с катода VD8 также поступает через R7 на ключ DD4.2, но диод VD6 открыт лог.0-м с выхода 13DD1.2 и шунтирует вход 13DD4.2. Ключ DD4.2 останется закрытым, а HL2 – выключенным. При отработке цифры микросхемой DD2 на выходе MUTE2 появляется лог.0 (диод VD8 при этом закрывается), а на выходе PULSE – импульсы с уровнем лог.1-цы. Эти импульсы через развязывающий диод VD7 открывают ключ DD4.1, следовательно, светодиод HL1 теперь мигает. Число вспышек равно числу «нажатий» на кнопку PREV плеера. Если во время перемотки назад нажать кнопку SB2 NEXT, то триггер DD1.2 установится в «единичное» состояние. С выхода 13DD1.2 напряжение лог.1 поступит на тактовый вход 3DD1.1. Так как вход данных 5DD1.1 соединён с общим проводом схемы, то в триггер DD1.1 запишется лог.0. В результате триггер DD1.1 вернётся в исходное «нулевое» состояние. Теперь управляющие импульсы c DD2 будут поступать на элементы, формирующие перемотку и индикацию для направления NEXT.
Третий вариант сервисного модуля, изображённый на схеме 3 немного сложнее, но позволяет отказаться от дополнительных кнопок PREV и NEXT, а также даёт возможность управлять другими регулировками и режимами бумбокса.
Схема 3.Сервисный модуль. Вариант 3
Работа DD2 ничем не отличается от работы в вариантах 1 и 2, поэтому рассмотрю, как происходит выбор нужных регулировок или режимов. В этой схеме используется одна клавиатура, причём кнопка «#», обозначенная на схеме как SB1, конструктивно остаётся в составе клавиатуры, только печатные проводники, соединяющие её контактные площадки с другими кнопками, перерезаются, а к ней подводятся два отдельных провода. Таким образом, от клавиатуры будут отходить не семь, а девять проводов. С помощью кнопки SB1 и будет осуществляться выбор необходимых регулировок или режимов работы бумбокса. В исходном состоянии на выходе RS-триггера 2DD1.1 высокий уровень напряжения, которое поступает на вход 15DD2. Микросхема DD2 выключена. Также с выхода 2DD1.1 через развязывающий диод VD3 напряжение поступает на вход 7DD8, поэтому индикатор HG1 погашен. Транзистор VT2 закрыт и напряжение питания +U через R9 поступает на входы стробирования «S» мультиплексоров DD4 и DD6. Каналы мультиплексоров разомкнуты, и они не влияют на текущие режимы работы плеера. Генератор на элементах DD3.1, DD3.2, R5 и С4 заторможен. При нажатии на кнопку SB1 триггер DD1.1 перебрасывается и на его выходе 2DD1.1 устанавливается лог.0, который активирует DD2 и разрешает работу генератора. Диод VD3 закрывается (диод VD4 тоже закрыт) и вход 7DD8 через R7 оказывается подключенным к общему проводу схемы. Индикатор HG1 включается и на нём отображается номер последней регулировки. Если кнопку SB1 не удерживать нажатой или не нажимать кнопки клавиатуры, то лог.1 с выхода 16DD2 приблизительно за 5 секунд через R4 зарядит конденсатор С2 до напряжения переключения DD1.1. Этот триггер перебросится, и схема вернётся в исходное состояние. Если нажать и удерживать кнопку SB1, то с выхода 4DD3.3 на вход разрешения счёта 5DD5 поступит лог.0. Микросхема DD5 начнёт подсчитывать поступающие с генератора на тактовый вход 15DD5 импульсы, причём изменение (увеличение или уменьшение) информации на её выходах зависит от состояния триггера DD1.2. В это же время открыт транзистор VT1 и имитирует нажатие кнопки «#» на клавиатуре, следовательно, на всех выходах DD2 – лог. 0-ли. Триггер DD1.1 остаётся в текущем состоянии на протяжении времени выбора нужной регулировки, несмотря на то, что кнопки клавиатуры не нажимаются. Если кнопку SB1 кратковременно отпустить, а затем опять нажать и удерживать, то на обоих выходах DD2 «MUTE» появятся лог.1-цы. Из-за свойств интегрирующей цепи R4-С2 триггер DD1.1 не изменит своего состояния, но перебросится триггер DD1.2, т.к. работает в счётном режиме. Теперь микросхема DD5 сменит направление счёта. Это ускоряет выбор нужной регулировки. В итоге получаем следующее: для активации модуля один раз нажимается кнопка «#», если на индикаторе отображается номер необходимой регулировки (предыдущая), то сразу можно производить саму регулировку, используя кнопки клавиатуры. Если нужна другая регулировка, то кнопка «#» удерживается в нажатом состоянии, либо кратковременно отпускается и опять нажимается для поиска в другую сторону. Двоичная информация на выходах DD5 преобразуется дешифратором DD8 и на индикаторе HG1 отображается номер текущей регулировки или выбранного режима. Одновременно информация с выходов DD5 поступает на адресные входы мультиплексоров DD4, DD6, DD7 (для DD7 отведена вспомогательная функция) и задаёт номер канала, который будет использоваться для управления плеером. Двунаправленные входы/выходы мультиплексоров DD4 и DD6 соединяются в зависимости от конфигурации кнопок плеера. На схеме показан пример кнопочной матрицы, которая управляет FLASH-плеером, находящимся у меня в эксплуатации. После того, как выбран номер нужной регулировки, нажимают цифровые кнопки клавиатуры. Импульсы с уровнем лог.0 (транзистор VT2 работает инвертором) на входах 6DD4 и 6DD6 выводят сформированные каналы мультиплексоров из высокоимпедансного состояния, в результате образуется необходимое соединение, и выбранная кнопка плеера замыкается. При регулировании звука отключать его не принято, поэтому каналы 4 и 5 (выводы 1DD7 и 5DD7) мультиплексора DD7 соединяют затворы VT3 и VT4 с общим проводом схемы. Транзисторы остаются в закрытом состоянии, поэтому входы УМЗЧ не шунтируется. При выборе сканирования частоты в режиме FM-приёмника каналами 6 и 7 (выводы 2DD7 и 4DD7) этого же мультиплексора к стоку VT2 подключается конденсатор С6, который вместе с резистором R9 образует интегрирующую цепь, поэтому на входах 6DD4 и 6DD6 вместо коротких импульсов с уровнем лог.0 присутствует один с большей длительностью, что равносильно удержанию кнопок плеера NEXT и PREV некоторое время в нажатом состоянии. В итоге реализуется функция сканирования FM-приёмника. Импульсы набора с вывода 12DD2 через развязывающий диод VD4 поступают на вывод 7DD8. В такт с этими импульсами индикатор HG1 мигает, указывая на процесс регулирования.
Если управление контроллером плеера осуществляется относительно общего провода (как я уже отмечал выше – кнопки замыкаются на общий провод), то надобность в одном из мультиплексоров отпадает, при этом вход/выход D (вывод 3) оставшегося в схеме мультиплексора соединяют с минусом питания. Мультиплексоры преобразуют двоичный код на выходах DD5 в десятичный и одновременно осуществляют формирование и коммутацию канала. Если число регулировок не превышает четырёх, то можно обойтись одним мультиплексором типа К561КП1. Мультиплексоры могут быть заменены на дешифратор, например К561ИД1, работающий на ключи в составе какой-нибудь микросхемы-коммутатора, но это увеличит число корпусов. Если не нужна индикация выбранного номера регулировки в десятичном формате, то из схемы удаляются индикатор HG1 и, соответственно, дешифратор DD8, а вместо них к выходам DD5 через транзисторные ключи подключаются три светодиода с минимальным рабочим током. Если управляющую часть модуля запитать от «собственного» стабилизатора плеера (как правило, U = 3,3 вольта – питание контроллера и SD-карт), то надобность в DA1 и DA2 отпадает. В качестве клавиатуры удобно применять готовые тастатурные блоки от телефонов-трубок в виду их меньших габаритов. В настоящее время ОАО «АНГСТРЕМ» выпускает улучшенные аналоги микросхемы КР1008ВЖ1. Это микросхемы КР1008ВЖ28 и КР1008ВЖ29. Внутреннее ОЗУ этих микросхем увеличено до 31 знака и уменьшена потребляемая мощность в статическом и динамическом режимах.
Видео.
перемотка плеера вперёд на 5+5 треков и назад на 10+10+10 треков. Фрагменты по 4 сек
перемотка плеера назад на 5+пауза+5 треков. Фрагмент 14 сек
Литература
А. И. Кизлюк « Справочник по устройству и ремонту телефонных аппаратов зарубежного и отечественного производства». Четвёртое издание. Москва. Антелком. 2003г. [1]