This page is for developers to decide on communication options

Most microcontrollers have these native communication protocols:

All 4 types are used on GenBoard/VerThree.

There are other protocols used in the industry for several reasons:

TODO: links

MAX232 onboard or in cable

Connectivity to existing systems (certainly including RS232) must be maintained at a reasonable cost. After that, decision is mainly statistics (of tendencies out of our control) and costs.

Reasons for max232 in the cable

Reasons for onboard max232

For these reasons, onboard RS232 is not a bad solution at all. Max232 will surely show up on many boards for quite some time.

Far future

CAN is mostly for communication between boards. While we want developer PCs to be part of the CAN network for testing and debugging, CAN is not likely to be the primary interface for general communication to the PC (for users) anytime soon.

Maybe in a few years when we want to move huge amounts of data for some reason, we want Ethernet onboard as well (the only cheap option today to move much data into a PC), but not for now.

Find the missing link - play this game: help to fill out the matrix. Links, products, notes...

Don't worry: 5..6 adapters cover everything we want, and 3 cover 95% of the needs.

The major communication matrix: native protocols to other protocols:

 RS232USBEthernetBluetoothZigbee1-wireFirewire1CAN RS422RS485Radio
UARTMAX232FTDI, ProlificEthernet?????ZigbeeDS2480BFirewireCAN RS422RS485RadioBoard, [modules for 50..80 Euro]
BUS16550A, all uCFTDI, ProlificRTL8019,CS8900many chipsetsMica MoteDallas?Firewireinside LPC2119, XC166 RS422RS485CC1000
SPIRS232USBEthernetBluetoothZigbee1-wireFirewireMCP2551?RS422RS485RadioBoard ?
I2CRS232USBEthernetBluetoothZigbee1-wireFirewire Philips? RS422RS485RadioBoard ?

The secondary communication matrix: other protocols to other protocols not needed too much but they might come handy sometime. The matrix below will be scarce.

 RS232USBEthernetBluetoothZigbee1-wireFirewire1CAN RS422RS485Radio
RS232 X USB-RS232 cableRs2Net box, ser2net on PCBluetoothRs?232Zigbee1-wireFirewire[can232]RS422RS485RadioBoard
USBxXEthernetofftheshelf devicesZigbee1-wireFirewire[can232]RS422RS485Radio
EthernetxxXBluetoothZigbee1-wireFirewireCAN RS422RS485-
BluetoothxxxXZigbee1-wireFirewireCAN RS422RS485Radio
ZigbeexxxxX1-wireFirewireCAN RS422RS485Radio
1-wirexxxxxXFirewireCAN RS422RS485Radio
FirewirexxxxxxXCAN RS422RS485Radio


Note that native protocols to native protocols is NOT needed (no 3d matrix).

TODO: translate both matrices (so the first is rather tall than wide, and the 2nd has most info on left side)

Note that the above is not all protocols ever used. Many other in-car and in-plane plane protocols exist. See CanBus for others like flexray and [OBDII standard] used for emission and diagnostic equipment.

RS232 to USB or RS232 to CAN is not too hard, since many controllers (ARMs, Atmel AVR, Philips SJA1000 even microchip PIC) has either USB or CAN and all has FBUS (from which RS232 is just a max232 away).

However USB and CAN in one uC is not common, but will be available in the IonSense generation VEMS controllers.

See also: