Nach Anlegen der Betriebsspannung nimmt der FlexRay-Controller den Zustand „Default Config“ solange ein, bis er vom Host in den Zustand „Config“ versetzt wird, um konfiguriert zu werden. Nach Abschluss versetzt der Host den FlexRay-Controller in den Zustand „Ready“: der FlexRay-Controller ist zwar betriebsbereit, muss aber noch den Startup durchlaufen. Allerdings kann der FlexRay-Controller in diesem Zustand bereits sog. „Wakeup Patterns“ empfangen. Nach Empfang eines selbigen wechselt der FlexRay-Controller in den Zustand „Wake Up“, den er auch einnehmen muss, wenn er den FlexRay-Cluster wecken will. Über den Zustand „Startup“ gelangt ein FlexRay-Controller in den Betriebszustand („Normal Active“): der FlexRay-Controller nimmt an der FlexRay-Kommunikation teil.
In die Zustände „Normal Passive“ und „Halt“ wechselt der FlexRay-Controller nach Detektion bestimmter Fehler. Im Zustand „Normal Passive“ kann ein FlexRay-Controller nur noch empfangen. Im Zustand „Halt“ stoppt der FlexRay-Controller alle internen Prozesse und muss im Anschluss daran in den Zustand „Default Config“ wechseln.
Der Host kann den Controller von jedem Zustand aus in den Zustand „Halt“ versetzen. Der Host kann den Controller von den Zuständen „Wake Up“, „Startup“, „Normal Active“ und „Normal Passive“ in den Zustand „Ready“ versetzen.