Přihlásit | Registrovat
Univerzita Tomáše Bati ve Zlíně
TRILOBIT
USB MIDI Lights device – MIDI protokol a jeho přímá implementace pro jevištní zařízení

USB MIDI Lights device – MIDI protokol a jeho přímá implementace pro jevištní zařízení

Dalibor Slovák | 15. 11. 2010 12:43:12
Zařazení: Regulace|Číslo 2/2010|Přehledová stať

ABSTRAKT

Tento článek se zabývá popisem zařízení, které slouží ke koordinaci jevištního osvětlení spolu s hudbou vytvářenou v počítači. Zařízení komunikuje na vstupu prostřednictvím MIDI a USB protokolu. Výstupem je pak řídící napětí, jehož hodnota je ovlivněna prostřednictvím pulzně-šířkové modulace, která je výsledkem hodnoty třetího bytu MIDI zprávy. V tomto bajtu se nachází síla daného řídícího tónu. Zařízení je na vstupu připojeno jako jedno z USB rozhraní k PC a na výstupu je připojeno k výkonovému transformačnímu stupni, který pak má ke svým výstupům již připojeno jevištní osvětlení, případně jiná efektová zařízení jako např. motory čerpadel vodních fontán.

ABSTRACT

This article describes computer made music and stage lights device. At the input this device communicates via MIDI and USB protocols. At the output is managing tension. Its value is affected by pulse-width modulation. This modulation value is given to value of the third byte in MIDI message. This value is volume of control note. There is device is connected as one of USB interfaces at the input. There is device is connected to power transformation device on output. There are lights and fountaines is connected to power transformation device as ending equipment.

Úvod

Využití počítačové techniky v hudbě je v současnosti standardem, jak pro oblast živého hraní, tak pro studiovou práci. V rámci živého hraní patří mezi nejvyužívanější technologické standardy z oblasti digitální techniky MIDI protokol. Je základním standardem pro nastavení, která souvisí především s nadefinovanými stavy elektronických nebo elektroniku využívajících hudebních nástrojů nebo také nastavení dalších jevištních zařízení, např. světelné techniky. Někteří hudebníci jej používají vědomě a cíleně, jiní naopak nevědomky a necíleně, neboť některá ze zařízení užívají protokol MIDI jako součást svého vnitřního vybavení a nevyžadují pro svou obsluhu MIDI událostí lidský zásah. MIDI protokol je dnes součástí klávesových nástrojů, strunných nástrojů, ale existují i MIDI kontroléry založené na principu dechových hudebních nástrojů.

MIDI protokol je dnes také součástí efektových jednotek pro veškeré hudební instrumenty. Ať už se jedná o elektrické kytary nebo klávesové nástroje, ale také efektové jednotky pro zpěváky nebo pro akustické nástroje. MIDI protokol je také součástí dalších zařízení, která mají co dočinění s jevištěm a produkcí na něm. Tedy MIDI protokol je dnes součástí jevištního osvětlení a dalších efektových zařízení jeviště (umělé dýmy apod.).  Současný vývoj a využití tohoto protokolu se zaměřuje především na koordinaci nastavení hudebních nástrojů a dalších zařízení na jevišti. Tedy především časová koordinace produkované hudby s dalšími vizuálními efekty na jevišti bez využití lidského faktoru. V rámci tohoto vývoje se MIDI protokol využívá v kombinaci s nejmodernějšími technologiemi. Velmi často je využíván spolu s USB.

