Control Loops

There are 3 methods of controlling the TI2 depending on the device state. Normal Operation, Bypass Operation, and Silent Operation.

Normal Operation

  1. EPS torque sensor 5v supply pulls MCU MCLRs (active low reset). All Interrupts are enabled.

  2. EPS sends a request pulse to MCU. External interrupt detects pulse. The external interrupt is disabled. MCU sends a request pulse to the torque sensor.

  3. The torque sensor responds with reading. Sensor reading is buffered. The external interrupt is re-enabled.

  4. During this time the main loop reads the LKAS command and uses a copy of the buffered torque sensor reading, applies limits and offsets the LKAS command based on the CPU ID and calculates the new steering torque.

  5. EPS sends the next request pulse to MCU. External interrupt detects pulse. The external interrupt is disabled.

  6. MCU sends the steering torque. MCU sends a request pulse to the torque sensor.

Steps 3 to 6 are constantly repeated in the DRIVE state. If the MCU exits the DRIVE state, it will immediately revert to using the buffered sensor readings and enter bypass operation.

Bypass Operation

  1. EPS torque sensor 5v supply pulls MCU MCLRs (active low reset). All Interrupts are enabled.

  2. EPS sends a request pulse to MCU. External interrupt detects pulse. The external interrupt is disabled. MCU sends a request pulse to the torque sensor.

  3. The torque sensor responds with reading. Sensor reading is buffered. The external interrupt is re-enabled.

  4. EPS sends the next request pulse to MCU. External interrupt detects pulse. The external interrupt is disabled.

  5. MCU sends buffered sensor readings. MCU sends a request pulse to the torque sensor.

Steps 3 to 5 are constantly repeated in the ERROR state. If the MCU enters the CRITICAL_ERROR state, the MCU will not respond to the EPS request pulses.

Silent Operation

  1. EPS sends a request pulse to MCU. External interrupt detects pulse. The external interrupt is disabled.

  2. The main loop flashes the status LED and clears the watchdog timer.

Step 2 is constantly repeated until reset.

Last updated