Микросхемы записи и воспроизведения звука ChipCorder серии ISD5100 компании Winbond
Компания Winbond — один из ведущих производителей полупроводниковых приборов, компьютеров, коммуникационных и электронных устройств, представляет на рынке электронных компонентов микросхемы ChipCorder серии ISD5100 для записи и воспроизведения голосовых сообщений. Микросхемы, входящие в состав семейства, позволяют осуществлять высококачественную запись и воспроизведение голосовых сообщений продолжительностью от 1 до 16 минут и хранение их в естественной форме по технологии Multi-Level Storage (MLS). Использование запатентованной технологии ChipCoder открыло возможности для создания энергонезависимой памяти с длительностью хранения до 100 лет при количестве циклов перезаписи свыше 10 000 для цифровых данных и более 100 000 — для аналоговых сообщений. Микросхемы ISD5100 предоставляют идеальные решения для применений в сотовой связи, автомобильной технике, бытовой электронике, телефонии, навигации GPS и других портативных системах. Например, согласно новым нормам пожарной безопасности НПБ 104-03, практически в любом общественном здании площадью от 1000 м2 и этажностью свыше 3 этажей обязательно должна быть установлена речевая система оповещения о пожаре, т. е. система оповещения, через которую можно предупреждать находящихся в здании людей об экстренной ситуации не сиреной, а с помощью голосового сообщения, транслируемого в автоматическом или полуавтоматическом режиме. Для этого применения ChipCorder —самое подходящее решение.
Улучшенная архитектура кристалла ISD5100 определила функциональную гибкость и простоту применения. Появилась возможность отключать от питания незадействованные элементы, уменьшая общее потребление. Использование интерфейса I2C для управления режимами работы позволило минимизировать количество выводов микросхемы. Такие факторы, как низкая потребляемая мощность и напряжение питания от 2,7 до 3,3 В (Vcc) с поддержкой 2,0 и 3,0 В логического интерфейса, значительно расширили область применения представленной серии для портативных устройств.
Структурная схема 1 показывает возможное использование ISD5100 в схеме телефонного автоответчика.
Сигнал с микрофона поступает на вход микросхемы и сохраняется в памяти в виде записи OGM (OutGoing Message) так же, как может быть записан и телефонный разговор. Если автоответчик активирован, речевой сигнал, поступающий с другого конца линии на AUX IN, может быть сохранен в памяти микросхемы. Впоследствии все сообщения можно прослушать на динамике с управляемым уровнем громкости. При дуплексной записи с микрофонного входа и телефонной линии сообщения могут записываться одновременно, а затем воспроизводиться. Кроме того, при работе в режиме громкой связи голос с микрофонных входов поступает на AUX OUT и передается в телефонную линию, в то время как сообщение с другого конца линии поступает на AUX IN и передается на динамик для прослушивания.
Специальная схема DAA обеспечивает изоляционный барьер между телефонной линией и низковольтными цепями, к которым может прикоснуться пользователь. Устройства «DTFM detect» и «Caller ID» выделяют тоновые сигналы и определяют телефонный номер. Например, при дозвоне в компанию клиент услышит приветственное сообщение и наберет на своем телефоне определенный номер в тоновом режиме.
Это выглядит так: «Здравствуйте, вы дозвонились в офис компании АБВГ. Для звонка в отдел маркетинга наберите цифру 1, для склада — 2, для секретаря — 3». Дополнительно клиента могут попросить оставить сообщение, которое будет сохранено в памяти. Номер телефона клиента может быть определен и сохранен в памяти, более того, некоторое сообщение может быть передано только этому клиенту. На рис. 2 приведена схема подключения электретного микрофона для записи речевых сообщений.
Все управление и обмен цифровыми данными происходит по последовательному интерфейсу I2C. Серия ISD5100 имеет 7-битный подчиненный адрес вида , где x и y эквивалентно внешним адресным выводам A0 и A1. Поскольку байты данных должны содержать 8 бит, то младший бит R/W адресного байта будет указывать подчиненному устройству на передачу или прием данных. Таким образом, ISD5100 использует 8 адресов. Наличие двух дополнительных выводов RAC иINT для организации обратной связи с контроллером значительно улучшает показатели обмена данными.
Микросхемы семейства ISD5100 программно конфигурируются на различную частоту дискретизации в зависимости от требуемого качества воспроизведения речи (табл. 1).
Память ISD5100 устроена таким образом, что в ней могут размещаться одновременно цифровые данные и аналоговые сообщения. Информация о том, какие секции отводятся под цифровые, а какие под аналоговые сообщения, записывается в таблицу адресов сообщений МАТ (Message Address Table) системным микроконтроллером. Вся память имеет страничную организацию. Под каждую страницу отводится 2048 бит (табл. 2).
Страница разбита на 32 64-битных блока и адресуется 11-разрядным словом. Отведение страницы под цифровые либо аналоговые данные определяется командой микроконтроллера во время записи данных. Информация, определяющая статус каждой страницы, записывается в таблицу МАТ. Использование этой таблицы позволяет эффективно управлять сообщениями. Сегменты сообщений могут быть сохранены в любом свободном месте массива памяти. При использовании страницы под аналоговую память она также разбивается на 32 блока и имеет дополнительно 8EOM (меток конца сообщений), тоесть для каждых 4 блоков один EOM-маркер в конце.
В режиме записи аналоговая запись будет остановлена в любой из этих 8 позиций. В результате, при частоте квантования 8 кГц разрешение составит 32 мс. Запись останавливается не сразу после команды СТОП, а продолжается еще до тех пор, пока не заполнится 32-миллисекундный блок и установится бит маркера EOM. При воспроизведении EOM-маркер будет служить сигналом окончания сообщения.
Управление работой микросхемы осуществляется посредством записи-чтения внутренних регистров: конфигурационных, адресных и командного. Приведенные ниже команды доступны через интерфейс I2C и составляют управляющий командный байт.
- Play — аналоговое воспроизведение.
- Record — аналоговая запись.
- Message Cue — вызов аналогового сообщения.
- Read — чтение в цифровом формате.
- Write — запись в цифровом формате.
- Erase — стирание цифровой страницы и блока.
- Power up — включение-выключение питания.
- Load CFG0 — загрузка конфигурационного регистра 0.
- Load CFG1 — загрузка конфигурационного регистра 1.
- Read status — чтение байта состояния.
Во время опроса устройства командой чтения состояния возвращается три байта данных. Первый байт — это байт состояния, следующий байт — старший байт адреса, затем младший байт адреса.
Значение битов в BLOCK_ADDR будут всегда равны 0 в цифровом и аналоговом режимах.
Загрузка командного регистра может осуществляться передачей одного байта по интерфейсу I2C (однобайтовая загрузка) в следующей последовательности.
- Ведущий выдает START по I2C.
- Ведущий посылает Slave Address с битом R/W=0 (Write) [80h].
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий посылает командный байт ведомому.
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий выдает STOP по I2C.
В режиме нормальной адресации регистры загружаются в той же последовательности.
- Ведущий выдает START по I2C.
- Ведущий посылает Slave Address с битом R/W=0 (Write) [80h].
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий посылает байт ведомому (командный байт).
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий посылает байт ведомому (старший байт адреса).
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий посылает байт ведомому (младший байт адреса).
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий выдает STOP по I2C.
Команда чтения состояния осуществляется по запросу главного контролера с установлением бита R/W=1.
- Ведущий выдает START по I2C.
- Ведущий посылает Slave Address с битом R/W=1 (Read) [81h].
- Подчиненный выдает подтверждение ACK и посылает байт состояния.
- Ведущий выдает подтверждение ACK ведомому.
- Ожидание установления линии SCL в высокое состояние.
- Ведомый посылает старший байт адреса из внутреннего адресного регистра.
- Ведущий выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведомый посылает младший байт адреса из внутреннего адресного регистра (A[4:0]=0 всегда).
- Ведущий выдает NO ACK подчиненному и выполняет STOP по I2C.
Перед началом работы, после включения питания, необходимо активировать микросхему следующей последовательностью.
- Ведущий выдает START по I2C.
- Ведущий посылает 10000000 (Slave Addressс битом R/W=0) [80h].
- Подчиненный выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий посылает 10000000 (Command Byte =Power Up) [80h].
- Ведомый выдает подтверждение ACK.
- Ожидание установления линии SCL в высокое состояние.
- Ведущий выдает STOP по I2C.
После активации передача очередной последовательности команд возможна по истечении времени Tpud=1 мС.
Настройка внутренней структуры микросхемы производится загрузкой двух конфигурационных регистров CFG0 и CFG1.
После включения питания необходимо настроить внутреннюю структуру микросхемы загрузкой двух конфигурационных регистров CFG0 и CFG1.
Дополнительный аудиовыход AUX OUT используется, например, для подключения динамика в составе «car kit» с минимальным сопротивлением 5 кОм при максимальной амплитуде выходного напряжения 1 В. Постоянная составляющая на выходе может достигать 1,2 В, поэтому необходимо применять разделительную емкость.
Аналоговый вход ANA IN предназначен для подключения телефонных чипсетов (рис. 12, табл. 3–4). Он может быть подключен к выходу динамика, входу памяти или в другом направлении в соответствии с задаваемой конфигурацией. Это вход для номинального амплитудного напряжения 1,11 В при минимальном усилении 6 дБ. Усиление можно увеличивать до 15 дБ с шагом 3 дБ. Все установки задаются по интерфейсу I2C.
Таблица 3
Примечание: Ra и Rb в кОм
Вход AUX IN является дополнительным аудиовходом, таким же, как «car kit» в мобильном телефоне (рис. 13, табл. 5–6). Этот вход имеет номинальное амплитудное значение 694 мВ при минимальном усилении 0 дБ и может быть увеличен до 9 дБ с шагом 3 дБ.
Таблица 5
Примечание: Ra и Rb в кОм
Таблица 6
Режим аналогового воспроизведения и аналоговой записи (Playback and Record Mode)
Режим аналогового воспроизведения может быть задан несколькими путями. Самый простой — это однократная 4-байтовая передача последовательности: подчиненный адрес (80h), командный байт (A9h) и два адресных байта.
Для режима аналоговой записи такая последовательность имеет вид:
- подчиненный адрес (80h);/li>
- командный байт (91h);
- два адресных байта.
Режим сквозного подключения (Feed Through Mode)
Режим сквозного подключения позволяет подключить чипсеты сотового или проводного телефона без заметного влияния на схему источника или приемника сигнала рис 15. В этом режиме незадействованные части микросхемы будут отключены от питания.
Для настройки передающего канала необходимо:
- Выбрать направление FTHRU на мультиплексоре ANA OUT, установив биты AOS0, AOS1 и AOS2(CFG0) в 0.
- Подать питание на выходной усилитель — бит AOPD (CFG0) = 0.
Для настройки приемного канала необходимо:
- Биты AIG0 и AIG1, управляющие коэффициентом усиления ANA IN, установить согласно приведенной выше таблице. Установим на аттенюаторе 9 db (AIG0=1, AIG1=0), предположив, что пиковое значение входного сигнала не превысит 1 В.
- Бит AIPD (CFG0), управляющий питанием усилителя ANA IN, установить в 0 (питание подключено)
- Выбрать направление ANA IN на выходном мультиплексоре OUTPUT MUX — OPS0=1, OPS1=0 (CFG0).
- Биты OPA0 и OPA1 (CFG0), управляющие усилителем динамика и усилителем AUX, установить OPA0=1 и OPA1=0. В этом случае коэффициент усиления Speaker Amplifier установится наибольшим, а выходной усилитель AUX отключится от питания.
CFG0 = 0100 0100 0000 1011 (hex 440B)
CFG1 = 0000 0001 1110 0011 (hex 01E3)
Режим записи входящих вызовов (Call Record)
В этом режиме производится запись входящих телефонных вызовов. Ниже приводится пример состояния конфигурационных регистров для частоты дискретизации 6,4 кГц.
CFG0 = 0100 0100 0000 1011 (hex 440B)
CFG1 = 0000 0000 1100 0101 (hex 00C5)
Режим записи в память (Memo Record)
Этот режим предназначен для записи сообщений с микрофона в MLS-матрицу памяти. В примере записи конфигурационных регистров выбрана частота дискретизации 5,3 кГц, а неиспользованные части микросхемы отключены от питания.
CFG0 = 0010 0100 0010 0001 (hex 2421)
CFG1 = 0000 0001 0100 1000 (hex 0148)
Режим воспроизведения вызовов (Memo and Call Playback)
Режим предназначен для локального воспроизведения из MLS ранее записанных сообщений. Запись проводилась на частоте 8 кГц. Неиспользуемые каскады отключались от питания.
CFG0 = 0010 0100 0010 0010 (hex 2422)
CFG1 = 0101 1001 1101 1001 (hex 59D1)
Режим вызова сообщений (Message Cueing)
В этом режиме осуществляется прогон аналоговых сообщений со скоростью в 512 раз быстрее, чем при нормальном воспроизведении без определения их реального физического расположения. Останов происходит при достижении метки EOM. В адресном счетчике устанавливается адрес следующего сообщения.
Режим стирания цифровых данных(Erasing Digital Data)
Для выполнения операции цифрового стирания необходимо послать команду D1с11-битовым адресом страницы и 5-битовым адресом блока (00000). Стирание страницы можно провести только целиком, а запись — отдельными блоками.
Режим записи цифровых данных(Writing Digital Data)
В режиме цифровой записи пользователь выбирает область памяти, которая будет отведена под цифровые данные. Каждая страница может быть только либо цифровой, либо аналоговой. Минимально адресуемая часть памяти в цифровом режиме — 1 блок (64 бита). Адрес состоит из 11-битного адреса страницы и 5-битного адреса блока. Приизменении содержимого одного из 32 блоков необходимо переписать всю страницу. Перед началом записи устанавливается режим ENTER DIGITAL MODE, а после ее завершения следует послать команду EXIT DIGITAL MODE.
Режим чтение цифровых данных(Reading Digital Data)
Чтение цифровых данных осуществляется по шине I2C. Запись и чтение цифровых данных может проводиться блоками (по 64 бита). Появление низкого уровня на выходе INT сигнализирует о переполнении.