Cílem tohoto výzkumu bylo navrhnout co nejjednodušší a finančně nejméně náročné zařízení. Tedy modul, který je jednoduše programovatelný a samozřejmě vysoce variabilní. Variabilní tak, aby jej bylo možné bez velkých zásahů použít i u různých světelných sestav. Při návrhu byla brána v potaz i úvaha, aby dané zařízení bylo využíváno při živé hudební produkci. Tedy bylo nutno řešit i zpoždění při provádění požadovaných operací převodu MIDI signálu na USB protokol, který pak byl dále upravován pro potřeby pulzně-šířkové modulace. Zjednodušeně řečeno, aby vizuální efekty úzce korespondovaly s hudební produkcí především v časové oblasti. Od počátku bylo zřejmé, že se bude jednat o jednočipovou sestavu, která bude mít jak malé napájecí požadavky, tak minimální nároky na údržbu a prostor. Samozřejmostí je také minimální procento poruchovosti jako dalšího kritéria pro vývoj níže popsaného zařízení.

Jelikož nejsem prvním, kdo se návrhem tohoto zařízení zabýval – existují dokonce komerčně dostupná řešení – zmiňuji několik takových řešení v první kapitole. Ať už komerčních, či nekomerčních.

Současný stav

Mezi stávající řešení v této oblasti v současnosti patří např. tyto aplikace.

Řešení Harveye Twymana

Hardwarový modul Harveye Twymana sestává z integrovaného obvodu HC11, který vyrábí Motorola. Tento obvod vysílá MIDI zprávy do dalšího zařízení, kterým je Altera 8254 FPGA ( Field Programmable Gate Array). Tento modul poskytuje celkem 12 kanálů. Jmenovitý výkon jednotlivých kanálů může dosáhnout hodnoty až 300W. Takto koncipované ovládání poskytuje 128 světelných úrovní pro jednotlivá světla. Nastavení těchto úrovní je pak možno provádět přímo z editačních programů, jako je např. Cubase. K tomuto nastavení se dá konkrétně využít Key Graphics Editor, List Editor, případně Mixer Maps Editor. Autor využívá poslední ze jmenovaných editorů. Tyto editory jsou součástí hudebního softwaru Cubase.

Nastavení barevné intenzity v MixerMaps editoru v programu Cubase

Každý ze světelných kanálů má tři parametry, kterými je možno kanál ovládat. Jsou jimi úroveň kanálu (Channel Level), kanálový zisk (Channel Gain) a celková úroveň (Master Gain):

Úroveň kanálu (Channel Level) – rozsah hodnot je od nuly až do 127. Nastavení tohoto parametru ale úzce souvisí s parametrem celkové úrovně (viz. dále).

Kanálový zisk (Channel Gain) – slouží jako nastavení světlosti daného kanálu, protože ty se, dle autora, jeví často světlejší, než je třeba.

Celkový zisk (Master Gain) – slouží k nastavení celkové světlosti všech kanálů.

Firma Botex a její řešení

Mezi další zařízení, která používají MIDI protokol pro ovládání jevištního osvětlení, patří zařízení společnosti Botex. Tato zařízení ale kombinují MIDI s  DMX512 protokolem. Z MIDI protokolu využívají především událost Note On (nota zapnuta) a Note Off (nota vypnuta). Jako ukázkový model jsem vybral čtyřkanálový dimmer Botex MPX – 405. Mezi jeho schopnosti patří:

  • ovládání pomocí MIDI a DMX,
  • infračervené dálkové ovládání,
  • 4 kanálový výstup pro dimmer,
  • možnost propojení více jednotek (Link Up),
  • paměť posledního nastavení.

 Botex MPX – 405

MIDI hardware Toma Scarffa

Autor tohoto řešení pochází z Dublinu, kde také působí a pracuje na dublinském technologickém institutu. Deska je osazena čipem, MIDI konektorem, potřebnými LED diodami a také v neposlední řadě konektorem pro devítí-voltovou baterii, která slouží jako napájení. Srdcem celého modulu je Microchip PIC16C84 spolu s přepínačem pro výběr daných kanálů. Tedy výběr výstupního signálu z daného MIDI kanálu není řešen pomocí naprogramované utility, ale je řešen napevno, hardwarově. Jedná se o nejjednodušší případ řízení světel, potažmo jiných elektrických zařízení, pouze pomocí příkazu Note On, resp. zapnuto, vypnuto. Ovládaná světla jsou pouze spínána. Nijak není ovládána jejich intenzita záření.

 Schéma zapojení MIDI hardwaru Toma Scarffa

