NanoBoard 3000 - MIDI Interface

Frozen Content

The NanoBoard 3000 caters for transmission and reception of signals in accordance with the MIDI (Musical Instrument Digital Interface) protocol. The following is a simplified block diagram of the MIDI communications system, with the NanoBoard 3000 as the MIDI Master. Communications is primarily with a single target instrument – sending data and receiving data back from that instrument. Use of the MIDI THRU port shows how the same data sent by the NanoBoard can be passed on to any number of secondary instruments.


MIDI communications using the NanoBoard 3000.

Signal I/O for the MIDI interface is handled through three 5-way DIN connectors.


MIDI input, thru and output ports.

MIDI Input

The MIDI input signal arrives on pins 4 (MIDI_RX_P) and 5 (MIDI_RX_N) of the 5-way DIN connector labeled 'MIDI IN'. The two pins are wired through to either side of the IRED of an optical IC (OPIC™) photocoupler – a PC900V0NSZXF, from Sharp. This device, which features an open collector output and Normal OFF operation, has a maximum response time (both turn-on and turn-off) of 0.5us and is powered from the motherboard's 3.3V supply.

On the transistor side of the opto-isolator, the collector is connected through to an I/O pin of the User FPGA, providing the MIDI_RX signal. The collector is tied to the motherboard's 3.3V supply (through a 270Ω resistor), ensuring that the received signal sent to the FPGA is '1' when a logical '1' is transmitted by an external MIDI transmitter (i.e. when the photocoupler is not ON).

A 40V/400mA Schottky diode (ZHCS400, from Zetex Semiconductors) across the MIDI_RX_P and MIDI_RX_N lines provides protection against voltage spikes.

The maximum receive signaling speed is 230kHz.

This revision of the Xilinx variant 3000-series NanoBoard uses an opto-isolator – a 4N35S, from LITE-ON Technology. This device has a maximum response time (both turn-on and turn-off) of 10us. The collector is tied to the motherboard's 3.3V supply through a 470Ω resistor, and the maximum receive signaling speed is 44kHz.

MIDI Output

The MIDI output signal from the User FPGA – MIDI_TX – is simply passed through two successive single inverter gate devices (SN74LVC1G04s, from Texas Instruments). The first is powered from the motherboard's 3.3V supply, while the second is powered from the board's 5V supply. The latter of these two inverters simply acts as a switch, while the former ensures that when a logical '0' or '1' is sent, the same logical '0' or '1' is 'seen' on the output side of the photocoupler (since the photocoupler at a MIDI receiver logically inverts the signal).

The output of the second inverter is wired through to pin 5 of the 5-way DIN connector labeled 'MIDI OUT'. The board's 5V power and GND supplies are wired to pins 4 and 2 of this connector respectively.

The maximum MIDI line signaling speed is 31.25kHz.

This revision of the Xilinx variant 3000-series NanoBoard uses an N-channel 'enhancement mode' metal-oxide semiconductor field effect transistor (NMOSFET) instead of a second inverter. This device (a 2N7002, from STMicroelectronics) supports a maximum Drain-Source voltage of 60V, with maximum continuous Drain current of 0.2A. In terms of switching, the maximum turn-on delay time is 5ns, with a maximum turn-off delay time of 7ns.

MIDI THRU output

The third port of the motherboard's MIDI interface provides the standard MIDI-THRU port. Unlike the MIDI OUT port, where the MIDI signal is generated from within an FPGA design programmed within the User FPGA, the MIDI THRU output is an identical copy of the received MIDI signal arriving at the MIDI IN port.

The circuitry is identical to that used in transmission of a MIDI signal discussed in the previous section. The collector of the transistor – in the photocoupler of the receiver circuit – is wired through two successive inverters (SN74LVC1G04s). The output of the second inverter is wired through to pin 5 of the 5-way DIN connector labeled 'MIDI THRU'. The board's 5V power and GND supplies are wired to pins 4 and 2 of this connector respectively.

This revision of the Xilinx variant 3000-series NanoBoard again uses an N-channel 'enhancement mode' metal-oxide semiconductor field effect transistor (NMOSFET, 2N7002) instead of a second inverter.

Logic Summary

The following is an illustration of the overall connection between transmitter and receiver in a MIDI system, which can be used to quickly see what is happening from a logic perspective (circuit resistances have been omitted for simplicity).


Connected Transmitter and Receiver in a MIDI system.

When a logic '0' is transmitted, the output of the second inverter, being 'Low', causes the IRED in the photocoupler to conduct and, lighting, switch on the coupled transistor (become conductive). As the 3.3V board supply can now conduct to GND, the MIDI_RX line to the User FPGA is taken Low (logic '0').

When a logic '1' is transmitted, the output of the second inverter, being 'High', prevents the IRED in the photocoupler from conducting and, not lighting, the coupled transistor remains OFF (non-conductive). As the 3.3V board supply is not conducted to GND, the MIDI_RX line to the User FPGA remains High (logic '1').

Location on Board

The three 5-way DIN connectors – labeled 'MIDI IN' (designated J20), 'MIDI THRU' (designated J21) and 'MIDI OUT' (designated J22) – are located along the top edge on the solder side of the board. Looking from the rear, they can be found to the left of the Ethernet port.


MIDI ports (as seen from the rear of the board).

The photocoupler device (designated U36), the inverters (designated U38 and U71 for the output line and U37 and U72 for the thru line) are also located on the solder side of the board, directly below the MIDI connectors themselves.


MIDI interface circuitry.

Schematic Reference

The MIDI circuitry can be found on the following sheets of the motherboard schematics:

  • Sheet 67 (MIDI_FULL.SchDoc, entitled MIDI Sub-System)
  • Sheet 68 (CON_MIDI_DIN5.SchDoc, entitled MIDI Connectors)

Design Interface Component

Table 1 summarizes the available design interface component that can be placed from the FPGA NB3000 Port-Plugin.IntLib, to access and use the MIDI interface.

Table 1. MIDI port-plugin component.
Component Symbol
Component Name
Description

MIDI

Place this component to access and use the MIDI interface.

Further Device Information

For more information on the PC900V0NSZXF device, refer to the datasheet (pc900v0nszx_ej.pdf) available at www.sharpsme.com.

For more information on the single inverter gate device, refer to the datasheet (sn74lvc1g04.pdf) available at www.ti.com.

For more information on the 4N35S device used on the NB3000XN.04, refer to the datasheet (4N35_37.pdf) available at www.liteon.com.

For more information on the 2N7002 device used on the NB3000XN.04, refer to the datasheet (2N7002.pdf) available at www.st.com.

You are reporting an issue with the following selected text and/or image within the active document: