ScEpTIC.emulator.custom_devices.FBTCLogicOnly package

Submodules

ScEpTIC.emulator.custom_devices.FBTCLogicOnly.changepoint_detector module

class ScEpTIC.emulator.custom_devices.FBTCLogicOnly.changepoint_detector.ChangePointDetectorLogic(R1, R2, system_model)

Bases: object

Base model of the FBTC Changepoint Detector.

output(vreg_voltage)

Outputs the logical value of the Changepoint Detector :param vreg_voltage: voltage of the voltage regulator :return: a changepoint is reached

class ScEpTIC.emulator.custom_devices.FBTCLogicOnly.changepoint_detector.ChangepointChargeDetectorLogic(R1, R2, system_model)

Bases: ChangePointDetectorLogic

Model of the FBTC Changepoint Charge Detector. It consists in an OpAmp that outputs if the voltage of the energy buffer is higher than a certain threshold w.r.t. the voltage of the voltage regulator.

output(vreg_voltage)

Outputs the logical value of the Changepoint Charge Detector :param vreg_voltage: voltage of the voltage regulator :return: a charge changepoint is reached

class ScEpTIC.emulator.custom_devices.FBTCLogicOnly.changepoint_detector.ChangepointDischargeDetectorLogic(R1, R2, system_model)

Bases: ChangePointDetectorLogic

Model of the FBTC Changepoint Discharge Detector. It consists in an OpAmp that outputs if the voltage of the energy buffer is lower than a certain threshold w.r.t. the voltage of the voltage regulator.

output(vreg_voltage)

Outputs the logical value of the Changepoint Discharge Detector :param vreg_voltage: voltage of the voltage regulator :return: a discharge changepoint is reached

Module contents

class ScEpTIC.emulator.custom_devices.FBTCLogicOnly.FBTCSystemModelLogicOnly

Bases: CustomDevice

FBTC system model - Energy model included in lookup table (voltage regulator and FBTC components)

get_signals()
Returns:

a list with the signals collected from this device

get_signals_strings()
Returns:

a list with the names of the signals that may be collected from this device

init(print_enabled=True)

Initializes the FBTC circuit :param print_enabled: enables/disables print messages :return: the number of clock cycles executed by the MCU during the initialization of custom device operations

name = 'FBTC-real'
op_mode_name = 'FBTC_ISR'
operational_zones = {1.8: '1MHz', 2.2: '8MHz', 2.8: '12MHz', 3.3: '16MHz'}
run_logic()

Runs the FBTC logic (detects if a changepoint is reached and changes voltage and frequency accordingly :return: the number of clock cycles executed by the MCU during custom device operations

sensitivity = 0.005
setup(system_model)

Setup the FBTC device. Note that this is a callback called by the system model :param system_model: the system model

voltage_dividers = {'charge': {'R1': '2M', 'R2': '8M'}, 'discharge': {'R1': '150K', 'R2': '10M'}}