Multi-protocol environment monitoring system and method based on CPLD-MCU architecture

Through a multi-protocol environment monitoring system based on the CPLD-MCU architecture, data processing and transmission are optimized, and synchronization problems in CPLD and MCU network communication are solved, efficient data transmission and rapid response are achieved, hardware costs are reduced, and multi-protocol compatibility is supported.

CN120491528APending Publication Date: 2025-08-15NEXCOM CHINA CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510586037.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-08
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

The data transmission synchronization of existing CPLDs and MCUs is poor when communicating with network, resulting in low data transmission efficiency between CPLDs and MCUs, and the overall performance of the system cannot be fully utilized.

Method used

A multi-protocol environment monitoring system based on CPLD-MCU architecture is adopted, including CPLD module and MCU module. The CPLD module includes a collector and a buffer. The MCU module includes a data analyzer, communicator and memory. Data processing and transmission are optimized through the boot head and the buffer, and a hash index table and sliding window are used to optimize the cache method to improve data transmission efficiency.

Benefits of technology

It significantly improves the transmission and processing efficiency of data between CPLD and MCU, reduces hardware costs, improves system response speed, supports multi-protocol compatibility, and achieves microsecond response.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120491528A_ABST
    Figure CN120491528A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-protocol environment monitoring system based on a CPLD-MCU architecture, the system comprises a CPLD module and an MCU module, the CPLD module comprises a collector and a buffer, the collector is used for collecting an output signal of a temperature sensor and an output signal of a fan voltage detector, and the buffer is used for preprocessing and caching signal data collected by the collector; the MCU module comprises a data analyzer, a communicator and a memory, the data processor is used for reading cache data of the CPLD module, performing data analysis and sending a control instruction according to an analysis result, the communicator is used for realizing real-time communication with an upper computer, and the memory is used for storing data to be analyzed and a control instruction set. According to the invention, the defects in the prior art can be overcome, and the transmission processing efficiency of data between the CPLD and the MCU is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of industrial Internet of Things and embedded systems, and in particular to a multi-protocol environment monitoring system and method based on a CPLD-MCU architecture. Background Art

[0002] Traditional BMCs utilize an independent SOC chip and a dedicated management network, creating a physical isolation from the main control system. Sensor data must first be forwarded to the BMC via the motherboard's PCH, and then transmitted to the remote management system via the IPMI protocol. This creates a lengthy "sensor → PCH → BMC → external network" path. Furthermore, independent hardware resources cannot share the computing power of the main control system. When responding to sudden alarms, multiple processing steps are required, including hardware interrupt response, firmware instruction parsing, and data encapsulation. Consequently, transmission delays are typically greater than 50ms.

[0003] CPLDs, as hardware programmable devices, offer high reliability and low latency, and can be used to address the shortcomings of traditional environmental monitoring systems. However, CPLDs cannot efficiently complete the series of operations required for data acquisition, processing, and forwarding, and are typically used in conjunction with microcontrollers (MCUs) to form monitoring systems. Existing CPLDs suffer from poor data transmission synchronization when networking with MCUs, resulting in low data transmission efficiency between the CPLD and MCU, hindering the full performance of the overall system. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide a multi-protocol environment monitoring system and method based on CPLD-MCU architecture, which can solve the shortcomings of the existing technology and improve the transmission and processing efficiency of data between CPLD and MCU.

[0005] In order to solve the above technical problems, the technical solutions adopted by the present invention are as follows.

[0006] A multi-protocol environment monitoring system based on a CPLD-MCU architecture comprises a CPLD module and an MCU module. The CPLD module comprises a collector and a buffer. The collector is used to collect output signals of a temperature sensor and an output signal of a fan voltage detector. The buffer is used to preprocess and cache the signal data collected by the collector. The MCU module comprises a data analyzer, a communicator and a memory. The data processor is used to read the cached data of the CPLD module and perform data analysis, and then issue control instructions based on the analysis results. The communicator is used to achieve real-time communication with a host computer. The memory is used to store data to be analyzed and a control instruction set.

