Zigbee coordinator based on heterogeneous acceleration and heterogeneous acceleration processing method

Through heterogeneous acceleration design, the coordinated work of CPU and GPU is used to solve the problem of insufficient processing capabilities of traditional ZigBee coordinator, and efficient data processing and real-time improvement are achieved, suitable for large-scale wireless networks.

CN119311383APending Publication Date: 2025-01-14SHANDONG INSPUR SCI RES INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411257345.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

Due to the insufficient processing capacity of a single CPU, traditional ZigBee coordinator design is difficult to meet the real-time data processing needs of large-scale wireless networks.

Method used

Using a design based on heterogeneous acceleration, through the coordinated work of the CPU and the GPU, the kernel functions are loaded into the GPU computing unit using heterogeneous programming frameworks such as OpenCL or CUDA, separate data calculations and task scheduling, and give full play to the hardware of each processor. Features to improve data processing efficiency.

Benefits of technology

The system's task processing efficiency and real-time performance are improved, the task scheduling process is simplified, and the wireless node task request and GPU computing unit mapping is established through one-to-one correspondence relationships, which significantly improves the data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119311383A_ABST
    Figure CN119311383A_ABST
Patent Text Reader

Abstract

The invention discloses a Zigbee coordinator based on heterogeneous acceleration and a heterogeneous acceleration processing method, and relates to the technical field of Zigbee coordinators, data calculation processing and task scheduling are separated, a CPU is responsible for task scheduling, a GPU is responsible for data calculation processing, the hardware characteristics of each processor are fully exerted, and according to the characteristics of a wireless data processing task, the task scheduling is performed, and the task scheduling is performed. The computing unit space is allocated for each wireless node in advance, and the one-to-one correspondence relationship between the wireless node task request and the GPU computing unit is established through the mapping relationship, so that the task scheduling process is simplified, the task processing efficiency during the system operation period is greatly improved, and the real-time performance of the system 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 Zigbee coordinators, and in particular to a Zigbee coordinator based on heterogeneous acceleration and a heterogeneous acceleration processing method. Background Art

[0002] ZigBee coordinator is the core component of ZigBee network, responsible for key tasks such as network formation, device management and data routing. With the rapid development of Internet of Things technology, the number of nodes and data traffic in ZigBee network are increasing. The traditional ZigBee coordinator design faces the problems of insufficient data processing capability and high real-time requirements. Most existing coordinators are based on a single CPU for data processing, which is difficult to meet the real-time processing requirements of large-scale wireless networks. Summary of the invention

[0003] In order to overcome the deficiencies of the above technologies, the present invention provides a ZigBee coordinator based on heterogeneous acceleration and a heterogeneous acceleration processing method, which significantly improve the data processing efficiency of the ZigBee coordinator.

[0004] The technical solution adopted by the present invention to overcome the technical problems is: A Zigbee coordinator based on heterogeneous acceleration, comprising: The CPU is connected to the Flash chip and the DDR memory. The CPU dynamically loads the kernel function in the node type table in the DDR memory according to the node number in the online state in the node status table. The GPU is connected to the CPU, and the CPU loads the kernel function into the corresponding computing unit of the GPU through a heterogeneous programming framework; Zigbee radio frequency chip, connected to the CPU, is used to receive data packets in the Zigbee network in real time.

[0005] Furthermore, the GPU is connected to the CPU via a PCIE bus.

[0006] Furthermore, the heterogeneous programming framework is OpenCL or CUDA.

[0007] A method for heterogeneous acceleration processing using a Zigbee coordinator. The software system operated by the Zigbee coordinator consists of a system initialization module, a node status detection module, a wireless data receiving module, a wireless data parsing module, and a thread scheduling execution module. The operation method of each module is as follows: S1. When the Zigbee coordinator is powered on, the system initialization module creates a Zigbee network, creates a GPU kernel function and a GPU parameter preparation function for each node type according to the type of Zigbee nodes contained in the Zigbee network, and generates a node type table and a node status table; S2. The node status detection module monitors the status of each Zigbee terminal node in the Zigbee network, establishes and maintains the node status table, and the CPU waits for the execution of the corresponding data processing task request sent by the Zigbee terminal node; S3. The wireless data receiving module receives the data packet sent by the Zigbee RF chip within the Zigbee network and sends the data packet to the wireless data parsing module; S4. After receiving the data packet, the wireless data analysis module activates the corresponding CPU-side processing thread; S5. After the CPU thread function is awakened, it triggers the GPU core processing unit with the corresponding number to execute the corresponding kernel function.

[0008] Furthermore, in step S1, the system initialization module writes the generated node type table and node status table into the Flash chip.

[0009] Furthermore, in step S2, the CPU dynamically loads the kernel function in the node type table in the DDR memory according to the node number in the online state in the node status table, and loads the kernel function into the computing unit corresponding to the GPU through the heterogeneous programming architecture. The CPU generates threads with corresponding numbers according to the node task table, and each thread is associated with the parameter preparation function on the GPU side with the corresponding number in the node type table, waiting to execute the data processing task request sent by the corresponding Zigbee node.

