MCU Self-Identification via Flash Data Object

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customers face significant time and expense in developing customized main programs for microcontroller units (MCUs) due to variations in resources across different family members, which can lead to errors if incorrect family member specific information is used, and the storage of expanded definition files can be problematic in MCUs with limited flash memory.

Innovation Solution

A data object containing MCU self-identification information is written to flash memory during final testing, allowing the common main program to adapt to the unique resources of each MCU, including base addresses for peripherals, enabling generic drivers to function across various MCU configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If customized main programs are developed for each MCU family member, then resource utilization accuracy is improved, but development time and expense increase

Engineering Contradiction:
Improveresource utilization accuracyVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements a universal main program that can run on multiple MCU family members by reading device-specific identification information from non-volatile memory at runtime. This single program adapts to different resource configurations (peripheral base addresses, memory sizes, available peripherals) based on the identified device type, eliminating the need to develop separate customized programs for each family member while maintaining accurate resource utilization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent stores MCU family member identification information in non-volatile memory during the manufacturing process. This preliminary action enables the universal main program to automatically identify the specific device type at runtime and adapt its behavior accordingly, resolving the contradiction by preparing device-specific information in advance without requiring separate program development for each device variant.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If expanded definition files are stored in flash memory, then resource adaptation capability is improved, but available flash memory for application code decreases

Engineering Contradiction:
Improveresource adaptation capabilityVSAvoidavailable flash memory
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential device identification information (MCU family member identifier) from what would otherwise be comprehensive expanded definition files. This minimal identification data is stored in non-volatile memory, allowing the universal program to adapt to different resources without storing large definition files in flash memory, thus preserving flash space for application code while maintaining resource adaptation capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a compact identification copy (device ID stored in non-volatile memory) that represents the full resource configuration information. Instead of storing complete definition files in flash, the system stores a small identifier that allows the universal program to determine the appropriate resource configuration, significantly reducing flash memory requirements while maintaining full adaptability.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If a common main program is used across MCU family members, then development cost is reduced, but resource utilization accuracy deteriorates

Engineering Contradiction:
Improvedevelopment costVSAvoidresource utilization accuracy
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The patent implements a dynamic common main program that reads device identification information from non-volatile memory at runtime and adapts its behavior based on the identified MCU family member. This dynamic adaptation allows a single program to accurately utilize the specific resources (peripheral addresses, memory sizes, available peripherals) of each device type, maintaining resource utilization accuracy while preserving the cost benefits of a common program across the family.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10649895B2Common MCU self-identification information
Publication Date: 2020.05.12 RENESAS ELECTRONICS AMERICA INC
  • US10649895B2 patent drawing
  • US10649895B2 patent drawing
  • US10649895B2 patent drawing

AI summary

Common microcontroller unit (MCU) self-identification information is disclosed. In one embodiment, an MCU is contained in a package. The MCU includes a central processing unit (CPU) and a non-volatile memory. This non-volatile memory stores information specific to the MCU and/or the package. The non-volatile memory also stores a common main program that, when executed by the CPU, accesses the information. The information enables the common main program to adapt itself to resources of the MCU and/or package that are identified in the information.