Студопедия — Взаимодействие устройств. Инициировать передачу семпла может как передающее, так и приемное устройство
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Взаимодействие устройств. Инициировать передачу семпла может как передающее, так и приемное устройство






Инициировать передачу семпла может как передающее, так и приемное устройство. В первом случае вы просто нажимаете кнопку на передней панели передатчика (либо выбираете соответствующую функцию из меню), после чего на его MIDI-выход передается сообщение Dump Header. Для приемника оно служит сигналом того, что сейчас будет передаваться семпл. Запросить семпл можно и с приемника (если устройства соединены методом закрытой петли). В этом случае приемник посылает на MIDI-вход передатчика сообщение Dump Request и ожидает ответной реакции в виде сообщения Dump Header.

Некоторые старые устройства передают семпл только после получения запроса, а сами инициировать передачу не могут. Например, семплер Akai S 900. С его передней панели нельзя ни запросить семпл с другого устройства, ни начать передачу. Так что, соединив MIDI-кабелями два Akai S 900, вы вряд ли сможете заставить их обменяться семплами по SDS, придется повозиться с дискетами.

После того как Dump Header отправлен, передатчик ждет ответной реакции от приемника не менее двух секунд. За это время приемник должен проанализировать заголовок и решить, сможет ли он принять семпл (поддерживается ли формат, достаточно ли памяти под семпл и т. д.). Если приемник готов принять семпл, он отправляет сообщение ACK, после чего передатчик начинает посылать пакеты данных. Если не готов — сообщение CANCEL или WAIT. В первом случае передатчик немедленно прекращает передачу семпла, во втором — ждет неопределенно долго, до тех пор, пока приемник не ответит либо подтверждением, либо отменой. Возможен вариант, когда заголовок Dump Header прошел неудачно, в этом случае приемник посылает сообщение NAK, а передатчик повторяет заголовок.

Если в течение двух секунд с момент отправки заголовка от приемника не поступило никаких сообщений, передатчик считает связь односторонней (открытая петля) и начинает передавать пакеты данных.

Семь раз проверь, потом отправь…

В современных устройствах ручное управление памятью считается просто неприличным. Прибор сам в состоянии выделить блок нужного объема, а при необходимости — произвести дефрагментацию и прочие сопутствующие задачи. Однако в старых семплерах пользователь зачастую сам должен был контролировать процесс: перед загрузкой нового семпла убедиться, что для него достаточно памяти, а при замене одного семпла другим — что новый семпл не превышает по размерам старый.

В совсем раритетных устройствах (таких, например, как Sequential Circuits Prophet 2000 и 2002) приходилось вручную выделять память под вновь загружаемый семпл. В противном случае, семпл с длиной большей, чем у текущего, будет обрезан, а в конце семпла с меньшей длиной останется кусок старого семпла.


Каждый пакет состоит из 127 байт (структура описана ранее). Из них 120 байт отводятся на сами данные. Нумерация пакета начинается с 0x00, доходит до 0x7F (127) и сбрасывается обратно в 0x00. Это позволяет приемнику различать новые пакеты и те, которые были посланы повторно из-за ошибок при передаче. После отправки пакета передатчик ждет от приемника ответа (ACK, NAK, WAIT или CANCEL) в течение 20 мс. Если за это время ответа не последовало, передатчик считает связь односторонней и начинает передачу следующего пакета.

В процессе получения пакета приемник вычисляет так называемую "бегущую" контрольную сумму. То есть, после получения первого и второго байта пакета выполняет над ними операцию XOR, сохраняя результат в специальной ячейке памяти. Затем, при поступлении третьего байта выполняет операцию XOR над ним и содержимым этой ячейки, полученный результат заменяет предыдущее содержимое ячейки. И так далее. Пример вычисления контрольной суммы для четырех байт 110, 93, 48, 11 показан на рис. 8.


В результате, к концу пакета над всеми его байтами уже проведена операция XOR, и контрольная сумма сосчитана. Если она совпадает с той, которую передал приемник в конце пакета, считается, что пакет прошел успешно. В случае двусторонней связи передатчик отвечает приемнику сообщением ACK и ждет следующего пакета. Если контрольная сумма отличается — отправляет сообщение NAK с номером сбойного пакета и ждет от передатчика его повторной пересылки. Если приемнику необходимо время для обработки пакета, он посылает передатчику сообщение WAIT. Передатчик ждет неопределенно долго, до тех пор, пока не придет одно из трех сообщений: ACK, NAK или CANCEL. В последнем случае, а также при получении сообщения, не входящего в категорию Generic Handshaking, передатчик немедленно прекращает отправку пакетов.

В процессе двусторонней передачи возможна ситуация, когда передатчик посылает пакет с одним номером, а получает от приемника сообщение NAK с другим. В этом случае, если передатчик не имеет возможности вернуться к требуемому номеру пакета и переслать его вне текущей последовательности, сообщение NAK должно быть проигнорировано. Подобная ситуация возможна и на приемном "конце": при получении сбойного пакета приемник отправляет сообщение NAK с одним номером, а в ответ может получить пакет с другим. В этом случае приемник оставляет сбойный пакет в покое, так, как будто он прошел нормально.

Процесс передачи пакетов продолжается до тех пор, пока все звуковые данные семпла не будут переданы. Даже если осталось менее 120 "звуковых" байт, последний пакет передается полностью, а неиспользуемые байты заполняются нулями. Если в процессе получения семпла у приемника заканчивается доступная память, он посылает передатчику сообщение Cancel.







Дата добавления: 2015-08-30; просмотров: 548. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия