MIDIбокс
Эта статья нуждается в дополнительных цитатах для проверки . ( март 2017 г. ) |
MIDIbox — это некоммерческий проект с открытым исходным кодом , содержащий серию руководств по созданию интерфейсов устройств музыкальных инструментов ( MIDI ). С помощью серии руководств «Сделай сам» пользователи знакомятся с процессом создания базового микроконтроллера , который также можно использовать для создания аппаратных блоков управления MIDI для различных синтезаторов, программного обеспечения для многодорожечной записи и других MIDI-устройств; а также автономные синтезаторы, секвенсоры и другие проекты.
История
[ редактировать ]

Аппаратная платформа MIDIbox является продолжением более ранней работы Торстена Клозе над MIDI-контроллерами. [1] [2] Проекты основаны на стандартизированной среде многоразовых и заменяемых модулей. Вскоре после выпуска первых модулей небольшая группа энтузиастов сформировалась и превратилась в процветающее сообщество разработчиков открытого исходного кода.

Аппаратная платформа MIDIbox (MBHP)
[ редактировать ]
Платформа ориентирована на четко определенные и документированные модули, основанные на небольших несложных схемах, что позволяет выполнять любительскую сборку. Эти модули затем собираются в законченный проект. Все платы могут быть изготовлены как однослойные печатные платы , так и прототипы плат, разработанные с помощью бесплатной программы САПР . Почти все компоненты имеют сквозные отверстия для облегчения сборки.
Первая аппаратная платформа MIDIbox (MBHP) была основана на собственной операционной системе с открытым исходным кодом — MIOS (Операционная система MIDIbox), написанной на языке ассемблера PIC , для обеспечения скорости и точности. Уровень оболочки C обеспечивает упрощенное кодирование. MIOS разработан и документирован так, чтобы обеспечить возможность простой реконфигурации, адаптации и расширения любителям и энтузиастам.
Новая аппаратная платформа MIDIBox, MIOS32, работает на процессорах ARM LPC1769 от NXP и STM32F407 от STMicroelectronics и основана на операционной системе реального времени (RTOS), созданной на основе FreeRTOS . [3] Набор инструментов для MIOS32 основан на GCC и использует только язык C.
Модули
[ редактировать ]На данный момент доступно около 15 отдельных модулей:
Модули микроконтроллера
[ редактировать ]- Основной модуль
- Модули программатора PIC, такие как настоящий PIC-Burner или модуль JDM.
Модули ввода
[ редактировать ]- Аналоговый вход модуля AIN (0–5 В)
- Цифровой вход модуля DIN (ВКЛ/ВЫКЛ)
Модули вывода
[ редактировать ]- Цифровой выход модуля DOUT (например, светодиод ВКЛ/ВЫКЛ)
- ЖК-модуль Жидкокристаллический дисплей
- Аналоговый выход модуля AOUT для вывода напряжения (для элементов управления)
Модули секвенсора
[ редактировать ]- SEQV4 Секвенсор V4

- SEQV4L Секвенсор V4 Lite
- Секвенсор SEQV3 V3

Звуковые модули
[ редактировать ]- Модуль SID для SID технологии MOS (как в Commodore 64 )
- Модуль OPL3 для FM-чипов YMF262 и YAC512
- Модуль IIC SpeakJet для SpeakJet SoundChip
Модули расширения памяти
[ редактировать ]- Модуль памяти BankStick 32k/64k
MIDI-модули ввода-вывода
[ редактировать ]- Светодиодные индикаторы MIDI модуля LTC + 1 MIDI-выход + 1 сквозной (+ 1 дополнительный COM-порт)
- USB-модули Интерфейс ПК/USB
Разные модули
[ редактировать ]- Модуль MF для управления моторными фейдерами
- Модули IIC для связи с другими (микроконтроллерами) устройствами через I2C
RTP-MIDI-модуль
[ редактировать ]- Прошивка MIOS32 включает прямую связь с OEM-модулем KissBox RTP-MIDI через высокоскоростной SPI. [4] [5]

