R-BUS Technical Information

2024-02-02
#music #electronics

Background

R-BUS (also called RMDB2 / RMDB II on older products) is an obsolete proprietary interconnect format that carries bidirectional MIDI and digital audio data created by Roland. It was used on Roland products released from the late 90s to early 2000s.

There was a physically incompatible and much rarer predecessor of R-BUS called RMDB (Roland Multipurpose Digital Bus). RMDB is not the subject of this article.

Much of the information here is gathered from schematics inside service manuals for various Roland products, mainly the XV-5080 and VS-2400. These can be easily found with a search through the interwebz.

This article assumes minimal electronics knowledge from the reader. As a matter of fact, the author is also a layperson in this space. Report of any issues in the article would be appreciated.

For other R-BUS related stuff on this website, please visit this page.

Devices with R-BUS support

Here is a not necessarily complete list of Roland products that comes with at least one R-BUS connector:

  • Mixing Console
    • VM-3100Pro
    • VM-7100 / VM-7200 (3 ports on optional VM-24E I/O expansion)
  • Studio Workstation
    • VS-2400
    • VS-2480 (2 ports)
    • VSR-880
  • Production Studio
    • MV-8000 / MV-8800 (available through the MV8-OP1 audio I/O expansion)
  • Synthesizer
    • XV-5080 (output only)
  • Interface Modules
    • RPC-1 (Conventional PCI R-BUS interface)
    • ADA-7000 (A/D converter)
    • AE-7000 (R-BUS <=> AES/EBU converter)
    • DIF-AT (R-BUS <=> TDIF & ADAT converter)
    • DIF-AT24 (R-BUS to ADAT and MIDI interface, 24-bit)

Pin definition

Connection for VS-2400 and XV-5080 is extracted from their respective service manuals. Pin usage inferred from these connections.

PIN VS-2400 XV-5080 Usage
1 +5V +5V Power output
2 RBOUT11 SDO4 Channel 1/2 output (SDOUT1[1])
3 RBOUT12 SDO5 Channel 3/4 output (SDOUT2)
4 RBOUT13 SDO6 Channel 5/6 output (SDOUT3)
5 GND GND Ground
6 RBOUT14 SDO7 Channel 7/8 output (SDOUT4)
7 NC [2] NC Unused?
8 RBIN14 NC Channel 7/8 input (SDIN4)
9 GND GND Ground
10 RBIN13 NC Channel 5/6 input (SDIN3)
11 RBIN12 NC Channel 3/4 input (SDIN2)
12 RBIN11 SDI2 Channel 1/2 input (SDIN1)
13 NC NC Power reception for bus-powered devices [3]
14 PC_TXD1 RBUS_TX MIDI transmit [4]
15 GND GND Ground
16 GND GND Ground
17 GND GND Ground
18 1FS LRCK4 Frame sync (word clock) output
19 GND GND Ground
20 GND GND Ground
21 RBFS1 RBUS-WDCLK Frame sync (word clock) input
22 GND GND Ground
23 GND GND Ground
24 GND GND Ground
25 PC_RXD1 RBUS_RX MIDI receive [5]

Official cable wiring

Roland has only disclosed partial information on the wiring scheme used by the official R-BUS cables. [6] However, it’s rather easy to infer the full wiring scheme from that information. This has been confirmed by other third-party sources. [7] [8]

Usage 🖙 Pin on one side is connected to Pin on the other side 🖘 Usage
+5V 1 13 +5V In
SDOUT1 2 12 SDIN1
SDOUT2 3 11 SDIN2
SDOUT3 4 10 SDIN3
GND 5 9 GND
SDOUT4 6 8 SDIN4
NC 7 7 NC
SDIN4 8 6 SDOUT4
GND 9 5 GND
SDIN3 10 4 SDOUT3
SDIN2 11 3 SDOUT2
SDIN1 12 2 SDIN1
+5V In 13 1 +5V
MIDI TX 14 25 MIDI RX
GND 15 24 GND
GND 16 23 GND
GND 17 22 GND
FS Out 18 21 FS In
GND 19 20 GND
GND 20 19 GND
FS In 21 18 FS Out
GND 22 17 GND
GND 23 16 GND
GND 24 15 GND
MIDI RX 25 14 MIDI TX