POPIS USB MIDI Lights device

Toto zařízení sestává z CPU, kterým je v tomto případě PIC 18F2550 od společnosti Microchip, 8 LED, krystal a nutné stabilizační kondenzátory a vyrovnávací odpory. Nedílnou součástí je také USB konektor typu B, sloužící k propojení s PC.

 

 Schéma jednotlivých součástí USB MIDI Lights Device

Microchip PIC 18F2550

Srdcem celého modulu je mikrokontrolér americké společnosti Microchip s typovým označením 18F2550. Jedná se o jednočip, který je zcela kompatibilní s USB normou verze 2.0. Podporuje také oba druhy USB přenosu, jak Low Speed (1,5Mbit/s), tak Full Speed o rychlosti 12 Mbit/s. Umožňuje také veškeré druhy přenosů pomocí USB, tak aby byla zajištěna veškerá možná dostupná funkčnost v rámci USB protokolu. Procesor podporuje plný počet obousměrných endpointů.

 V tzv. Run módu je kontrolér tehdy, pokud běží procesor i periferie. V Idle módu běží pouze periferie. Sleep mód je nastaven, pokud neběží ani procesor ani periferie. K zařízení je možno připojit dva externí oscilátory o max. frekvenci 48 MHz. Kontrolér má samozřejmě i svůj interní oscilátor. Uživatel si může vybrat celkem z osmi oscilačních kmitočtů z rozmezí 31 kHz až 8 MHz.

Na zařízení je také možno měnit polaritu, což se osvědčilo při vytváření výsledného projektu. První zařízení v sérii mělo totiž spínání LED diod v logické 1 a tím pádem potom docházelo k převrácení hodnot snímaných z parametru Velocity, který je obsahem třetího bajtu MIDI zprávy. Procesor má 100 000x přepisovatelnou paměť pro program a 1 000 000x přepisovatelnou paměť EEPROM. Jeho součástí je také 32 úrovňový stack a instrukční set, který obsahuje 105 systémových instrukcí. Funkce Code Protection zamezuje zápisu do vybraných oblastí paměti programu. Samozřejmostí je také podpora ICSP programování, která umožňuje programovat procesor zasazený v desce plošných spojů. Dalšími součástmi procesoru PIC18F2550 jsou 16 – bitový komparátor, SPI (Serial Peripherial Interface) a v neposlední řadě také EUSART. Tento sériový komunikační modul, vycházející ze standardu RS-232, poskytuje podporu pro protokol na sběrnici standardu LIN. Součástí EUSART je také automatická detekce přenosové rychlosti a 16 bitový generátor přenosové rychlosti. Pokud je v mikrokontroleru využíváno vnitřního oscilačního bloku, EUSART je využit na místě komunikace, kdy ošetřuje přístup na nevyužitý externí oscilátor a zamezuje tak chybám při požadavcích na přerušení.

Zařízení USB MIDI Lights Device jako celek

Deska USB MIDI Lights Device byla navržena jako univerzální deska pro vývoj aplikací s mikrokontrolerem PIC18F2550 s důrazem na využití USB rozhraní toho mikrokontroleru.

Napájení desky je prováděno prostřednictvím USB portu, který poskytuje stabilizované napětí 5V.  Pro filtraci tohoto napětí je přidána indukčnost (feritové jadérko) a elektrolytický kondenzátor 100μF. Samotný mikrokontroler  dále obsahuje stabilizátor 3.3V, který pro stabilizování výstupu používá keramický kondenzátor 1μF.  S napájením také souvisí blokovací kondenzátor 100nf umístěný mezi GND (uzemnění) a Vcc piny mikrokontroleru.

