Microcontroller Peripheral Register Initialization Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The initialization of microcontroller peripherals is costly in terms of execution time and power consumption due to the significant time required for the initialization procedure, which limits the effectiveness of the idle mode and energy savings.

Innovation Solution

A method and circuit configuration that allows for simultaneous initialization of multiple peripheral registers using an initialization bus distinct from the main bus, prioritizing access to non-volatile memory and peripherals, enabling concurrent transfer of initialization data and reducing reliance on the processing unit and program memory resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional initialization procedure is used (executing a sequence of instructions stored in non-volatile memory), then the registers can be initialized correctly, but the execution time and power consumption are significantly increased

Engineering Contradiction:
Improveregister initialization correctnessVSAvoidinitialization execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The initialization procedure is segmented into two distinct parts: (1) a compact initialization data structure stored in non-volatile memory containing only the essential register values, and (2) an initialization circuit that directly loads these values into registers without requiring full program execution. This segmentation separates the data from the processing logic, enabling faster initialization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An initialization circuit is introduced as an intermediary component between the non-volatile memory and the peripheral registers. This dedicated circuit directly transfers initialization data without requiring the central processing unit to execute instructions, thereby reducing execution time and power consumption while ensuring correct register initialization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a traditional initialization procedure is used (executing a sequence of instructions stored in non-volatile memory), then the registers can be initialized correctly, but the power consumption is significantly increased

Engineering Contradiction:
Improveregister initialization correctnessVSAvoidinitialization power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The initialization procedure is segmented into two distinct parts: (1) a compact initialization data structure stored in non-volatile memory containing only the essential register values, and (2) an initialization circuit that directly loads these values into registers without requiring full program execution. This segmentation separates the data from the processing logic, enabling faster initialization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An initialization circuit is introduced as an intermediary component between the non-volatile memory and the peripheral registers. This dedicated circuit directly transfers initialization data without requiring the central processing unit to execute instructions, thereby reducing execution time and power consumption while ensuring correct register initialization.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the initialization procedure is executed by the central unit using the main bus, then the initialization can be performed, but the activation time from idle mode is delayed

Engineering Contradiction:
Improveinitialization executionVSAvoidactivation speed from idle mode
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The initialization procedure is segmented into two distinct parts: (1) a compact initialization data structure stored in non-volatile memory containing only the essential register values, and (2) an initialization circuit that directly loads these values into registers without requiring full program execution. This segmentation separates the data from the processing logic, enabling faster initialization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An initialization circuit is introduced as an intermediary component between the non-volatile memory and the peripheral registers. This dedicated circuit directly transfers initialization data without requiring the central processing unit to execute instructions, thereby reducing execution time and power consumption while ensuring correct register initialization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8677033B2Method for initializing registers of peripherals in a microcontroller
Publication Date: 2014.03.18 STMICROELECTRONICS (ROUSSET) SAS
  • US8677033B2 patent drawing
  • US8677033B2 patent drawing
  • US8677033B2 patent drawing

AI summary

Embodiments described in the present disclosure relate to a method for initializing registers of peripherals of a microcontroller, including acts of: accessing initialization data in a non-volatile memory connected by a main bus to a processing unit of the microcontroller and to the peripherals, activating a peripheral including registers to be initialized, and transferring the data read into the registers of the activated peripheral, the initialization data being accessed in the memory by an initialization circuit distinct from the processing unit, the initialization data accessed being sent to the peripherals by an initialization bus distinct from the main bus.