Design and Implementation of a Speed-Loop-Periodic-Controller-Based Fault-Tolerant SPMSM Drive System