[0010] Furthermore, in step S4, after receiving the data packet, the wireless data analysis module activates the corresponding CPU-side processing thread through a semaphore mechanism according to the task number to be processed.

[0011] Furthermore, in step S5, after the CPU-side thread function is awakened, the corresponding parameter preparation function of the GPU side is executed. After completing the data preparation, the GPU kernel processing unit with the corresponding number is triggered to execute the corresponding kernel function through a one-to-one mapping mechanism.

[0012] A Zigbee network established using a Zigbee coordinator, the Zigbee network consisting of a Zigbee coordinator and N Zigbee terminal nodes.

[0013] The beneficial effects of the present invention are: data calculation processing and task scheduling are separated, the CPU is responsible for task scheduling, and the GPU is responsible for data calculation processing, giving full play to the hardware characteristics of each processor, and according to the characteristics of the wireless data processing task, the computing unit space is allocated in advance to each wireless node, and a one-to-one correspondence between the wireless node task request and the GPU computing unit is established through a mapping relationship, which simplifies the task scheduling process, greatly improves the task processing efficiency during system operation, and improves the real-time performance of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 is a flow chart of the method of the present invention; Figure 2 It is a structural diagram of the Zigbee coordinator of the present invention; Figure 3 It is a structural diagram of the Zigbee network of the present invention; Figure 4 The software architecture diagram of the Zigbee coordinator of the present invention. DETAILED DESCRIPTION

[0015] The following is combined with Figure 1 To Attachment Figure 4 The preferred embodiments of the present invention are described in detail so that the advantages and features of the present invention can be more easily understood by those skilled in the art, thereby making a clearer and more definite definition of the protection scope of the present invention.

[0016] In the description of the present invention, it should be noted that the embodiments described in the present invention are only part of the embodiments of the present invention, rather than all of the embodiments; based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present invention.

[0017] The terms "first", "second", etc. in the specification and claims of this article and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of this article described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0018] Example 1 As attached Figure 2 As shown, a Zigbee coordinator based on heterogeneous acceleration includes: The CPU is connected to the Flash chip and the DDR memory. The CPU dynamically loads the kernel function in the node type table in the DDR memory according to the node number in the online state in the node status table. The GPU is connected to the CPU, and the CPU loads the kernel function into the corresponding computing unit of the GPU through a heterogeneous programming framework; Zigbee radio frequency chip, connected to the CPU, is used to receive data packets in the Zigbee network in real time.

[0019] In this embodiment, the GPU is connected to the CPU via a PCIE bus. The heterogeneous programming framework is OpenCL or CUDA.

[0020] A heterogeneous design approach combining CPU and GPU is adopted to fully utilize the hardware characteristics of each to collaboratively complete key tasks such as logic control, task scheduling, and data processing. The CPU processor and GPU processor are connected through the PCIE high-speed bus, ensuring high bandwidth and low latency of communication, providing a solid hardware foundation for efficient data processing.

[0021] Example 2 As attached Figure 1 As shown in the figure, a method for heterogeneous acceleration processing using Zigbee coordinator is shown in the figure. Figure 4 As shown, the software system of the Zigbee coordinator consists of a system initialization module, a node status detection module, a wireless data receiving module, a wireless data parsing module, and a thread scheduling execution module. The operation method of each module is as follows: S1. When the Zigbee coordinator is powered on, the system initialization module creates a Zigbee network, creates a GPU kernel function and a GPU parameter preparation function for each node type according to the type of Zigbee nodes contained in the Zigbee network, and generates a node type table and a node status table. The details are shown in Table 1 and Table 2.

[0022]

[0023]

[0024] S2. The node status detection module monitors the status of each Zigbee terminal node in the Zigbee network, establishes and maintains the node status table, and the CPU waits for the execution of the data processing task request sent by the corresponding Zigbee terminal node.

[0025] The node task table is shown in Table 3. The generation rules of the node task table are as follows: For each node in the Zigbee network, a corresponding group number is given, such as 1, 2, 3, etc. Figure 4As shown, for each node's task request, a corresponding group number is given, such as (1,0) and (1,1) are task requests for node 1, (2,0) and (2,1) are task requests for node 2, and so on; then for each specific task request, the corresponding GPU-side kernel function and GPU-side parameter preparation function in the associated node type table are associated.

[0026]

[0027] After that, the kernel function is loaded into the computing unit corresponding to the GPU through a heterogeneous programming framework (such as OpenCL, CUDA, etc.), and then a thread with a corresponding task number is generated according to the node task table. Each thread is associated with the parameter preparation function of the GPU end with a corresponding number in the node task table, waiting to execute the data processing task request sent by the corresponding Zigbee node. It can be seen that during the node status monitoring of the Zigbee coordinator, the present invention establishes a one-to-one mapping relationship between the wireless node task request and the GPU computing unit.

[0028] S3. The wireless data receiving module receives the data packet in the Zigbee network sent by the Zigbee radio frequency chip and sends the data packet to the wireless data parsing module.

[0029] S4. After receiving the data packet, the wireless data analysis module activates the corresponding CPU-side processing thread.

