# IEBus

IEBus (Inter Equipment Bus) is a communication bus specification "between equipments within a vehicle or a chassis" of Renesas Electronics. It defines OSI model layer 1 and layer 2 specification. IEBus is mainly used for car audio and car navigations, which established de facto standard in Japan, though SAE J1850 is major in United States.
IEBus is also used in some vending machines, which major customer is Fuji Electric.$^{:244(42)}$ Each button on the vending machine has an IEBus ID, i.e. has a controller.
Detailed specification is disclosed to licensees only, but protocol analyzers are provided from some test equipment vendors. Its modulation method is PWM (Pulse-Width Modulation) with 6.00 MHz base clock originally, but most of automotive customers use 6.291 MHz, and physical layer is a pair of differential signalling harness. Its physical layer adopts half-duplex, asynchronous, and multi-master communication with carrier-sense multiple access with collision detection (CSMA/CD) for medium access control.$^{:7}$ It allows for up to fifty units on one bus over a maximum length of 150 meters.$^{:7}$ Two differential signalling lines are used with Bus+ / Bus− naming,$^{:5}$ sometimes labeled as Data(+) / Data(−).
It is sometimes described as "IE-BUS", "IE-Bus," or "IE Bus," but these are incorrect. In formal, it is "IEBus." IEBus® and Inter Equipment Bus® are registered trademark symbols of Renesas Electronics Corporation, formerly NEC Electronics Corporation, (JPO: Reg. No.2552418 and 2552419, respectively).

## History

In the middle of '80s, semiconductor unit of NEC Corporation, currently Renesas Electronics, started the study for increasing demands for automotive audio systems. IEBus is introduced as a solution for the distributed control system.$^{:18}$
In the late 1980s, several similar specifications, including the Domestic Digital Bus (D2B), the Japanese Home Bus (HBS), and the European Home System (EHS) are proposed by different companies or organizations. These were once discussed as IEC 61030, but it was withdrawn in 2006. IEBus is also a similar specification (refer to "Transfer signal format" section), but not listed in these criteria. As the result, IEBus becomes a de facto standard of car audio in Japan.
Regarding the Domestic Digital Bus (D2B), it is re-defined as D2B Optical by Mercedes-Benz independently.
As for Japanese Home Bus System (HBS), it is defined in 1988 as Home Bus System Standard Specification, ET-2101 by JEITA and REEA (Radio Engineering & Electronics Assiation) in Japan. It is being used by several Japanese air conditioner manufacturers (for example, M-Net from Mitsubishi and the P1/P2 or F1/F2 bus from Daikin). Fujitsu provided HBPC (Home Bus Protocol Controller) chip as MB86046B. But it is unclear whether Fujitsu (currently, Cypress) still manufactures this HBPC LSI as of 2018. Mitsumi Electric provides the MM1007 and MM1192 driver ICs for HBS. The HBS specification is also discussed in the Echonet Consortium. In 2014, a utility model patent for protocol converter from HBS to RS-485 is granted in China as "CN204006496U."
Regarding the replacement of IEBus, a paper by Hyundai Autonet, currently Hyundai Mobis, describes as follows. "In communication methods for digital input capable amplifiers, Inter Equipment Bus (IEBus) was used in early times, but for now, Controller Area Network (CAN) is mainly used."

## Protocol overview

A master talks to a slave. Each unit has a master and a slave address register. Only one device can talk on the bus at any given time. There is a pecking order for the types of communications which will take precedence over another. Each communication from master to slave must be replied to by the slave going back to the master with acknowledge bits each of those show ACK or NAK.$^{:10}$ If the master does not receive the ACK within a predefined time allowance for a mode, it drops the communication and returns to its standby (listen) mode.
Detailed specification of OSI model layer 2 is disclosed to licensees only, but protocol analyzers are provided from some test equipment vendors. In 2012, one of Chinese manufacturer's patent is granted as "CN202841169U".
An open-source software emulator called "IEBus Studio" exists on a repository of SourceForge, but the last update was on 2008-02-24. Another open-source analyzer software called "IEBusAnalyzer" is available on GitHub repository. Some hobbyist made some tools also.

### Physical layer (OSI model layer 1) specification overview

