Microcontroller Peripheral Register Initialization Circuit
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


