Multi-Function GPIO Pin Configuration via Register Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current management controller systems lack a generic mechanism to program general-purpose input/output (GPIO) pins for multiple functionalities, leading to potential malfunctions when multiple functions are enabled simultaneously.

Innovation Solution

A system and method that includes a management controller with a processor and non-volatile memory, where computer executable code configures GPIO pins to provide specific functionalities by setting corresponding register values, allowing each pin to be enabled for a selected function while disabling conflicting functions, enabling multiple functionalities such as SD, I2C, and UART without interference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple functionalities are enabled simultaneously on a GPIO pin, then the pin can provide multiple functions, but it causes malfunction of particular functionality or the system itself

Engineering Contradiction:
Improvemulti-functionality of GPIO pinVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic configuration of GPIO pin functionalities through a configuration register that allows the system to switch between different functional modes (GPIO mode, I2C mode, SPI mode, UART mode) at runtime. This dynamic switching capability enables the same physical pin to adapt to different functional requirements while maintaining system stability by ensuring only one function is active at any given time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the GPIO pin by modifying the configuration register values to transition between different functional states. By changing the register parameters, the system can reconfigure the pin's behavior (input/output direction, communication protocol, signal timing) to match the selected functionality, thereby achieving multi-functionality without conflict.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If a generic mechanism is implemented to program GPIO pins for multiple functionalities, then configuration flexibility is improved, but device complexity increases

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidcontrol mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal configuration mechanism through a single configuration register that can control multiple GPIO pins across different functional modes (GPIO, I2C, SPI, UART). This universal approach allows the same control structure to manage diverse pin configurations, reducing the need for separate control logic for each function and thereby limiting the increase in device complexity.

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

Solution Approach 2:

The configuration register acts as an intermediary between the software/firmware and the physical GPIO pins. By introducing this intermediate control layer, the patent abstracts the complexity of pin configuration, allowing high-level software to select functionalities without directly managing complex hardware registration and timing parameters, thus containing the complexity within a manageable interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10509750B2System and method for controlling multi-function pins in management controller stack
Publication Date: 2019.12.17 AMERICAN MEGATRENDS
  • US10509750B2 patent drawing
  • US10509750B2 patent drawing
  • US10509750B2 patent drawing

AI summary

Systems and methods for controlling multi-function general purpose input/output (GPIO) pins in a management controller stack, such as a baseboard management controller (BMC) stack. The system includes a management controller, which includes multiple pins. The management controller provides multiple functionalities, and each of the functionalities is related to at least one of the pins. In operation, the management controller provides a graphic user interface, which shows the functionalities, allowing the user to input an instruction to select one of the functionalities. Upon receiving the selected functionality, for each of the pins related to the selected functionality, the management controller sets a value of a corresponding register to indicate a functional status of the pin, such that the pins may provide the selected functionality based on the value of the corresponding registers.