From μPD6708 data sheet.$^{:7}$ and μPD78098B Subseries user's manual, hardware.$^{:428}$
* Communication system
    Half-duplex asynchronous communication
* Multi-master system
    All the units connected to the IEBus can transfer data to the other units.
* Broadcast communication function (communication between one unit and multiple units)
    Normally, communication is individually carried out from one unit to another. By using the broadcast communication function, however, communication can be executed from one unit to plural units as follows:
   * Group broadcast communication: Broadcast communication to group units
   * Simultaneous broadcast communication: Broadcast communication to all units
* Effective transmission rate
    The effective transmission rate can be selected from the following three communication modes:
    Mixture of the plural of modes in the same bus line is not allowed.
    Correct communication between different base clock is not possible.
       ModeMaximum Number of Transfer Bytes (bytes/frame)6.000$_{000}$ MHz base clock6.291$_{456}$ MHz base clock 016Approx. 3.9 kbit/sApprox. 4.1 kbit/s 132Approx. 17 kbit/sApprox. 18 kbit/s 2128Approx. 26 kbit/sApprox. 27 kbit/s
* Access control
    CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
    The priority of occupying IEBus is as follows:
       «1» Broadcast communication takes precedence over individual communication.
       «2» The lower the master address, the higher the priority.
* Communication scale
** Number of units: 50 MAX.
** Cable length: 150 m MAX. (when a twisted pair cable is used)
** Load capacity: MAX. 8000 pF; between Bus+ and Bus−, (6.000$_{000}$ MHz base clock) MAX. 7100 pF; between Bus+ and Bus−, (6.291$_{456}$ MHz base clock)
** Terminating resistor: 120 Ω
* Logic level$^{:19,66}$
** Logic 1: Low level. Voltage difference between Bus+ and Bus− is under 20mV
** Logic 0: High Level. Voltage difference between Bus+ and Bus− is over 120mV
*** In-phase input voltage high: Bus+ ≤ (V$_{DD}$-1.0) V, Bus− ≥ 1.0 V

### Transfer signal format

From μPD6708 data sheet.$^{:10}$ and μPD78098B Subseries user's manual, hardware.$^{:433}$
This frame format is much similar to that of Domestic Digital Bus (D2B).$^{:§10.2,p.361}$
* All fields are MSB first.
    Field nameHeaderMaster address fieldSlave address fieldControl fieldMessage length field Data fields Data 1 ··· Data N Number of bits111211211411811811 ··· 811 Signal format Start bit Broad- cast bit Master address P Slave address P A Control bit P A Message length bit P A Data bit P A  ···  Data bit P A Transfer timeAt 6.000 MHz base clock← Mode 1Approx. 7370 μsApprox. 1590×N μs Mode 2Approx. 2090 μsApprox. 410×N μs Mode 3Approx. 1590 μsApprox. 300×N μs Remark P: Parity bit (1 bit); Even parity A: Acknowledge bit (1 bit)  When A = 0: ACK  When A = 1: NAK  In broadcast communication, the value of the acknowledge bit is ignored. N: Number of data bytes

#### Functions of Control bits

    HexBit 3Bit 2Bit 1Bit 0FunctionRemark 0x00000Reads slave status 0x30011Reads data and locks unitLocking unit 0x40100Reads lock address (lower 8 bits) 0x50101Reads lock address (higher 4 bits) 0x60110Reads slave status and unlocks unitUnlocking unit 0x70111Reads data 0xA1010Writes command and locks unitLocking unit 0xB1011Writes data and locks unitLocking unit 0xE1110Writes command 0xF1111Writes data Other than aboveUndefinedNo acknowledge bit returned

### Bit format

Each IEBus bit consists of four periods.$^{:435}$
   * Preparation period: The first or subsequent low-level (logic "1") period
   * Synchronization period: Next high-level (logic "0") period
   * Data period: Period indicating value of bit; ether low-level (logic "1") or high-level (logic "0")
   * Stop period: The last low-level (logic "1") period
* Synchronization is done by each bit.
* Time lengths of the synchronization period and data period are almost the same.
* The time of the entire bits' and each bit's specification, related to the time of each period allocated to it, differ depending both on the type of the transmit bit and on whether the unit is the master or a slave unit.

## Automotive manufacturers using IEBus

