Введение
DCB (Digital Control Bus, Digital Connection Bus или Digital Communication Bus в некоторых источниках) — это проприетарный интерфейс обмена данными, разработанный компанией Roland Corporation в 1981 году. Единственными инструментами, оснащенными DCB, были Roland Jupiter 8 и JUNO 60; довольно большой черный блок, способный преобразовывать сигналы MIDI в DCB и обратно. Хотя это позволяет передавать команды включения/выключения нот на JUNO 60 через MIDI, это решение значительно уступает полной реализации MIDI в преемнике JUNO 60 — Roland Juno 106. Несколько других компаний предлагают аналогичные преобразователи для подключения инструментов с DCB к стандартным MIDI-системам, чтобы поддерживать винтажные синтезаторы в современных средах звукопроизводства; одним из наиболее функциональных устройств является Kenton PRO DCB Mk3, который обеспечивает ограниченный двунаправленный контроль над некоторыми параметрами.
Реализация
Следующая информация взята из "Service Notes" Roland JUNO-60, первое издание, страницы 17–19.
Физическая связь
DCB использует специальное 14-проводное соединение. Первые 7 состоят из 3 проводов в каждом направлении плюс общий провод заземления. Сигналы стандартные TTL 0-5В, за исключением выхода Rx Busy, который является открытым коллектором с подтяжкой к земле. 1. Rx Busy (Rx Занят)
2. Rx Data (Rx Данные)
3. Rx Clock (Rx Тактовый сигнал)
4. Ground (Земля)
5. Tx Busy (Tx Занят)
6. Tx Data (Tx Данные)
7. Tx Clock (Tx Тактовый сигнал)
2. Rx Data
3. Rx Clock
4. Ground
5. Tx Busy
6. Tx Data
7. Tx Clock
Оставшиеся 7 проводов могут быть использованы для специальных целей. 8. Unreg (Не зарегистрирован)
9. VCA Lower (Нижний ВУА)
10. VCA Upper (Верхний ВУА)
11. VCF Lower (Нижний ВФЧ)
12. VCF Upper (Верхний ВФЧ)
13. VCO 2 (Генератор 2)
14. VCO 1 (Генератор 1)
9. VCA Lower
10. VCA Upper
11. VCF Lower
12. VCF upper
13. VCO 2
14. VCO 1
Они не используются в JUNO 60.
Серийные данные
DCB — стандартный асинхронный последовательный поток (реализованный на микросхеме 8251A в JUNO 60), младший бит первым, 8 бит данных, 2 стоповых бита, нечетная четность и скорость передачи 31,25 кГц.
Структура сообщения (блока)
Данные DCB передаются в виде коротких блоков сообщений, состоящих из идентификатора, одного или нескольких кодов данных и конечного маркера. Блоки могут передаваться прерывисто (JP 8, OP 8) или непрерывно (JUNO 60), в последнем случае конечные маркеры не используются. Идентификатор/начало Данные Конец F1 FE 0 F0 0 F0 FF Идентификатор занимает 1 байт и имеет значение от F1 до FE, выполняя роль как маркера начала, так и типа сообщения. Последующие данные не должны использовать эти байты в качестве данных. На практике обычно используются только FD (код патча) и FE (код ключа). Коды данных представляют собой один или несколько разделов или каналов, каждый из которых занимает 1 байт. Количество байтов или каналов зависит от конфигурации передатчика, но не изменяется после установления связи. Все значения данных должны быть в диапазоне от 00 до F0. Конечный маркер – символ FF. Он опускается, если сообщение имеет заранее заданную длину или следующее сообщение начинается сразу после данных.
Identifier is 1 byte using a value F1 through FE, which acts as both a start marker and a message type. Data which follows must not use these data bytes. In practice only FD (patch code) and FE (key code) are used. Data codes are one or more sections or channels, each one byte. The number of bytes or channels depends on the transmitter's configuration, but doesn't change once communication has been started. All data values must be in the range 00 F0. The end mark is an FF character. It is omitted if the message has a predefined length or the next message starts immediately after the data.
FD: Блок кода патча
Это сообщение идентифицирует патч одним байтом. JUNO 60 игнорирует его. Оно отправляется один раз после изменения патча, вместе с первым кодом нажатия клавиши OP 8 и JP 8. У него нет завершающего маркера.
FE: Код ключа
Это сообщение идентифицирует ключевое событие. Оно содержит один байт для каждого канала нот, поддерживаемого передатчиком, поэтому его длина составляет 8 байтов для JP-8 и OP-8, или 6 байтов для JUNO-60. Каждый байт канала определяет номер ноты (биты 0–6) и состояние клавиши: нажата (1) или отпущена (бит 7). Ноты идентифицируются числами от 0 до 96, где 0 соответствует C0 (16,4 Гц), а 96 – C8 (4205 Гц). Каналы назначаются в порядке, определенном режимом назначения нот передатчика. Для OP-8 это Ch1–Ch8. Для JP-8 в режиме разделения – сначала верхние 4 ноты, затем нижние 4. В двойном режиме JP-8 данные для первых 4 каналов дублируются для вторых 4. Если JUNO-60 получает больше каналов, чем у него физически есть голосов, дополнительные каналы помещаются в очередь и воспроизводятся позже, когда это возможно. В то время как JP-8 принимает только 8 каналов.