COMMUNICATION ICs
Application Note
C-BUS
Microcontroller Interface
¤
¤¤
¤2001 MX-COM, I n c. www.mxcom.com tel: 800 638 5577 336 744 5050 fax: 336 744 5054 Doc. # 20830144.001
4800 Bethania Station Road, Wins t on-Salem , NC 27105-1201 USA All Trademarks and service mark s are held by their res pec t ive com panies.
C-BUS Microcontroller Interface
This document is meant to serve as a definition and introduction to the C-BUS interface. Timing parameters
with wide applicability to MX-COM products are discussed in this application note. For detailed information
concerning specific signal timing requirements, please refer to the respective MX-COM device data bulletin.
For any questions on this material or on any MX-COM product, please contact MX-COM directly at 800-638-
5577 or by email at apps@mxcom.com.
C-BUS is the name given to the synchronous serial microcontroller (µC) interface developed by MX-COM.
This interface is compatible with most common serial µC interfaces and may also be easily implemented with
general purpose µC I/O pins controlled by a simple software routine.
The C-BUS hardware interface consists of five lines:
- SERIAL CLOCK: this is the timing source used by the µC to control communications with the
MX-COM device. All C-BUS commands and data transfers are synchronized, in bursts of 8 bits, to
this clock signal.
- COMMAND DATA: used to transfer register addresses and device configuration data from the host
µC to the selected MX-COM device.
- REPLY DATA: used to transfer requested data from the MX-COM device to the host µC. Reply Data
is only available if a command (request) is first sent to the MX-COM device on the Command Data
line.
- CHIP SELECT (/CS): active low signal to the MX-COM device that initiates, completes, or aborts all
C-BUS sequences.
- INTERRUPT REQUEST (/IRQ); active low signal that indicates when the MX-COM device is in need
of servicing.
Most MX-COM devices transfer data in 8 bit bursts across the C-BUS interface. (The CMX264, however,
uses an 11 bit burst.) A data transfer requiring more data than can be contained in an 8 bit burst is completed
using multiple 8 bit bursts. A complete data transfer, also called a transaction, is composed of all actions that
occur between /CS (“Chip Select”) falling and rising transitions. This document describes 8-bit-burst C-BUS
transactions, as well as the 11 bit transactions used in the CMX264. Example C-BUS timing diagrams are
included at the end of this document.
Chip Select (/CS, CSN)
/CS is taken low to start a transaction and should not be taken high until the transaction is completed. If /CS is
taken high during a transaction, that transaction is aborted. The /CS signal must be held low during data
transfers and kept high between transfers.
During a single C-BUS transaction, only one register can be written to or read from. Multiple register reads
can not be performed during a single /CS active period (e.g. taking /CS low, writing to multiple registers,
reading from multiple registers, and then taking /CS back high; this will cause erroneous operation).
Once a C-BUS transaction is complete, the /CS signal must be taken to a high logic level and kept at a high
logic level for a prescribed amount of time before the next transaction can begin. This parameter is typically
referred to as “tCSOFF” (/CS-High Time Between Transactions) in MX-COM product literature.
Serial Clock
The timing signal for data transfer between the µC and the MX-COM device is provided on this line. Data is
transferred to and from the MX-COM device on the rising edge of the Serial Clock signal. The Serial Clock
rate should be harmonically related to (Crystal/Serial Clock) = 32, as a Serial Clock signal of this frequency will