Each manufacturer has its own name, but it is not an alias of IEBus. Those are specifications of wire harness which comprise control cables based on IEBus, OSI model layer 3 and above communication protocol, audio cables, interconnection couplers, and so on.

### Pioneer

Pioneer Corporation employed IEBus for its original branded car audio in early '90s. In its earlier stage, it was used just for control bus between the head unit in dashboard and the CD changer usually placed in trunk room. Nowadays, the specification includes connection between head units, navigation systems, rear speaker systems, and so on.
* IP-Bus: Wire harness specification.

### Toyota

Pioneer Corporation pushed Toyota Motor Corporation to adopt IEBus as the genuine parts. In 1994, Toyota decided to employ IEBus for its genuine specification, but it is slightly different from that of Pioneer. It is named as AVC-LAN.
* AVC-LAN: Wire harness specification, based on mode 2.

### Honda/Acura

Pioneer Corporation also pushed Honda Motor. Honda also decided to adopt IEBus as its genuine parts specification just after Toyota do so.
* GA-NET II: Wire harness specification.
* Honda Music Link: Honda genuine gadget to connect Apple Inc. products.
* A hobbyist made touch screen controller on Acura TSX for a Car PC installed in the trunk.

### Sirius XM Satellite Radio

Sirius XM Satellite Radio is a satellite broadcasting radio operator in US. Its digital media receiver equipment utilizes IEBus.

## Evaluation boards
### SAKURA board

GR-SAKUKRA board and GR-SAKURA-FULL board are Renesas official promotion boards of RX63N chip, which enables IEBus mode 0 and 1, but not mode 2, i.e. not available for Toyota AVC-LAN. They are an Arduino pin compatible low-price ones, suitable for hobbyists. Their color of printed circuit board is SAKURA in Japanese, which means cherry blossom. To evaluate IEBus, an external 5V bus interface transceiver (driver/receiver) IC extension is required. The transceiver needs to correspond to 3.3V microcontroller (TTL logic voltage level) interface, otherwise 3.3V ↔ 5.0V level shifter is required. Dedicated terminals of RX63N chip themselves are 5V tolerant. For further information, refer to external links.

## IEBus IP core

Semiconductor intellectual property core of IEBus is available via IP core Exchange.

## IEBus-enabled ICs

Most of IEBus controller LSIs require external dedicated bus interface transceivers (driver/receiver ICs). In its earlier stage, bus interface transceiver is included in the device, but it raised some restrictions to users. As is described in Pioneer's paper, external bus interface transceiver seems much stable. Some people tried to use TI's SN75176B for this purpose, but the result seems not to be reported.
Each IEBus controller may have different implementation as long as the specification can be kept. As the result, host CPU load for each IEBus controller implementation differs.
Nowadays, there are thousands of microcontroller products to be list up, those which incorporate various different IEBus controller implementations. The following list is historically notable example.

### Independent protocol controller products
#### μPD6708 (obsoleted); by Renesas, formerly NEC Electronics

μPD6708; the world's first "IEBus protocol controller" is usually thought as the golden protocol reference LSI. This device supports full specification of IEBus mode 0, 1, and 2. It processes all the layer 1 and 2 of IEBus protocol by itself. It is connected to a host microcontroller via 3-line serial interface. 6.291 MHz base clock is generated from 12.582 MHz external resonator. This product contains IEBus interface transceiver.

#### μPD72042B (obsoleted); by Renesas, formerly NEC Electronics

μPD72042B; the second generation of IEBus controller supports mode 0 and 1. This device performs all the processing required for layers 1 and 2 of IEBus protocol. The device incorporate large transmission and reception buffers, allowing host microcontroller to perform IEBus operations without interruption. It also contain an IEBus interface transceiver which allow the device to connect directly to the IEBus interface. It is connected to a host microcontroller via 3-line or 2-line serial interface. 6.291 MHz base clock is generated from 6.291 MHz or 12.782 MHz external resonator. This product contains IEBus interface transceiver.

### bus interface transceiver ICs

Each external bus transceiver (driver/receiver) IC is recommended to connect via 180 Ω protection resistors against both Bus+ and BUS- line.

#### R2A11210SP (non promotion); by Renesas