Zdrojem pro generování hodinového signálu je XTAL 20MHz s dvojicí keramických kondenzátorů 15pF. Hodnota tohoto krystalu byla vybrána z důvodu jeho dostupnosti, samotný mikrokontroler umožňuje použití krystalu v hodnotách (4, 8, 12, 16, 20, 24, 40, 48 MHz). Mikrokontroler je vybaven i vnitřním RC oscilátorem, ale pro zapojení využívající USB port je nutné použít přesný zdroj hodinového kmitočtu - krystal.

Na konektory J2, J3 a J5 jsou přivedeny vstupně/výstupní piny mikrokontroleru. Na konektor J2 jsou přivedeny piny RC6 a RC7 – sériový port  mikrokontroleru a uzemnění.  Na konektor J3 jsou připojeny piny brány B (RB0 – RB7), ke kterým jsou paralelně proti 5V připojeny LED se sériovým odporem.

Konektor J5 obsahuje piny brány A (RA0-RA5) a GND. Další konektor na desce je zkratovací propojka ve schématu označená SW-PB, která slouží pro aktivaci bootloaderu, v normálním módu je rozpojená, v módu bootloaderu zkratovaná.

Základní program desky zavaděč – bootloader  byl do desky naprogramován pomocí externího programátoru připojeného na konektor J4, který je na desce reprezentován ploškami pro připájení vodičů programátoru.

Reset mikrokontroleru je připojen pomocí odporu 10kΩ k napájecímu napětí. Jak je patrné ze schématu, zařízení má celkem osm funkčních výstupů (kanálů).

MIDI protokol

V této textové části bude popsáno rozhraní MIDI protokolu a USB.

Základem MIDI komunikace je tzv. MIDI zpráva, která sestává ze tří bajtů. Každá MIDI událost (zpráva) je proto prezentována jako kombinace osmimístného čísla, které je tvořeno nulami a jedničkami. Každá MIDI zpráva může tedy obsahovat hodnotu od 0 do 255, tedy celkem 256 různých hodnot. Zprávy MIDI jsou rozděleny do dvou základních kategorií: zprávy Status a Data. Zpráva Status slouží k určení druhu informace, která je skrze MIDI posílána. Oznamuje zařízení, které zprávu přijímá, která událost náleží kterému kanálu MIDI a o jakou událost se jedná. Může jít např. o události: Note On, Pitch bend (změna výšky tónu), Program Change (změna patche) nebo aftertouch (poslední událost nastává v okamžiku, kdy je vyvinut další tlak na již stlačenou notu). Datové bajty obsažené ve zprávě zase zařízení informují o tom, jaké hodnoty jsou přiřazeny událostem, které v sobě nese Status Byte .

USB MIDI Event Packet

MIDI data jsou přes USB přenášena pomocí 32 – bitových MIDI Event paketů. Přenos dat je tak prováděn pomocí zpráv o standardní délce čtyři bajty. Pomocí těchto USB MIDI event paketů je vytvořeno virtuální propojení mezi endpointy USB hosta a USB MIDI zařízení. Tento způsob propojení je výhodný pro svou nenáročnost, kdy nepožaduje vysoký počet endpointů, jako jiné druhy USB zařízení. Každá MIDI událost má svůj vlastní USB MIDI packet, což omezuje vznik mnoha chyb.

 

Byte 0

Byte 1

Byte 2

Byte 3

CN – cable number

Číslo kabelu

CIN – Code Index Number klasifikace jednotlivých druhů MIDI zpráv

MIDI zpráva

první bajt

MIDI zpráva

druhý bajt

MIDI zpráva

třetí bajt

 Struktura USB MIDI Event paketu

 

První čtyři bajty začínající na MSB pozici obsahují informaci o čísle virtuálního MIDI kabelu, pro kterém má jít daná MIDI informace. Hodnota CN je údaj v rozmezí 0x0 až 0xF indikující číslo požadovaného Embedded jacku, přes který dochází ke spojení s příslušnou MIDI funkčností. Druhý nibl končící LSB obsahuje potom identifikační údaje o MIDI zprávě.

