CommMatrix (2005-04-11 21:37:17)

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 (good designers are Capitalized :-)


Winning strategy for now

I don't see a reason to include anything onboard our next systems other than the native communication protocols and CAN. The CAN is the notable exception because it is used for critical data paths in the vehicle where we don't want too many flying boards. The other protocols are mostly for connecting to PC (datalogging and control systems). Yes, this means that even the classic MAX232 chip should live in the cable: we can manufacture small PCB that fits into the DB9 housing. When using the USB of a PC, an off-the-shelf USB-UART (called FBUS by Nokia; TODO: check MBUS and M2BUS; links) mobile phone (or PDA) cable can be used, bypassing the -+8V level alltogether.

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 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 PCBluetoothZigbee1-wireFirewire[can232]RS422RS485RadioBoard
USBxXEthernetofftheshelf devicesZigbee1-wireFirewire[can232]RS422RS485Radio
EthernetxxXBluetoothZigbee1-wireFirewireCAN RS422RS485-
BluetoothxxxXZigbee1-wireFirewireCAN RS422RS485Radio
ZigbeexxxxX1-wireFirewireCAN RS422RS485Radio
1-wirexxxxxXFirewireCAN RS422RS485Radio
FirewirexxxxxxXCAN RS422RS485Radio
CANxxxxxxxXRS422RS485Radio
RS422xxxxxxxxXRS485Radio
RS485xxxxxxxxxXRadio

notations:

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.


See also: