MIDIbox - MIDIbox

В MIDIbox проект - это Открытый исходный код модульный Сделай сам фреймворк, состоящий из аппаратного и программного обеспечения, MIDI платформа, построенная вокруг ПОС семья микроконтроллеры - PIC18F452, PIC16F88, PIC18F4620 и PIC18F4685 и, совсем недавно, STM32 FXX и LPC1769 32-битный. Его можно использовать для сборки оборудования MIDI блоки управления для различных синтезаторы программное обеспечение для многодорожечной записи и другие MIDI-устройства; а также автономные синтезаторы, секвенсоры и другие проекты.

История

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

Аппаратная платформа MIDIbox (MBHP)

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

Первая аппаратная платформа 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

Звуковые модули

Модули расширения памяти

  • Модуль памяти BankStick 32k / 64k

Модули ввода / вывода MIDI

  • Светодиодные индикаторы MIDI модуля LTC + 1 выход MIDI + 1 сквозной порт (+ 1 дополнительный порт COM)
  • Модули USB Интерфейс ПК / USB

Разные модули

  • Модуль MF для управления моторфейдерами
  • Модули IIC для связи с другими (микроконтроллерами) устройствами через I2C

RTP-MIDI модуль

  • Прошивка MIOS32 включает прямую связь с OEM-модулем RTP-MIDI KissBox по высокоскоростной SPI[4][5]

Операционная система MIDIbox (MIOS)

Операционная система MIDIbox (MIOS) упрощает разработку гибких приложений для управления MIDI. MIOS придерживается некоммерческой открытой платформы как основы для обмена идеями и личных приспособлений, невозможных с коммерческими контроллерами.

Большинство контроллеров, созданных сообществом, основаны на существующих задокументированных проектах и ​​начинают свою жизнь с набора функций, предоставляемых существующей прошивкой. Конечные пользователи могут улучшить свои устройства с помощью заменяемого программного кода и настроить их в соответствии с их основным приложением, синтезатором или другим MIDI-устройством. Пользователи также могут настроить в соответствии со своими предпочтениями рабочий процесс, или создайте новый проект с нуля.

Исходный код приложения, схемы модулей и макеты печатных плат доступны бесплатно для некоммерческого использования в качестве шаблонов для модификаций и улучшений. Таким образом, MIOS и аппаратная платформа позволяют легко заняться разработкой микроконтроллеров для любителей, одновременно делая возможными приложения, выходящие за рамки коммерческого, основного рынка MIDI.

MIOS была лицензирована под GPL до версии 1.8. Более поздние версии теперь требуют разрешения Торстена Клозе для коммерческого использования.[6]

Характеристики

Операционная система состоит из ядра, которое обеспечивает пользовательские привязки к аппаратным и программным событиям, а также функции для взаимодействия с модулями аппаратной платформы. Один базовый модуль с микроконтроллером PIC18F452 может обрабатывать

  • до 128 цифровых входов
  • до 128 цифровых выходов
  • до 64 аналоговых входов
  • характерный и графический ЖК-дисплеи
  • до 8 палочек (I2C EEPROM )
  • один MIDI-вход и один MIDI-выход, или RS232 серийный 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-события также могут обрабатываться пользовательской подпрограммой для Sysex синтаксический анализ или аналогичные работы. Пользовательский таймер доступен для кода, запускаемого по времени.

Возможна поддержка других языков высокого уровня, кроме C.

Оборудование MIOS

Аппаратное обеспечение MIOS организовано вокруг концепции аппаратной платформы MIDIBox (MBHP). MBHP - универсальные материнские платы, предлагающие максимально возможное количество подключений для данного процессора. В настоящее время доступны четыре версии MBHP:

  • MBHP для PIC16F877 и PIC18F452 (8-битные процессоры). Эти два чипа совместимы по выводам, но для печатной платы требуется простая замена двух чипов.
  • MBHP для LPC1769 (32-битный процессор ARM7)
  • MBHP для STM32F407 (32-битный процессор Cortex M4)

Когда проекту требуется меньше операций ввода-вывода, чем доступно на данном MBHP, концепция MIDIBox позволяет создать упрощенную печатную плату, предназначенную для этого проекта. Такой подход используется в Sammich MIDIBox SID. [7] и Sammich MIDIBox FM. Эти два набора содержат оригинальную конструкцию MBHP, но с упрощенной печатной платой, предназначенной для соединения с микросхемой SID или микросхемой YMF262.

В случае STM32F407 MBHP ЦП монтируется на модуле, используемом в качестве дочерней платы, произведенном ST и проданном как плата разработки (STM32F4 Discovery).[8] Конечному пользователю не нужно иметь дело с SMD-компонентами, дочерняя плата устанавливается на стандартные 0,1-дюймовые разъемы.[9]

Комплексные решения

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

  • MIDIbox SEQ V3:

16-дорожечный пошаговый и морфо-секвенсор + продвинутый арпеджиатор

  • MIDIbox SID V1:

Аппаратный MIDI-управляемый синтезатор на базе MOS Technology SID (MOS6581) звуковой чип, поставляемый с Commodore 64/128

  • MIDIbox FM V1:

Аппаратный синтезатор на базе звукового чипа Yamaha YMF262 (также известный как OPL3) для генерации знаменитых FM-звуков, известных по звуковым картам Soundblaster (совместимых) начала 90-х.

  • MIDI Merger V1:

Объединяет два отдельных MIDI-входа в один выход

  • MIDI-маршрутизатор V1:

Направляет различные MIDI-блоки на один MIDI-порт

  • MIDI-процессор:

Обеспечивает базовую функциональность для приема и передачи MIDI-событий

  • MIDIbox CV

Обеспечивает выходы CV и затвора для управления устройствами с регулируемым напряжением, такими как аналоговые модульные синтезаторы

  • MIDIbox 64:

Полноценный 64-канальный MIDI-контроллер

  • MIDIbox 64E V2:

Расширенная версия MIDIbox 64

  • MIDIO128 V2:

Интерфейс MIDIO128 используется для управления до 128 цифровых выходных контактов и реагирования до 128 цифровых входных контактов через MIDI.

  • MIDIbox LC V1:

Альтернатива MIDIbox 64 / 64E

  • MIDImon V2:

Сообщает о событиях, которые передаются по MIDI-кабелю, в удобочитаемой форме.

Смотрите также

Рекомендации

  1. ^ "Торстен Клозе", SynthDIY
  2. ^ Веб-сайт Торстена Клозе, MIDIBOX.org, uCApps.de
  3. ^ «Ведущая на рынке ОСРВ (операционная система реального времени) для встроенных систем с расширениями Интернета вещей». FreeRTOS. Получено 2017-03-09.
  4. ^ «MIDIbox переходит на RTP-MIDI ... - Концепции дизайна - Форум MIDIbox». Midibox.org. Получено 2017-03-09.
  5. ^ [1]
  6. ^ «Журнал изменений MIOS8». UCApps.de. Получено 2017-03-09.
  7. ^ "MidiBox SammichSID | Vintage Synth Explorer". Vintagesynth.com. Получено 2017-03-09.
  8. ^ "STM32F4DISCOVERY - Комплект Discovery с микроконтроллером STM32F407VG * Новый код заказа - STMicroelectronics". St.com. Получено 2017-03-09.
  9. ^ "Домашняя страница BEB DigitalAudio". Beb.digitalaudio.free.fr. Получено 2017-03-09.

внешняя ссылка