Аппаратные интерфейсы ПК

Интерфейс MIDI


Цифровой интерфейс музыкальных инструментов MIDI (Musical Instrument Digital Interface) является последовательным асинхронным интерфейсом с частотой пе­редачи 31,25 Кбит/с. Этот интерфейс, разработанный в 1983 году, стал фактиче­ским стандартом для сопряжения компьютеров, синтезаторов, записывающих и воспроизводящих устройств, микшеров, устройств специальных эффектов и дру­гой электромузыкальной техники. В настоящее время интерфейс MIDI имеют и дорогие синтезаторы, и дешевые музыкальные клавиатуры, которые могут исполь­зоваться в качестве устройств ввода компьютера. По интерфейсу MIDI устрой­ства обмениваются между собой сообщениями, кратко описанными в книге [1]. На одном интерфейсе может быть организовано до 16 логических каналов, каж­дый из которых может управлять своим инструментом.

В физическом интерфейсе применяется токовая петля 5мА (возможно до 10 мА) с гальванической (оптронной) развязкой входной цепи. Логическому нулю соот­ветствует наличие тока, логической единице (и покою) — отсутствие тока (в «клас­сической» токовой петле телекоммуникаций все наоборот).

346

Глава 8. Специализированные интерфейсы периферийных устройств

Интерфейс определяет три типа портов: MIDI-In, MIDI-Out и MIDI-Thru. Входной порт MIDI-In представляет собой вход интерфейса «токовая петля», галь­ванически развязанного от приемника оптроном с быстродействием не хуже 2 мкс. Устройство отслеживает информационный поток на этом входе и реагирует на адресованные ему команды и данные.

Выходной порт MIDI-Out представляет собой выход источника тока, гальваниче­ски связанного со схемой устройства. Ограничительные резисторы предохраня­ют выходные цепи от повреждения при замыкании на землю или источник 5 В. На выход подается информационный поток от данного устройства. При специаль­ной настройке устройства в этом потоке может содержаться и транслированный входной поток, но это нетипично.

Транзитный порт MIDI-Thru служит только для ретрансляции входного потока, по электрическим свойствам он аналогичен выходному.
Его наличие не является обязательным для всех устройств.

В качестве разъемов применяются 5-контактные разъемы DIN, распространен­ные в бытовой звуковой аппаратуре, схема соединительного кабеля приведена на рис. 8.17.



Рис. 8.17. Соединительные кабели MIDI

Внешний порт MIDI (с сигналами ТТЛ) обычно выводится на неиспользуемые контакты (12 и 15) разъема игрового адаптера (DB-15S). При этом для подключе­ния стандартных устройств MIDI требуется переходной адаптер, реализующий интерфейс «токовая петля» (на разъеме карты интерфейс ТТЛ). Переходной адап­тер обычно встраивается в специальный кабель, вариант схемы которого приве­ден на рис. 8.18. Некоторые модели PC имеют встроенные адаптеры и стандарт­ные 5-штырьковые разъемы MIDI.



Программно порт MIDI обычно совместим с UART MPU-401. MPU-401 фирмы Roland — первая карта расширения для PC с интерфейсом MIDI, получившая широкое распространение. MPU расшифровывается как MIDI Processing Unit — устройство обработки сообщений MIDI. Этот контроллер кроме асинхронного последовательного порта (UART), реализующего физический интерфейс MIDI, имел развитые аппаратные средства для использования PC в качестве секвенсора. Контроллер MPU-401 поддерживал простой режим работы — UART mode, в котором использовался только двунаправленный асинхронный порт; в современных зву­ковых картах совместимость с MPU-401 поддерживается только в этом режиме.

8.5. Интерфейсы аудиоустройств

347

 



Рис. 8.18. Вариант схемы кабеля-адаптера MIDI

В пространстве ввода-вывода MPU-401 занимает два смежных адреса MPU (обыч­но ЗЗОЬ)и MPU+1.

¦     Порт DATA (адрес MPU+0) — запись и считывание байт, передаваемых и прини­маемых по интерфейсу MIDI. В интеллектуальном режиме через этот же порт считываются и вспомогательные данные от MPU (не относящиеся к потоку MIDI).

¦     Порт STATUS/COMMAND (адрес MPU+1) — чтение состояния/запись команд (за­пись — только для интеллектуального режима).


В байте состояния определе­ны следующие биты:

•       бит 7 — D5R (Data Set Ready) — готовность (DSR=0) принятых данных для чтения (бит устанавливается в единицу, когда все принятые байты считаны из регистра данных);

•       бит 6 — DRR (Data Read Ready) — готовность (DRR=0) UART к записи в ре­гистр данных или команд (условие готовности к записи не возникнет, если

приемник имеет непрочитанный байт данных).

По включении питания «настоящая» карта MPU-401 устанавливается в интеллек­туальный режим, из которого в режим UART ее можно перевести командой с ко­дом 3Fh. Программный сброс MPU-401 (опять-таки в интеллектуальный режим) осуществляется командой RESET (код FFh), на эту команду MPU ответит подтверж­дением АСК (FEh). Байт подтверждения извлекается из регистра данных, до его прихода следующую команду MPU не воспримет. На команду с кодом 3Fh MPU подтверждением не отвечает (некоторые эмуляторы отвечают и на эту команду).

Ввод данных может осуществляться по программному опросу бита DSR или по преры­ваниям. Аппаратные прерывания от MPU в режиме UART вырабатываются по приему байта. Обработчик прерывания должен считать все поступившие байты, проверив перед выходом, что DSR-1 (иначе возможны потери принятых байт).

348________ Глава 8. Специализированные интерфейсы периферийных устройств

Вывод данных разрешается битом DRR, прерывания по готовности вывода не выра­батываются.

Совместимость с MPU-401, имеющаяся у большинства современных звуковых карт с интерфейсом MIDI, означает наличие приемопередатчика, программно совместимого с MPU-401 в режиме UART; функции интеллектуального режима обычно не поддерживаются.

На некоторых системных платах применяются БИС контроллеров интерфей­сов, в которых режим UART, используемый для СОМ-порта, конфигурировани­ем через BIOS SETUP может быть переведен в режим MIDI-порта.

Для подключения к компьютеру большого числа устройств MIDI можно исполь­зовать шину USB.Для этого, например, фирма Roland выпускает 64-канальный процессорный блок S-MPU64, который кроме шины USB имеет 4 входных и 4 вы­ходных порта MIDI. Программное обеспечение допускает объединение до 4 бло­ков на одной шине USB, что увеличивает число каналов до 256.


Содержание раздела