Операционная система MIDIbox (MIOS)
[ редактировать ]Операционная система MIDIbox (MIOS) упрощает разработку гибких приложений MIDI-контроллера. MIOS придерживается некоммерческой, открытой платформы как фундаментальной для обмена идеями и личной адаптации, которая невозможна с коммерческими контроллерами.
Большинство контроллеров, созданных сообществом, основаны на существующих задокументированных конструкциях и начинают свою жизнь с набором функций, предоставляемых существующей прошивкой. Конечные пользователи могут усовершенствовать свои устройства с помощью сменного программного кода и настроить их в соответствии со своим главным приложением, синтезатором или другим MIDI-устройством. в соответствии со своими предпочтениями Пользователи также могут настроить рабочий процесс или разработать новый проект с нуля.
Исходный код приложения, схемы модулей и макеты печатных плат доступны бесплатно для некоммерческого использования в качестве шаблонов для модификаций и улучшений. Таким образом, MIOS и аппаратная платформа позволяют легко заняться разработкой микроконтроллеров для любителей, одновременно делая возможными приложения за пределами коммерческого, массового рынка MIDI.
MIOS распространялся по лицензии GPL до версии 1.8. Для более поздних версий теперь требуется разрешение Торстена Клозе для коммерческого использования. [6]
Технические характеристики
[ редактировать ]Операционная система состоит из ядра, которое обеспечивает привязку пользователя к аппаратным и программным событиям, а также функций для взаимодействия с модулями аппаратной платформы. Один основной модуль с микроконтроллером PIC18F452 может обрабатывать
- до 128 цифровых входов
- до 128 цифровых выходов
- до 64 аналоговых входов
- символьные и графические ЖК-дисплеи
- до 8 BankSticks ( I2C EEPROM )
- один MIDI-вход и один MIDI-выход или RS-232. последовательный COM- порт
Фоновые драйверы доступны для следующих задач управления:
- Обработка MIDI-ввода/вывода
- Начальный загрузчик
- Аналоговое преобразование до 64 потенциометров , фейдеров или других аналоговых источников с 10-битным разрешением.
- Поддержка до 8 моторизованных движущихся фейдеров с разрешением 10 бит.
- Обработка до 64 поворотных энкодеров
- Управление до 128 кнопками, сенсорными датчиками или аналогичными устройствами цифрового ввода.
- Управление до 128 светодиодами, реле, цифро-аналоговыми преобразователями или аналогичными устройствами вывода. В мультиплексном режиме можно управлять практически неограниченным количеством светодиодов, светодиодных колец и светодиодных цифр.
- Чтение/запись из/в EEPROM, Flash и BankStick
- Соединение модулей PIC18F Core через MIDIbox Link
Вся операционная система написана на языке ассемблера и оптимизирована по скорости. MIOS в настоящее время использует 8 КБ программной памяти и 640 байт ОЗУ.
всего 75 мкс Для чтения 128 цифровых входных контактов и записи на 128 выходных контактов требуется . 16 поворотных энкодеров обрабатываются за 100 мкс. Аналоговые входы сканируются в фоновом режиме каждые 200 мкс; изменения, превышающие определяемый минимальный диапазон, вызывают перехват пользователя.
До 256 MIDI-событий могут запускать специальные функции; обработка списка событий требует около 300 мкс. MIDI-события также могут обрабатываться пользовательской процедурой для синтаксического анализа или аналогичных задач. Пользовательский таймер доступен для кода, запускаемого по времени.
Возможна поддержка других языков высокого уровня, кроме C.
аппаратное обеспечение миос
[ редактировать ]Аппаратное обеспечение MIOS организовано на основе концепции аппаратной платформы MIDIBox (MBHP). MBHP — это универсальные материнские платы, предлагающие максимально возможное количество подключений для данного процессора. В настоящее время доступны четыре версии MBHP:
- MBHP для PIC16F877 и PIC18F452 (8-битные процессоры). Эти две микросхемы совместимы по выводам, но на печатной плате требуется простая замена двух микросхем.
- MBHP для LPC1769 (32-битный процессор ARM7)
- MBHP для STM32F407 (32-битный процессор Cortex M4)
Когда проекту требуется меньше операций ввода-вывода, чем доступно на данном MBHP, концепция MIDIBox позволяет создать упрощенную плату, предназначенную для этого проекта. Этот подход используется в SID Sammich MIDIBox. [7] и Сэммич MIDIBox FM. Эти два комплекта содержат оригинальную конструкцию MBHP, но с упрощенной печатной платой, предназначенной для подключения к чипу SID или чипу YMF262.
В случае STM32F407 MBHP ЦП установлен на модуле, используемом в качестве дочерней платы, изготовленном ST и продаваемом как плата разработки (под названием STM32F4 Discovery от ST). [8] Конечному пользователю не придется иметь дело с компонентами SMD, дочерняя плата монтируется на стандартные разъемы 0,1 дюйма. [9]
Комплексные решения
[ редактировать ]На данный момент доступно 11 полностью документированных проектов, а также большое количество пользовательских проектов, созданных сообществом. Официальные проекты следующие:
- MIDIbox SEQ V3:
16-трековый живой пошаговый и морфный секвенсор + усовершенствованный арпеджиатор
- SID MIDIбокса V1:
Аппаратный MIDI-управляемый синтезатор на основе звукового чипа MOS Technology SID (MOS6581), поставляемого с Commodore 64/128.
- MIDIbox FM V1:
Аппаратный синтезатор на базе звукового чипа Yamaha YMF262 (также известного как OPL3) для генерации знаменитых FM-звуков, известных из звуковых карт Soundblaster (совместимых) начала 90-х годов.
- MIDI-слияние V1:
Объединяет два отдельных MIDI-входа в один выход.
- MIDI-маршрутизатор V1:
Направляет различные MIDI-боксы на один MIDI-порт.
- MIDI-процессор:
Обеспечивает базовую функциональность для приема и передачи MIDI-событий.
- MIDIbox резюме
Обеспечивает выходы CV и вентиля для управления устройствами, управляемыми напряжением, такими как аналоговые модульные синтезаторы.
- MIDIбокс 64:
Полноценный 64-канальный MIDI-контроллер.
- MIDIbox 64E V2:
Расширенная версия MIDIbox 64.
- МИДИО128 В2:
Интерфейс MIDIO128 используется для управления до 128 цифровых выходных контактов и реагирования на до 128 цифровых входных контактов через MIDI.
- MIDIbox LC V1:
Альтернатива MIDIbox 64/64E
- MIDImon V2:
Сообщает о событиях, которые передаются по MIDI-кабелю, в читаемой форме.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ "Торстен Клозе", SynthDIY
- ^ Веб-сайт Торстена Клозе, "MIDIBOX.org", uCApps.de
- ^ «Лидирующая на рынке RTOS (операционная система реального времени) для встраиваемых систем с расширениями Интернета вещей» . FreeRTOS . Проверено 9 марта 2017 г.
- ^ «MIDIbox переходит на RTP-MIDI... - Концепции дизайна - Форум MIDIbox» . Midibox.org . Проверено 9 марта 2017 г.
- ^ «KissBox — сетевой ответ» . www.kissbox.nl . Архивировано из оригинала 9 апреля 2013 года . Проверено 17 января 2022 г.
- ^ «Журнал изменений MIOS8» . UCApps.de . Проверено 9 марта 2017 г.
- ^ «MidiBox SammichSID | Винтажный обозреватель синтезаторов» . Vintagesynth.com . Проверено 9 марта 2017 г.
- ^ «STM32F4DISCOVERY — Комплект Discovery с микроконтроллером STM32F407VG * Новый код заказа — STMicroelectronics» . St.com . Проверено 9 марта 2017 г.
- ^ «Домашняя страница BEB DigitalAudio» . Beb.digitalaudio.free.fr . Проверено 9 марта 2017 г.
Внешние ссылки
[ редактировать ]- Сайт проекта MIDIbox
- MIDIbox вики
- форумы MIDIbox
- ucapps.de (веб-сайт некоммерческих проектов DIY для любителей MIDI-оборудования)
- Protodeck: мидибокс-контроллер, предназначенный для взаимодействия с Ableton Live, используемым Protofuse.