[0007] A multi-protocol environment monitoring method based on a CPLD-MCU architecture is implemented by the multi-protocol environment monitoring system based on the CPLD-MCU architecture, comprising the following steps: a collector collects output signals of a temperature sensor and an output signal of a fan voltage detector, and sends the signals to a buffer; the buffer pre-processes and caches the signal data collected by the collector; a data processor reads the cached data of the CPLD module and stores it in a memory, then analyzes the data and issues control instructions based on the analysis results, the control instructions are stored in the memory, and the control instructions are sent to a host computer via a communicator for forwarding.

[0008] Preferably, the collector assigns the temperature signal and the voltage signal to the guide head respectively, and the guide head includes:

[0009] Type segment, used to distinguish signal types;

[0010] Timing message segment, used to mark signal timing;

[0011] Verification message segment, used for mutual verification of the same type of signals;

[0012] The collector adopts the read-send synchronous mode, and sends the read signal data to the buffer in the minimum delay mode when reading new signal data; the buffer identifies the signal type according to the type message segment, and stores the signal in the corresponding address according to the timing marked by the timing message segment, and then uses the check message segment to check the stored signals that are adjacent in timing.

[0013] Preferably, the cache includes a first-level cache area, a second-level cache area and a third-level cache area, the second-level cache area has a higher priority than the first-level cache area, and the first-level cache area has a higher priority than the third-level cache area; the cache first stores the signal data in the first-level cache area and verifies it and establishes a hash index table, the data processor reads the signal data in the first-level cache area through the hash index table, the cache establishes an associated linked list of signal data according to the reading behavior characteristics, and transfers the signal data recorded in the associated linked list to the second-level cache area, updates the data in the associated linked list and the second-level cache area each time the signal data is read, and transfers the signal data that has timed out and read successfully to the third-level cache area.

[0014] Preferably, the storage format of the signal data in the three-level cache area is optimized, and a sliding window of fixed length is set. The sliding window includes a dynamic dictionary area and a data preloading area. The data preloading area loads the data to be optimized, and then feature matching is performed on the data to be optimized in the dynamic dictionary area. If the length of the matched data is greater than or equal to 32 bytes, the data is deleted, and the data is used together with the offset of the corresponding feature in the dynamic dictionary, the data length and the next non-matching character to form an optimization mark. The optimization mark and the corresponding feature in the dynamic dictionary are packaged and stored in the three-level cache area.

[0015] As a preference, the weight of each node in the associated linked list is Where T is the last access time of the node, t is the last modification time of the node data, f is the number of accesses, s is the amount of node data, α is the time attenuation factor, β is the frequency weight factor, and γ is the node address weight factor. When the node weight W is less than the preset value, the data in the node is deleted, and new signal data is selected from the first-level cache area to fill the second-level cache area, and then the associated linked list is updated according to the added signal data.

[0016] Preferably, when there is data in the secondary cache, the data processor gives priority to retrieving and reading from the secondary cache; the data processor stores data elimination records, compares the data elimination records with the associated linked list, marks the eliminated data points in the associated linked list, and blocks the eliminated data points when retrieving from the secondary cache.

[0017] Preferably, the total amount of marks for eliminated data points is proportional to the average rate of change of data elimination records.

[0018] The beneficial effect brought about by adopting the above technical solution is that: by optimizing the data caching method in the CPLD and the reading method of the MCU, the present invention greatly reduces the hardware cost and improves the system effect speed compared with the traditional BMC solution. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 It is a schematic diagram of a specific embodiment of the present invention. DETAILED DESCRIPTION

[0020] Reference Figure 1 This system is a hardware architecture with division of labor and cooperation. It realizes sensor data acquisition, real-time processing, decision control and remote interaction functions through modular design. It includes CPLD module and MCU module. The CPLD module includes a collector and a buffer (dual-port IDT7025RAM). The collector is used to collect the output signal of the temperature sensor (a four-wire constant current source drives a PT100 platinum resistor) and the output signal of the fan voltage detector (using the AD8479 differential amplifier to process the 0-5V analog output of the Hall sensor). The buffer is used to pre-process and cache the signal data collected by the collector. The CPLD module transmits data packets to the MCU module through the SPI interface (mode 3, clock frequency 10MHz); the MCU module includes a data analyzer, a communicator and a memory. The data processor is used to read the cached data of the CPLD module and perform data analysis, and then issue control instructions based on the analysis results. The communicator is used to achieve real-time communication with the host computer, and the memory is used to store the data to be analyzed and the control instruction set.

