3.7 External Communication – Component 6

Purpose of the test: Verify correctness of transferred data, as well as communication sequence and timing.

Communication with external devices is an important part of many applications. This represents a potential source of faults since communication is susceptible to noise, and either end of the communication line may be operating incorrectly. Consequently, steps must be taken to ensure that noise or faulty operation in one device does not cause faulty operation in another.

Acceptable measures for detecting faults in transferred data are multi-bit data redundancy such as repetition, CRC or Hamming codes, or protocol tests. Acceptable measures for detecting faults in communication timing are time-slot monitoring or scheduled transmissions. Acceptable measures for detecting faults in communication sequence are the same as those for timing but also include logical monitoring.

In short, a state machine based communications driver with time-outs, scheduling, and transfer redundancy should be used.