DMA-Based Communication Control for PLC Throughput Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication systems in control devices, such as programmable logic controllers (PLCs), face challenges in improving data transfer throughput between the master communication ASIC and the processor, which is hindered by the difficulty in modifying the transmission path specifications.
Innovation Solution
A control device configuration that includes a communication unit with an arithmetic processing part, a communication circuit, and a control circuit featuring multiple DMA cores and a descriptor table system for prioritized task execution and arbitration, allowing for efficient data transfer between the communication unit and functional units via independent communication channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the processing capability of the processor and master communication ASIC is improved to increase data transfer throughput, then the throughput is improved, but the device complexity and cost increase
Solution Approach 1:
The patent introduces a control ASIC as an intermediary device between the master communication ASIC and the processor. This control ASIC includes a communication interface, a descriptor table, and a controller that manages data transfer operations. By offloading the complex data transfer management to this intermediary control ASIC, the system achieves high throughput without requiring the main processor to have enhanced capabilities, thus resolving the contradiction between throughput improvement and processor complexity.
2Productivity
If the data transfer capability between master communication ASIC and processor is improved to increase throughput, then the throughput is improved, but it is not easy to change the specification of the transmission path
Solution Approach 1:
The patent employs parameter changes by implementing a descriptor table that stores multiple sets of transfer parameters (source address, destination address, transfer size, etc.). The controller dynamically selects and applies different parameter sets based on the specific data transfer task. This allows the system to adapt to different data transfer requirements without physically modifying the transmission path hardware, thereby improving data transfer capability while maintaining fixed transmission path specifications.
3Productivity
If multiple DMA cores are introduced to manage data access for different tasks, then the data transfer efficiency is improved, but the control circuit complexity increases
Solution Approach 1:
The patent segments the data transfer management function into multiple independent DMA cores (first DMA core, second DMA core, etc.), where each DMA core is responsible for handling data transfers for specific tasks or communication channels. The controller assigns specific descriptor table entries to each DMA core based on task requirements. This segmentation allows parallel data transfer operations without requiring a single complex control circuit, as each DMA core operates semi-independently with its own control logic, thus improving efficiency while keeping individual control circuits manageable.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Provided is a control device that includes: a communication unit; one or more functional units; and a communication line connecting the communication unit and the one or the plurality of functional units. The communication unit includes: a computation processing unit in which a processor executes one or more tasks; a communication circuit which handles the transmission and reception of communication frames via the communication line; and a control circuit connected to the computation processing unit and the communication circuit. The control circuit includes: a first Direct Memory Access (DMA) core for accessing the computation processing unit; a second DMA core for accessing the communication circuit; and a controller which, in response to a trigger from the computation processing part, provides sequential commands to the first DMA core and the second DMA core in accordance with a predefined descriptor table.