[0021] The method for environmental monitoring using the monitoring system provided by the present invention comprises the following steps: a collector collects the output signal of the temperature sensor and the output signal of the fan voltage detector, and sends them to a buffer; the buffer pre-processes and caches the signal data collected by the collector; a data processor reads the cached data of the CPLD module and stores it in a memory, then analyzes the data, and then issues a control instruction based on the analysis result, the control instruction is stored in the memory, and at the same time, the control instruction is sent to a host computer through a communicator for forwarding.

[0022] The collector assigns the temperature signal and voltage signal to the guide head respectively. The guide head includes:

[0023] The type segment (4 bytes) is used to distinguish the signal type; a composite coding method is used to identify the signal physical properties and acquisition channels.

[0024] Timing message segment (8 bytes), generated by the 32-bit system clock counter and the 16-bit sequence number, is used to mark the signal timing; the timing synchronization mode is Δt offset It is the clock deviation compensation value between CPLD and MCU.

[0025] The check message segment (4 bytes) uses the CRC algorithm to perform mutual verification on the same type of signals to prevent bit flipping, data tampering or noise interference during transmission.

[0026] The collector adopts the read-send synchronous mode, and sends the read signal data to the buffer in the minimum delay mode when reading new signal data; the buffer identifies the signal type according to the type message segment, and stores the signal in the corresponding address according to the timing marked by the timing message segment, and then uses the check message segment to check the stored signals that are adjacent in timing.

[0027] The cache includes a first-level cache area, a second-level cache area and a third-level cache area. The priority of the second-level cache area is higher than that of the first-level cache area, and the priority of the first-level cache area is higher than that of the third-level cache area. The cache first stores the signal data in the first-level cache area, verifies it and establishes a hash index table. The data processor reads the signal data in the first-level cache area through the hash index table. The cache establishes an associated linked list of signal data according to the reading behavior characteristics, and transfers the signal data recorded in the associated linked list to the second-level cache area. The data in the associated linked list and the second-level cache area are updated each time the signal data is read, and the signal data of the read timeout and the read success are transferred to the third-level cache area.

[0028] The migration rate of the secondary cache is defined as k1 and k2 are scaling coefficients, f is the L2 cache access frequency, and L is the number of elements in the L2 cache. The L2 cache dynamically updates data based on the migration rate to maintain efficient L2 cache reads.

[0029] The weight of each node in the associated linked list is Where T is the last access time of the node, t is the last modification time of the node data, f is the number of accesses, s is the amount of node data, α is the time attenuation factor, β is the frequency weight factor, and γ is the node address weight factor. When the node weight W is less than the preset value, the data in the node is deleted, and new signal data is selected from the first-level cache area to fill the second-level cache area, and then the associated linked list is updated according to the added signal data.

[0030] When data exists in the L2 cache, the data processor prioritizes retrieval and reading from the L2 cache. The data processor stores a record of data elimination, compares it with an associated linked list, and marks eliminated data points in the associated linked list. These eliminated data points are then blocked during L2 cache retrieval. The total number of eliminated data points marked is proportional to the average rate of change in the eliminated data records. By prioritizing frequently accessed hotspot data while filtering out occasional invalid accesses, the cache hit rate can be significantly improved.

[0031] The following table shows the comparison results between the CPLD-MCU system provided by the present invention and the traditional BMC system.

[0032] Table 1

[0033] Comparison Item Traditional BMC The present invention Improvement Hardware costs $15.2 (BMC+PHY) $3.8 75%↓ Temperature response delay 80ms (software polling) 5ms (hardware interrupt) 16 times↑ Log storage lifespan 100,000 erase and write times 350,000 times (with equalization) 3.5 times↑ Protocol compatibility IPMI dedicated protocol HTTP+Modbus dual protocol Compatibility↑

[0034] The following table shows the performance parameters of the present invention.

[0035] Table 2

[0036]

[0037] This system can achieve microsecond-level response, which is more than 15 times faster than software solutions. It also supports mainstream communication standards in the IT and OT fields, making the Flash life reach the highest industrial standards.

[0038] The basic principles, main features, and advantages of the present invention are shown and described above. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The above embodiments and descriptions are merely illustrative of the principles of the present invention. Various changes and modifications may be made to the present invention without departing from the spirit and scope of the present invention. Such changes and modifications are intended to fall within the scope of the present invention. The scope of protection claimed in the present invention is defined by the appended claims and their equivalents.

