ISDMicroTAD-6M — однокристальная система записи/воспроизведения речи
В этой статье речь пойдет об интереснейшем, на наш взгляд, приборе семейства ChipCorder — микросхем для записи и воспроизведения речи американской фирмы Information Storage Devices (ISD), которая с 1998 г. входит в состав компании Winbond Electronics Co.
Общие черты семейства ChipCorder
В соответствии с технологией, запатентованной фирмой ISD, аналоговый сигнал, поступающий на соответствующий вход микросхемы, может быть сохранен в его естественной форме непосредственно в энергонезависимом СППЗУ (EEPROM) и ячейках Flash-памяти. Технология «ложного дифференцирования» заключается в том, что вместо хранения в ячейке одного из двух значений — «0» или «1» — сохраняется один из 256 различных уровней напряжения. Это позволяет получить существенное преимущество в емкости по сравнению с обычным способом хранения оцифрованного сигнала.
Для записи/воспроизведения приборы семейства ChipCorder используют источники питания малой мощности, что делает их пригодными для создания легких портативных изделий, в том числе и с батарейным питанием. К тому же такая технология записи и хранения речи не требует аналого-цифрового преобразования, что существенно упрощает внешнюю электрическую схему.
Рис. 1. Блок-схема ISD MicroTAB-16 m
В состав данного типа микросхем входят: генератор, микрофонный предусилитель, схема АРУ, фильтр эффекта антиналожения, многоуровневый массив памяти, сглаживающий фильтр и выходной УЗЧ. Для создания простейшей звукозаписывающей системы требуются внешний микрофон, динамик, источник питания и несколько пассивных компонентов.
Высококачественное, естественное воспроизведение голоса/звука, простота использования, отсутствие потребности в алгоритме сжатия речи и высокая степень интеграции позволяют использовать ChipCorder в различных новейших разработках.
Дополнительными функциями микросхем этого семейства являются: режим AutoMute, обеспечивающий ослабление шума во время пауз, режим автоматического перехода в состояние ожидания по завершении цикла записи/воспроизведения (потребляемый ток в этом состоянии составляет 0,5 мА), использование энергонезависимой памяти, регулируемая продолжительность записи, возможность полной адресации через интерфейсы SPI или Microwire, 100 тыс. циклов записи, 100 лет хранения записанных сообщений.
Описание прибора ISD MicroTAD-16M
Качество речи/звука
ChipCorder ISDMicroTAD-16M производит выборку с частотой дискретизации 4 кГц. Речевые выборки сохраняются непосредственно в энергонезависимой Flash-памяти на чипе без преобразования в цифровую форму и сжатия, характерных для других решений записи речи. Прямая аналоговая память обеспечивает естественное звучание воспроизводимого голоса, музыки, тонов и звуковых эффектов. Максимальная длительность записи составляет 16 мин.
Flash-память
Одно из преимуществ технологии ChipCorder фирмы ISD — использование энергонезависимой памяти на чипе. Сообщение может храниться в ней до 100 лет (типовое значение; испытания проводились по ускоренной методике расчетного эквивалента) без подачи электропитания. Кроме того, устройство может быть перезаписано свыше 100 тыс. раз.
Интерфейс
Блок-схема устройства ISD MicroTAD-16M представлена на рис. 1. 4 — проводный (SCLK, MOSI, MISO, SS) последовательный периферийный интерфейс (SPI) обеспечивает управление и адресацию ISDMicroTAD-16M. Микросхема работает в системе с микроконтроллером как подчиненное периферийное устройство. Доступ для записи/чтения ко всем внутренним регистрам происходит через интерфейс SPI. Сигнал прерывания (INT) и внутренний регистр состояния используются только для чтения и установления связи.
Рис. 2 а, б. Способы включения аналоговых входов ISD MicroTAD-16M
Выводы питания (Vcca, Vccd)
Чтобы минимизировать шум, аналоговые и цифровые цепи в устройстве подключаются к разделенным шинам питания, соответственно Vcca и Vccd. Номинальное напряжение питания для аналогового и цифрового входа составляет 2,85…3,15 В. Выводы питания должны располагаться в максимальной близости от источника питания.
«Земляные» выводы (Vssa, Vssd)
В ISDMicroTAD-16M аналоговые и цифровые выводы «земли» выполнены раздельно. Вывод аналоговой «земли» Vssa должен быть связан с «землей» источника питания линией с максимально низким полным сопротивлением. Цифровая «земля» Vssd должна быть связана с «землей» источника питания отдельной шиной с низким импедансом. Шины, соединяющие аналоговый и цифровой входы с «землей» источника питания, должны иметь достаточное сечение проводника, чтобы гарантировать минимальное падение напряжения на них. При этом разность их полного сопротивления не должна превышать 3 Ом. Нижняя часть кристалла подключается к Vss через сопротивление подложки. В миниатюрных разработках кристалл присоединяется к области, связанной с Vss, или может оставаться «плавающим».
Неинвертируемый аналоговый вход
(ANA IN+)
Аналоговый входной сигнал может подаваться для регистрации в устройстве либо в асимметричном режиме (рис. 2, а), либо в дифференциальном (рис. 2, б). Для качественного воспроизведения входной сигнал в асимметричном режиме не должен превышать 32 мВ (двойная амплитуда), что соответствует 570 мВ двойной амплитуды на выходе. Он подается на вход ANA IN+ через разделительный конденсатор, определяющий вместе с полным входным сопротивлением 3 кОм (по входу ANA IN+) полосу пропускания в нижней области частот. В режиме дифференциального входа для получения оптимального качества сигнала максимальный уровень, подаваемый на вывод ANA IN+, не должен превышать 16 мВ (двойная амплитуда).
Инвертированный аналоговый вход
(ANA IN -)
Через этот вход подается сигнал на устройство регистрации в дифференциальном режиме. Его уровень не должен превышать 16 мВ (двойная амплитуда). Разделительный конденсатор обладает той же емкостью, что и на входе ANA IN+. Полное сопротивление по входу ANA IN — составляет 56 кОм.
В асимметричном режиме этот вход подключается через разделительный конденсатор к «земляной» шине Vssa.
Звуковой выход (AUD OUT)
С этого вывода пользователь может снимать звуковой сигнал, записанный в устройстве ISDMicroTAD — 16M. Сопротивление нагрузки должна быть не менее 5 кОм. При поданном на устройство питании напряжение на вывод AUD OUT всегда составляет 1,2 В. При записи выход AUD OUT через резистор сопротивлением 850 кОм подключается к внутреннему источнику напряжения 1,2 В (относительно аналоговой земли).
Выбор ведомого (SS)
ISD MicroTAD-16M становится ведущим при совместной работе нескольких устройств, на выв. SS установлен низкий уровень.
Передача от ведущего
к ведомому (MOSI)
MOSI — последовательный вход устройства, на который поступают данные от главного микроконтроллера. Данные в MOSI-строке устанавливаются в течение полупериода, до подъема фронта синхроимпульса.
Передача от ведомого к ведущему (MISO)
Выв. MISO представляет собой последовательный выход устройства. Если устройство не выбрано (на выв. SS лог. 1), то выход находится в высокоимпедансном состоянии.
Последовательные синхроимпульсы (SCLK)
Выв. SCLK предназначен для приема синхроимпульсов от главного микроконтроллера, необходимых для синхронизации передачи данных в/из устройства через шины MOSI и MISO. Данные записываются при подъеме фронта синхроимпульса, а при его спаде происходит сдвиг информации к следующему биту.
Прерывание (INT)
Уровень сигнала на выв. INT понижается и остается на уровне лог. 0, если происходит переполнение (OVF) или если маркер обнаружил «Конец сообщения» (EOM). Этот вывод является открытым выходом стока. Каждая операция, которая заканчивается переполнением или имеет «Конец сообщения», генерирует прерывание, включая команду вызова циклов сообщения. В следующий раз прерывание будет очищено тогда, когда будет инициализирован новый цикл SPI. Состояние прерывания может читаться командой RINT.
Флажок переполнения (OVF) указывает, что аналоговая память в течение операции записи или воспроизведения достигла конца. Флажок «Конец сообщения» устанавливается только в режиме воспроизведения, когда обнаруживается сигнал (EOM). Имеется восемь опций позиции флажка «Конец сообщения».
Синхронизация адресной строки (RAC)
Это выход с открытым стоком, на который подается при записи сигнал с периодом в 400 мс, во время выборки сигнала с частотой 4 кГц (за указанный период происходит запись
только в одну строку памяти). Всего в ISDMicroTAD-16M имеется 2400 строк памяти. Соответственно, запись происходит в течение 350 мс, когда сигнал RAC имеет высокий уровень. Когда запись достигнет конца строки, уровень сигнала RAC изменяется на низкий на время, равное 50 мс. Циклограмма записи одной строки представлена на рис. 3.
Рис.3
В режиме «Вызов сообщения» (см. ниже) высокий уровень на выводе RAC удерживается 218,76 мкс, а низкий уровень — 31,26 мкс.
Типовые значения синхросигналов RAC приведены в таблице параметров микросхемы по переменному току.
Когда команда записи инициализирована впервые, в течение дополнительного периода TRACLO на выв. RAC остается высокий уровень. Это требуется для того, чтобы загрузить сигналы выборки и фиксации внутренних схем устройства.
Вход внешних синхроимпульсов (XCLK)
Вход внешних синхроимпульсов имеет внутреннее согласующее устройство. Приборы ISDMicroTAD-16M сконфигурированы для внутренней выборки входного сигнала на центральной частоте синхронизации с допуском ±1 % от указанной в спецификации. В этих пределах частота поддерживается при любых значениях температуры, а также в
диапазоне рабочих напряжений, определенных таблицей параметров по переменному току. При работе в индустриальном диапазоне температур рекомендуется использовать стабилизированное электропитание. Если требуется высокая точность, то для выборки с частотой 4 кГц необходимо подавать на вход XCLK синхроимпульсы со стабильной частотой 512 кГц. Проблема эффекта наложения возникнет в том случае, если типовая норма параметров синхросигнала отличается от рекомендуемой. Рабочий цикл (скважность) синхроимпульсов на входе не критичен, поскольку их частота сразу же делится на 2 внутренним делителем.
Если вход XCLK не используется, он должен быть заземлен.
Особенность автошумоподавления (AM CAP)
Выв. AM CAP используется для автоматического управления шумоподавлением. Шумоподавитель резко уменьшает уровень сигнала, если он становится ниже определенного внутреннего порогового значения. Таким образом, устраняются шумы при обработке сигналов низкого уровня.
Для нормальной работы системы шумоподавления к этому выводу подключают конденсатор емкостью 1 мкФ, соединенный с землей. Он является элементом внутреннего пикового датчика, чувствительного к амплитуде (пику) сигнала. Пиковый уровень сравнивается с установленным порогом для определения начала включения шумоподавления. При высоких уровнях сигнала порог шумоподавления установлен на 0 dB. Конденсатор емкостью 1мкФ также влияет на скорость, с которой порог шумоподавления изменяется по времени атаки в зависимости от амплитуды сигнала. Шумоподавитель может быть заблокирован, если вывод (AM CAP) подключить к Vcca.
Описание последовательного периферийного интерфейса (SPI)
Устройство ISDMicroTAD-16M использует последовательный SPI-интерфейс, функционирующий в соответствии со специальным протоколом. Протокол передачи данных предполагает, что сдвиговые регистры микроконтроллера синхронизированы по спаду фронта SCLK. На выв. MOSI данные фиксируются по нарастанию фронта синхроимпульса, а получение данных с выв. MISO происходит по его спаду. Протокол предполагает следующее:
- Все последовательные передачи данных начинаются по спаду фронта на выводе SS.
- На выв. SS поддерживается низкий уровень в течение всей последовательной связи и переходит на высокий уровень между командами.
- Входные данные фиксируются в фазе нарастания фронта синхроимпульса, а выводные — по его спаду.
- Операции воспроизведения и записи производятся при низком уровне на выв. SS при подаче соответствующего кода операции и адреса в устройство ISDMicroTAD-16M.
- Коды операций и поля адреса представлены 8 разрядами служебных и 16 разрядами адресных.
- Каждая операция, которая заканчивается сигналом «Конец сообщения» (EOM) или «Переполнение», генерирует прерывание, включая команду «Вызов цикла сообщения». Прерывание будет очищено в следующий раз введением нового цикла SPI.
- Так как сдвиг данных прерывания происходит без сохранения выдвигаемых разрядов в MISO, то одновременно происходит сдвиг данных управления и адреса на выв. MOSI. Возможно чтение данных прерывания и запуск новой операции в пределах того же цикла SPI.
- Операция начинается с установленного бита «Прогон» (RUN) и заканчивается сбросом бита «Прогон».
- Все операции начинаются с подъемом фронта на SS.
Команда «Вызов сообщения»
Эта команда позволяет пользователю при воспроизведении «перескакивать» через сообщения, если не известно фактическое местоположение интересующего сообщения. При ее использовании скорость прохода в 1600 раз быстрее, чем в нормальном режиме воспроизведения. Остановка произойдет тогда, когда будет выдан маркер «Конец сообщения». После этого внутренний счетчик адреса укажет на следующее сообщение. Если вы используете команду «Вызов сообщения», необходимо выполнить нижеуказанную процедуру для его гарантированного вызова. При отказе от этой процедуры вызов сообщения может быть неточным.
Процедура для правильного вызова сообщения
Перед выполнением команды «Вызов сообщения» или установкой команды «Вызов сообщения» устройству должна быть выдана одна «холостая» команда Stop.
«Холостая» (фиктивная) команда Stop состоит из набора служебных битов следующим образом:
бит «Прогон» = 0
бит «Воспроизведение / запись» = 0
бит PU (включение питания) = 1
бит IAB (пропуск адреса) = 1
бит MC (вызов сообщения) = 0
Шестнадцатеричное число «30» используется в устройстве как команда. После ввода команды «фиктивный» Stop могут выполняться одна или более команд MC или команда Set MC. Нет необходимости повторения команды «холостой» Stop до окончания следующей операции воспроизведения.
Краткое изложение операционных кодов представлено в табл. 1.
Таблица 1.
Команда |
Код операции <8 разр> Адрес <16 разр> |
Операция |
Powerup |
00100XXX |
Включение питания: прибор будет готов к функционированию после Tpud |
Setplay |
11100XXX <A15-A0> |
Начинает воспроизведение по адресу <A15-A0> |
Play |
11110XXX |
Воспроизведение по текущему адресу (до ЕОМ или OVF) |
Setrec |
10100XXX <A15-A0> |
Начинает операцию записи по адресу <A15-A0> |
Rec |
10110XXX |
Запись по текущему адресу до достижения OVF |
SetMC |
10101XXX <A15-A0> |
Начинает установку вызова сообщения по адресу <A15-A0> |
MC2 |
11111XXX |
Выполняется вызов сообщения. Продолжается до конца текущего сообщения (ЕОМ) или входит в состояние OVF, если сообщений больше нет |
Stop |
0X110XXXX |
Остановка текущей операции |
Stoppwrdn |
0X110XXXX |
Остановка текущей операции и ввод режима резервирования (пониженное питание) |
Rint2 |
0X110XXX |
Чтение битов состояния прерывания: переполнение и конец сообщения (ЕОМ). |
Примечания:
1. Вызов сообщения может быть выбран только в начале операции воспроизведения. Поскольку данные прерывания сдвинуты без сохранения выдвигаемых разрядов из ISDMicroTAD-16M, управление и адреса данных сдвигаются внутрь. Необходимо быть осторожным, так как данные, сдвинутые внутрь, могут быть совместимыми с текущей системной операцией.
2. Чтение данных прерывания и запуск новой операции возможны в одно и то же время.
Таблица 2.
Регистр управления |
Значение разряда |
Функция устройства |
Регистр управления |
Значение разряда |
Функция устройства |
"Прогон"
(RUN)= (RUN)= |
1 0 |
Разрешение или запрет операции Старт Стоп |
Включение питания (PU)= (PU)= |
1 0 |
Ведущий управляет питанием Включение питания/Выключение питания |
Воспроизведение/Запись (P/R)= (P/R)= |
1
0 |
Выбор операции Воспроизведение
Запись |
Пропуск адреса (IAB)=
(IAB)= |
1
0 |
Бит управления пропуском адреса. Проигнорируйте входной адрес регистра (А15 - А0). Используйте содержание входного адреса регистра (А15 - А0) для операции |
Вызов сообщения
(МС)= (МС)= |
1
0 |
Разрешение вызова сообщения. Запрет вызова сообщения |
Р 15 - З0 |
|
Выход регистра указателя строки |
А 15 - А0 |
|
Регистр входного адреса |
Последовательность включения питания
ISDMicroTAD-16M будет готова к работе через время Tpud (типовая норма приблизительно 50 мс при частоте дискретизации 4 кГц). Необходимо выждать это время перед выдачей операционной команды. Например, для воспроизведения от адреса 00 должен использоваться следующий цикл программы.
Режим воспроизведения:
- Выдается команда Powerup на включение питания.
- Ждите время Tpud (задержка включения питания).
- Посылается команда Setplay с адресом 00.
- Посылается команда Play. Устройство запустит воспроизведение с адреса 00, и когда наступит «Конец сообщения», оно сгенерирует прерывание. После этого воспроизведение прекращается.
Режим записи:
- Выдается команда Powerup.
- Производится задержка включения питания в течение времени Tpud.
- Выдается команда Powerup.
- Выдается команда Setrec с адресом 00.
- Выдается команда REC. Устройство будет записывать с адреса 00, и когда наступит переполнение (конец массива памяти), оно сгенерирует прерывание. После этого запись прекращается.
Порт SPI
На рис. 4 представлена схема порта SPI с описанием и указанием управляющих разрядов, связанных с ним.
Рис. 4. SPI-порт
Регистр управления SPI
Этот регистр обеспечивает управление индивидуальными функциями устройства, как, например, воспроизведение, запись, команда вызова сообщения, включение и выключение питания, начало и остановка операций, пропуск адреса.
В табл. 2 представлены значения в разрядах регистра управления SPI и соответствующие им функции.
Временная диаграмма работы устройства ISDMicroTAD-16M представлена на рис. 5.
Рис. 5. Времанная диаграмма ISD MicroTAD-16M
На рис. 6 представлены временные зависимости при подаче управляющих команд
(8 разр.) и адреса (16 разр.) форматом в 24 разряда.
Рис. 6. Временные соотношения при подаче 24-х разрядной команды управления
На рис. 7 представлена временная диаграмма цикла записи/воспроизведения и останова.
Рис. 7. Циклы записи/воспроизведения и останова
Все временные показатели можно найти в Data sheet на устройство ISDMicroTAD-16M в таблице параметров по переменному току (АС).
На рис. 8 представлена принципиальная схема возможного подключения микросхемы ISDMicroTAD-16M к микроконтроллеру PIC16C62A, в котором также используется порт SPI.
Рис. 8. Использование порта SPI у микроконтроллера для связи с ISD MicroTAD-16M
Если на плате имеется напряжение питания +5 В, не стоит питать от него устройство ISDMicroTAD-16M. Это закончится
выходом микросхемы из строя. Для ее нормального функционирования необходимо стабилизированное напряжение 3 В, которое несложно получить с помощью интегрального стабилизатора с малым падением напряжения.
ISDMicroTAD-16M является специализированной микросхемой для автоответчиков. Однако возможно ее применение и в других устройствах записи и воспроизведения речи. Она полностью совместима с микросхемой ISD4004-16M. Кроме них, серия ISD4004 включает в себя устройства с различными частотами дискретизации — 8,0; 6,4; 5,3; 4,0 кГц и длительностью записи 8, 10, 12 и 16 мин соответственно.
Следует отметить, что компания Winbond (отделение ISD) заканчивает работы по изготовлению устройства записи/воспроизведения речи длительностью 32 мин.
Дополнительную информацию по описанной микросхеме можно получить на сайтах www.winbond-usa.com; www.winbond.
com, а также на русском языке по адресу www.rtcs.ru.
Анатолий Шитиков
ashitikov@rainbow.msk.ru
|