NOTE: IRQ remains asserted
until read FIFO is empty
MIDI_IN
MIDI RX CLOCK4
DATA READY1
IRQ3
MIDI RX DATA BYTE N
MIDI RX DATA BYTE N+1
nREAD2
FIGURE 3 - MPU-401 INTERRUPT
NOTE1 DATA READY represents the Data Ready bit B0 in the UART Line Status Register.
NOTE2 nREAD represents host read operations from the MIDI Data register.
NOTE3 IRQ is the MPU-401 Host Interface IRQ shown in Figure 2. The UART Receive FIFO Threshold = 1.
NOTE4 MIDI RX CLOCK is the MIDI bit clock. The MIDI bit clock period is 32μs.
MPU-401 Command Controller
Overview
Commands are written by the host to the MPU-401 MIDI Interface through the Command register (Table 38) and are
immediately interpreted by the MPU-401 Command Controller shown in Figure 3. The MPU-401 Command
Controller in this implementation only responds to the MPU-401 RESET (FFh) and UART MODE (3Fh) commands.
All other commands are ignored.
Under certain conditions, the Command Controller acknowledges MPU-401 commands with a command
acknowledge byte (FEh).
RESET Command
The RESET command is FFh. The RESET command resets the MPU-401 MIDI Interface. Reset disables the MPU-
401 UART MODE command, disables the UART, clears the receive FIFO. The command controller places the
command acknowledge byte ‘FEh’ in the MIDI Data port read buffer if the interface is not in the UART mode.
The RESET command is executed but not acknowledged when the command is received while the interface is in the
UART mode.
When the MPU-401 is reset, receive data from the MIDI_IN port as well as data written by the host to the MIDI Data
port is ignored.
The MPU-401 MIDI Interface is reset following the RESET command or POR.
UART MODE Command
The UART MODE command is 3Fh. The UART MODE command clears the transmit and receive FIFOs, places the
command acknowledge byte (FEh) in the MIDI Data port receive buffer, and enables the UART for transmit and
receive operations.
In UART mode, the MPU-401 Interface passes MIDI read and write data directly between the host (using the MIDI
Data port) and the UART Transmit and Receive buffers.
The MPU-401 Command Controller ignores the UART MODE command when the MPU-401 Interface is already in
UART mode.
The MPU-401 RESET command is executed but not acknowledged by the MPU-401 Command Controller in UART
MODE (see Section “RESET Command”, above).
Command Acknowledge Byte
Under certain conditions, the command controller acknowledges the RESET and UART MODE commands with a
command acknowledge byte (FEh).
The command acknowledge byte appears as read-data in the MIDI Data port.
Page 70