блем модернизировать, заменяя лишь микросхему или устанавливая другую (дополнительную) плату кодека с более богатым набором функций или более высокими качественными параметрами. Контроллер интерфейса AC-Link и минимальный кодек АС'97 устанавливаются на многих системных платах, а для добавления новых возможностей интерфейс AC-Link выводится на специальный разъем расширения AMR или CNR (см. 6.2). В интерфейсе есть место и для дополнительных каналов, с помощью которых может быть реализован программный модем. Для этого существует специальный модемный кодек МС'97, который может быть размещен как на системной плате, так и на особой модемной карте. Контроллер способен обслуживать до четырех кодеков; правда, общее количество каналов (тайм-слотов, см. далее) разделяется между всеми кодеками.
Доп. карта
АС'97 МС'97
PCI
Контроллер
Интерфейса
AC-Link
AC-Link
Аналоговые входы
L
^otAMR(CNR)
Аналоговые выходы
АС'97
Рис. 12.8. Структура аудиосистемы на базе АС97
Цифровой интерфейс AC-Link довольно прост; он содержит следующие сигналы:
♦ BIT_CLK — битовый синхросигнал с частотой 24,576 МГц, источником син хронизации является аудиокодек (он имеет кварцевый генератор);
♦ SYNC — сигнал синхронизации начала кадра, вырабатывается контроллером, синхронизирующимся от BIT_CLK;
SDATA_OUT — последовательные данные от контроллера к кодеку; SDATAJN — последовательные данные от кодека к контроллеру; RESETS — сигнал аппаратного сброса.
Интерфейс обеспечивает одновременную многоканальную передачу и прием данных по методу временного мультиплексирования (Time Division Multiplexing, TDM). Передача и прием данных происходит в непрерывной последовательности кадров, В кадре каждому каналу отводится свой тайм-слот, содержащий 20-битные поля данных. Весь кадр состоит из 13 слотов, нумеруемых от О до 12. Частота кадров составляет 48 кГц — это основная частота кодека, так что каждый канал способен нести 20-битные выборки с частотой до 48 кГц. Пропускная способность каждого канала составляет 20 х 48 *= 960 Кбит/с. Если частота дискретизации данных, передаваемых каналом, ниже 48 кГц, то отдельные кад-
Звуковые карты PC____________________________________________ 717
ры (выборки) для данного канала пропускаются и этот факт помечается специальным тегом, передаваемым в начале кадра. Пропуском выборок управляет кодек: при конфигурировании записью в его регистры устанавливается частота выборок для каждого используемого канала. В каждом кадре, посылаемом им контроллеру, кодек отмечает тайм-слоты (каналы) с действительными данными, а также устанавливает биты запросов данных в тех каналах (слотах), которые контроллер должен будет предоставить кодеку в следующем кадре. Для фиксированной частоты 48 кГц все гораздо проще — в используемых каналах данные присутствуют всегда и никаких запросов не требуется. Возможность применения частот, отличных от 48 кГц, появилась только во второй версии АС'97. Объединением пары каналов при необходимости частоту дискретизации можно поднять и до 96 Кбит/с.
Помимо каналов аудиоданных в интерфейсе отводятся слоты для обмена данными контроллера с регистрами кодека. Контроллер может обращаться к любому из 32 регистров (16-битных) кодека (все они имеют четные адреса) как по чтению, так и по записи, причем возможен выбор одного из четырех кодеков, подключенных к контроллеру. Часть регистров кодека имеет стандартизованное назначение: регистры 2-26h относятся к аудиочасти, 28-3Ah — к расширению аудио, 3C-58h — к модему. Регистры 5A-7Ah отдаются в распоряжение разработчика. Если к контроллеру подключено более одного кодека, то входная линия данных для каждого кодека своя, выходная линия данных для всех кодеков общая. Какой из подключенных кодеков будет использовать каждый из каналов, определяется при конфигурировании.
Слоты с данными передаются и принимаются контроллером одновременно, начало кадра отмечается сигналом SYNC, во время которого передается и принимается слот 0. Выходной (для контроллера) слот 0 содержит информацию о кадре: общий бит действительности кадра, теги — биты действительности данных каждого тайм-слота, а также 2-битный идентификатор кодека, к которому обращается команда в данном кадре (если таковая имеется). Выходной слот 1 содержит признак команды (запись или чтение) и 6-битное поле индекса регистра, к которому производится обращение (остальные биты пока в резерве). Выходной слот 2 содержит данные для команды записи — 16-битное слово, прижатое к левому краю (старшие биты). Остальные слоты (3-12) содержат данные выходных каналов контроллера, передаваемые кодеку. Если разрядность РСМ-данных меньше 20 бит, то лишние разряды (младшие) обнуляются.
В принимаемых данных слот 0 содержит признак готовности кодека к нормальной работе (неготовность устанавливается по аппаратному сбросу) и теги присутствия данных в последующих слотах. Слот 1 содержит биты запросов данных слотов каналов вывода для последующего кадра, а также эхо индекса регистра (установив его в 0, кодек сообщает об обращении к недопустимому регистру). Слот 2 содержит данные регистра, который считывался командой контроллера. Слоты 3-12 содержат данные каналов ввода.
Назначение каналов (слотов) ввода и вывода приведено в табл. 12.1.