Software-Based Monitoring and Analysis of a USB Host Controller Subject to Electrostatic Discharge
Observing, understanding, and mitigating the effects of failure in embedded systems is essential for building dependable control systems. We develop a software-based monitoring methodology to further this goal. This methodology can be applied to any embedded system peripheral and allows the system to operate normally while the monitoring software is running. We use software to instrument the operating system kernel and record indicators of system behavior. By comparing those indicators against baseline indicators of normal system operation, faults can be detected and appropriate action can be taken. We implement this methodology to detect faults caused by electrostatic discharge in a USB host controller. As indicators, we select specific control registers that provide a manifestation of the internal execution of the host controller. Analysis of the recorded register values reveals differences in system execution when the system is subject to interference. %We also develop a classifier capable of predicting whether or not the system's behavior is being affected by such shocks. This improved understanding of system behavior may lead to better hardware and software mitigation of electrostatic discharge and assist in root-cause analysis and repair of failures.