R2A11210SP is a bus interface transceiver (driver/receiver) IC for IEBus with typically 30 mV hysteresis comparator input.

#### HA12187FP (non promotion); by Renesas, formerly Hitachi

HA12187FP is a bus interface transceiver (driver/receiver) IC suitable for IEBus.

#### HA12240FP (current, as of 2018); by Renesas, formerly Hitachi

HA12240FP is a bus interface transceiver (driver/receiver) IC for IEBus with hysteresis comparator input.

#### SN75176B; by Texas Instruments

SN75176B is a general purpose bus transceiver with 50mV typically hysteresis comparator input. It looks like suitable for IEBus, but the result by a person is not reported.

### Microcontrollers incorporates IEBus controller
#### 78K/0 Series μPD78098 Subseries (obsoleted); by Renesas, formerly NEC Electronics

μPD78P098A$^{:§20,pp.385–418}$ is an 8-bit single-chip microcontroller with on-chip 60K bytes UV-EPROM, 2K bytes RAM, and IEBus controller, which supports mode 0, 1, and 2, with full data link layer protocol support. This is the world's first microcontroller which incorporates IEBus controller. Its IEBus controller function is almost the same as that of μPD72042B, but is located as memory mapped I/O called SFR (special function registers). 6.291 MHz base clock is generated from 6.291 MHz external resonator, while host CPU core and watch timer works 8.388 MHz generated from the same external resonator. External bus interface transceiver is required.
For programming, UV-EPROM erasor, UV-EPROM writer (27C1001A compatible), and writer adapter module are required.

#### 78K/0 Series μPD78098B Subseries (obsoleted); by Renesas, formerly NEC Electronics

μPD78P098B$^{:§20,pp.428–461}$ is an 8-bit single-chip microcontroller with on-chip 60K bytes UV-EPROM, 2K bytes RAM, and IEBus controller, which supports mode 0, 1, and 2, with full data link layer support. It is probably a low noise variant of μPD78098 Subseries. Documents are refined.

#### 17K Series μPD178098A Subseries (obsoleted); by Renesas, formerly NEC Electronics

μPD178F098$^{:§17,pp.367–422}$
is an 8-bit single-chip microcontroller for DTS (Digital Tuning System) of car radio, which incorporate simplified IEBus controller, 60K bytes Flash ROM, and 3K bytes RAM. It does not support mode 0 and 2, but support mode 1 only. 6.291 MHz base clock is generated from 6.291 MHz external resonator, while host CPU core and watch timer works 8.388 MHz generated from the same external resonator. External bus interface transceiver is required.

#### 78K/4 Series μPD784938 Subseries (obsoleted); by Renesas, formerly NEC Electronics

μPD78F4938$^{:§20,pp.467–510}$ is a 16-bit single-chip microcontroller for car audio, which incorporate simplified IEBus controller, 256K bytes Flash ROM, and 10K bytes RAM. It does not support mode 0 and 2, but support mode 1 only. 6.291 MHz base clock is generated from 6.291 MHz external resonator. External bus interface transceiver is required.

#### V850 Family: V850/SB2 (non promotion); by Renesas, formerly NEC Electronics

V850/SB2$^{:§19,pp.541–599}$ is a long running 32-bit microcontroller employs IEBus controller with the 1st generation V850 CPU core. Its IEBus controller is simplified from previous ones. It does not support mode 0 and 2, but support mode 1 only.$^{:541}$ 6.291 MHz base clock is generated from 6.291, 12.582, or 18.873 MHz external resonator.$^{:257}$ This source clock is shared in the whole system in the chip including watch timer. A 32.768 kHz external crystal resonator is not used usually to reduce total BOM cost.
External bus interface transceiver is required, but external 5V I/O power supply is internally regulated to 3.3V or 3.0V,$^{:517}$ which enables same voltage supply with external bus interface transceiver. In addition, this product intended to design for ultra low-noise, which enables high RF receiving sensitivity for car radio.$^{:41–44}$ In addition, starter motor mask time and electrical current amplitude is well balanced.
LoL: on 03/23/2017 Rensas Electronics said "An external differential driver is required on the transmit/receive data line (not manufactured by NEC Electronics)," but NEC Electronics is currently Renesas Electronics, and Renesas Electronics (formerly Hitachi) had been manufacturing "an external differential driver" named HA12240FP. In Japanese, it is said as "当社" which means Renesas Electronics itself.

