Center for New Music and Audio Technologies

next up previous
Next: Performance Issues Up: MIDI for Gesture Communication Previous: Implementation


A MIDI Interface

In order to use the design in a musical performance environment two extensions become necessary. First, the incoming MIDI signal has to be transformed from a 1.5mA current into the appropriate voltage for the chosen FPGA device and vice versa for the outgoing MIDI data. Clearly, a circuit separate from the FPGA is needed.

Figure 1.3: MIDI Hardware for sending and receiving MIDI data [3]
\begin{figure}
\centerline {\epsfig{figure=midihw2.eps,width=120mm}}\end{figure}

Figure 1.3 illustrates a circuit for the transformation from a current loop into a voltage circuit as proposed by the MMA (MIDI Manufacturer's Association) [4]. The optocoupler ( 6N138) in the MIDI_IN section takes care of this task and at the same time isolates the receiver from the transmitter galvanically. Second, the sending of the MIDI data requires the correct format as described in section 1.2. For this, an additional component MIDI P2S becomes necessary which extends the MIDI Synchronizer to a MIDI loopback device or MIDI Interface. The tasks for this component are to derive the MIDI clock from the masterclock, to add the start and stop bits and finally, to send out the MIDI messages serially LSB first. The extension as implemented is basically a loadable serial-out shift register, which is enabled as soon as the data_valid signal of the design MIDI Synchronizer is set to high. Clearly, components accessing the MIDI data from design MIDI Synchronizer have to provide a signal similar to data_valid. The inputs of LSB and MSB of this register1.2 can be hardwired and as data_valid goes to low the shift register sends out its content LSB first. The hardwired stop bit automatically propagates through the register as the data is sent out and as a side effect logic high appears after the entire message has left the design.
next up previous
Next: Performance Issues Up: MIDI for Gesture Communication Previous: Implementation
Home
Norbert Lindlbauer
2000-01-19