Chain generation method and device of time window, electronic equipment and readable storage medium
Patent Information
- Application Number
- CN202611104201.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-23
- Publication Date
- 2026-10-27
AI Technical Summary
然而,NAN中的窗口的表现形式是动态且多样的,因此如何提高不同通信窗口之间的连续性成为本领域技术人员亟需解决的技术问题
在第一通信设备与对端设备的通信过程中,每当第一定时器的定时时长达到邻近感知网络的一个调度周期,意味着开始新的调度周期,触发时刻即为发现窗口的起始时刻。与此同时,开启第二定时器。由于发现窗口具有固定时间,在启动第二定时器时,第二定时器能够执行计时操作。当第二定时器的定时时长达到固定时间,能够生成第一中断信号,这意味着发现窗口结束。此时,根据第一中断信号,能够继续执行至少一个可用调度通信窗口的定时任务,以确定第二定时器的定时起点定时时长,直至完成至少一个可用调度通信窗口的定时处理。由于第一定时器为自动重装载定时器,第二定时器为单次触发定时器,则可以复用第二定时器。通过设置第一定时器和第二定时器,即可实现链式的定时操作,从而精确确定每个通信窗口的持续区间,提高不同通信窗口之间的连续性。
Smart Images

Figure CN122994741A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and more specifically, to a method, apparatus, electronic device, and readable storage medium for generating time windows in a chain. Background Technology
[0002] A scheduling cycle for Neighbor Awareness Networking (NAN) is 512 time units (TU). Within the discovery window (DW) of this scheduling cycle, peer device discovery and network management are performed, and the available scheduling communication window (FAW) is determined. The current communication device can then exchange data with the peer device within the available scheduling communication window.
[0003] Therefore, in actual communication, it is necessary to determine the interval of each communication window within this scheduling period. However, the window representation in NAN is dynamic and diverse, so how to improve the continuity between different communication windows has become a technical problem that urgently needs to be solved by those skilled in the art.
[0004] The information disclosed in the background section is only intended to enhance the understanding of the background of this application, and therefore may contain information that is not part of the prior art known to those skilled in the art. Summary of the Invention
[0005] This application provides a method, apparatus, electronic device, and readable storage medium for chaining time windows, which can improve the continuity between different communication windows.
[0006] According to a first aspect of the embodiments of this application, a method for chaining time windows is provided, applied to a first communication device supporting a proximity sensing network, the method for chaining time windows comprising: Whenever the duration of the first timer reaches one scheduling cycle of the proximity sensing network, the start time of the discovery window is determined, the discovery window is created, and the second timer is started; the first timer is an automatic reload timer, and the second timer is a single-trigger timer. Within the discovery window, available time information for at least one available scheduled communication window for communicating with the peer device is determined, the available time information including offset time and duration relative to the start time; In response to the second timer reaching a fixed duration, a first interrupt signal is generated, which is used to indicate the end of the discovery window; The timing task is triggered based on the first interrupt signal, and the timing start point is determined sequentially according to the offset time of each available scheduling communication window. When the corresponding timing start point is reached, the duration corresponding to the current timing start point is loaded into the second timer and the second timer is started until the timing processing of at least one available scheduling communication window is completed. In response to the first timer reaching a scheduling cycle of the proximity sensing network, the generation of the time window is stopped.
[0007] Optionally, triggering the timed task based on the first interrupt signal includes: Based on the first interrupt signal, the timed task is executed. Within the scheduled task, the timing start point of the currently available scheduled communication window is determined based on the offset time of the currently available scheduled communication window relative to the start time. When the timing start point is reached, the duration of the currently available scheduled communication window is loaded into the second timer, and the second timer is started. In response to the second timer's timing duration reaching the duration of the currently available scheduling communication window, a second interrupt signal is generated; the second interrupt signal is used to indicate the end of the currently available scheduling communication window. In response to the existence of another available scheduling communication window, the timed task is triggered based on the second interrupt signal to determine the timing start point of the next available scheduling communication window, until the timing processing of the at least one available scheduling communication window is completed.
[0008] Optionally, the chained generation method also includes: In response to the current communication window being the discovery window or the available scheduling communication window, the transmission descriptor within the current communication window and the starting position pointer corresponding to the transmission descriptor are obtained. The starting position pointer is used to indicate the starting address of the transmission descriptor in the storage space. Write the starting position pointer into the LHDPI register corresponding to the current communication window, so that the LHDPI register stores the starting address of the transport descriptor; In response to reaching the current communication window and needing to send the transport descriptor, a direct memory access transport is initiated, and the transport descriptor is moved from the memory space according to the starting address stored in the LHDPI register and the send operation is performed.
[0009] Optionally, the transport descriptor is written to a data linked list, which includes multiple transport group nodes. Adjacent transport group nodes are connected by a node connection field, and each transport group node includes at least one of the transport descriptors. In response to performing a transmission descriptor transmission operation for the current transmission group node, the processing status bit and status flag bit of the current transmission group node are set; wherein, the processing status bit includes a first processing identifier indicating that the transmission operation has been completed, and a second processing identifier indicating that the transmission operation has not been completed; the status flag bit includes a first status identifier indicating that the transmission was successful, and a second status identifier indicating that the transmission failed. In response to the current duration of the current communication window being insufficient to support the sending operation of the current transmission group node, the processing status bit is set to the second processing identifier, and the status flag bit is set to the second status identifier. When entering the next scheduling cycle again, the operation for the current transmission group node continues to be executed. Alternatively, in response to disconnecting the data connection path with the peer device, the transmission descriptor in the current transmission group node is released. In response to the current time of the current communication window supporting the sending operation of the current transmission group node, the processing status bit is set to the first processing identifier, and when it is determined that the sending has failed, the status flag bit is set to the second status identifier, so as to perform a retransmission operation in the next scheduling cycle.
[0010] Optionally, in response to the communication window including the discovery window and the available scheduling communication window, the method further includes: Configure a mirror context for the corresponding LHDPI register for each communication window. The mirror context is used to back up the transmission state of the corresponding window in the LHDPI register. When it is determined that it is necessary to switch from the discovery window to the first available scheduling communication window, or from the current available scheduling communication window to the next available scheduling communication window, the current transmission status in the LHDPI register is saved to the mirror context corresponding to the current communication window; The target transmission status is loaded from the mirror context corresponding to the current communication window to the LHDPI register, so as to send the transmission descriptor corresponding to the current communication window through the LHDPI register.
[0011] Optionally, a payload control bit is configured for the second timer, the payload control bit including: a first control bit indicating that the current communication window is an empty window and a second control bit indicating that the current communication window is an available scheduling communication window; wherein, the empty window is the communication window between the discovery window and the first available scheduling communication window; or, the empty window is the communication window between two adjacent available scheduling communication windows; In response to the payload control bit being the first control bit, only the timed task is executed; In response to the payload control bit being the second control bit, while executing the timed task, it is also determined whether the current available duration of the available scheduling communication window meets the transmission requirements; in response to meeting the transmission requirements, the transmission descriptor transmission operation is executed; in response to not meeting the transmission requirements, the transmission descriptor transmission operation is executed in the next scheduling cycle.
[0012] According to a second aspect of the embodiments of this application, a time window chain generation apparatus is provided, disposed in a first communication device supporting a proximity sensing network, the time window chain generation apparatus comprising: A creation unit is configured to determine the start time of the discovery window and create the discovery window whenever the duration of the first timer reaches a scheduling cycle of the proximity sensing network, and to start the second timer; the first timer is an automatic reload timer, and the second timer is a single-trigger timer; The determining unit is configured to determine, within the discovery window, the available time information of at least one available scheduled communication window for communicating with the peer device, the available time information including the offset time and duration relative to the start time; The generation unit is configured to generate a first interrupt signal in response to the second timer reaching a fixed duration, the first interrupt signal being used to indicate the end of the discovery window; and to trigger a timed task based on the first interrupt signal, and sequentially determine the timing start point according to the offset time of each available scheduling communication window, and when the corresponding timing start point is reached, load the duration corresponding to the current timing start point into the second timer, and start the second timer until the timing processing of at least one available scheduling communication window is completed; The processing unit is configured to stop generating the time window in response to the first timer reaching a scheduling cycle of the proximity sensing network.
[0013] Optionally, the time window chain generation device also includes: The scheduling unit is configured to, in response to the current communication window being the discovery window or the available scheduling communication window, obtain the transmission descriptor within the current communication window and the start position pointer corresponding to the transmission descriptor, wherein the start position pointer is used to indicate the starting address of the transmission descriptor in the storage space; write the start position pointer into the LHDPI register corresponding to the current communication window so that the LHDPI register stores the starting address of the transmission descriptor; in response to reaching the current communication window and needing to send the transmission descriptor, initiate direct memory access transmission, and move the transmission descriptor from the storage space according to the starting address stored in the LHDPI register and perform the transmission operation.
[0014] According to a third aspect of the present application, an electronic device is provided, comprising: a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the chained generation method of time windows as described in any of the foregoing embodiments.
[0015] According to a fourth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored, wherein when executed by a processor, the computer program implements the steps of the chain generation method for time windows as described in any of the foregoing embodiments.
[0016] According to a fifth aspect of the present application, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the steps of the chained generation method of time windows as described in any of the foregoing embodiments.
[0017] The embodiments of this application, by adopting the above technical solutions, have the following technical effects: During communication between the first communication device and the peer device, whenever the duration of the first timer reaches a scheduling cycle of the adjacent sensing network, it signifies the start of a new scheduling cycle, and the trigger moment is the start moment of the discovery window. Simultaneously, the second timer is activated. Since the discovery window has a fixed duration, the second timer can perform timing operations upon activation. When the duration of the second timer reaches the fixed duration, a first interrupt signal is generated, indicating the end of the discovery window. At this point, based on the first interrupt signal, the timing tasks of at least one available scheduling communication window can continue to be executed to determine the starting timing duration of the second timer, until the timing processing of at least one available scheduling communication window is completed. Since the first timer is an auto-reload timer and the second timer is a single-trigger timer, the second timer can be reused. By setting the first and second timers, chained timing operations can be achieved, thereby accurately determining the duration of each communication window and improving the continuity between different communication windows. Attached Figure Description
[0018] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 It is a window form of a neighbor perception network; Figure 2 This is a flowchart of a chain generation method for time windows in an embodiment of this application; Figure 3 A flowchart of a time-window-based communication method in an embodiment of this application; Figure 4 This is a scheduling principle diagram of a multiplexed LHDPI register in an embodiment of this application; Figure 5 This is a schematic diagram of the structure of a chain-type time window generation device in an embodiment of this application; Figure 6 This is an interactive schematic diagram of a chain generation method for time windows in an embodiment of this application; Figure 7 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0019] To make the technical solutions and advantages of the embodiments of this application clearer, the exemplary embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not an exhaustive list of all embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.
[0020] The timeline of the MAC layer supporting the NAN protocol is planned with a period of 512 TUs (where 1 TU = 1024 μs, approximately 1 ms). Within this period, NAN uses a time-division multiplexing window to generate media access opportunities, which are called the NAN communication window.
[0021] Specifically, NAN devices complete discovery and data interaction with peer devices during the discovery window and available scheduling communication window.
[0022] However, devices that currently support NAN generally have the following problems: First, the functionality of the MAC layer is concentrated in a single module, resulting in high coupling between modules. This makes subsequent maintenance and expansion difficult in the event of a failure.
[0023] Second, the timing unit design is simple and cannot manage the main cycle, sub-windows, and multiple available scheduling communication windows in a hierarchical manner, resulting in poor timing control accuracy.
[0024] Furthermore, within each 512 time units, NAN operates in a complex network space, where nodes that communicate with it may join or leave the network at any time, making it inherently required to adapt to dynamics.
[0025] Furthermore, there may be empty windows (i.e., windows that do not exchange data) interspersed between different communication windows. These factors combined make the combinations of various small windows within the large window of 512TU exceptionally rich and varied.
[0026] See Figure 1 , Figure 1 It is a window form of a neighbor perception network.
[0027] Within each 512 time units, the discovery window lasts for 16 time units (i.e., discovery window = 16 time units). Furthermore, at the beginning of each 512 time unit, a discovery window interruption occurs. This means that when a discovery window interruption occurs, a discovery window is established.
[0028] When the discovery window lasts for 16 time units, the first available scheduling communication window is interrupted. This means the discovery window has ended, and the system enters the first empty window (which can be understood as the case where the available scheduling communication window has a time window of 0), without needing to interact with the peer device.
[0029] When the duration of the first empty window reaches a preset time (it should be noted that this preset time is determined based on the interaction with the peer device), the second available scheduling communication window is interrupted. This means that the first empty window has ended, and the first available scheduling communication window (FAW_X) is entered, which is the time window in which data interaction with the peer device is required.
[0030] Similarly, when the first available scheduling communication window ends, a third available scheduling communication window is generated, and the process enters the second empty window. When the second empty window ends, a fourth available scheduling communication window is generated, and the process enters the second available scheduling communication window (FAW_Y).
[0031] When the second available scheduling communication window ends, the fifth available scheduling communication window is generated and interrupted until all windows within this 512 time unit are triggered and completed. Then, the process continues to repeat in the next 512 time unit.
[0032] In other words, within each 512 time unit, the form of the window is dynamic and diverse.
[0033] For example, within a 512-time unit, there are several types of windows, such as DW window, Empty window, and FAW window, with arbitrary combinations of their start points and durations.
[0034] For example, the window shape may include: DW+FAW_X+FAW_Y+Empty_X; the window shape may include: DW+Empty_X+FAW_X+Empty_Y+FAW_Y+Empty_Z; or, the window shape may include: DW+Empty.
[0035] Taking into account the above factors, this application provides a communication window generation and timing scheduling scheme. Through modular decomposition, integration of two-level timers, asynchronous interaction of semaphores, hardware and software linkage, status feedback after transmission, and unified management of hardware and software resources, it solves the problems of high coupling, low timing accuracy, poor reliability, and easy resource leakage of existing devices.
[0036] It should be noted that for more standard terminology related to the NAN protocol, please refer to the existing protocols; this application will not repeat them in the embodiments.
[0037] To enable those skilled in the art to better understand and implement this solution, the following detailed description of the specific solution, principles, advantages, and effects of this application is provided with reference to the accompanying drawings and specific embodiments.
[0038] The chained generation method of time windows in this application can be applied to devices that support NAN functionality in various generations of wireless LAN systems and can be deployed in the MAC layer data path of a system-on-a-chip (SoC).
[0039] In short, this solution applies to all Wi-Fi versions that support the NAN mechanism. Additionally, it should be noted that for more details regarding data transmission regulations, please refer to the 802.11 protocol.
[0040] For example, how to send and receive data, how the communication terminals interact with and parse data, etc. This application mainly concerns the generation of time windows in the NAN mechanism, which will be described in detail below.
[0041] In some embodiments, see Figure 2 , Figure 2 This is a flowchart of a chained generation method for time windows according to an embodiment of this application. This chained generation method for time windows can be applied to a first communication device supporting a proximity sensing network.
[0042] Accordingly, such as Figure 2 As shown, the chained generation method for time windows includes the following steps: S201, whenever the duration of the first timer reaches a scheduling cycle of the proximity sensing network, determine the start time of the discovery window, create the discovery window, and start the second timer; the first timer is an automatic reload timer, and the second timer is a single-trigger timer.
[0043] In some embodiments, when a first communication device joins a neighbor-aware network cluster, it can interact with a peer device within a discovery window. During this interaction, the first communication device and the peer device can negotiate the available time information of the available scheduling communication windows in the subsequent time period, as well as the time information of possible empty windows.
[0044] Specifically, whenever the duration of the first timer reaches a scheduling cycle of the proximity sensing network, indicating the arrival of a new scheduling cycle, a discovery window can be created, and the second timer can be started. The start time of the discovery window is consistent with the start time of the second timer. That is, this start time is not only the start time of the scheduling cycle, but also the starting point of the discovery window creation and the starting point of the second timer.
[0045] In this embodiment, this start time can be taken as the 0TU. All subsequent communication windows are set based on the 0TU.
[0046] Specifically, the first timer is an automatic reload timer (also known as the discovery window periodic timer DWP_TIMER), which means that once the first timer is started, it can continue to time until it reaches its maximum duration.
[0047] In this embodiment, the fixed time information of the discovery window is 16 TUs. That is, within this 16 TU, the first communication device negotiates the subsequent communication process with the peer device.
[0048] Specifically, within this 16TU, the first communication device broadcasts Service Discovery Frames (SDF) and NAN Action Frames to identify the peer device from other communication devices in the NAN cluster. Then, it negotiates and determines a communication window with the peer device using the method specified in the NAN protocol. The time information of the communication window is defined using a relative time offset, with reference to the end time of the discovery window.
[0049] It should be noted that for more details on determining the communication window in the NAN protocol, please refer to the relevant descriptions in the existing examples.
[0050] At the same time as the discovery window is created, a second timer is started, which can perform timed processing. That is to say, the second timer starts at 0TU.
[0051] Furthermore, the second timer is a single-trigger timer (also known as the available scheduling communication window timer FAW_TIMER), meaning it can be repeatedly activated multiple times. Thus, based on the triggering of the first timer, the repeated use of the second timer allows for precise control of each communication window within this cycle.
[0052] In this embodiment, the timing duration of the first timer is one scheduling cycle of the proximity sensing network. That is, the timing duration of the first timer is 512 TU. In other words, once the first timer is started, it lasts for 512 TU.
[0053] It should be noted that if it is necessary to end the NAN working mode or pause the timing of NAN, a DWP_DISABLE signal is generated for the first timer. The first timer will then automatically reset to zero and stop generating the first interrupt signal. In this embodiment, the timing accuracy of the first timer is 1µs.
[0054] S202, within the discovery window, determine the available time information of at least one available scheduled communication window for communicating with the peer device, the available time information including the offset time and duration relative to the start time.
[0055] In some embodiments, the available time information of the available scheduling communication window can be determined within a fixed time information (typically 16 TU) of the discovery window.
[0056] The number of available scheduled communication windows can be 0, 1, or more. The number of available scheduled communication windows is determined based on the needs of the current communication process.
[0057] In this embodiment, the duration interval of each available scheduling communication window is defined by the start time of the discovery window. For example, the available time information includes the offset time and duration relative to the start time.
[0058] For example, for one of the available scheduling communication windows, its available time information can be represented as (ST, DT). Where ST represents the start time of the available scheduling communication window, and DT represents the duration of the available scheduling communication window.
[0059] For example, (20TU, 30TU) indicates that the start time of this available scheduling communication window is 20TU and the duration is 30TU. The end time of the available scheduling communication window is 50TU, and this 50TU also serves as the start time of the next time communication window.
[0060] S203, in response to the second timer reaching a fixed duration, a first interrupt signal is generated, the first interrupt signal being used to indicate the end of the discovery window.
[0061] In some embodiments, a second timer is started at the beginning of the discovery window, and the second timer can perform timed operations.
[0062] When the second timer reaches its fixed duration, it indicates that the detection window has ended, thus generating the first interrupt signal. The first interrupt signal indicates the end time of the detection window and also the start time of the next communication window, thereby achieving seamless transition and improving communication quality.
[0063] S204, a timed task is triggered based on the first interrupt signal, and the timing start point is determined sequentially according to the offset time of each available scheduling communication window. When the corresponding timing start point is reached, the duration corresponding to the current timing start point is loaded into the second timer, and the second timer is started until the timing processing of at least one available scheduling communication window is completed; the second timer is a single-trigger timer.
[0064] In some embodiments, each generation of a first interrupt signal indicates that the transition to the next communication window is possible. Since each available scheduled communication window has its own corresponding offset time and duration, the timing start point of the second timer can be determined based on the offset time. Simultaneously, the duration is used as the timing duration of the second timer.
[0065] In this way, each time the current communication window ends, the next communication window can be opened again.
[0066] In this embodiment, step S204 may include: triggering the execution of the timed task based on the first interrupt signal; within the timed task, determining the timing start point of the currently available scheduling communication window according to the offset time of the currently available scheduling communication window relative to the start time, and loading the duration of the currently available scheduling communication window into a second timer when the timing start point is reached, and starting the second timer; generating a second interrupt signal in response to the timing duration of the second timer reaching the duration of the currently available scheduling communication window; the second interrupt signal being used to indicate the end of the currently available scheduling communication window; and triggering the timed task to determine the timing start point of the next available scheduling communication window based on the second interrupt signal in response to the existence of a next available scheduling communication window, until the timing processing of at least one available scheduling communication window is completed.
[0067] In short, whenever an operation is performed for an available scheduling communication window, a second interrupt signal is generated to execute the operation for the next available scheduling communication window.
[0068] It should be noted that step S204 does not disregard the existence of empty windows, but rather treats empty windows as available scheduling communication windows that do not perform data transmission.
[0069] S205, in response to the first timer's timing duration reaching another scheduling cycle, stop generating the time window.
[0070] In some embodiments, the first timer is restarted when its duration reaches one scheduling cycle of the proximity sensing network. Since the duration of the first timer is configured to be one scheduling cycle, when the duration of the first timer reaches the length corresponding to one scheduling cycle, it means that the current NAN communication process has been completed, and there is no need to generate a time window again.
[0071] Furthermore, when the duration of the first timer reaches another scheduling cycle, the next scheduling cycle can be started.
[0072] In some embodiments, when the time window creation process begins, it is also checked whether cached data (such as a transport descriptor) exists within the window. If a transport descriptor exists, data interaction operations are performed within this time window.
[0073] See Figure 3 , Figure 3 This is a flowchart of a time-window-based communication method according to an embodiment of this application, including: S301, in response to the current communication window being the discovery window or the available scheduling communication window, obtain the transmission descriptor within the current communication window and the starting position pointer corresponding to the transmission descriptor, the starting position pointer being used to indicate the starting address of the transmission descriptor in the storage space.
[0074] In some embodiments, taking into account the existence of empty windows, the transmission descriptor (TXD) sending operation is limited to only when the current communication window is a discovery window or an available scheduling communication window.
[0075] Typically, multiple transport descriptors are stored in the memory space, allowing the determination of the start position pointer among these transport descriptors. This start position pointer is used to indicate the starting address of the transport descriptor within this communication window when a send operation is performed.
[0076] Based on this starting address, these transport descriptors can be obtained sequentially.
[0077] In this embodiment, the transport descriptor may include a Sub MPDU and a TXD_NEXT field. The TXD_NEXT field of the current transport descriptor points to the next transport descriptor, and the TXD_NEXT field of the last transport descriptor is empty, meaning that the current node has been completely filled with MPDUs.
[0078] It should be noted that the transmission descriptor (TXD) contains not only MPDUs but also other transmission parameters, such as the interval between MPDUs.
[0079] S302, write the starting position pointer into the LHDPI register corresponding to the current communication window, so that the LHDPI register stores the starting address of the transmission descriptor.
[0080] The LHDPI register is a set of registers in the hardware module that stores the memory address of the actual data to be sent; specifically, it stores the starting address of the data structure of the transmission group node to be sent.
[0081] For example, the LHDPI registers consist of eight registers, each pointing to one of the eight transport group nodes. These correspond to eight priorities.
[0082] More specifically, the LHDPI register is LMAC-HWMAC-DATA-PATH-INTERFACE-REGISTER. It points to eight UTG-Linkers, which are the entry addresses for hardware to perform data transfers.
[0083] S303, in response to reaching the current communication window and needing to send the transmission descriptor, initiate direct memory access transmission, and move the transmission descriptor from the memory space according to the starting address stored in the LHDPI register and perform the transmission operation.
[0084] In some embodiments, the starting position pointer is pre-written to the LHDPI register. Whenever the current window is reached and data is detected to be sent, the hardware is triggered to execute the data transmission task of the discovery window or an available scheduled communication window.
[0085] During this process, the hardware MAC (HWMAC) initiates its own direct memory access (DMA) transfer mechanism, relocating the transfer descriptor pointed to by the start pointer in the LHDPI register. HWMAC then further processes the transfer descriptor.
[0086] The process of how HWMAC parses and sends data is not the focus of this application and will not be discussed further here.
[0087] Specifically, in the discovery window, timing operations are performed simultaneously with data sending operations.
[0088] Using the above data interaction method, the starting position pointer is written into the LHDPI register corresponding to the current sending window in advance, so that the LHDPI register can store the starting address of the transmission descriptor to be sent.
[0089] Therefore, this solution eliminates the need for software to re-search, organize, or move the data to be sent after the sending window arrives. Instead, it provides the address entry of the transmission descriptor to be sent to HWMAC in advance through the LHDPI register, reducing the processing burden when the sending window arrives, shortening the processing path between triggering the sending and obtaining the data to be sent in the hardware, and improving the data sending efficiency and real-time performance in windowed sending scenarios.
[0090] Meanwhile, since the LHDPI register stores the starting address, HWMAC can actively acquire and parse the transfer descriptor through DMA, reducing the overhead of LMAC directly participating in data movement and parsing. This realizes the division of labor and cooperation between software scheduling and hardware transmission processing, thereby improving the automation level of transmission processing and the efficiency of hardware resource utilization.
[0091] In some embodiments, the transport descriptor is written to a data linked list, which includes multiple transport group nodes connected by a node connection field, and each transport group node includes at least one of the transport descriptors.
[0092] In other words, this application performs the transmission descriptor sending operation in the manner of transmission group nodes.
[0093] In this case, in response to performing a transmission descriptor transmission operation for the current transmission group node, the processing status bit and status flag bit of the current transmission group node are set; wherein, the processing status bit includes a first processing identifier indicating that the transmission operation has been completed, and a second processing identifier indicating that the transmission operation has not been completed; the status flag bit includes a first status identifier indicating that the transmission was successful, and a second status identifier indicating that the transmission failed.
[0094] In other words, the processing status bit is used to indicate whether the current transport group node has been sent; the status flag bit is used to indicate whether the current transport group node (UTG) has been successfully sent.
[0095] In some embodiments, in response to the current duration of the current communication window being insufficient to support the sending operation of the current transmission group node, the processing status bit is set to the second processing identifier, and the status flag bit is set to the second status identifier, and when entering the next scheduling cycle again, the operation for the current transmission group node continues to be executed; or, in response to disconnecting the data connection path with the peer device, the transmission descriptor in the current transmission group node is released.
[0096] Specifically, HWMAC may continuously send to multiple transmission group nodes within a communication window. Therefore, when performing a transmission, HWMAC will also determine whether to support the transmission operation of the current transmission group node based on the remaining effective time of the current communication window.
[0097] For example, during transmission, a `timer_payload_valid` is sent to HWMAC. This `timer_payload_valid` instructs HWMAC to calculate whether the current duration of the communication window meets the transmission duration required by the current transmission group node. It can also indicate to the hardware whether the duration of the current transmission window needs to be monitored.
[0098] The specific internal logic is as follows: if timer_payload_valid=0, it means that the window is empty and in an unloaded state, and the hardware does not need to pay attention to the window; if timer_payload_valid=1, it means that the hardware needs to determine whether the remaining window can send the entire TXD during the TXD sending process.
[0099] Since the time occupancy of the sent TXDs is gradually reduced, the remaining time can be compared with the time required to send this TXD. Because the hardware calculates the required time based on the TXD and can see the current window duration, the hardware can know the size of the time window under the `timer_payload_valid` instruction.
[0100] If it is determined that the current duration is insufficient to support the transmission operation of the current transmission group node, the processing status bit is set to the second processing identifier, and the status flag bit is set to the second status identifier. In this way, the operation for the current transmission group node can continue to be executed in the next scheduling cycle.
[0101] The reason for using the next scheduling cycle is that each 512TU is a common time period negotiated by the cluster. During this time period, if one's own window is used up or wasted, it cannot occupy other windows and can only wait for the next scheduling cycle to arrive.
[0102] In some examples, if the data connection path with the peer device is terminated, the transport descriptor in the current transport group node is released.
[0103] In response to the current time of the current communication window supporting the sending operation of the current transmission group node, the processing status bit is set to the first processing identifier, and when it is determined that the sending has failed, the status flag bit is set to the second status identifier, so as to perform a retransmission operation in the next scheduling cycle.
[0104] In some embodiments, if the current transmission group node can be sent in the current communication window but fails to be sent successfully, a retransmission operation is performed in the next scheduling cycle.
[0105] In some embodiments, when a communication window can include both a discovery window and an available scheduling communication window, these two different communication windows can reuse the LHDPI register.
[0106] In this case, the chain generation method further includes: configuring a mirror context for the corresponding LHDPI register for each communication window, wherein the mirror context is used to back up the transmission state of the corresponding window in the LHDPI register; when it is determined that it is necessary to switch from the discovery window to the first available scheduled communication window, or from the current available scheduled communication window to the next available scheduled communication window, saving the current transmission state in the LHDPI register to the mirror context corresponding to the current communication window; loading the target transmission state from the mirror context corresponding to the current communication window to the LHDPI register, so as to send the transmission descriptor corresponding to the current communication window through the LHDPI register.
[0107] Specifically, a corresponding mirror context is configured for each of the multiple time windows. For example, the discovery window corresponds to the first mirror context, and the available scheduling communication window corresponds to the second mirror context. The mirror context can be stored in a register set, cache unit, on-chip memory, or other read-write memory structure.
[0108] When the LHDPI register is currently serving the current window and it is determined that a switch to the target window is needed for transmission, the current transmission status in the LHDPI register is saved to the mirror context corresponding to the current window. The current transmission status may include the transmission progress of the current window, the current position of the data to be transmitted, the transmission status flag, the window identifier, and the control status related to LHDPI register transmission.
[0109] After saving the current transmission status, the target transmission status is read from the mirror context corresponding to the target window and loaded into the LHDPI register.
[0110] Once loading is complete, the LHDPI register switches to the transmission context corresponding to the target window. Subsequently, based on the loaded target transmission state, the data corresponding to the target window is transmitted through the LHDPI register.
[0111] For example, when data is being sent through the LHDPI register within the discovery window and it is necessary to switch to the first available scheduled communication window, the sending status of the discovery window in the current LHDPI register is first saved to the mirror context corresponding to the discovery window.
[0112] The sending status of the discovery window can include the current UTG sending position, the portion already sent, the portion to be sent, and related control status.
[0113] Subsequently, data corresponding to the available scheduling communication window will be sent via the LHDPI register.
[0114] When the discovery window is scheduled again in a subsequent period, the mirror context corresponding to the discovery window can be reloaded into the shared LHDPI register, so that the discovery window can continue to send the incomplete UTG from the previously saved transmission progress.
[0115] By employing the above method, this embodiment of the application eliminates the need to configure independent LHDPI registers for different windows. Instead, it achieves context switching of shared LHDPI registers through the mirror context corresponding to each window. This reduces hardware resource consumption and interface implementation complexity, while also preserving the transmission state of incomplete windows during window switching, ensuring data continuity and transmission correctness during subsequent resumption of transmission, and enhancing the flexibility of window transmission scheduling.
[0116] See Figure 4 , Figure 4 This is a scheduling principle diagram of a multiplexed LHDPI register in an embodiment of this application.
[0117] exist Figure 4 As shown in the attached diagram, the window management module includes a linked list management structure (list_head), which is used to limit the data linked list; a mutex (mutx), which is used to protect the data linked list from addition, deletion, query, and modification operations; a window count (cnt), which limits the total number of communication windows in this data linked list; and a hash table (nan_win_hash[max]), which is used to quickly locate window nodes.
[0118] For example, based on a hash table, the window index (win_idx) can be quickly determined, thereby determining whether it is the first available scheduling communication window or the second available scheduling communication window.
[0119] Furthermore, based on the information within the window management module, the information within the first and second available scheduling communication windows can be determined. The first and second available scheduling communication windows have the same structure.
[0120] Specifically, within the first available scheduling communication window, the linked list management structure defines eight priorities under the EDCA mechanism: tid0, tid1, tid2, tid3, tid4, tid5, tid6, and tid7.
[0121] Furthermore, every eight priorities correspond to a linked list. For example, Figure 4 The diagram shows transport group nodes U0, U1, U2, U3, U4, and U5 (the number of which is configurable). Each transport group node is used to carry a transport descriptor of the corresponding priority.
[0122] Furthermore, each of the eight priorities has a starting address (utg_start_ptr, which points to the first address of each transport group node).
[0123] In this way, when switching between the first available scheduling communication window and the second available scheduling communication window, a set of eight priority data can be selected from the LHDPI register for actual transmission.
[0124] Regarding frame transmission operations under the EDCA mechanism, please refer to the existing protocol documentation. This application's embodiments do not limit this aspect.
[0125] In addition, each available scheduling communication window also includes: window name (e.g., FAW_X and FAW_Y); window start time (win_start); and window duration (win_time).
[0126] It should be noted that, Figure 4 Only two available scheduling communication windows are shown. In actual applications, the number of available scheduling communication windows is determined through negotiation.
[0127] In some embodiments, a payload control bit (timer_payload_valid) is also configured for the second timer.
[0128] The payload control bit may include: a first control bit indicating that the current communication window is empty and a second control bit indicating that the current communication window is an available scheduling communication window; wherein, the empty window is the communication window between the discovery window and the first available scheduling communication window; or, the empty window is the communication window between two adjacent available scheduling communication windows.
[0129] In response to the payload control bit being the first control bit, only the timed task is executed. That is, only the duration of the idle window is determined, and no data transmission operation is performed. In this way, during the idle window period, the scheduling of system tasks related to the scheduling protocol stack can be stopped to free up processing resources (such as CPU) for other tasks to execute. At the same time, the RF link is turned off for sleep and power saving, and the RF link is turned on again as soon as the next valid window is acquired.
[0130] In response to the payload control bit being the second control bit, while executing the timed task, it is also determined whether the current available duration of the available scheduling communication window meets the transmission requirements; in response to meeting the transmission requirements, the transmission descriptor transmission operation is executed; in response to not meeting the transmission requirements, the transmission descriptor transmission operation is executed in the next available scheduling communication window.
[0131] This application embodiment also provides a time window chain generation device, which can be set in a first communication device supporting a proximity sensing network.
[0132] Accordingly, see Figure 5 , Figure 5 This is a schematic diagram of a time window chain generation device according to an embodiment of this application. The time window chain generation device may include: Creation unit 510 is used to determine the start time of the discovery window and create the discovery window whenever the timing duration of the first timer reaches a scheduling cycle of the proximity sensing network, and to start the second timer; the first timer is an automatic reload timer, and the second timer is a single-trigger timer; The determining unit 520 is configured to determine, within the discovery window, the available time information of at least one available scheduled communication window for communicating with the peer device, the available time information including the offset time and duration relative to the start time; The generation unit 530 is configured to generate a first interrupt signal in response to the second timer reaching a fixed duration, the first interrupt signal being used to indicate the end of the discovery window; and to trigger a timed task based on the first interrupt signal, and sequentially determine the timing start point according to the offset time of each available scheduling communication window, and when the corresponding timing start point is reached, load the duration corresponding to the current timing start point into the second timer, and start the second timer until the timing processing of at least one available scheduling communication window is completed; The processing unit 540 is configured to stop generating the time window in response to the timing duration of the first timer reaching a scheduling cycle of the proximity sensing network.
[0133] Furthermore, the time window chain generation device may also include: a scheduling unit 550, configured to, in response to the current communication window being the discovery window or the available scheduling communication window, obtain the transmission descriptor within the current communication window and the start position pointer corresponding to the transmission descriptor, the start position pointer being used to indicate the start address of the transmission descriptor in the storage space; write the start position pointer into the LHDPI register corresponding to the current communication window, so that the LHDPI register stores the start address of the transmission descriptor; in response to reaching the current communication window and needing to send the transmission descriptor, initiate direct memory access transmission, and according to the start address stored in the LHDPI register, move the transmission descriptor from the storage space and perform a transmission operation.
[0134] For further details regarding the creation unit 510, the determination unit 520, the generation unit 530, the processing unit 540, and the scheduling unit 550, please refer to the aforementioned examples.
[0135] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0136] In practice, Figure 5 The chain generation device for the time window shown can correspond to a chip with communication function in a communication device; or to a communication device including a chip or chip module with communication function, or to a communication device.
[0137] In this embodiment, the time window chain generation device can be deployed on the MAC layer. It consists of six functional modules, and the modules interact with each other through semaphores, hardware interrupts, and write-back of the transmission completion status.
[0138] The overall architecture is as follows: LMAC general task function module (lmac_gen_tasks); LMAC discovery window dedicated task function module (lmac_dw_task); LMAC available scheduling communication window dedicated task module (lmac_faw_task); hardware MAC function module; hardware discovery window periodic timer (DWP TIMER), interrupt signal DWP_INT and DWP_ISR interrupt service routine function set module; hardware available scheduling communication window timer (FAW TIMER), interrupt signal FAW_INT and FAW_ISR interrupt service routine function set module.
[0139] See Figure 6 , Figure 6 This is an interactive schematic diagram of a chain generation method for time windows in an embodiment of this application.
[0140] First, in response to the command received from the upper-layer interface, the general task function module creates a communication window and starts the first timer. The hardware media access control layer sets the timing duration of the first timer to 512 TUs. That is, the first timer generates an interrupt every 512 TUs.
[0141] The general task function module executes the first timer interrupt service routine and triggers the creation of a discovery window when the first timer's duration reaches 512TU. The discovery window dedicated task function module can start a second timer and load a duration of 16TU.
[0142] At the same time, the dedicated task function module for the discovery window also checks the data list of the discovery window to determine if there is data to be sent. Upon confirming the existence of data to be sent, it switches to the LHDPI register and sends the data.
[0143] The hardware media access control layer executes a second timer countdown and then performs transmission and write-back. Based on the transmission result, the processing status bit is set to the first processing identifier to indicate that the general task function module has already transmitted data in the discovery window.
[0144] Furthermore, the first interrupt signal is used to indicate the creation of an available scheduling communication window.
[0145] Thus, the general task function module executes the second timer interrupt service routine and triggers the creation of an available scheduled communication window. The dedicated task function module for the available scheduled communication window can load the available time information of the first available scheduled communication window and start the second timer. The hardware media access control layer can execute the second timer countdown.
[0146] Simultaneously, the dedicated task function module for the available scheduling communication window searches for the first available scheduling communication window and sends data. This module can switch to the LHDPI register and send data.
[0147] Based on the transmission result, the hardware media access control layer sets the processing status bit to the first processing identifier to indicate that the general task function module has already sent data in the first available scheduling communication window.
[0148] Simultaneously, a second interrupt signal is generated to indicate the creation of the next available scheduling communication window.
[0149] Thus, the general task function module executes the second timer interrupt service routine and triggers the creation of an available scheduling communication window. The dedicated task function module for the available scheduling communication window can write the time information of the currently available scheduling communication window and start the second timer. The hardware media access control layer can execute the second timer countdown.
[0150] Simultaneously, the dedicated task function module for the available scheduling communication window can search for a second available scheduling communication window and send data. This module can switch to the LHDPI register and send data.
[0151] Based on the transmission result, the hardware media access control layer sets the processing status bit to the first processing identifier to indicate that the general task function module has already sent data in the second available scheduling communication window.
[0152] Simultaneously, a second interrupt signal is generated, and a third available scheduling communication window is triggered to continue sending.
[0153] If there is no window, no action will be taken.
[0154] Furthermore, if the duration of the first timer reaches 512TU, the next scheduling cycle will begin.
[0155] Specifically, an interrupt signal is generated to indicate the start of the next scheduling cycle. The general task function module can initiate the next scheduling cycle.
[0156] This application also provides an electronic device, including: a memory and a processor, wherein the memory stores a computer program that can run on the processor, and the processor executes the time window chain generation method described in any of the foregoing embodiments when running the computer program.
[0157] See Figure 7 , Figure 7 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of this application.
[0158] Figure 7 The illustrated electronic device includes a memory 710, a processor 720, and a transceiver 730. The processor 720 is coupled to the memory 710 and the transceiver 730. The memory 710 can be located inside or outside the terminal. The memory 710, processor 720, and transceiver 730 can be connected via a communication bus. The transceiver 730 is used to communicate with other devices or communication networks.
[0159] Optionally, the transceiver 730 can be a transmitter. The memory 710 stores a computer program that can run on the processor 720, and when the processor 720 runs the computer program, the transceiver 730 performs the steps of any of the methods in the foregoing embodiments provided in the above embodiments.
[0160] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of any of the methods in the foregoing embodiments.
[0161] Storage media may include read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, etc. The storage media may also include non-volatile or non-transitory memory, etc.
[0162] This application also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of any of the methods in the foregoing embodiments.
[0163] It should be understood that in the embodiments of this application, the processor can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0164] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).
[0165] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0166] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0167] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0168] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0169] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0170] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for chaining time windows, characterized in that, The chained generation method for the time window, applied to a first communication device supporting a proximity sensing network, includes: Whenever the duration of the first timer reaches one scheduling cycle of the proximity sensing network, the start time of the discovery window is determined, the discovery window is created, and the second timer is started; the first timer is an automatic reload timer, and the second timer is a single-trigger timer. Within the discovery window, available time information for at least one available scheduled communication window for communicating with the peer device is determined, the available time information including offset time and duration relative to the start time; In response to the second timer reaching a fixed duration, a first interrupt signal is generated, which is used to indicate the end of the discovery window; The timing task is triggered based on the first interrupt signal, and the timing start point is determined sequentially according to the offset time of each available scheduling communication window. When the corresponding timing start point is reached, the duration corresponding to the current timing start point is loaded into the second timer and the second timer is started until the timing processing of at least one available scheduling communication window is completed. In response to the first timer's timing duration reaching another scheduling cycle, the generation of the time window is stopped.
2. The chain generation method according to claim 1, characterized in that, The method of triggering a timed task based on the first interrupt signal includes: Based on the first interrupt signal, the timed task is executed. Within the scheduled task, the timing start point of the currently available scheduled communication window is determined based on the offset time of the currently available scheduled communication window relative to the start time. When the timing start point is reached, the duration of the currently available scheduled communication window is loaded into the second timer, and the second timer is started. In response to the second timer's timing duration reaching the duration of the currently available scheduling communication window, a second interrupt signal is generated; the second interrupt signal is used to indicate the end of the currently available scheduling communication window. In response to the existence of another available scheduling communication window, the timed task is triggered based on the second interrupt signal to determine the timing start point of the next available scheduling communication window, until the timing processing of the at least one available scheduling communication window is completed.
3. The chain generation method according to claim 1 or 2, characterized in that, Also includes: In response to the current communication window being the discovery window or the available scheduling communication window, the transmission descriptor within the current communication window and the starting position pointer corresponding to the transmission descriptor are obtained. The starting position pointer is used to indicate the starting address of the transmission descriptor in the storage space. Write the starting position pointer into the LHDPI register corresponding to the current communication window, so that the LHDPI register stores the starting address of the transport descriptor; In response to reaching the current communication window and needing to send the transport descriptor, a direct memory access transport is initiated, and the transport descriptor is moved from the memory space according to the starting address stored in the LHDPI register and the send operation is performed.
4. The chain generation method according to claim 3, characterized in that, The transport descriptor is written to a data linked list, which includes multiple transport group nodes. Adjacent transport group nodes are connected by a node connection field. Each transport group node includes at least one of the transport descriptors. In response to performing a transmission descriptor transmission operation for the current transmission group node, the processing status bit and status flag bit of the current transmission group node are set; wherein, the processing status bit includes a first processing identifier indicating that the transmission operation has been completed, and a second processing identifier indicating that the transmission operation has not been completed; the status flag bit includes a first status identifier indicating that the transmission was successful, and a second status identifier indicating that the transmission failed. In response to the current duration of the current communication window being insufficient to support the sending operation of the current transmission group node, the processing status bit is set to the second processing identifier, and the status flag bit is set to the second status identifier. When entering the next scheduling cycle again, the operation for the current transmission group node continues to be executed. Alternatively, in response to disconnecting the data connection path with the peer device, the transmission descriptor in the current transmission group node is released. In response to the current time of the current communication window supporting the sending operation of the current transmission group node, the processing status bit is set to the first processing identifier, and when it is determined that the sending has failed, the status flag bit is set to the second status identifier, so as to perform a retransmission operation in the next scheduling cycle.
5. The chain generation method according to claim 3, characterized in that, In response to a communication window including the discovery window and the available scheduling communication window, the following method is also included: Configure a mirror context for the corresponding LHDPI register for each communication window. The mirror context is used to back up the transmission state of the corresponding window in the LHDPI register. When it is determined that it is necessary to switch from the discovery window to the first available scheduling communication window, or from the current available scheduling communication window to the next available scheduling communication window, the current transmission status in the LHDPI register is saved to the mirror context corresponding to the current communication window; The target transmission status is loaded from the mirror context corresponding to the current communication window to the LHDPI register, so as to send the transmission descriptor corresponding to the current communication window through the LHDPI register.
6. The chain generation method according to claim 1, characterized in that, Configure a payload control bit for the second timer, the payload control bit including: a first control bit indicating that the current communication window is an empty window and a second control bit indicating that the current communication window is an available scheduling communication window; wherein, the empty window is the communication window between the discovery window and the first available scheduling communication window; or, the empty window is the communication window between two adjacent available scheduling communication windows; In response to the payload control bit being the first control bit, only the timed task is executed; In response to the payload control bit being the second control bit, while executing the timed task, it is also determined whether the current available duration of the available scheduling communication window meets the transmission requirements; in response to meeting the transmission requirements, the transmission descriptor transmission operation is executed; in response to not meeting the transmission requirements, the transmission descriptor transmission operation is executed in the next scheduling cycle.
7. A chain-type time window generation device, characterized in that, The time window chain generation device, located in a first communication device supporting a proximity sensing network, includes: A creation unit is configured to determine the start time of the discovery window and create the discovery window whenever the duration of the first timer reaches a scheduling cycle of the proximity sensing network, and to start the second timer; the first timer is an automatic reload timer, and the second timer is a single-trigger timer; The determining unit is configured to determine, within the discovery window, the available time information of at least one available scheduled communication window for communicating with the peer device, the available time information including the offset time and duration relative to the start time; The generation unit is configured to generate a first interrupt signal in response to the second timer reaching a fixed duration, the first interrupt signal being used to indicate the end of the discovery window; and to trigger a timed task based on the first interrupt signal, and sequentially determine the timing start point according to the offset time of each available scheduling communication window, and when the corresponding timing start point is reached, load the duration corresponding to the current timing start point into the second timer, and start the second timer until the timing processing of at least one available scheduling communication window is completed; The processing unit is configured to stop generating the time window in response to the first timer reaching a scheduling cycle of the proximity sensing network.
8. The time window chain generation device according to claim 7, characterized in that, Also includes: The scheduling unit is configured to, in response to the current communication window being the discovery window or the available scheduling communication window, obtain the transmission descriptor within the current communication window and the start position pointer corresponding to the transmission descriptor, wherein the start position pointer is used to indicate the starting address of the transmission descriptor in the storage space; write the start position pointer into the LHDPI register corresponding to the current communication window so that the LHDPI register stores the starting address of the transmission descriptor; in response to reaching the current communication window and needing to send the transmission descriptor, initiate direct memory access transmission, and move the transmission descriptor from the storage space according to the starting address stored in the LHDPI register and perform the transmission operation.
9. An electronic device, comprising: A memory and a processor, the memory storing a computer program, characterized in that the processor, when executing the computer program, implements the steps of the chained generation method of time windows according to any one of claims 1 to 6.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the chained generation method of time windows according to any one of claims 1 to 6; and / or, a computer program product comprising a computer program / instruction, characterized in that, when the computer program / instruction is executed by a processor, it implements the steps of the chained generation method of time windows according to any one of claims 1 to 6.