#### V850 Family: V850E/Sx3-H (current, as of 2018); by Renesas, formerly NEC Electronics

V850E/SJ3-H and V850E/SK3-H$^{:§20,pp.973–1039}$ are 2nd generation V850 (E1 core) 32-bit microcontrollers. Its IEBus controller is simplified, but supports both mode 1 and mode 2, not for mode 0. External bus interface transceiver is required. These products includes the V850E1 CPU core and peripheral functions. As for automotive network, these are equipped with IEBus and CAN (Controller Area Network) controllers.

#### V850 Family: V850ES/Sx2 (non promotion); by Renesas, formerly NEC Electronics

V850ES/SG3 and V850ES/SJ3 are 3rd generation V850 (ES core) 32-bit microcontrollers those contain IEBus controller.

#### V850 Family: V850ES/Sx3 (current, as of 2018); by Renesas, formerly NEC Electronics

V850ES/SG3$^{:§18,pp.632–697}$ and V850ES/SJ3$^{:§18,pp.660–725}$ are 3rd generation V850 (ES core) 32-bit microcontrollers. Its IEBus controller is simplified, but supports both mode 1 and mode 2, not for mode 0. External bus interface transceiver is required. These products includes the V850ES CPU core and peripheral functions. As for automotive network, these are equipped with IEBus and CAN (Controller Area Network) controllers.

#### V850 Family: V850E2/Sx4-H (non promotion); by Renesas, formerly NEC Electronics

V850E2/SG4-H, V850E2/SJ4-H, and V850E2/SK4-H$^{:§30,pp.2195–2323}$ are 5th generation V850 (E2v3 core) 32-bit microcontrollers. Its IEBus controller is simplified, but supports mode 1 and 2 with 32-byte buffers both for transmission and for reception.$^{:2199}$ It also has automatic mechanism both for reissuing master requests when arbitration loss occurs; and for responding to slave status requests.$^{:2199}$ Its supply clock is 8.000 MHz,$^{:2199}$ which might not have compatibility with 6.291$_{456}$ MHz base clock systems, almost all of car audio customer uses. It should be 8.388 MHz or nearest. External bus interface transceiver is required.
These products includes the V850E2M CPU core and peripheral functions. As for automotive audio network, these are equipped with IEBus, CAN (Controller Area Network), LIN, PCM interface, MediaLB, and Ethernet controllers.

#### F2MC-16LX: MB90580C Series (current, as of 2018); by Cypress, formerly Fujitsu Microelectronics

MB90580C Series;$^{:§21,pp.345–408}$ F2MC-16LX 16-bit microcontroller of Cypress Semiconductor (formerly Fujitsu Microelectronics) has IEBus controller. It supports full feature of IEBus mode 0, 1, and 2, with 8-byte FIFO both for transmission and reception. Embedded peripheral resources performs data transmission with an intelligent I/O service function without the intervention of the CPU, enabling real-time control in various applications. External bus interface transceiver is required.

#### M16C Family: M16C/50 Series (current, as of 2018); by Renesas, formerly Mitsubishi Electric

M16C/5L Group and M16C/56 Group$^{:§21.3.5,pp.486–487}$ is a 16-bit microcontroller with M16C/60 Series CPU Core. UART2 can be used for IEBus controller as special mode 3 (IE mode). External bus interface transceiver is required.

#### H8S Family: 2258 Group (current, as of 2018); by Renesas, formerly Hitachi

H8S/2258 and H8S/2256$^{:316}$$^{:§14,pp.481–546}$ is a long running microcontroller comprised internal 32-bit configuration H8S/2000 CPU core with 16-bit external bus controller. Its IEBus controller supports mode 0, 1, and 2 with 1 byte data buffer both for transfer and reception. External bus interface transceiver is required.

#### RX Family: RX63N Group (current, as of 2018); by Renesas

RX63N$^{:§39,pp.1639–1680}$ is a recent 32-bit microcontroller. Its IEBus controller supports mode 0, and 1 (not 2). Arduino pin compatible low-price evaluation board, called SAKURA, is available for hobbyists.