Communication Interfaces

Protocol Description Resources
RS-232/RS-422
A traditionally favored long and short distance full-duplex communications medium.

A great deal of equipment still has RS-232 ports on them for control or diagnostics. Even newer designs that use USB tend to follow a RS-232 like protocol over the USB.

Most of the CCS development boards have a RS-232 port. However, it is getting harder to find RS-232 on a PC. You may need a DB9/USB cable to talk to a PC.

The CCS serial port monitor in the IDE can be used on the PC to monitor or interact with RS-232.

RS-485
RS-485 is a multi-drop version of RS-232 allowing many devices to communicate over the same two wires. It is popular with industrial thermostats, security systems, manufacturing equipment and anything where the need is to easily to connect multiple nodes.
I2C
Simple 2-wire, multi-drop, bi-directional protocol developed by Philips as a way for microcontrollers to communicate with smart IC chips, usually on the same PCB. Used for communication with EEPROMs, ADCs, DACs and similar parts.
SPI
Similar to I2C, except for multi-drop, an extra wire for each node is required. Simpler to implement, but also has several variations without a strong standard.
CANBUS
A 2-wire longer distance multi-drop protocol popular in automobiles. Strong standard for the protocol, but not so much for the physical layer. It is somewhat complex to implement.
LIN
Intended as a simpler, less robust version of CANBUS for applications that need to be low cost and are not critical.
MODBUS
This is a higher level protocol built on a RS-485 physical layer. It adds a standard addressing mechanism and message format. Used in industrial controls.
  • Coding Hint
    • Use the Wizard in the IDE to generate basic code.
  • Example Code
    • EX_MODBUS_MASTER.c
    • EX_MODBUS_SLAVE.c
BACNET
Another high level protocol typically built on a RS-485 base but sometimes seen on TCP/IP. This is a very heavy protocol with quite a bit of flexibility built in. Used for building automation like commercial HVAC systems.
USB
Intended as a high speed replacement for PC RS-232 ports. This protocol has device addressing and a complex handshaking scheme for both devices to get to know each other (called enumeration). There are several protocol modes depending on the device needs. The physical specification also includes distributing power from the host to the peripheral.
Bluetooth®
A short range wireless protocol intended as an alternative to USB. Because there is not a wired connection Bluetooth® has a pairing procedure to decide what device talks to what host.
TCP/IP
A well defined multi-layer protocol that makes up the foundation of the Internet. Local networks typically use Ethernet as the physical layer for TCP/IP.
WiFi
A wireless physical layer for TCP/IP.
1-Wire
Defined by Dallas semiconductor (now Maxim Integrated), this simple protocol is used to transfer small amounts of data over a single wire. Used for touch ID badges and shipping containers.
4-20ma
Essentially an analog signal as opposed to a formal protocol. Widely used for various sensors. A current measurement is used instead of voltage to remove cable loss error.
IR
A modulated infrared signal made popular with TV remotes and some PC peripherals.
Zigbee™
A multi-layer wireless protocol that features the capability for each node to also be a router to extend the effective range. Primarily used in industrial environments but also seen in some home wireless systems.
ZWave
A wireless protocol used in home wireless systems such as lighting control.
RFID
A very short range wireless protocol that can be used with un-powered slave devices. The power is extracted from the RF signal of the reader. Intended as a replacement for optical bar codes there are also bi-directional versions of RFID. Used for building keycards, animal tracking, shipping containers and automated toll booths.
LoRaWAN®
A Low Power, Wide Area (LPWA) networking protocol that can be used with wireless Internet of Things (IoT) devices.