KiT#41(6)_web.qxd 9/29/2004 2:18 PM Page 84 Компоненты Компоненты и технологии, № 6’2004 Holtek: в мире музыки и звуков Звуки музыки окружают человека практически всю жизнь — от рождения и до смерти. И если несколько лет назад эти локальные источники можно было пересчитать по пальцам: телевизор, радиоприемник, магнитофон и т. п., то сегодня музыкальное сопровождение нашей жизни простирается от игрушек до сотовых телефонов и флэш&памяти со встроенным приемником. Николай Ракович ирма Holtek, хорошо известная своими микросхемами памяти и микроконтроллерами, занимается также выпуском компонентов для музыкальной электроники. Для создания и воспроизведения музыкальных и немузыкальных звуков Holtek выпускает различные ИС: 8-разрядные микроконтроллеры для формирования музыкальных мелодий и речи (Music MCU, Voice MCU и Q-Voice); семейства микросхем для создания звуковых эффектов (Sound Effects Series), мелодий (Piano Series), речи (EasyVoice Series). Начнем с семейства музыкальных синтезаторов НТ36хх (табл. 1, блок-схема на рис. 1 на примере НТ36А0). Ф info@chipselect.ru Таблица 1 Обозна& Напряжение Память Память Выводы Таймер Полифония чение питания, В программ данных входа&выхода ЦАП Корпус 16DIP, 20SOP НТ36А4 2,4×5,0 32К×16 208×8 8 8 бит×2 8 16 бит×1 НТ36А3 2,4×5,0 32К×16 208×8 20 8 бит×2 8 16 бит×1 28SOP, 48SSOP НТ36А2 2,4×5,0 64К×16 208×8 20 8 бит×2 8 16 бит×1 28SOP, 48SSOP НТ36А1 2,4×5,0 64К×16 208×8 24 8 бит×2 8 16 бит×2 48SSOP НТ36А0 3,6×5,0 64К×16 208×8 28 16 бит×2 16 16 бит×2 48SSOP НТ36В2 3,6×5,0 128К×16 512×8 32 16 бит×2 16 16 бит×2 28SOP, 56SSOP НТ36В0 3,6×5,0 256К×16 768×8 36 16 бит×2 16 16 бит×2 Бит 3 Бит 2 Бит 1 Бит 0 CH3 CH2 CH1 CH0 FR8 28SOP, 64QFP Таблица 2 Регистр Функция 20Н Выбор номера канала 20Н Выбор параметра изменения VM FR 21Н Выбор номера блока BL3 BL2 BL1 BL0 FR11 FR10 FR9 FR7 FR6 FR5 FR4 FR3 FR2 FR1 FR0 ST15 ST14 ST13 ST12 ST11 ST10 ST9 ST8 ST7 ST6 ST5 ST4 ST3 ST2 ST1 ST0 RE14 RE13 RE12 RE11 RE10 RE9 RE8 RE6 RE5 RE4 RE3 RE2 RE1 RE0 ENV1 ENV0 VL3 VL2 21Н 22Н 23Н 24Н 25Н 25Н 26Н Выбор номера частоты Выбор начального адреса Выбор формата сигнала Выбор адреса повторения 27Н Выбор типа огибающей 27Н Выбор параметров вибрато 27Н 29Н 27Н 2АН 84 Регулировка левого канала Регулировка правого канала Бит 7 Бит 6 Бит 5 Бит 4 WBS RE7 A_R VL7 VR7 VL6 VR6 VL9 VL8 VL5 VL4 VR5 VR4 VR3 VR2 VL1 VL0 VR9 VR8 VR1 VR0 Рис. 1 Эти 8-разрядные высокоэффективные RISС-микроконтроллеры специально разработаны для музыкальных приложений и совмещают микроконтроллер с 16-канальным синтезатором. В памяти программ хранятся как команды управления, так и коды мелодий (в табличном виде), причем все это легко перепрограммируется. В состав НТ36хх входит встроенный 8-разрядный микропроцессор, с помощью которого программируется синтезатор для формирования мелодий установкой соответствующего специального регистра с адресом 20Н-2АН. Рассмотрим только те функции микроконтроллера, которые отвечают за мелодии. В ПЗУ микроконтроллера определенная область отведена под память таблицы мелодий (wavetable ROM); 16 ячеек ST(15~0) используются для определения начального адреса каждого образца мелодий из таблицы и чтения данных о форме сигнала. В НТ36А0 реализована 21 выходная адресная шина по адресным шинам WA(16~0), ST(15~0) используются для локализации основных 16 битов, то есть WA(16:5) и неизвестные данные из WA(4~0) всегда устанавливаются в 00000b. Таким образом, начальный адрес каждого образца мелодии находится по адресу, кратному 32. С другой стороны, образец мелодии не может быть считан правильно, если стартовый код неверен. Работа 16-канального синтезатора задается специальными регистрами, расположенными по адресам 20Н-2АН (табл. 2). Выбор одного из 16 выходных каналов выполняется соответствующими битами выбора номера каwww.finestreet.ru KiT#41(6)_web.qxd 9/29/2004 2:18 PM Page 85 Компоненты Компоненты и технологии, № 6’2004 нала СН (3~0) регистра 20Н. При записи в этот регистр синтезатор будет автоматически выдавать соответствующий код ИКМ (импульсно-кодовой модуляции). Этот регистр используется так же, как ключ начального воспроизведения, и записывается после того, как все другие регистры функций уже определены. Еще два бита (VM, FR) в этом регистре определяют регистр, который будет модифицироваться в выбранном канале. Частота выхода задается данными регистров 21Н и 22Н (BL3~0, FR11~0), что, кстати, позволяет сформировать шкалу градаций: при FR (11:0), равном 800Н, и BL (3:0), равном 6Н, данные каждого образца будут выдаваться последовательно. Если тактовая частота fosc=12,8 МГц, то частота на выходе определяется как: где frecord и SR — частота и частота выборки кода образца соответственно. Определение начального адреса в НТ36хх реализовано двумя способами: через адрес ПЗУ программ и через начальный адрес кода ИКМ. Для определения начального адреса каждого кода ИКМ и чтения данных о форме сигнала используется ST(15~0). С целью более экономичного использования памяти данных в НТ36А0 предусмотрен выбор с помощью WBS одного из двух форматов данных образцов мелодий каждого кода ИКМ: 8 разрядов или 12. Вид форматов приведен на рис. 2 (В — один байт данных; 1Н — старший полубайт; 1М — средний полубайт; 1L — младший полубайт). Рис. 2 Если выбранный образец необходимо воспроизвести несколько раз, то для этого в регистрах 25Н и 26Н задается адрес точки повторения. При этом на выходе формируется сигнал от начального кода до конечного (один раз), а затем постоянно сигнал в диапазоне от адреса повторения до конца (код 80). В контроллерах серии НТ36хх реализована независимая регулировка громкости по правому и левому каналам — биты VL(9~0) и VR(9~0) соответственно в регистрах 27Н, 29Н, 2АН. Регулировка громкости имеет 1024 уровня; 000Н — максимальная громкость, 3FFН — минимальная. Программирование огибающей сигнала упрощено установкой соответствующих битов ENV[1~0] и A_R для формирования эффекта вибрато. Звуковые данные на выходе микроконтроллера выдаются в последовательном режиме в виде 16-разрядного цифрового сигнала, начиная с младшего значащего разряда. Если тактовая частота равна 12,8 МГц, то скорость www.finestreet.ru Рис. 3 Рис. 4 выборки составляет 50 кГц для правого и левого каналов, причем передача данных в НТ36хх для работы с ЦАП осуществляется по интерфейсу IIS. Типовая схема включения приведена на рис. 3. На базе микроконтроллеров серии НТ36хх разработаны микроконтроллеры серии НТ38хх: полифонические музыкальные проигрыватели НТ38А1, НТ38А3 и музыкальный генератор на 12 мелодий НТ38А2. НТ38А1 представляет собой 16-канальный музыкальный проигрыватель на восемь инструментов и восемь типов ударных. Для связи с внешними устройствами используется 3-проводной интерфейс. Стандартные файлы General MIDI (GM) версии 1,0 преобразуются в исполняемый файл программой преобразования (разработка Holtek). Вставка в MIDI-файл специальных команд позволяет управлять четырьмя светодиодами (типовая схема включения — на рис. 4). В состав НТ38А1, работающего с тактовой частотой 8 МГц, входит один 16-разрядный ЦАП с потенциальным выходом (по напряжению) и 6-канальный табличный генератор мелодий. НТ38А3 содержит 18 инструментов и 12 ударных, работает с тактовой частотой 11,059 МГц, имеет два ЦАП на 16 разрядов со стереовыходом по напряжению и 16-канальный генератор мелодий (естественно, табличный). Схема включения аналогична НТ38А1. Файлы MIDI должны соответствовать спецификации 1,0 GM и сохраняться в формате MIDI Format 0. Максимальное число треков равно 16, причем десятый трек — резерв для ударных. Временная база файла MIDI должна быть кратна 24, например, 24, 48, 72 и т. д. С каждым музыкальным инструментом в спецификации GM сопоставляется число от 1 до 128. Кроме этого, имеется 61 ударный инструмент (нумерация от 25 до 85) и 16 треков (нумерация от 1 до 16). Любой ноте в MIDI-файле соответствует число от 0 до 127, причем нота «до» средней октавы равна 60. Диапазон, поддерживаемый программой, можно менять, действительное значение имеется в руководстве пользователя. Максимальное число доступных звуковых каналов — 8. Величину уровня сигнала (громкость) можно изменять в диапазоне от 0 до 127 изменением параметра громкости (Volume) или быстродействия (Velocity). Диапазон изменения быстродействия — 40`280, при этом он может меняться незамедлительно, если в состав одного файла входит несколько видов темпа. Программа преобразования con_midi midfile переведет формат MIDI-файла в файл формата BIN, который после этого будет использоваться проигрывателями НТ38А1/3. Те инструменты или ударные, которые не распознаны, будут заменены первым инструментом или ударным из банка звуков. Музыкальный генератор НТ38А2 — СБИС, выполненная по КМОП-технологии (блок- 85 KiT#41(6)_web.qxd 9/29/2004 2:18 PM Page 86 Компоненты Компоненты и технологии, № 6’2004 Рис. 5 Рис. 6 Таблица 4 Вывод для подключения кнопки РА1: выбор мелодии Таблица 3 РА3: телефонная кнопка Hold РА6: определение звонка РА7: определение сигнала отбоя Завершая краткий обзор ИС фирмы Holtek для музыкальных приложений, необходимо хотя бы упомянуть о микросхемах для обработки голоса (как известно, собственный голос — самая приятная мелодия). 8-разрядные микроконтроллеры серии НТ86ххх (табл. 6) со встроенным синтезато- НТ86768 НТ86576 Таблица 6 НТ86192 При выборе конкретного типа ИС необходимо учитывать, что серия НТ36хх — масочная, то есть по определению хороша для крупносерийного производства. Минимальное количество микросхем в партии поставки составляет: HT36A4 — 15 500 шт. HT36A3 — 15 000 шт. HT36A2 — 11 500 шт. HT36A1 — 11 500 шт. HT36A0 — 8 500 шт. HT36B2 — 7 500 шт. Для экспериментальных работ и при мелкосерийном производстве рационально использовать ИС серии НТ38хх. Номенклатура выпускаемых Holtek ИС для различных музыкальных приложений не ограничивается сериями НТ36хх и НТ38хх. Для клавишных инструментов выпускается серия Piano (табл. 5). РА2: громкость НТ86144 Название мелодии Колокольчики (Jingle bells) Кармен Happy Chinese New Year Эдельвейс (Edelweiss) Going home PAPALA Классика Listen to the rhythm of the falling rain Рок;н;ролл Happy Birthday Do Re ME Штраус НТ86072 Номер мелодии 1 2 3 4 5 6 7 8 9 10 11 12 Функция Этой кнопкой выбирается и проигрывается одна из 12 мелодий. Если кнопка нажата и удерживается, то выбирается и воспроизводится следующая мелодия из списка. При нажатии кнопки Hold на телефоне активируется функция удержания линии и входящим звонком воспроизводится мелодия. Управление громкостью мелодии за 8 шагов. Каждое нажатие уменьшает громкость на один уровень. После достижения минимальной громкости следующее нажатие возвращает громкость на максимум. При нажатии этой кнопки во время телефонного разговора линия будет удерживаться, а позвонивший будет слышать мелодию. Если во время воспроизведения мелодии поднимается трубка, то мелодия сразу прекращается. После этого функция Hold блокируется на 2 секунды. При поступлении сигнала вызова частотой 13÷90 Гц через 200 мс начинается автоматическое воспроизведение мелодии, которое прекращается через 6 секунд после прекращения сигнала вызова. Определяется состояние телефонной линии. Когда линия свободна, то возможен выбор мелодии и ее воспроизведение. При снятии трубки воспроизведение прекращается и активизируется функция Hold. НТ86384 схема на рис. 5) и предназначенная для использования в телефонах (полифонический звонок), игрушках, дверных звонках и т. п. Встроенный контроллер и табличный синтезатор мелодий (табл. 3), напряжение питания от 2,4 до 5,0 В, детектор пониженного напряжения, сигнал отбоя, полифония на 8 нот и 16-разрядный ЦАП делают эту ИС достаточно универсальной. Многофункциональность НТ38А2 расширяется и за счет дополнительного режима управления с помощью кнопок (табл. 4). Подключение в режиме управления от кнопок показано на рис. 6. ПЗУ голоса, бит 1536К 3072К 4096К 8192К 12288К 16392К Длительность воспроиз; ведения, с 72 144 192 384 576 768 ром голоса и генератором тональной частоты предназначены для применения в системах безопасности, генераторах звуковых эффектов, обучающих системах. Минимум внешних элементов не создает проблем при разработке (рис. 7). Модулятор голоса НТ8950 (блок-схема на рис. 8) сдвигает частоту входного голосового сигнала, создавая на выходе эффекты вибрато (Vibrato) или робота (Robot). Эффект вибрато заключается в изменении частоты входного сигнала вверх-вниз с частотой 8 Гц. Функция робота — преобразование входного голоса в голос робота: металл в голосе! Каждый из эффектов выбирается нажатием соответствующей кноп- Ритм Мелодии (демо) НТ337С 2,4×5,0 37 16 16 22 НТ337В 2,4×5,0 37 8 8 8 НТ3496 2,4×5,0 49 10 10 8 НТ3497 2,4×5,0 48/54 100 100 10 НТ3612 2,4×5,0 61 20 20 8 НТ3614 2,4×5,0 61 20 20 5 86 48SSOP Тембр Напря& Количество Наиме& жение кнопок нование питания, клавиатуры В Корпус Таблица 5 Рис. 7 www.finestreet.ru KiT#41(6)_web.qxd 9/29/2004 2:18 PM Page 87 Компоненты Компоненты и технологии, № 6’2004 Рис. 8 Рис. 9 Рис. 10 ки, по умолчанию (при включении питания) устанавливается эффект робота. Встроенный микрофонный усилитель, 8-разрядные АЦП и ЦАП позволяют получить на выходе высококачественный сигнал с хорошим соотношением «сигнал — шум», а драйвер светодиодного индикатора управляет вспышками светодиода в зависимости от громкости голоса на входе (один из вариантов включения — на рис. 9). Диапазон применения — от игрушек до аудиосистем и телефонов. www.finestreet.ru Для различных аудиосистем, включая караоке, телевизоры, видео и звуковое оборудование предназначен процессор для создания эффектов эха и объемного звучания НТ8970. В состав ИС входят предварительный усилитель, статическое ОЗУ на 20 кбайт, АЦП и ЦАП (блок-схема на рис. 10, варианты реализации режимов — на рис. 11, 12). Описание принципов работы и вариантов применения ИС голосовых серий НТ81хх и НТ86хх будет рассмотрено в следующей статье. 87 KiT#41(6)_web.qxd 9/29/2004 2:18 PM Page 88 Компоненты Компоненты и технологии, № 6’2004 Рис. 11 Рис. 12 88 www.finestreet.ru