V následující tabulce je patrno, jak se liší bajtový zápis MIDI zprávy od USB MIDI paketu, který je nutno poslat pokud se bude jednat o komunikaci a zasílání MIDI informací pomocí protokolu USB.

USB MIDI Event Packet je koncovým článkem komunikace MIDI a USB. V počátku je nutné, aby zařízení bylo nastaveno a především naprogramováno jako USB rozhraní viditelné pro systém. Jednotlivé USB podkategorie pro toto zařízení jsou USB Audio a jeho podoblast USB Audio MIDI rozhraní. Jednotlivé komunikační protokoly proto musí být naprogramovány právě podle těchto norem.

Závěr

Cílem návrhu zařízení USB MIDI Lights Device bylo vytvořit co nejlevnější a nejrobustnější zařízení pro daný účel.

Mezi základní výhody zařízení tedy patří jeho výrobní cena. Tato cena se pohybuje v řádu stovek korun za jeden kus oproti několika tisícovým cenám za komerčně dostupná zařízení. Další výhodou je jeho snadná implementace do koncových stupňů světelných aplikací. Ze zařízení bude dostupný pouze USB konektor a případně přepínač jumperu pro snadné přeprogramování samotné aplikace v případě změn ve světelné sestavě. Významným přínosem je možnost využít jakákoliv efektová zařízení bez ohledu na to, jakým protokolem disponují či nedisponují v rámci své softwarové výbavy.

Jediným nutným předpokladem je ošetření výstupů pro světelnou sestavu pomocí tlumivek v případě velkých příkonům z důvodů ovládání intenzity pomocí pulzně šířkové modulace. V současnosti je prováděn další vývoj zařízení i potřebných softwarových aplikací.

 

Seznam použité literatury

  • Přehled standardu MIDI [online]. [cit. 2008-05-15]. Dostupný z WWW: <http://www.midi.cz>
  • MIDI zařízení Harveye Twymana [online]. [cit. 2008-04-28]. Dostupný z WWW: <http://www.twyman.org.uk/midilite.htm>
  • Parametry zařízení Botex MPX405 [online]. [cit. 2008-05-05]. Dostupný z WWW:<http://eshop.prodance.cz/Files/MPX405%20MultiPak%20cz.pdf>
  • Ovládání světel pomocí MIDI [online]. [cit. 2008-05-05]. Dostupný z WWW: <http://tomscarff.tripod.com>
  • Universal Serial Bus specification.pdf [online]. [cit. 2008-04-08]. Dostupný z WWW: <http://www.usb.org>
  • Universal Serial Bus Device Class Definition for MIDI Devices.pdf [online]. [cit. 2008-04-18]. Dostupný z WWW: <http://www.usb.org>
  • Universal Serial Bus Device Class Definition for Audio Devices.pdf [online]. [cit. 2008-05-20]. Dostupný z WWW: <http://www.usb.org>
  • Universal Serial Bus Class Definition for Communication Devices.pdf [online]. [cit. 2008-04-01]. Dostupný z WWW:<http://www.usb.org>
  • PIC18F2455/2550/4455/4550 Data Sheet.pdf [online]. [cit. 2008-05-20]. Dostupný z WWW: <http://www.microchip.com>
  • MPLAB C18 C Compiler User’s guide.pdf [online]. [cit. 2008-05-20]. Dostupný z WWW: <http://www.microchip.com>
  • MPLAB C18 C Compiler Libraries.pdf [online]. [cit. 2008-05-20].  Dostupný z WWW: <http://www.microchip.com>

Odborný vědecký časopis Trilobit | © 2009 - 2017 Fakulta aplikované informatiky UTB ve Zlíně | ISSN 1804-1795