Microcontroller CAN Module Buffer Descriptor Table Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CAN controller architectures require significant silicon area and processing power due to the need for multiple receive buffers and filters, which can lead to message loss when overwhelmed by traffic, especially with slower processors.

Innovation Solution

A lightweight buffer descriptor table (BDT) is implemented in a microcontroller, allowing for efficient storage of CAN messages with constant-sized entries that include message identifiers and data, reducing the need for dedicated buffers and minimizing silicon real estate by merging status fields and eliminating pointer overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple receive buffers and filters are implemented in CAN controller architecture, then message reception capability is improved, but silicon area and processing power requirements increase

Engineering Contradiction:
Improvemessage reception capabilityVSAvoidsilicon area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent merges multiple receive buffers into a single buffer and combines multiple filters into a single filter. The controller architecture integrates the filter and buffer resources, allowing one filter to service multiple message buffers. This consolidation reduces the silicon area required while maintaining the capability to handle multiple message streams through software-managed buffer descriptors.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single filter is designed to be universal, capable of filtering messages for multiple different buffers. The filter descriptor table allows the same filter hardware resource to be dynamically assigned to different buffer descriptors, enabling one filter to perform the work of multiple dedicated filters. This multi-functionality reduces overall silicon area while preserving message reception capability.

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

2Reliability

If multiple receive buffers and filters are implemented in CAN controller architecture, then message reception capability is improved, but processing power requirements increase

Engineering Contradiction:
Improvemessage reception capabilityVSAvoidprocessing power
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The controller architecture implements self-service through automatic filter matching and buffer descriptor management. When a message is received, the filter automatically matches it against the appropriate buffer descriptor without requiring CPU intervention for each message. The system manages its own buffer assignments and filter matching, reducing the processing burden on the main CPU and overall system power consumption.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent extracts the complex buffer management logic from the CPU and implements it in the controller's dedicated descriptor table structure. The buffer descriptors contain pre-configured filtering criteria and buffer assignments, allowing the controller to handle message routing independently. This extraction of management functions from the CPU reduces processing power requirements while maintaining comprehensive message reception capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If dedicated buffers are used for each message stream, then message storage reliability is improved, but silicon real estate increases

Engineering Contradiction:
Improvemessage storage reliabilityVSAvoidsilicon real estate
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent implements dynamic buffer assignment where buffer descriptors can be dynamically allocated and reassigned based on message traffic patterns. Instead of static dedicated buffers, the system uses a descriptor table that allows flexible assignment of buffer resources to different message streams as needed. This dynamic approach maintains reliable message storage for active streams while freeing silicon real estate by releasing buffers from idle streams.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of buffer allocation from fixed/dedicated to variable/sharable. By using buffer descriptors that can be dynamically assigned to different message streams, the same physical buffer resources serve multiple logical message streams. This parameter change allows the system to maintain reliable storage for prioritized messages while reducing total silicon real estate requirements through resource sharing.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8650356B2Microcontroller with CAN module
Publication Date: 2014.02.11 MICROCHIP TECHNOLOGY INC
  • US8650356B2 patent drawing
  • US8650356B2 patent drawing
  • US8650356B2 patent drawing

AI summary

A microcontroller has a random access memory, and a Controller Area Network (CAN) controller with a control unit receiving an assembled CAN message. The control unit generates a buffer descriptor table entry using the assembled CAN message and stores the buffer descriptor table entry in the random access memory, and the buffer descriptor table entry has at least a message identifier and load data from the CAN message and information of a following buffer descriptor table entry.