Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Hardware Validation - Rev 1

Validation Steps

Status

Blockers

Outputs

  • Verify Operation of Load switches using bts_load_switch driver Adhiraj Singh
  • Verify Operation of Outputs using Output Config Adhiraj Singh
  • Verify current readings
  • Verify multiplexor with current readings
  • Trigger Undervoltage/overvoltage conditions, see if it triggers interrupt (do after everything else in case board explodes)

IN PROGRESS

Output Read verification

  • Verify Outputs are successfully read in main loop

BLOCKED

Need gpio expanders verified

Lights FSM verification

  • Verify by setting can messages internally
  • Verify by sending can messages over PEAK CAN

BLOCKED

Need all previous verified

Power FSM Verification

  • Verify by setting can messages internally
  • Verify by sending can messages over PEAK CAN

BLOCKED

Need all previous verified

Hardware Validation - Rev 2

Validation Steps

Status

Blockers

IO expander

Verify PCA expanders are able to communicate with STM

  • PCA 1 (0x24)
  • PCA 2 (0x26)

Outputs

Verify outputs all enable/disable as expected

  • SOLAR_SENSE_1
  • SOLAR_SENSE_2
  • PEDAL
  • STEERING
  • LEFT_TURN
  • RIGHT_TURN
  • DRL_LIGHT
  • BRAKE_LIGHT
  • CENTER_CONSOLE
  • BMS_DCDC
  • MCI
  • BPS_LIGHT
  • SPARE_12V_1
  • SPARE_12V_2
  • BMS_AUX
  • DRIVER_FAN
  • REAR_CAM_LCD
  • SPARE_5V_DCDC
  • TELEMETRY
  • SPARE_5V_AUX

Output isense read

Verify Mux select allows for output current values to be read:

  • SOLAR_SENSE_1
  • SOLAR_SENSE_2
  • PEDAL
  • STEERING
  • LEFT_TURN
  • RIGHT_TURN
  • DRL_LIGHT
  • BRAKE_LIGHT
  • CENTER_CONSOLE
  • BMS_DCDC
  • MCI
  • BPS_LIGHT
  • SPARE_12V_1
  • SPARE_12V_2
  • BMS_AUX
  • DRIVER_FAN
  • REAR_CAM_LCD
  • SPARE_5V_DCDC
  • TELEMETRY
  • SPARE_5V_AUX

AUX Valid pins

Ensure AUX valid low when no AUX supply connected

  • AUX_VALID_1
  • AUX_VALID_2

Ensure AUX Valid high when aux is connected

  • AUX_VALID_1
  • AUX_VALID_2

DCD Valid pins

Ensure DCDC valid low when no DCDC supply connected

  • DCDC_VALID_1
  • DCDC_VALID_2

Ensure AUX Valid high when DCDC is connected

  • DCDC_VALID_1
  • DCDC_VALID_2

Output Config and Power FSM Validation

For the outputs, CAN TX indicates a message we expect to see, LOG indicates an expected printed message, OUTPUT indicates the expected output group to be set

Validation Steps

Initial Conditions

Outputs

  • Outputs correct for each output group

Check for each power state, ensure only the correct outputs are set

  • POWER_FSM_OUTPUT_OFF
  • POWER_FSM_OUTPUT_ON
  • POWER_FSM_OUTPUT_DRIVE
  • POWER_FSM_OUTPUT_FAULT

  • LIGHTS_OUTPUT_BPS
  • LIGHTS_OUTPUT_LEFT
  • LIGHTS_OUTPUT_RIGHT
  • LIGHTS_OUTPUT_HAZARDS

N/A

See Power Distribution Design doc for expected outputs

  • FSM Initial State

On startup, output group enabled is POWER_FSM_OUTPUT_OFF

Initial Power On

Initial state is Power FSM OFF (BMS and Centre Console Outputs Enabled)

LOG: STATE = POWER_OFF

  • POWER_OFF to TRANSMIT_BMS_CLOSE_RELAYS

Both centre console messages

  • EE_CC_PWR_CTL_EVENT_BTN_AND_BRAKE and
  • EE_CC_PWR_CTL_EVENT_BTN

should cause a transition to TRANSMIT_BMS_CLOSE_RELAYS. After 3sec with no relay message, we should return to POWER_OFF

From POWER_OFF send
cc_power_control_power_event == EE_CC_PWR_CTL_EVENT_BTN or BTN_AND_BRAKE

CAN TX: relay_request_set_relays == EE_RELAY_STATE_CLOSED

LOG: STATE = BMS_RELAYS

after 3 seconds

LOG: STATE = POWER OFF

OUTPUT: POWER_OFF

  • POWER_OFF TO POWER_ON

If PD receives a PWR_CTL_EVENT_BTN and then a relays_closed state from BMS, we should transition to POWER_ON

From POWER_OFF send
cc_power_control_power_event == EE_CC_PWR_CTL_EVENT_BTN

and battery_relay_info_state == EE_RELAY_STATE_CLOSED

CAN_TX:

  • power_info_power_state == EE_POWER_ON_STATE

LOG: Transitioned to DRIVE STATE

OUTPUT: POWER_ON

  • POWER_ON to POWER_OFF

Both centre console messages

  • EE_CC_PWR_CTL_EVENT_BTN_AND_BRAKE and
  • EE_CC_PWR_CTL_EVENT_BTN

should cause a transition to POWER_OFF

From POWER_ON, send either of the two PWR_CTL_EVENTS to the controller board

CAN_TX:

  • power_info_power_state == EE_POWER_OFF_STATE

  • relay_request_set_relays == EE_RELAY_STATE_OPEN

LOG: Transitioned to OFF STATE

OUTPUT: POWER_OFF

  • POWER_OFF to POWER_DRIVE through POWER_ON

A successful transition to POWER_DRIVE from POWER_OFF requires the following in order:

  • EE_CC_PWR_CTL_EVENT_BTN received

  • battery_relay_info_state == EE_RELAY_STATE_CLOSED received

  • EE_CC_PWR_CTL_EVENT_BTN

Start in POWER_OFF, send 3 messages described

CAN_TX:

  • power_info_power_state == EE_POWER_OFF_STATE

  • power_info_power_state == EE_POWER_OFF_STATE

POWER_DRIVE to POWER_OFF

  • No labels