A communication interface involves a processor that communicates to
expansion modules in order to read and write discrete input/output, analog
input/output, intelligent module control, and expansion module status. The
expansion modules can be application specific integrated circuits (ASIC),
each having a state machine architecture that responds appropriately to
the input/output expansion bus signals. The ASIC can include error
detection using the first byte of messages from the controller. Thus, the
ASIC detects when an erroneous message from the controller has been
communicated and transmits a message to expansion modules that their
output states not be changed in response to the message from the
controller.