[0030] S5. After the CPU thread function is awakened, it triggers the GPU core processing unit with the corresponding number to execute the corresponding kernel function.

[0031] In this embodiment, in step S1, the system initialization module writes the generated node type table and node status table into the Flash chip.

[0032] In this embodiment, in step S2, the CPU dynamically loads the kernel function in the node type table in the DDR memory according to the node number in the online state in the node status table, and loads the kernel function into the computing unit corresponding to the GPU through the heterogeneous programming architecture. The CPU generates threads with corresponding numbers according to the node task table, and each thread is associated with the parameter preparation function of the GPU end with the corresponding number in the node type table, waiting to execute the data processing task request sent by the corresponding Zigbee node.

[0033] In this embodiment, after receiving the data packet, the wireless data analysis module in step S4 activates the corresponding CPU-side processing thread through a semaphore mechanism according to the task number to be processed.

[0034] In this embodiment, after the CPU-side thread function is awakened in step S5, its corresponding GPU-side parameter preparation function is executed. After completing data preparation, the GPU kernel processing unit with the corresponding number is triggered to execute the corresponding kernel function through a one-to-one mapping mechanism.

[0035] Example 3 A Zigbee network established using a Zigbee coordinator, the Zigbee network consisting of a Zigbee coordinator and N Zigbee terminal nodes.

[0036] It should be understood that in the various embodiments of this document, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this document.

[0037] It should also be understood that in the embodiments of this document, the term "and / or" is only a description of the association relationship of the associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this document generally indicates that the associated objects before and after are in an "or" relationship.

[0038] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this article.

[0039] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0040] In the several embodiments provided herein, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or can be electrical, mechanical or other forms of connection.

[0041] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of this article.

[0042] In addition, each functional unit in each embodiment of this invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of software functional unit.

[0043] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this article is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of this article. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.

[0044] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art can still modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein by equivalents. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A Zigbee coordinator based on heterogeneous acceleration, characterized in that: include: The CPU is connected to the Flash chip and the DDR memory. The CPU dynamically loads the kernel function in the node type table in the DDR memory according to the node number in the online state in the node status table. The GPU is connected to the CPU, and the CPU loads the kernel function into the corresponding computing unit of the GPU through a heterogeneous programming framework; Zigbee radio frequency chip, connected to the CPU, is used to receive data packets in the Zigbee network in real time.

2. The Zigbee coordinator based on heterogeneous acceleration according to claim 1, characterized in that: The GPU is connected to the CPU via the PCIE bus.

3. The Zigbee coordinator based on heterogeneous acceleration according to claim 1, characterized in that: The heterogeneous programming framework is OpenCL or CUDA.

4. A method for performing heterogeneous acceleration processing using a Zigbee coordinator according to any one of claims 1 to 3, characterized in that: The software system of the Zigbee coordinator consists of a system initialization module, a node status detection module, a wireless data receiving module, a wireless data parsing module, and a thread scheduling execution module. The operation method of each module is as follows: S1. When the Zigbee coordinator is powered on, the system initialization module creates a Zigbee network, creates a GPU kernel function and a GPU parameter preparation function for each node type according to the type of Zigbee nodes contained in the Zigbee network, and generates a node type table and a node status table; S2. The node status detection module monitors the status of each Zigbee terminal node in the Zigbee network, establishes and maintains the node status table, and the CPU waits for the execution of the corresponding data processing task request sent by the Zigbee terminal node; S3. The wireless data receiving module receives the data packet sent by the Zigbee RF chip within the Zigbee network and sends the data packet to the wireless data parsing module; S4. After receiving the data packet, the wireless data analysis module activates the corresponding CPU-side processing thread; S5. After the CPU thread function is awakened, it triggers the GPU core processing unit with the corresponding number to execute the corresponding kernel function.

5. The method for heterogeneous accelerated processing according to claim 4, characterized in that: In step S1, the system initialization module writes the generated node type table and node status table into the Flash chip.

6. The method for heterogeneous accelerated processing according to claim 4, characterized in that: In step S2, the CPU dynamically loads the kernel function in the node type table in the DDR memory according to the node number in the online state in the node status table, and loads the kernel function into the computing unit corresponding to the GPU through the heterogeneous programming architecture. The CPU generates threads with corresponding numbers according to the node task table. Each thread is associated with the parameter preparation function on the GPU side with the corresponding number in the node type table, and waits for the execution of the data processing task request sent by the corresponding Zigbee node.

7. The method for heterogeneous accelerated processing according to claim 4, characterized in that: In step S4, after receiving the data packet, the wireless data analysis module activates the corresponding CPU-side processing thread through a semaphore mechanism according to the task number to be processed.

8. The method for heterogeneous accelerated processing according to claim 4, characterized in that: In step S5, after the CPU thread function is awakened, the corresponding parameter preparation function of the GPU is executed. After completing the data preparation, the GPU kernel processing unit with the corresponding number is triggered to execute the corresponding kernel function through a one-to-one mapping mechanism.

9. A Zigbee network established using the Zigbee coordinator according to any one of claims 1 to 3, characterized in that: The Zigbee network consists of a Zigbee coordinator and N Zigbee terminal nodes.