Claims

1. A multi-protocol environment monitoring system based on a CPLD-MCU architecture, comprising a CPLD module and an MCU module, characterized in that: The CPLD module includes a collector and a buffer. The collector is used to collect the output signals of the temperature sensor and the output signals of the fan voltage detector. The buffer is used to preprocess and cache the signal data collected by the collector. The MCU module includes a data analyzer, a communicator and a memory. The data processor is used to read the cached data of the CPLD module and perform data analysis, and then issue control instructions based on the analysis results. The communicator is used to achieve real-time communication with the host computer, and the memory is used to store the data to be analyzed and the control instruction set.

2. A multi-protocol environment monitoring method based on CPLD-MCU architecture, which is implemented by the multi-protocol environment monitoring system based on CPLD-MCU architecture according to claim 1, characterized in that The following steps are involved: The collector collects the output signal of the temperature sensor and the output signal of the fan voltage detector, and sends them to the buffer, which pre-processes and caches the signal data collected by the collector; The data processor reads the cache data of the CPLD module and stores it in the memory, then analyzes the data and issues control instructions based on the analysis results. The control instructions are stored in the memory and sent to the host computer through the communicator for forwarding.

3. The multi-protocol environment monitoring method based on the CPLD-MCU architecture according to claim 2, wherein: The collector assigns the temperature signal and voltage signal to the guide head respectively. The guide head includes: Type segment, used to distinguish signal types; Timing message segment, used to mark signal timing; Verification message segment, used for mutual verification of the same type of signals; The collector adopts the read-send synchronous mode, and sends the read signal data to the buffer in the minimum delay mode when reading new signal data; the buffer identifies the signal type according to the type message segment, and stores the signal in the corresponding address according to the timing marked by the timing message segment, and then uses the check message segment to check the stored signals that are adjacent in timing.

4. The multi-protocol environment monitoring method based on the CPLD-MCU architecture according to claim 3, wherein: The cache includes a first-level cache area, a second-level cache area, and a third-level cache area. The priority of the second-level cache area is higher than that of the first-level cache area, and the priority of the first-level cache area is higher than that of the third-level cache area. The cache first stores the signal data in the first-level cache area, verifies it, and establishes a hash index table. The data processor reads the signal data in the first-level cache area through the hash index table. The cache establishes an associated linked list of signal data based on the reading behavior characteristics, and transfers the signal data recorded in the associated linked list to the second-level cache area. Each time the signal data is read, the data in the associated linked list and the second-level cache area are updated, and the signal data that has timed out or has been read successfully is transferred to the third-level cache area.

5. The multi-protocol environment monitoring method based on the CPLD-MCU architecture according to claim 4, wherein: The storage format of the signal data in the three-level cache is optimized, and a sliding window of fixed length is set. The sliding window includes a dynamic dictionary area and a data preloading area. The data to be optimized is loaded in the data preloading area, and then feature matching is performed on the data to be optimized in the dynamic dictionary area. If the length of the matched data is greater than or equal to 32 bytes, the data is deleted, and the data is used with the offset of the corresponding feature in the dynamic dictionary, the data length and the next non-matching character to form an optimization tag. The optimization tag and the corresponding feature in the dynamic dictionary are packaged and stored in the three-level cache.

6. The multi-protocol environment monitoring method based on the CPLD-MCU architecture according to claim 4, wherein: The weight of each node in the associated linked list is Where T is the last access time of the node, t is the last modification time of the node data, f is the number of accesses, s is the amount of node data, α is the time attenuation factor, β is the frequency weight factor, and γ is the node address weight factor. When the node weight W is less than the preset value, the data in the node is deleted, and new signal data is selected from the first-level cache area to fill the second-level cache area, and then the associated linked list is updated according to the added signal data.

7. The multi-protocol environment monitoring method based on the CPLD-MCU architecture according to claim 6, wherein: When there is data in the secondary cache, the data processor will first retrieve and read from the secondary cache; the data processor will save the data elimination record, compare the data elimination record with the associated linked list, mark the eliminated data points in the associated linked list, and shield the eliminated data points when searching in the secondary cache.

8. The multi-protocol environment monitoring method based on the CPLD-MCU architecture according to claim 7, wherein: The total number of marks for eliminated data points is proportional to the average rate of change of data elimination records.