Programmable Microcontroller I/O Interface With State Machine GPIO Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing single board computing devices like the Raspberry Pi lack extended capabilities for input and output data and control of external devices, requiring improved interface solutions for various applications.

Innovation Solution

A programmable interface for microcontrollers, featuring state machines with configurable instructions and FIFO registers, enabling flexible and efficient control of GPIO pins for diverse data transmission and device control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a programmable interface with state machines is implemented, then interface versatility and data transmission capability are improved, but device complexity increases

Engineering Contradiction:
Improveinterface versatilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The state machine interface is designed to perform multiple functions through a single programmable unit. The state machine can be configured via instruction memory to implement different interface protocols and data transmission modes, eliminating the need for separate dedicated hardware for each function. This multi-functionality approach resolves the contradiction by achieving versatility without proportionally increasing device complexity.

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

Solution Approach 2:

The interface uses simplified model representations (instruction sets, state tables) to define complex interface behaviors. Instead of implementing each interface protocol with unique complex logic, the system copies and adapts a standardized state machine framework that can be programmed to replicate different interface behaviors, reducing overall device complexity while maintaining versatility.

Inventive Principle:
Principle #26Copying

2Productivity

If FIFO registers and state machines are added to enhance data processing capability, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvedata processing capabilityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Data is pre-buffered in FIFO registers before processing by the state machine. This preliminary action allows data to be staged and organized in advance, enabling the state machine to process data in efficient batches rather than handling individual bits sequentially. This improves productivity by reducing processing overhead while the FIFO structure uses simple register-based implementation that doesn't significantly increase device complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4278267B1Interface and microcontroller
Publication Date: 2025.11.12 RASPBERRY PI TRADING LTD
  • EP4278267B1 patent drawingFigure 1
  • EP4278267B1 patent drawingFigure 2
  • EP4278267B1 patent drawingFigure 3

AI summary

An I/O circuit block (12a, b) comprising: • a register unit (121a, b); • an input/output unit (124) connected to a plurality of terminals; • an instruction memory (122); and • a state machine (120a-d) configured to execute a program stored in the instruction memory (122) to transfer data between the register unit (121a, b) and the input/output unit (124). The state machine (120a-d) is configured to execute instructions of an instruction set, the instruction set consisting of: an IN instruction to transfer a specified number of bits into the register unit; and an OUT instruction to transfer a specified number of bits from the register unit; a JMP instruction; a WAIT instruction; a PUSH instruction; a PULL instruction; a MOV instruction; an IRQ instruction; and a SET instruction.