Electrical characteristics of the interface

Power

The +5V supply is derived straight from the +5V rail that goes into the main board, with polarity protection (both in the XV-5080 and VS-2400) provided with a Schottky diode, and sometimes current protected with a thermistor (not present in the XV-5080).

The +5V pin measured 5.28V to ground on my XV-5080.

Digital Audio

The format of digital audio portion of R-BUS resembles I²S, but with a few key differences:

  • There’s no bit clock.
  • Sample data are transmitted as if they are 32-bit, despite only the first 24-bit is being used.
  • Logic level on the data line is inverted.

To give a standalone description of the R-BUS digital audio protocol:

  • The frame sync (word clock) signal runs at the same frequency as the audio sampling rate.
  • When frame sync is low, left channel of each channel pair is being transmitted, otherwise right channel is being transmitted.
  • Each half cycle of the frame sync clock is divided into 32 periods, during each of which a bit of sample data is sent on every serial data line.
  • Sample data are sent most significant bit (MSB) first. Each sample is 24-bit long, leaving 8 bits unused at the end of each half cycle of frame sync.
  • Logic low on the data line means the bit being sent is 1, and high means it’s a 0.

If you’d like a timing diagram of all this, please look up the datasheet of TC9271 made by Toshiba (used in the XV-5080 as its S/PDIF encoder chip). Figure 1b is a good representation of the relationship between frame sync (LRCK in the datasheet) and audio data. The LRS=H case in figure 3a shows how the frame sync signal sent over R-BUS should be interpreted.

There are 4 serial data lines in each direction, giving the 8 channels in total for each direction. Each direction has its own frame sync signal, which is shared among all data lines in that direction.

MIDI

What is sent over the MIDI wires in the R-BUS cable has not been confirmed by me.

The MIDI interface is used differently on different Roland products:

  • XV-5080 seem to ignore everything on the R-BUS MIDI interface, despite having all the facilities to handle it. Roland disclosed this in RPC-1’s user manual (see the section on XV-5080). I have not tested this claim.
  • MV-8000 series with MV8-OP1 installed can use the R-BUS MIDI output as a separate MIDI port. Data going into the R-BUS MIDI port will be mixed with the built-in MIDI input.
  • VM-3100Pro can pass through the MIDI data to its built-in MIDI ports, and can control the host sequencer if connected to a computer.
  • V-Studio products can receive MIDI clock over R-BUS.
  • Any aspects / products not mentioned here are unknown to me.

Roland calls the signals that go in to / out of these pins “IPC” or “PC”. [9]

Inside both the VS-2400 and the XV-5080, the signal is generated / goes into a dedicated microcontroller (a M3888 1M2), specifically, a pair of its UART ports. An inverter is between the R-BUS connector and the MCU in each direction of the signal.

Roland claims in VS-2480’s manual that R-BUS carries 8 channels of bidirectional digital audio (which are already fully accounted for in the previous section), plus MIDI, MMC (MIDI Machine Control) and MTC (MIDI Timecode).

The factual portion of this section ends here. Everything below is my guesswork. Since MMC commands and MTC are both usually just sent as normal MIDI messages, it’s a reasonable assumption that, the only thing that is transmitted over these wires is MIDI, which is also why I named them MIDI TX/RX in my pin usage chart.

Since MIDI is pretty much just UART with a bit of isolation, I would venture a guess that the signal sent / expected on these two pins is just inverted MIDI UART signal.

It would be pretty trivial to build some experimental circuitry to test my theory. Maybe I’ll do it one day. However this may end up with nothing – as the XV-5080 will probably just ignore the MIDI data going through R-BUS.



[1]: Serial data output (input). Overline indicates that 1-bit is represented with low logic level and 0-bit with high logic level. Same below.
[2]: Not connected. Same below.
[3]: Inferred from wiring scheme
[4]: Often abbreviated as TX.
[5]: Often abbreviated as RX.
[6]: R-BUS, RBUS, RBC, RBC-5: Where Can I Find an R-BUS Cable?
[7]: Roll your own: R-Bus Cable Pin Out.
[8]: DIY R-BUS cable for 20€
[9]: I have no idea what these could mean. My software-dominated brain tells me they stand for “Inter-Process Communication” and “Program Counter” but they clearly stand for something else here.