Programmable CRC Shift Logic for Multi-Protocol Data Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CRC engines lack flexibility in handling different data transmission protocols, as they typically operate with a fixed shift direction, which is not compatible with various data storage and transmission methods like UART and SPI, requiring preprocessing of data before CRC calculation.

Innovation Solution

A programmable CRC engine with a variable buffer memory and shift logic that allows left or right shifting of data, controlled by a control register, enabling compatibility with different protocols by adjusting the shift direction and accommodating varying data word sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a fixed shift direction is used in the CRC engine, then the device complexity is reduced, but the adaptability to different communication protocols deteriorates

Engineering Contradiction:
ImproveCRC engine structureVSAvoidprotocol compatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic shift direction control mechanism where the CRC engine can switch between left-shift and right-shift modes based on protocol requirements. A control register stores a shift direction bit that dynamically configures the shift logic, allowing the same hardware to adapt to different protocols (UART, SPI, etc.) without physical reconfiguration, thus resolving the contradiction between fixed structure and protocol versatility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the operational parameter of shift direction (left or right) based on protocol requirements. By modifying this single parameter through software control rather than hardware reconfiguration, the system maintains structural simplicity while achieving protocol adaptability. The control register allows programmable adjustment of this parameter to match different communication standards.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If data preprocessing is performed to accommodate fixed shift direction, then the CRC engine can operate with fixed structure, but the loss of time increases due to additional processing steps

Engineering Contradiction:
ImproveCRC engine structureVSAvoiddata preprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent extracts the shift direction control functionality from the data path and places it in a separate control register. This allows the CRC engine to directly process data in the required format without preprocessing, as the shift direction is determined by control signals rather than data manipulation. The control register is configured based on the protocol type, eliminating the need for time-consuming data reformatting operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary configuration of the shift direction in the control register before data processing begins. This preliminary setup ensures that the CRC engine is pre-configured to handle data in the correct format, eliminating the need for runtime preprocessing and reducing overall processing time while maintaining structural simplicity.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If preprocessing is required for different protocols, then the CRC engine can maintain fixed operation, but the ease of operation deteriorates due to additional data preparation steps

Engineering Contradiction:
ImproveCRC engine structureVSAvoiddata input simplicity
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements self-service functionality where the CRC engine automatically adapts to different protocols through control register configuration. The system self-adjusts its operation mode based on the protocol type without requiring manual data preprocessing or complex setup procedures. This automation improves ease of operation while maintaining the simplicity of the fixed-structure engine.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention creates a universal CRC engine that can handle multiple protocols through a single control register. By making the engine multi-functional through software control rather than hardware variations, it eliminates the need for protocol-specific preprocessing steps, thereby improving ease of operation while maintaining structural simplicity.

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

Data Source

PatentUS8543888B2Programmable cyclic redundancy check CRC unit
Publication Date: 2013.09.24 MICROCHIP TECHNOLOGY INC
  • US8543888B2 patent drawing
  • US8543888B2 patent drawing
  • US8543888B2 patent drawing

AI summary

A cyclic redundancy check (CRC) unit has a programmable CRC engine, a variable buffer memory operable to store k words wherein each word has n-bits, wherein k and n can be varied, and shift logic operable to shift data from the variable buffer memory into the programmable CRC engine.