74 lines
3.4 KiB
Python
74 lines
3.4 KiB
Python
"""
|
|
MSP430-G2553 datasheet
|
|
Data extracted from:
|
|
- https://www.ti.com/lit/ds/symlink/msp430g2553.pdf
|
|
- D2VFS paper https://dl.acm.org/doi/10.5555/3400306.3400319
|
|
"""
|
|
|
|
datasheet = {
|
|
'family': 'MSP430G', # MCU Family
|
|
'registers': 10, # Number of general-purpose registers
|
|
'reserved_registers': 2, # Number of reserved registers (e.g. stack pointer, program counter)
|
|
'register_size': 16, # Number of bits for each register
|
|
'memory_cell_size': 16, # Number of bits for each memory cell
|
|
'volatile_memory_size': '512', # Memory size in bytes
|
|
'non_volatile_memory_size': '0', # Memory size in bytes
|
|
'has_nvm': False,
|
|
'has_adc': True,
|
|
'LPM': { # Low power modes
|
|
'LPM3': {
|
|
'V': '2.2', # Measurement Voltage of I
|
|
'I': '0.5u', # Current draw in low-power mode
|
|
'V_min': '1.8', # Minimum voltage to sustain low-power mode
|
|
't_wakeup': '1.5u', # Wakeup time
|
|
},
|
|
'LPM4': {
|
|
'V': '2.2', # Measurement Voltage of I
|
|
'I': '0.1u', # Current draw in low-power mode
|
|
'V_min': '1.8', # Minimum voltage to sustain low-power mode
|
|
't_wakeup': '1.5u', # Wakeup time
|
|
},
|
|
},
|
|
'ADC': {
|
|
'T_off_on': '100n', # Time to wait for switching the ADC on
|
|
'T_sampling': '1220n', # Time to get a sample
|
|
'I_min': '600u', # Minimum current draw of the ADC when it is active
|
|
'I_max': '600u', # Minimum current draw of the ADC when it is active
|
|
'N_init': '3', # Number of instructions to init the ADC
|
|
# set ADC mode(single); set ADC op_type(read); set ADC on
|
|
'N_off': '1', # Number of instructions to stop the ADC
|
|
# set ADC mode(off)
|
|
'N_transfer_ops': '1', # Number of instructions to retrieve data from the ADC
|
|
# var_data <- REG_ADC
|
|
'V_min': '2.2', # Minimum operating voltage for the ADC module
|
|
'V': '3', # Voltage of datasheet measures
|
|
},
|
|
'default_frequency': '1MHz',
|
|
'frequencies': {
|
|
'1MHz': {
|
|
'frequency': '1M', # Clock frequency
|
|
'V_min': '1.8', # Minimum operating voltage
|
|
'V': '1.8', # Voltage of datasheet measures
|
|
'I': '190u', # Current draw when program and data resides in SRAM
|
|
},
|
|
'8MHz': {
|
|
'frequency': '8M', # Clock frequency
|
|
'V_min': '2.2', # Minimum operating voltage
|
|
'V': '2.2', # Voltage of datasheet measures
|
|
'I': '1.383m', # Current draw when program and data resides in SRAM
|
|
},
|
|
'12MHz': {
|
|
'frequency': '12M', # Clock frequency
|
|
'V_min': '2.7', # Minimum operating voltage
|
|
'V': '2.7', # Voltage of datasheet measures
|
|
'I': '2.570m', # Current draw when program and data resides in SRAM
|
|
},
|
|
'16MHz': {
|
|
'frequency': '16M', # Clock frequency
|
|
'V_min': '3.3', # Minimum operating voltage
|
|
'V': '3.3', # Voltage of datasheet measures
|
|
'I': '4.275m', # Current draw when program and data resides in SRAM
|
|
},
|
|
}
|
|
}
|