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.