EP4691035A1 - Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl) - Google Patents
Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl)Info
- Publication number
- EP4691035A1 EP4691035A1 EP23720739.4A EP23720739A EP4691035A1 EP 4691035 A1 EP4691035 A1 EP 4691035A1 EP 23720739 A EP23720739 A EP 23720739A EP 4691035 A1 EP4691035 A1 EP 4691035A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- network entity
- esl
- time
- wlan
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
Definitions
- the present disclosure generally relates to wireless communications.
- aspects of the present disclosure relate to systems and techniques for a timing sync based coex strategy of wide local area network (WLAN) and (BT) electronic shelf label (ESL) .
- WLAN wide local area network
- ESL electronic shelf label
- Short range wireless communication enables wireless communication over relatively short distances (e.g., within thirty meters) .
- relatively short distances e.g., within thirty meters
- UHF ultra-high frequency
- GHz gigahertz
- BLE Low Energy
- Such devices may include beacons, which are wireless communication devices that may use low-energy communication technology for positioning, proximity marketing, or other purposes.
- such devices may serve as nodes (e.g., relay nodes) of a wireless mesh network that communicates and/or relays information to a managing platform or hub associated with the wireless mesh network.
- a method of wireless communication performed at a first network entity includes: asserting, by the first network entity, a line in a communication interface at an assertion point in time to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- a first network entity for wireless communication includes at least one memory, and at least one processor coupled to the at least one memory and configured to: assert a line in a communication interface at an assertion point in time to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- a non-transitory computer-readable medium of a first network entity having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: assert a line in a communication interface at an assertion point in time to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- a first network entity for wireless communication includes: means for asserting a line in a communication interface to at an assertion point in time indicate to a second network entity a time for activity by the first network entity; and means for performing the activity at the time.
- a method of wireless communication performed at a first network entity includes: receiving, by the first network entity, an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and performing, by the first network entity, a second activity at the time.
- a first network entity for wireless communication includes at least one memory, and at least one processor coupled to the at least one memory and configured to: receive an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and perform a second activity at the time.
- a non-transitory computer-readable medium of a first network entity having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: receive an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and perform a second activity at the time.
- a first network entity for wireless communication includes: means for receiving an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and means for performing a second activity at the time.
- a method of wireless communication performed at a first network entity includes: toggling, by the first network entity, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- a first network entity for wireless communication includes at least one memory, and at least one processor coupled to the at least one memory and configured to: toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- a non-transitory computer-readable medium of a first network entity having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- a first network entity for wireless communication includes: means for toggling, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and means for performing the activity at the time.
- a method of wireless communication performed at a first network entity includes: asserting simultaneously, by the first network entity, a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- a first network entity for wireless communication includes at least one memory, and at least one processor coupled to the at least one memory and configured to: assert simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- a non-transitory computer-readable medium of a first network entity having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: assert simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- a first network entity for wireless communication includes: means for asserting simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and means for performing the activity at the time.
- aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user device, user equipment, wireless communication device, and/or processing system as substantially described with reference to and as illustrated by the drawings and specification.
- Some aspects include a device having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include processing devices for use in a device configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a device to perform operations of any of the methods summarized above. Further aspects include a device having means for performing functions of any of the methods summarized above.
- FIG. 1 is a diagram illustrating an example environment in which systems and/or methods described herein may be implemented, in accordance with some aspects of the present disclosure.
- FIG. 2 is a diagram illustrating example components of a device, in accordance with some aspects of the present disclosure.
- FIG. 3 is a signaling diagram illustrating example communication transmissions, in accordance with some aspects of the present disclosure.
- FIG. 4 is a signaling diagram illustrating an example of communication transmissions between a network device and two groups of wireless communication devices, in accordance with some aspects of the present disclosure.
- FIG. 5 is a diagram illustrating an example of an access protocol having three Asynchronous Connection-Oriented Link (ACL) time slots, in accordance with some aspects of the present disclosure.
- ACL Connection-Oriented Link
- FIG. 6 is a diagram illustrating an example of a system with WLAN and BT subsystems, where the system includes a three wire packet traffic arbitration (PTA) interface, in accordance with some aspects of the present disclosure.
- PTA packet traffic arbitration
- FIG. 7 is a diagram illustrating an example of timing for BT communications, in accordance with some aspects of the present disclosure.
- FIG. 8 is a diagram illustrating an example of a system with WLAN and BT subsystems, where the system includes a four wire PTA interface with a timing sync line, in accordance with some aspects of the present disclosure.
- FIG. 9 is a diagram illustrating an example of timing with a time sync indication in an ESL use case, in accordance with some aspects of the present disclosure.
- FIG. 10 is a diagram illustrating an example of timing, where time is allocated for WLAN and BT communications, in accordance with some aspects of the present disclosure.
- FIG. 11 is a diagram illustrating an example of timing, where time is allocated for different time types, in accordance with some aspects of the present disclosure.
- FIG. 12 is a diagram illustrating an example of a system configuration for data exchange between a WLAN and BT, in accordance with some aspects of the present disclosure.
- FIG. 13 is a diagram illustrating an example of timing for BT and WLAN scheduling without synchronization, in accordance with some aspects of the present disclosure.
- FIG. 14A is a diagram illustrating an example of a system with Wi-Fi (e.g., WLAN) and BT subsystems, where the system includes a two wire PTA interface, in accordance with some aspects of the present disclosure.
- Wi-Fi e.g., WLAN
- BT subsystems where the system includes a two wire PTA interface, in accordance with some aspects of the present disclosure.
- FIG. 14B is a diagram illustrating an example of a system with Wi-Fi (e.g., WLAN) and BT subsystems, where the system includes a three wire PTA interface, in accordance with some aspects of the present disclosure.
- Wi-Fi e.g., WLAN
- BT subsystems e.g., BT subsystems
- the system includes a three wire PTA interface
- FIG. 15 is a flowchart illustrating an example of a method for time sync indication detection, in accordance with some aspects of the present disclosure.
- FIG. 16 is a diagram illustrating an example of timing with a time sync indication in an ESL use case, in accordance with some aspects of the present disclosure.
- FIG. 17 is a diagram illustrating an example of time sync using a BT_PRIORITY line, in accordance with some aspects of the present disclosure.
- FIG. 18 is a diagram illustrating an example of timing for BT scheduling and WLAN scheduling with synchronization, in accordance with some aspects of the present disclosure.
- FIG. 19 is a diagram illustrating an example of a system configuration for data exchange between a WLAN and BT, in accordance with some aspects of the present disclosure.
- FIG. 20 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, wherein the process involves asserting a line in a communication interface, in accordance with some aspects of the present disclosure.
- FIG. 21 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, wherein the process involves toggling a line in a communication interface, in accordance with some aspects of the present disclosure.
- FIG. 22 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, wherein the process involves simultaneously asserting a high setting on a first line and a low setting on a second line in a communication interface, in accordance with some aspects of the present disclosure.
- FIG. 23 is a block diagram illustrating an example of a computing system, which may be employed by the disclosed systems and techniques for a timing sync based coex strategy of WLAN and BT ESL, in accordance with some aspects of the present disclosure.
- a system may include one or more wireless communication devices that are controlled by a network entity.
- an electronic shelf label (ESL) system may include one or more wireless communication devices (e.g., ESLs) that are controlled by a network entity, such as a management entity (ME) , via at least one network device, such as an access point (AP) .
- ESL electronic shelf label
- ME management entity
- AP access point
- each ESL may have a wireless connection (e.g., a Low Energy (BLE) connection or other connection) to an access point (AP) that is communicatively connected to the management entity (e.g., via the Internet, such as wirelessly, via an Ethernet connection, etc. ) .
- BLE Low Energy
- commands from the management entity may be wirelessly transmitted to the ESLs by the access point.
- Responses or information from the ESLs may also be received by the access point and provided by the access point to the management entity. While examples are described herein using ESLs as illustrative examples of wireless communication devices, a management entity as an example of a network entity, and access points as examples of network devices, the systems and techniques described herein are applicable to any type of system or network.
- PAs periodic Advertisements
- a master device e.g., which may be in the form of a network device, such as an access point
- slave devices e.g., which may each be in the form of a wireless communication device, such as an ESL or other peripheral device
- PAs can be used to issue information from a master device to multiple slave devices, which may be within one or more groups of slave devices.
- PAs are generally unidirectional (e.g., unidirectional transmissions) such that PAs are transmitted only one-way from a master device to one or more slave devices.
- Periodic Advertisement with Response can be used for ESL systems to provide bidirectionality (e.g., bidirectional transmissions between a master device and one or more slave devices) .
- Slave devices synchronized within a group of slave devices can be addressed by a master device on a synchronized channel (e.g., a radio frequency (RF) channel between the master device and the slave devices) whenever the master device chooses to send (e.g., transmit) a request to the slave devices.
- a synchronized channel refers to a channel on which transmissions are synchronized (in time) .
- the channel includes a frequency on which one or more communications are transmitted.
- a hopping frequency sequence defines the channel, where the sequence progresses at a fixed determine interval.
- a master device and one or more slave devices can concurrently track the sequence at a predefined frequency hopping pattern or sequence (e.g., so the master device knows when to transmit the request and the slave devices know when to listen for and/or receive the request) .
- a request transmitted by a master device to slave devices in a particular group may be a PA containing a synchronization message transmitted by the master device on the synchronized channel to the slave devices of the particular group.
- wireless communication devices within the particular group can wake up (e.g., from a low power (LP) mode) at the same PA transmission with respect to a particular PAwR train for that group.
- a PA is made up of a periodic set of transmissions, where the collection of transmissions is collectively referred to as a PA train or a PAwR train when applied to PAwR. Each transmission of a PA train (or PAwR train) occurs at a precise point in time, with fixed intervals between the transmissions.
- a communication channel (e.g., one communication channel out of thirty-seven available communication channels) is selected for each of the transmissions, where the communication channel follows a hopping frequency sequence.
- the synchronization between the master device and the slave devices in the group is based on the periodicity of the PA.
- the periodically-transmitted messages (e.g., the synchronization messages) include zero, one, or more commands (e.g., a respective operational code (OpCode) and parameters associated with each command) .
- a response from a slave device is expected by the master device (e.g., the synchronization message from the master device requests a response from a specific slave device)
- the particular slave device will respond in a specific response slot, based on where the slave device appeared within a sequence contained within the synchronization message transmitted by the master device.
- Each access point may have an associated channel map.
- a channel map is a listing of frequency channels to be utilized or, conversely, not to be utilized (e.g., in the context of modification of frequency hopping sequences) by an access point for communication, such as with the ESLs or other devices.
- PA packets can be transmitted on a particular number of channels (e.g., 37 data channels) .
- the channels that are used and the channels that are not used can be indicated by the channel map.
- the channel map of an access point can be updated via a channel map update (CMU) .
- a CMU is a procedure for updating (or changing) a current channel map (ChM) for an access point to a new channel map for the access point.
- the access point can send a synchronization message as a PA to the ESLs.
- the synchronization message can include various types of information, including information associated with a CMU in addition to other information.
- information associated with the CMU can be included in one or more fields (e.g., an Additional Controller Advertising Data (ACAD) field) of a synchronization message.
- ACAD Additional Controller Advertising Data
- the CMU information included in a synchronization message can notify one or more ESLs of the new channel map to be used for future communications with the access point.
- a BT ESL subsystem e.g., BT subsystem
- WLAN wide local area network
- Wi-Fi subsystem e.g., Wi-Fi subsystem
- a retail store may employ a management entity-access point-electronic shelf label (ME-AP-ESL) architecture to manage many (e.g., hundreds or thousands) of item price labels based on a BT ESL profile protocol.
- ME-AP-ESL management entity-access point-electronic shelf label
- a WLAN may also exist within the same store to supply internet access to associates, customers, or other supporting systems.
- the WLAN e.g., WLAN subsystem
- BT e.g., BT subsystem
- GHz gigahertz
- the WLAN and BT run on different systems, such as different systems on a chip (SOCs) . There is not a strict (e.g., to the level of few micro-seconds) time synchronization between these two subsystems.
- SOCs systems on a chip
- the WLAN and BT communicate with each other via a packet traffic arbitration (PTA) interface.
- PTA packet traffic arbitration
- the BT can indicate this activity to the WLAN through active (e.g., a BT_active) and priority (e.g., BT_priority) lines of the PTA.
- the WLAN can then grant or deny the BT functions (e.g., via a WLAN grant line of the PTA) . Since the BT subsystem and WLAN subsystem are running based on their own clock (e.g., BT clock and WLAN clock) and their clocks are not synchronized with each other, BT and WLAN tasks cannot be aligned with each other, which prevents the use of an accurate time division strategy.
- their own clock e.g., BT clock and WLAN clock
- the systems and techniques provide a way (e.g., through a timing sync feature) to communicate time markers from a BT subsystem (e.g., BT ESL subsystem for ESL use cases) to a WLAN subsystem (e.g., or any other system) to allow for the WLAN subsystem to be able to infer a precise time of forth coming events in the BT subsystem.
- the BT clock will nonetheless be free running and, thus, drift between that of the WLAN clock between two markers.
- the WLAN subsystem will be able to determine (e.g., within the accuracy of a BT clock drift prediction) when to assert its PTA.
- the WLAN can know more exact timing of BT ESL functions.
- the BT ESL functions may include, but are not limited to, when the BT ESL are sending a specific group of PAwR, when the BT ESL want to receive PAwR responses, and/or when the BLE connections are scheduled.
- the WLAN can define a coex algorithm for the timing sync feature, based on this timing to guarantee some group ESL PAwR can have a high priority time and/or to divide the time based on synced (synchronized) timing, which can be acceptable for both the WLAN and BT ESL subsystems.
- FIG. 1 is a diagram of an example environment 100 in which systems and/or methods described herein may be implemented.
- the environment 100 may include at least one access point (AP) 110, at least one wireless communication device 120, a management entity (ME) 130, and a network 140.
- Devices of the environment 100 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
- the access point 110 may include one or more devices capable receiving, generating, storing, processing, providing, and/or routing information associated with access point synchronization and/or handover, as described elsewhere herein.
- the access point 110 may include a communication device and/or a computing device.
- the access point 110 may be configured to transmit beacons (e.g., BLE beacons) , as well as to scan and locate other devices (e.g., other devices communicating using BLE protocols) .
- beacons e.g., BLE beacons
- the wireless communication device 120 may include one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with access point synchronization and/or handover, as described elsewhere herein.
- the wireless communication device 120 may include a communication device and/or a computing device.
- the wireless communication device 120 may be, may include, or may be included in an electronic shelf label (ESL) .
- ESL electronic shelf label
- the management entity 130 includes one or more devices capable of receiving, generating, storing, processing, providing, and/or routing information associated with access point synchronization and/or handover, as described elsewhere herein.
- the management entity 130 may include a communication device and/or a computing device.
- the management entity 130 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware) , or a server in a cloud computing system.
- the management entity 130 includes computing hardware used in a cloud computing environment.
- the management entity 130 may provide control of a system (e.g., an ESL system) that includes the access point (s) 110, the wireless communication device (s) 120, and/or the device (s) 130.
- the access point (s) 110 may be communicatively connected to the management entity 130 via a network (not shown) , such as the Internet.
- the network 140 may include one or more wireless networks.
- the network 140 may include a personal area network (e.g., a Bluetooth network) .
- the network 140 enables communication among the devices of environment 100.
- the number and arrangement of devices and networks shown in FIG. 1 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 1. Furthermore, two or more devices shown in FIG. 1 may be implemented within a single device, or a single device shown in FIG. 1 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.
- FIG. 2 is a diagram illustrating example components of a device 200, in accordance with the present disclosure.
- Device 200 may correspond to access point 110, wireless communication device 120, and/or management entity 130.
- access point 110, wireless communication device 120, and/or management entity 130 may include one or more devices 200 and/or one or more components of device 200.
- device 200 may include a bus 205, a processor 210, a memory 215, a storage component 220, an input component 225, an output component 230, and/or a communication component 235.
- Bus 205 may include a component that permits communication among the components of device 200.
- Processor 210 may be implemented in hardware, firmware, or a combination of hardware and software.
- Processor 210 may be a central processing unit (CPU) , a graphics processing unit (GPU) , an accelerated processing unit (APU) , a microprocessor, a microcontroller, a digital signal processor (DSP) , a field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or another type of processing component.
- processor 210 may include one or more processors capable of being programmed to perform a function.
- Memory 215 may include a random access memory (RAM) , a read only memory (ROM) , and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 210.
- RAM random access memory
- ROM read only memory
- static storage device e.g., a flash memory, a magnetic memory, and/or an optical memory
- Storage component 220 can store information and/or software related to the operation and use of device 200.
- storage component 220 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk) , a compact disc (CD) , a digital versatile disc (DVD) , a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
- Input component 225 may include a component that permits device 200 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone) . Additionally, or alternatively, input component 225 may include a component for determining a position or a location of device 200 (e.g., a global positioning system (GPS) component or a global navigation satellite system (GNSS) component) and/or a sensor for sensing information (e.g., an accelerometer, a gyroscope, an actuator, or another type of position or environment sensor) .
- Output component 230 can include a component that provides output information from device 200 (e.g., a display, a speaker, a haptic feedback component, and/or an audio or visual indicator) .
- Communication component 235 may include one or more transceiver-like components (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication component 235 may permit device 200 to receive information from another device and/or provide information to another device.
- communication component 235 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency interface, a universal serial bus (USB) interface, a wireless local area interface (e.g., a Wi-Fi interface or a BLE interface) , and/or a cellular network interface.
- USB universal serial bus
- Communication component 235 may include one or more antennas for receiving wireless radio frequency (RF) signals transmitted from one or more other devices, cloud networks, and/or the like.
- the antenna may be a single antenna or an antenna array (e.g., antenna phased array) that can facilitate simultaneous transmit and receive functionality.
- the antenna may be an omnidirectional antenna such that signals can be received from and transmitted in all directions.
- the wireless signals may be transmitted via a wireless network.
- the wireless network may be any wireless network, such as a cellular or telecommunications network (e.g., 3G, 4G, 5G, etc. ) , wireless local area network (e.g., a WiFi network) , a Bluetooth TM network, and/or other network.
- the one or more transceiver-like components (e.g., a wireless transceiver) of the communication component 235 may include an RF front end including one or more components, such as an amplifier, a mixer (also referred to as a signal multiplier) for signal down conversion, a frequency synthesizer (also referred to as an oscillator) that provides signals to the mixer, a baseband filter, an analog-to-digital converter (ADC) , one or more power amplifiers, among other components.
- the RF front-end can generally handle selection and conversion of the wireless signals into a baseband or intermediate frequency and can convert the RF signals to the digital domain.
- a CODEC may be implemented (e.g., by the processor 210) to encode and/or decode data transmitted and/or received using the one or more wireless transceivers.
- encryption-decryption may be implemented (e.g., by the processor 210) to encrypt and/or decrypt data (e.g., according to the Advanced Encryption Standard (AES) and/or Data Encryption Standard (DES) standard) transmitted and/or received by the one or more wireless transceivers.
- AES Advanced Encryption Standard
- DES Data Encryption Standard
- device 200 may represent an ESL.
- the ESL may include a battery in addition to the aforementioned components.
- the output component 230 of the ESL may be an electronic paper (e-paper) display or a liquid crystal display (LCD) .
- Device 200 may perform one or more processes described herein. Device 200 may perform these processes based on processor 210 executing software instructions stored by a non-transitory computer-readable medium, such as memory 215 and/or storage component 220.
- a computer-readable medium is defined herein as a non-transitory memory device.
- a memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
- Software instructions may be read into memory 215 and/or storage component 220 from another computer-readable medium or from another device via communication component 235. When executed, software instructions stored in memory 215 and/or storage component 220 may cause processor 210 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, aspects described herein are not limited to any specific combination of hardware circuitry and software.
- device 200 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 2. Additionally, or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions described as being performed by another set of components of device 200.
- a set of components e.g., one or more components
- PAs are often utilized to provide regular and predictable payload transmissions from a central device (e.g., which may be in the form of a network device, such as an access point) to one or more peripheral devices (e.g., which may each be in the form of a wireless communication device, such as an ESL) .
- PAs can be used to issue information from a central device to multiple peripheral devices, which may be within one or more groups of peripheral devices.
- PAs are generally unidirectional (e.g., unidirectional transmissions) such that PAs are transmitted only one-way from a central device to one or more peripheral devices.
- Periodic Advertisement with Response was introduced to ESL systems to provide bidirectionality (e.g., bidirectional transmissions between a central device and one or more peripheral devices) .
- Peripheral devices synchronized within a group of peripheral devices can be addressed by a central device on a synchronized channel (e.g., a synchronized frequency channel between the central device and the peripheral devices) whenever the central device chooses to send (e.g., transmit) a request (e.g., a PA containing a synchronization message transmitted on the synchronized channel) to the peripheral devices.
- a synchronized channel e.g., a synchronized frequency channel between the central device and the peripheral devices
- a response from a peripheral device is expected by the central device (e.g., the synchronization message from the central device requests a response from a specific peripheral device)
- the particular peripheral device will respond in a specific response slot, based on where the peripheral device appeared within a sequence contained within the synchronization message transmitted by the central device.
- FIGS. 3 and 4 show signaling diagrams illustrating examples of PAwR in an ESL system.
- the signaling diagram of FIG. 3 shows an example PAwR for a group of wireless network devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e)
- the signaling diagram of FIG. 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and a second group including ESL 12 to ESL 22) .
- FIG. 3 shows an example PAwR for a group of wireless network devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e)
- the signaling diagram of FIG. 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and
- FIG. 3 is a signal timing diagram illustrating a portion of a communication between an access point (e.g., access point 110) and wireless communication devices 120 (e.g., ESLs) .
- an access point e.g., access point 110
- wireless communication devices 120 e.g., ESLs
- the signal sequence illustrated in FIG. 3 may be implemented by one or more of the communication connections, access points 110, and/or wireless communication devices 120 of FIG. 1.
- the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) of FIG. 3 may be selected from wireless communication devices 120 of FIG. 1, and may each receive a periodic advertisement (PA) in a scan period 310.
- the scan period 310 may occur in regularly scheduled intervals and may be repeated periodically such that the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) can awaken to scan for messages during this repeated scan period 310.
- An access point e.g., access point 110 of FIG.
- the scan period 310 can be its primary transmission period. In some cases, the scan period 310 may not be a fixed time because the access point (e.g., access point 110 of FIG. 1) may send different lengths of data from the start of the scan period 310.
- the transmission may include multiple advertisements in a train.
- One or more portions of the advertisements may be directed to one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) .
- the devices e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e
- the devices may decode or filter the messages intended for each specific device and transmitted during the period when all devices are receiving.
- the devices may be reprogrammed, updated, and/or sent requests from an access point (e.g., access point 110 of FIG. 1) or relayed from another device (e.g., management entity 130 of FIG. 1) through the access point (e.g., access point 110 of FIG. 1) .
- the periodic advertisement (PA) from the access point may set a response period for one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) .
- the devices are each assigned a response period 320, 322, 324, 326, 328 in the time after the scan period 310.
- the assignment of the response period to a particular device may not be permanent.
- the assignment may be inferred from a payload of a synchronization message.
- the first response period 320 may begin following an idle time 315 after the scan period 310, with the idle period being long enough to provide the transmitter device an opportunity to do other Bluetooth related activities.
- the assigned response periods may also be limited to or designate a particular frequency of the channels on which to respond. For example, in FIG.
- the access point (e.g., access point 110 of FIG. 1) may store attributes of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) , including whether a device is able to transmit or respond.
- the PA signaling followed by responses can be referred to as periodic advertisement with multiple responses (PAwMR) .
- device 3 305c may be an ESL and may receive a price update in a PA from the access point (e.g., access point 110 of FIG. 1) in scan period 310.
- the PA received at device 3 305c may include a designated start time for the response period 324 or may include a schedule of response start times for devices including device 3 305c.
- the response by device 3 305c to the access point may include an acknowledgement, a status code, and/or other information such as battery life, received signal strength, and/or an error notification.
- the response by device 3 305c may include information to be relayed to another device by the access point (e.g., access point 110 of FIG. 1) .
- the response may include a packet with a header and may conform to any of the Bluetooth protocols.
- a response may be transmitted in a data channel of the Bluetooth protocol to the access point (e.g., access point 110 of FIG. 1) .
- Both the PA and the responses from all of the devices may use channels of the Bluetooth protocol.
- a device (e.g., device 5 305e) that has been assigned a response period may not respond and may determine that it has nothing to signal.
- the devices e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e
- the response periods 320, 322, 324, 326, 328 may be assigned based on a request for such a period in an open transmission time, the request being sent to the access point (e.g., access point 110 of FIG. 1) .
- the response periods 320, 322, 324, 326, 328 may be assigned based on which devices have been requested by the access point (e.g., access point 110 of FIG. 1) to send data or acknowledgements.
- the PA messages and responses may be frequency-hopped, time synchronized channels, and/or extended channels of the advertising channels in Bluetooth.
- FIG. 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and a second group including ESL 12 to ESL 22) .
- FIG. 4 is a signaling diagram illustrating an example of communication transmissions 400 between a network device 410 (e.g., a central device, which may be an access point) and two groups of wireless communication devices 420a, 420b (e.g., peripheral devices, which may be ESLs) .
- the signal sequence illustrated in FIG. 4 may be implemented by one or more of the communication connections, access points 110, and/or wireless communication devices 120 of FIG. 1.
- the signaling diagram is shown in the form of a graph with an x-axis denoting time in milliseconds (ms) and a y-axis denoting specific wireless communication devices 420a, 420b (e.g., ESL1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, ESL 11, ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) .
- the x-axis of the graph of FIG. 4 denotes time starting from 0 ms and ending at 25 ms.
- the time can be divided into two subframes, which are each a length of 12.5 ms.
- the two subframes may include a first subframe from 0 ms to 12.5 ms, and a second subframe from 12.5 ms to 25 ms.
- the wireless communication devices 420a, 420b may be assigned (e.g., by the network device 410 and/or by a network entity, such as a management entity) to different groups (e.g., two groups) of wireless communication devices 420a, 420b.
- wireless communication devices 420a may be assigned to a first group (e.g., group 1)
- wireless communication devices 420b e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22
- group 2 e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22
- the network device 410 may transmit 430a to a first group (e.g., group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) a PA containing a synchronization message (e.g., an AP synchronization message) over a synchronized channel between the network device 410 and the wireless communication devices 420a, 420b.
- a synchronization message can include one or more commands.
- a command can include an operational code (OpCode) and parameters associated with the command.
- the first group of wireless communication devices 420a e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11
- the first group of wireless communication devices 420a can receive 435a the PA containing the synchronization message over the synchronized channel.
- the network device 410 may be configured to transmit PAs at a specified time interval (e.g., a subframe of time) , such as at every 12.5 ms as is shown in FIG. 4.
- a specified time interval e.g., a subframe of time
- the specified time interval may be shorter or longer than the 12.5 ms as is shown in FIG. 4.
- the wireless communication devices 420a, 420b may respond to a PA by using their specific respective response slot in time.
- the synchronization message transmitted 430a to the first group (e.g., group 1) of wireless communication devices 420a may indicate a respective response slot for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11) in the first group to use to transmit 440a a response to the network device 410.
- a wireless communication device 420a e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11
- the wireless communication device 420a can respond (e.g., transmit 440a) in its respective response slot, as indicated within the synchronization message.
- the synchronization message may indicate a specific sequence for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11) to respond (e.g., transmit 440a) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) .
- ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11 to respond (e.g., transmit 440a) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) .
- the sequence may indicate that wireless communication device 420a (e.g., ESL 1) should respond in a response slot located at 5 ms, wireless communication device 420a (e.g., ESL 2) should respond in a response slot located at 5.625 ms, wireless communication device 420a (e.g., ESL 3) should respond in a response slot located at 6.25 ms, wireless communication device 420a (e.g., ESL 4) should respond in a response slot located at 6.875 ms, wireless communication device 420a (e.g., ESL 5) should respond in a response slot located at 7.5 ms, wireless communication device 420a (e.g., ESL 6) should respond in a response slot located at 8.125 ms, wireless communication device 420a (e.g., ESL 7) should respond in a response slot located at 8.75 ms, wireless communication device 420a (e.g., ESL 8) should respond in a response slot located at 9.375 ms,
- the wireless communication devices 420a e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11
- the one or more wireless communication devices 420a can transmit 440a their responses within their respective response slots.
- the network device 410 can receive 445a their transmitted responses at those specific response slot times.
- the network device 410 may transmit 430b to a second group (e.g., group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) a PA containing a synchronization message over a synchronized channel between the network device 410 and the wireless communication devices 420a, 420b.
- group 2 e.g., group 2
- wireless communication devices 420b e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22
- the second group of wireless communication devices 420b can receive 435b the PA containing the synchronization message over the synchronized channel.
- the synchronization message transmitted 430b to the second group (e.g., group 2) of wireless communication devices 420b may indicate a respective response slot for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22) in the second group to use to transmit 440b a response to the network device 410.
- a wireless communication device 420b e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22
- the wireless communication device 420b can respond (e.g., transmit 440b) in its respective response slot, as indicated within the synchronization message.
- the synchronization message may indicate a specific sequence for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22) to respond (e.g., transmit 440b) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) .
- the wireless communication devices 420b e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22
- respond e.g., transmit 440b
- time e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms
- the sequence may indicate that wireless communication device 420b (e.g., ESL 12) should respond in a response slot located at 17.5 ms, wireless communication device 420b (e.g., ESL 13) should respond in a response slot located at 18.125 ms, wireless communication device 420b (e.g., ESL 14) should respond in a response slot located at 18.75 ms, wireless communication device 420b (e.g., ESL 15) should respond in a response slot located at 19.375 ms, wireless communication device 420b (e.g., ESL 16) should respond in a response slot located at 20 ms, wireless communication device 420b (e.g., ESL 17) should respond in a response slot located at 20.625 ms, wireless communication device 420b (e.g., ESL 18) should respond in a response slot located at 21.25 ms, wireless communication device 420b (e.g., ESL 19) should respond in a response slot located at 21.875
- the wireless communication devices 420b may transmit 440b their responses within their respective response slots.
- the network device 410 can receive 445b their transmitted responses at those specific response slot times. Then, the PAwR may continue similarly for subsequent subframes of time.
- FIG. 5 is a diagram illustrating an example of an access protocol having three Asynchronous Connection-Oriented Link (ACL) (e.g., for a connection request or event) time slots (ACL1, ACL2, ACL3) .
- ACL Asynchronous Connection-Oriented Link
- FIG. 5 the diagram is shown in the form of a graph 500 with an x-axis denoting time in milliseconds (ms) and a y-axis denoting a primary access point 510 (e.g., a network device) and specific wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) .
- ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f ESL1 520a, ESL2 520b, ESL3 520
- the wireless communication devices may be assigned to the primary access point 510.
- the x-axis of the graph of FIG. 5 denotes time starting from 0 ms and ending at 12.5 ms, which may represent a frame of time.
- the primary access point 510 may transmit 530 to the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) a PA containing a synchronization message (e.g., an AP synchronization message) over a synchronized channel between the primary access point 510 and the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) .
- a synchronization message e.g., an AP synchronization message
- the wireless communication devices e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f
- the wireless communication devices can receive 535a, 535b, 535c the PA containing the synchronization message over the synchronized channel.
- the primary access point 510 may be configured to transmit PAs at a specified time interval (e.g., a subframe of time) , such as at every 12.5 ms as is shown in FIG. 5.
- the specified time interval e.g., a subframe
- the wireless communication devices may respond to a PA by using their specific respective response slot in time.
- the synchronization message transmitted 530 to the wireless communication devices may indicate a respective response slot for one or more of the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) to use to transmit 550a, 550b, 550c a response to the primary access point 510.
- a wireless communication device e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f
- the wireless communication device e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f
- can respond e.g., transmit 550a, 550b, 550c in its respective response slot, as indicated within the synchronization message.
- the synchronization message may only address ESL1 520a, ESL2 520b, and ESL3 520c and, as such, only ESL1 520a, ESL2 520b, and ESL3 520c will transmit 550a, 550b, 550c a response to the primary access point 510.
- the wireless communication devices e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f
- the one or more wireless communication devices can transmit 550a, 550b, 550c their responses within their respective response slots.
- the primary access point 510 can receive 555a, 555b, 555c their transmitted responses at those specific response slot times.
- the primary access point 510 can use a timeslot of an ACL1 link (shown as ACL #1 in FIG. 5) to transmit 540a data to ESL6 520f.
- ACL #1 in FIG. 5 shows a timeslot of an ACL1 link
- the ESL6 520f may transmit 560a data with an acknowledgement response (e.g., in a data header of a packet including the data) to the primary access point 510.
- the primary access point 510 may then receive 565a the data including the acknowledgment response from the ESL6 520f.
- a second ACL link may be scheduled by the primary access point 510 after receiving 555a, 555b, 555c the transmissions 550a, 550b, 550c of the responses from the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) .
- the primary access point 510 may use a timeslot of the ACL2 link to transmit 540b data to ESL4 520d.
- ESL4 520d After ESL4 520d receives 545b the data in the timeslot of the ACL2 link, the ESL4 520d may transmit 560b data with an acknowledgement response (e.g., in a data header of a packet including the data) to the primary access point 510.
- the primary access point 510 can then receive 565b the data including the acknowledgment response from the ESL4 520d.
- the primary access point 510 may schedule a third ACL link (ACL3) .
- the primary access point 510 may use a timeslot of the ACL3 link to transmit 540c data to ESL5 520e.
- ESL5 520e receives 545c the data in the timeslot of the ACL3 link
- the ESL5 520e may transmit 560c data including an acknowledgement response (e.g., in a data header of a packet including the data) to the primary access point 510.
- the primary access point 510 can receive 565c the data with the acknowledgment response from the ESL5 520e.
- a BT ESL subsystem e.g., BT subsystem
- WLAN wide local area network
- Wi-Fi subsystem e.g., Wi-Fi subsystem
- a retail store may employ a management entity-access point-electronic shelf label (ME-AP-ESL) architecture to manage many (e.g., hundreds or thousands) of item price labels based on a BT ESL profile protocol.
- ME-AP-ESL management entity-access point-electronic shelf label
- a WLAN may also exist within the same store to supply internet access to associates, customers, or other supporting systems.
- the WLAN e.g., WLAN subsystem
- BT e.g., BT subsystem
- the WLAN and BT run on different systems (e.g., different SOCs) . There is no strict (e.g., to the level of few micro-seconds) time synchronization between these two subsystems.
- the WLAN and BT communicate with each other via a PTA interface.
- the BT has activity (e.g., BT transmit and receive functions)
- the BT can indicate this activity to the WLAN through active (e.g., a BT_active) and priority (e.g., BT_priority) lines of the PTA.
- the WLAN can grant or deny the BT functions (e.g., via a WLAN grant line of the PTA) .
- BT and WLAN subsystem are running based on their own clock (e.g., a BT clock and WLAN clock) and their clocks are not synchronized with each other, BT and WLAN tasks cannot be aligned with each other, thereby preventing the use of an accurate time division strategy.
- their own clock e.g., a BT clock and WLAN clock
- FIG. 6 shows an example of system 600 including WLAN and BT subsystems with clocks (e.g., WLAN clock and BT clock) that are not synchronized with each other.
- FIG. 6 is a diagram illustrating an example of a system 600 with a WLAN 610 (e.g., WLAN subsystem) and BT 620 (e.g., BT subsystem) , where the system 600 includes a three wire packet traffic arbitration (PTA) interface.
- PTA packet traffic arbitration
- FIG. 6 the WLAN 610, BT 620, a WLAN clock 630a, and a BT clock 630b are shown.
- the WLAN clock 630a and the BT clock 630b are not synchronized with each other.
- the WLAN 610 and BT 620 communicate with each other using a PTA.
- the PTA may be of a two wire design (e.g., system 1400 of FIG. 14A includes a PTA with a two wire design) or a three wire design (e.g., system 1402 of FIG. 14B includes a PTA with a three wire design) .
- the system 600 in FIG. 6 includes a PTA with a three wire design.
- the PTA of the system 600 of FIG. 6 includes a BT active line 640, a BT priority line 650, and a WLAN grant line 660.
- Each hardwire wire of the PTA can have a dedicated purpose.
- the BT active line 640 of the PTA can be used to signal to the WLAN 610 that the BT is expecting transmit or receive activity (e.g., BT activity) , and the BT active line 640 can remain asserted until the BT activity ends.
- the BT priority line 650 of the PTA can be asserted (or de-asserted) to indicate to the WLAN 610 a priority (e.g., a high or low priority) of the BT activity. For example, if the BT priority line 650 of the PTA is asserted, the BT is indicating to the WLAN 610 that the BT activity has a high priority. If the BT priority line 650 of the PTA is de-asserted, the BT is indicating to the WLAN 610 that the BT activity has a low priority.
- the BT priority line 650 can also indicate to the WLAN 610 the transmit or receive status of the BT activity.
- the WLAN grant line 660 of the PTA can indicate to the BT 620 whether the WLAN grants or blocks the BT activity. For example, if the WLAN grant line 660 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 660 is de-asserted, the BT activity is granted.
- the WLAN has no knowledge of what specific tasks the BT is running.
- BLE PAwR has a strict timing requirement. Assertion of PTA priorities in the absence of synchronized time information cannot compensate for lack of time synchronization.
- the BT may proceed to perform PAwR transmissions, PAWR response receiving, BLE connections, BLE scanning, and BLE advertising.
- the WLAN through time division multiplexing (TDM) may allocate its time slice with respect to its own clock, which can cause a random disruption of BLE PAwR functions.
- TDM time division multiplexing
- FIG. 7 shows an example of timing for BLE PAwR functions (e.g., transmitting and receiving activities) for an ESL use case.
- FIG. 7 is a diagram illustrating an example of timing 700 for BT communications in an ESL use case.
- a timing diagram is shown where the x-axis represents time.
- the BT may include tasks (e.g., transmitting and receiving functions) for each group 710 of ESLs (e.g., group 0, group 1, ...group 127) . All of the groups 710 of the ESLs may be scheduled to perform over a 1.6 second interval.
- Example tasks are shown and discussed in the description of graph 500 of FIG. 5.
- the WLAN tasks can be asserted PTA lines accordingly. As such, the WLAN tasks will be interrupted frequently. This interruption of tasks can cause poor performance of the WLAN. If the WLAN denies the BT requests (e.g., BT activity request) , the BT may be unable to perform its high priority tasks, as WLAN is unable to know the specific tasks of the BT.
- the 12.6 ms duration for each group (e.g., subevent interval) and the 1.6 s duration (e.g., PA interval) for all of the groups are example timing implementations, and other values may be used for the subevent interval and PA interval.
- WLAN software is typically employed to provide a TDM mechanism, where part of the time period can be used by the WLAN for transmitting and receiving functions, and the other part of the time period can be used by the BT for transmitting and receiving functions (e.g., when the WLAN is not performing transmitting or receiving functions) .
- the default coex algorithm employed is OCS/TDM, which implements a default time sharing of 20 ms for the BT and 80 ms for the WLAN. The 20 ms will be completely granted to the BT. During the 80ms, both the BT and the WLAN will compete with each other for time based on priorities.
- the time division is based on the WLAN clock (e.g., or the clock driving the PTA) , which is not necessarily the same or related to the BT clock.
- the WLAN clock lacks the regularity imposed by the PAwR schedule and, as such, the time slices cannot align with the PAwR functions.
- the TDM mechanism at the WLAN side is not time synced with the ESLs.
- the BT ESL side may configure its ESL group as an active group or a passive group.
- the WLAN does not sync with the active group /passive group time division. It is difficult to provide different priorities for the active and passive groups, respectively, and it is difficult to align the time division with the ESL functions.
- ESL functionality is based on a PAwMR train
- ESL functions have a periodic behavior.
- the systems and techniques provide for a sync in the timing between the WLAN and the BT by the use of an additional hardware general purpose input output (GPIO) line (e.g., timing sync line 810 of FIG. 8) in the PTA.
- GPIO general purpose input output
- the systems and techniques introduce a way for the BT to communicate time markers to the WLAN (or to any other system) to allow for the WLAN to infer a precise time of forth coming events in the BT.
- the BT clock will nonetheless be free running and, as such, drift between that of the WLAN clock between two markers.
- the WLAN subsystem will be able to determine (e.g., within the accuracy of a BT clock drift prediction) when to assert its PTA.
- the WLAN can know more exact timing of BT ESL functions.
- the BT ESL functions may include, but are not limited to, when the BT ESL are sending a specific group of PAwR, when the BT ESL want to receive PAwR responses, and/or when the BLE connections are scheduled.
- the WLAN can define a coex algorithm for the timing sync feature, based on this timing to guarantee some group ESL PAwR can have a high priority time and/or to divide the time based on synced (synchronized) timing, which can be acceptable for both the WLAN and BT ESL subsystems.
- FIG. 8 shows an example of the system that includes an additional hardware GPIO line (e.g., the timing sync line 810) that can be used for communicating time markers to the WLAN (or to any other system) to allow for the WLAN to infer a precise time of forth coming events in the BT.
- FIG. 8 is a diagram illustrating an example of a system 800 with a WLAN 610 and BT 620, where the system 800 includes a four wire PTA interface with a timing sync line 810.
- the system 800 of FIG. 8 is similar to the system 600 of FIG. 6, except that the system 800 of FIG. 8 includes in its PTA an additional hardware GPIO line, which is the timing sync line 810.
- the timing sync line 810 is communicatively coupled between the WLAN 610 and the BT 620.
- the BT 620 can transmit a signal (e.g., a pulse) on the timing sync line 810 for the WLAN 610 to infer precise timing of future BT activity (e.g., BT ESL transmitting and receiving functions) .
- a point when the GPIO line is asserted can be specified as it is related to the PAwR operation.
- the number of pulses per frame or per multiples of frames can be determined through calibration between the WLAN and the BT (e.g., for very stable BT clock with a fixed velocity) .
- the GPIO line may not need to be asserted once for every frame, but may only need to be asserted once for every N number of frames.
- the GPIO line may be pulsed M number of times per frame (e.g., which may be for a 1.6s duration in an ESL system) .
- the point when the GPIO line is asserted should be configurable and communicated between the BT and the WLAN (e.g., via the timing sync line 810) , such as to allow the WLAN to know the PAwR operation timing and to make a decision accordingly.
- the point when the GPIO line is asserted should be sufficiently ahead of the BT activity (e.g., transmitting and/or receiving function) such as to allow for a sufficient amount of time for the WLAN to make a decision.
- the WLAN can communicate its decision via the WLAN grant line 660 to the BT.
- assert patterns may be employed for the WLAN to infer a precise time of forth coming events in the BT.
- one way to use the timing sync line 810 is for the BT to assert (e.g., pulse) this line at the start of the schedule for group 0. Then, the WLAN can know the timing schedule of the BT. In this way, the WLAN can calculate the exact timing for every group in the ESL profile. The connections and ESL response timing can also have a relationship with the group scheduling time. As such, the WLAN can predict the time of these tasks when it receives signaling (e.g., pulse) on the timing sync line 810 of the PTA.
- signaling e.g., pulse
- FIG. 9 shows an example of the BT asserting (e.g. pulsing) the time sync line 810 to indicate the BT scheduling to the WLAN.
- FIG. 9 is a diagram illustrating an example of timing 900 with a time sync indication 940a, 940b in an ESL use case.
- the timing 900 includes timing scheduling for the BT 920 and the WLAN 930, where the x-axis of both timing scheduling represents time.
- the timing for each group 910 of ESLs is shown in the timing scheduling for the BT 920.
- the BT can assert (e.g., pulse 940a) the timing sync line 810 of the PTA.
- the WLAN can determine the timing scheduling for the PAwR of the BT.
- the BT can assert (e.g., pulse 940b) the timing sync line 810 of the PTA.
- the BT may configure each of the groups of the ESLs as an inactive group or an active group.
- the ESLs within the inactive groups will not send (e.g., not transmit) any PAwR packets.
- the WLAN can allocate the time previously slated for these inactive groups to itself and/or to the BT for the active groups of the ESLs.
- the BT tasks e.g., ESL tasks
- the BT tasks are well protected as the time is allocated based on the exact timing.
- FIG. 10 shows an example where the timing of some groups of ESLs is allocated to the BT and the timing of other groups of the ESLs is allocated to the WLAN.
- FIG. 10 is a diagram illustrating an example of timing 1000, where time is allocated for the WLAN (e.g., WLAN time 1070) and the BT (e.g., BT time 1060a, 1060b) .
- the timing 1000 includes timing scheduling for the BT 1020 and the WLAN 1030, where the x-axis of both timing scheduling represents time.
- the timing for each group of ESLs is shown in the timing scheduling for the BT 1020.
- the BT can assert (e.g., pulse 1040) the timing sync line 810 of the PTA.
- the WLAN can determine the timing scheduling for the PAwR of the BT.
- the WLAN 1030 is shown to have allocated the time previously slated for the inactive groups (e.g., groups 3, 4, and 5) to itself (e.g., WLAN time 1070) .
- the time slated for the active groups e.g., groups 0, 1, 2, 6, 7, and 8) is shown to allocated to the BT (e.g., BT time 1060a, 1060b) .
- a coex algorithm in order to meet different WLAN/BT key performance indicator (KPI) requirements, can adjust the allocations of the active groups of ESLs and the inactive groups of ESLs to the attributes of time type 0 and time type 1, respectively.
- time type 0 can indicate that the BT has a higher priority than the WLAN and, as such, the WLAN will allocate the time to the BT for this time type (e.g., if the BT has information or data to receive or transmit) .
- time type 1 can indicate that the WLAN will only allocate the time to the BT, when there is high priority request from the BT, otherwise the WLAN will allocate the time to itself (e.g., if the WLAN has information or data to receive or transmit) .
- either the BT or WLAN systems can assert priority.
- the priority will only be asserted if activities (e.g., receive or transmission activities) are asserted.
- the BT system may have higher priority than the WLAN system, but if the BT system has no receive or transmission activities (e.g., has no data to transmit or receive) and the WLAN system does have at least one receive or transmission activity, the WLAN or BT system will allocate time to the WLAN system for performing the receive or transmission activity.
- more time types can be defined and/or the attributes of each time type can be also very flexible, which can depend upon the WLAN/BT quality requirements.
- FIG. 11 shows an example of time being allocated to different time types.
- FIG. 11 is a diagram illustrating an example of timing 1100, where time is allocated for different time types (e.g., time type 0 1160a, 1160b and time type 1 1170) .
- the timing 1100 includes timing scheduling for the BT 1120 and the WLAN 1130, where the x-axis of both timing scheduling represents time.
- the timing for each group of ESLs is shown in the timing scheduling for the BT 1120.
- the BT can assert (e.g., pulse 1140) the timing sync line 810 of the PTA.
- the WLAN receives the pulse 1140 on the timing sync line 810, the WLAN can determine the timing scheduling for the PAwR of the BT.
- the WLAN 1130 is shown to have allocated the time previously slated for the inactive groups (e.g., groups 3, 4, and 5) to a time type 1 1170.
- the time slated for the active groups e.g., groups 0, 1, 2, 6, 7, and 8) is shown to allocated to a time type 0 1160a, 1160b.
- the use of the GPIO line (e.g., timing sync line 810) for timing between the BT and WLAN is possible because the WLAN and the BT have agreed upon a predetermined schedule such that the specific scheduling information does not need to be communicated through the upper layer (e.g., upper layer processor) of the system.
- This predetermined schedule may be communicated once (or updated) during the running time, depending upon the latency and performance requirement of system.
- the schedule information provides the WLAN with a predictable pattern for the timing sync line assertion.
- the schedule information may include, but is not limited to, a GPIO periodic assertion, a GPIO assertion point (e.g., for specific groups) , a GPIO assertion ahead of time (e.g., an amount of time ahead of assertion point to provide time to the WLAN to make a decision) , and/or PAwR information (e.g., the active/inactive groups, connection information, etc. ) .
- FIG. 12 shows an example of a system configuration including an upper layer processor 1220 for communication of the schedule information between the BT 620 and the WLAN 610.
- FIG. 12 is a diagram illustrating an example of a system configuration 1200 for data exchange between a WLAN 610 (e.g., a WLAN subsystem) and BT 620 (e.g., a BT subsystem) .
- a WLAN 610 e.g., a WLAN subsystem
- BT 620 e.g., a BT subsystem
- FIG. 12 the WLAN 610, BT 620, a WLAN clock 630a, and a BT clock 630b are shown.
- the WLAN clock 630a and the BT clock 630b are not synchronized with each other.
- the WLAN 610 and BT 620 can communicate with each other using the PTA lines 1210.
- the PTA lines 1210 can include a BT active line (e.g., BT active line 640 of FIG. 6) , a BT priority line (e.g., BT priority line 650 of FIG. 6) , and a WLAN grant line (e.g., WLAN grant line 660 of FIG. 6) .
- a timing sync line 810 is also shown.
- the WLAN 610 and the BT 620 can communicate information to each other through the upper layer using the upper layer processor 1220 of the system configuration 1200.
- the BT 620 can send the schedule information (e.g., PAwR schedule) to the WLAN 610 via the upper layer processor 1220.
- ESL use cases may use a Coex with TDM algorithm to support a large number of ESLs.
- a set of ESLs may be combined to form a group, where multiple groups are possible.
- Each group of ESLs can wakes-up at a defined time interval (e.g., once in every 1.6 seconds) , and can remain active for 12.5 ms to when it receives an AP-SYNC message and transfers data packets as per the specification and existing ESL protocol.
- the coex algorithm should allocate the time to the BT to effectively serve the ESLs.
- the BT and WLAN (e.g., Wi-Fi) subsystems should have a time sync with each other.
- BT packets transmitted during a WLAN period will get interrupted and, as such, the ESLs will be unable to receive an AP-SYNC packet and maintain sync with an AP without time synchronization in place.
- FIG. 13 shows an example of WLAN (e.g., Wi-Fi) time allocations not in alignment with the BT time allocations due to there being no time synchronization between the WLAN and BT.
- FIG. 13 is a diagram illustrating an example of timing 1300 for BT scheduling 1320 and WLAN scheduling 1330 without synchronization.
- the airtime 1310, the BT scheduling 1320, and the WLAN (e.g., Wi-Fi) scheduling 1330 are shown.
- the x-axis of the airtime 1310, the BT scheduling 1320, and the WLAN (e.g., Wi-Fi) scheduling 1330 denotes time.
- the WLAN scheduling 1330 is shown to not be in alignment with the BT scheduling 1320.
- the BT time allocations 1340 in the BT scheduling 1320 are shown to overlap in time with the WLAN time allocations 1350 in the WLAN scheduling 1330.
- BT and WLAN (e.g., Wi-Fi) subsystems typically communicate with each other using a PTA interface with a two or three wire GPIO design.
- Each hardware wire of the PTA interface can have a dedicated purpose.
- FIGS. 14A and 14B show examples of systems each including a PTA interface with a two-wire or three-wire design.
- FIG. 14A is a diagram illustrating an example of a system 1400 with Wi-Fi 1410 (e.g., WLAN) and BT 1420 subsystems, where the system 1400 includes a two-wire PTA interface.
- Wi-Fi 1410 e.g., WLAN
- BT 1420 subsystems the WLAN (e.g., Wi-Fi) 1410 and the BT 1420 subsystems are shown.
- the WLAN 1410 and BT 1420 communicate with each other using the PTA interface 1470.
- the PTA interface of the system 1400 of FIG. 14A includes a BT active line 1440 and a WLAN grant line 1460.
- the BT active line 1440 of the PTA can be used to signal to the WLAN 1410 that the BT 1420 is expecting transmit or receive activity (e.g., BT activity) , and the BT active line 1440 can remain asserted until the BT activity ends.
- the WLAN grant line 1460 of the PTA can indicate to the BT 1420 whether the WLAN grants or blocks the BT activity. For example, if the WLAN grant line 1460 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 1460 is de-asserted, the BT activity is granted.
- FIG. 14B is a diagram illustrating an example of a system 1402 with Wi-Fi 1412 (e.g., WLAN) and BT 1422 subsystems, where the system 1402 includes a three-wire PTA interface.
- Wi-Fi 1412 e.g., WLAN
- BT 1422 subsystems where the system 1402 includes a three-wire PTA interface.
- the WLAN (e.g., Wi-Fi) 1412 and the BT 1422 subsystems are shown.
- the WLAN 1412 and BT 1422 communicate with each other using the PTA interface 1472.
- the PTA interface of the system 1402 of FIG. 14B includes a BT active line 1442, a BT priority line 1452, and a WLAN grant line 1462.
- the BT active line 1442 of the PTA can be used to signal to the WLAN 1412 that the BT 1422 is expecting transmit or receive activity (e.g., BT activity) , and the BT active line 1442 can remain asserted until the BT activity ends.
- the BT priority line 1452 of the PTA can be asserted (or de-asserted) to indicate to the WLAN 1412 a priority (e.g., a high or low priority) of the BT activity. For example, if the BT priority line 1452 of the PTA is asserted, the BT is indicating to the WLAN 1412 that the BT activity has a high priority. If the BT priority line 1452 of the PTA is de-asserted, the BT is indicating to the WLAN 1412 that the BT activity has a low priority. The BT priority line 1452 can also indicate to the WLAN 1412 the transmit or receive status of the BT activity.
- a priority e.g., a high or low priority
- the WLAN grant line 1462 of the PTA can indicate to the BT 1422 whether the WLAN grants or blocks the BT activity. For example, if the WLAN grant line 1462 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 1462 is de-asserted, the BT activity is granted.
- the inactivity in the BT traffic causes the BT active line to stay low (LOW) .
- the indication can be interpreted by the WLAN as being a time sync indication.
- FIG. 15 shows an example of the method previously described.
- FIG. 15 is a flowchart illustrating an example of a method 1500 for time sync indication detection.
- the PTA can perform an interrupt 1510.
- the time that the BT active line is at a low setting (LOW) 1520 can be updated 1540 by the WLAN
- the time that the BT active line is at a high setting (HIGH) 1530 can be updated 1550 by the WLAN.
- the WLAN can determine (e.g., calculate) whether the difference between the time that the BT active line is at a low setting (LOW) and the time that the BT active line is at a high setting (HIGH) is greater than an inactivity duration 1560.
- LOW low setting
- HGH high setting
- the method 1500 will wait until the PTA performs another interrupt 1510. However, if the WLAN determines that the difference in time is greater than the inactivity duration, then the WLAN can infer that the interruption is a time sync indication and can grant a BT slot for a BT duration 1570. Then, upon confirming the time sync indication, a duty cycle scheduler can be restarted 1580. As such, this method 1500 can allow for the BT and WLAN subsystems to follow a synchronized duty cycle.
- groups of ESLs can be classified as active and passive groups.
- the ESLs will not be active in the passive groups and, as such, the time slots for the passive groups can allocated for WLAN (e.g., Wi-Fi) traffic.
- WLAN e.g., Wi-Fi
- FIG. 16 shows an example of the BT issuing a time sync pattern to indicate the BT scheduling to the WLAN.
- FIG. 16 is a diagram illustrating an example of timing 1600 with a time sync indication (e.g., a time sync pattern 1640a, 1640b) in an ESL use case.
- the timing 1600 includes timing scheduling for the BT 1620 and the WLAN 1630, where the x-axis of both timing scheduling represents time.
- the timing for each group of ESLs is shown in the timing scheduling for the BT 1620.
- BT traffic will be inactive for a time duration 1650a.
- the BT can issue a time sync indication via a time sync pattern 1640a. Then, just prior to the 1.6 s duration for performance of all of the groups of ESLs, again, prior to the start of group 0, BT traffic will be inactive for a time duration 1650b. After the time duration 1650b, the BT can issue a time sync indication via a time sync pattern 1640b.
- the BT may configure each of the groups of the ESLs as an inactive group or an active group.
- the ESLs within the inactive groups will not send (e.g., not transmit) any PAwR packets.
- the WLAN can allocate the time previously slated for these inactive groups to itself and/or to the BT for the active groups of the ESLs.
- group 127 is a passive group.
- the BT active line will be at a low setting (LOW) from the beginning of the time duration allocated for group 127 to the end of the time duration allocated for group 127.
- the BT may use both the BT priority line and the BT active line (e.g., instead implementing the timing sync line 810 of FIG. 8) of the PTA interface to send an indication for time synchronization to the WLAN.
- the BT priority line toggles only when BT active line is at a high setting (HIGH) to indicate high priority BT traffic.
- the BT priority line can be asserted at a high setting (HIGH) , when the BT active line is at a low setting (LOW) to indicate a time sync.
- the BT priority line can be effectively used to achieve time synchronization.
- FIG. 17 shows an example of the BT priority line being asserted at a high setting (HIGH) , when the BT active line is at a low setting (LOW) to indicate a time sync.
- FIG. 17 is a diagram illustrating an example of time sync 1700 using a BT_PRIORITY line 1730.
- example time scheduling for a clock 1710 e.g., a BT clock
- the BT active line 1720 e.g., BT clock
- the BT priority line 1730 e.g., BT priority line
- both the BT active line 1720 and the BT priority line 1730 are at a high setting (HIGH) and, as such, at this time instance, there is an indication for a high priority for BT traffic 1740.
- the BT active line 1720 is at a high setting (HIGH) and the BT priority line 1730 is at a low setting (LOW) and, as such, at this time instance, there is an indication for a low priority for BT traffic 1750.
- the BT active line 1720 is at a low setting (LOW) and the BT priority line 1730 is at a high setting (HIGH) and, as such, at this time instance, there is an indication for a time sync 1760.
- the BT and WLAN traffic can be scheduled in alignment with the configured duty cycle.
- the timing sync enhances the coex functionality with TDM algorithm, when the BT and WLAN are running on different subsystems with unsynchronized clocks.
- FIG. 18 shows an example of WLAN (e.g., Wi-Fi) time allocations in alignment with the BT time allocations due to there being time synchronization.
- FIG. 18 is a diagram illustrating an example of timing 1800 for BT scheduling 1820 and WLAN scheduling 1830 with synchronization.
- the airtime 1810, the BT scheduling 1820, and the WLAN (e.g., Wi-Fi) scheduling 1830 are shown.
- the x-axis of the airtime 1810, the BT scheduling 1820, and the WLAN (e.g., Wi-Fi) scheduling 1830 denotes time.
- the WLAN scheduling 1830 is shown to not be in alignment with the BT scheduling 1820.
- the BT time allocations 1840 in the BT scheduling 1820 are shown to not overlap in time with the WLAN time allocations 1850 in the WLAN scheduling 1830.
- various configuration details may be exchanged between the BT and WLAN.
- a TDM algorithm will need the duty cycle period and WLAN/BT intervals to be configured.
- the default duty cycle period is 100 ms, and this 100 ms can be split into 80ms and 20ms durations, which can be designated as WLAN and BT intervals, respectively.
- the ESL grouping model should be shared by the BT and WLAN for the scheduling.
- an inactivity duration to detect a sync indication should also be shared.
- FIG. 19 shows an example of a system configuration including an upper layer application 1940 for communication of information (e.g., duty cycle period, WLAN/BT intervals, ESL grouping model, and inactivity duration) between the BT 1920 and the WLAN 1910.
- FIG. 19 is a diagram illustrating an example of a system configuration 1900 for data exchange between a WLAN 1910 (e.g., WLAN subsystem) and BT 1920 (e.g., BT subsystem) .
- the WLAN 1910 and BT 1920 are shown.
- the WLAN 1910 and BT 1920 can communicate with each other using the PTA lines 1910.
- the PTA lines 1910 can include a BT active line, a BT priority line, and a WLAN grant line.
- the WLAN 1910 and the BT 1920 can communicate information to each other through the upper layer using the upper layer application 1940 of the system configuration 1900.
- FIG. 20 is a flow chart illustrating an example of a process 2000 for wireless communications utilizing methods for a timing sync based coex strategy of WLAN and BT ESL.
- the process 2000 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) , or by a component or system (e.g., a chipset) of the network entity.
- the operations of the process 2000 may be implemented as software components that are executed and run on one or more processors (e.g., processor 2310 of FIG. 23 or other processor (s) ) .
- the transmission and reception of signals by the network entity in the process 2000 may be enabled, for example, by one or more antennas and/or one or more transceivers (e.g., wireless transceiver (s) ) .
- the first network entity (or component thereof) can assert a line (e.g., a hardware GPIO line) in a communication interface to indicate to a second network entity a time for activity by the first network entity.
- the second network entity can receive the assertion in the line in the communication interface from the first network entity to indicate the time for the activity by the first network entity.
- the first network entity is a BT subsystem
- the second network entity is a WLAN subsystem.
- the first network entity is a WLAN subsystem
- the second network entity is a BT subsystem.
- the BT subsystem may be associated with a plurality of wireless communication devices, such as ESLs.
- the communication interface may be a PTA communicatively coupled to the first network entity and the second network entity.
- the first network entity (or component thereof) can perform the activity (e.g., transmitting and/or receiving data packets) at the time.
- asserting of the line at the assertion point occurs a predetermined amount of time prior to the time of the activity.
- the second network entity can perform a second activity at the time.
- the first network entity can configure groups of wireless communication devices into passive groups and active groups.
- one or more time slots previously allocated to the passive groups is/are allocated to the second network entity and/or to one or more of the active groups.
- the first network entity (or component thereof) can allocate one or more of the passive groups to a first time type, and can allocate one or more of the active groups to a second time type.
- one or more time slots previously allocated to the one or more of the passive groups allocated to the first time type is allocated to the second network entity and/or to at least one of the one or more active groups.
- the first network entity (or component thereof) can transmit schedule information to the second network entity.
- the schedule information can include a periodic assertion, the assertion point, a predetermined amount of time prior to the time of the activity for assertion, periodic advertisement with response (PAwR) information, group information, connection information, any combination thereof, and/or other information.
- the schedule information is transmitted by the first network entity to the second network entity through an upper layer (e.g., using the upper layer application 1940 of the system configuration 1900) .
- FIG. 21 is a flow chart illustrating an example of a process 2100 for wireless communications utilizing methods for a timing sync based coex strategy of WLAN and BT ESL.
- the process 2100 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) , or by a component or system (e.g., a chipset) of the network entity.
- the operations of the process 2100 may be implemented as software components that are executed and run on one or more processors (e.g., processor 2310 of FIG. 23 or other processor (s) ) .
- the transmission and reception of signals by the network entity in the process 2100 may be enabled, for example, by one or more antennas and/or one or more transceivers (e.g., wireless transceiver (s) ) .
- the first network entity (or component thereof) can toggle, during a period of inactivity of the first network entity, a state of a line (e.g., a hardware BT active line) in a communication interface to indicate to a second network entity a time for activity by the first network entity.
- a state of a line e.g., a hardware BT active line
- the first network entity may be a BT subsystem
- the second network entity may be a WLAN subsystem
- the first network entity may be a WLAN subsystem
- the second network entity may be a BT subsystem.
- the BT subsystem may be associated with a plurality of wireless communication devices, such as ESLs.
- the communication interface may be a PTA communicatively coupled to the first network entity and the second network entity.
- the state of the line is periodically toggled for a duration of time. In some cases, the state of the line is toggled from a low setting to a high setting. For instance, a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- the first network entity can perform the activity (e.g., transmitting and/or receiving data packets) at the time.
- the first network entity (or component thereof) can transmit schedule information to the second network entity.
- the schedule information can include a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, an inactivity duration that indicates a start of the duty cycle period for the time of activity, any combination thereof, and/or other information.
- the schedule information is transmitted by the first network entity to the second network entity through an upper layer (e.g., using the upper layer application 1940 of the system configuration 1900) .
- FIG. 22 is a flow chart illustrating an example of a process 2100 for wireless communications utilizing methods for a timing sync based coex strategy of WLAN and BT ESL.
- the process 2200 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) , or by a component or system (e.g., a chipset) of the network entity.
- the operations of the process 2200 may be implemented as software components that are executed and run on one or more processors (e.g., processor 2310 of FIG. 23 or other processor (s) ) .
- the transmission and reception of signals by the network entity in the process 2200 may be enabled, for example, by one or more antennas and/or one or more transceivers (e.g., wireless transceiver (s) ) .
- the first network entity (or component thereof) can assert simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity.
- the first network entity may be a BT subsystem
- the second network entity may be a WLAN subsystem.
- the BT subsystem may be associated with a plurality of wireless communication devices, such as ESLs.
- the first line is a hardware BT priority line and the second line is a hardware BT active line.
- the communication interface may be a PTA communicatively coupled to the first network entity and the second network entity.
- the first network entity can perform the activity at the time.
- the activity can include transmitting and/or receiving data packets.
- FIG. 23 is a block diagram illustrating an example of a computing system 2300, which may be employed by the disclosed systems and techniques for a timing sync based coex strategy of WLAN and BT ESL.
- FIG. 23 illustrates an example of computing system 2300, which can be, for example, any computing device making up internal computing system, a remote computing system, a camera, or any component thereof in which the components of the system are in communication with each other using connection 2305.
- Connection 2305 can be a physical connection using a bus, or a direct connection into processor 2310, such as in a chipset architecture.
- Connection 2305 can also be a virtual connection, networked connection, or logical connection.
- computing system 2300 is a distributed system in which the functions described in this disclosure can be distributed within a datacenter, multiple data centers, a peer network, etc.
- one or more of the described system components represents many such components each performing some or all of the function for which the component is described.
- the components can be physical or virtual devices.
- Example system 2300 includes at least one processing unit (CPU or processor) 2310 and connection 2305 that communicatively couples various system components including system memory 2315, such as read-only memory (ROM) 2320 and random access memory (RAM) 2325 to processor 2310.
- system memory 2315 such as read-only memory (ROM) 2320 and random access memory (RAM) 2325 to processor 2310.
- Computing system 2300 can include a cache 2312 of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 2310.
- Processor 2310 can include any general purpose processor and a hardware service or software service, such as services 2332, 2334, and 2336 stored in storage device 2330, configured to control processor 2310 as well as a special-purpose processor where software instructions are incorporated into the actual processor design.
- Processor 2310 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc.
- a multi-core processor may be symmetric or asymmetric.
- computing system 2300 includes an input device 2345, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc.
- Computing system 2300 can also include output device 2335, which can be one or more of a number of output mechanisms.
- input device 2345 can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc.
- output device 2335 can be one or more of a number of output mechanisms.
- multimodal systems can enable a user to provide multiple types of input/output to communicate with computing system 2300.
- Computing system 2300 can include communications interface 2340, which can generally govern and manage the user input and system output.
- the communication interface may perform or facilitate receipt and/or transmission wired or wireless communications using wired and/or wireless transceivers, including those making use of an audio jack/plug, a microphone jack/plug, a universal serial bus (USB) port/plug, an Apple TM Lightning TM port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug, 3G, 4G, 5G and/or other cellular data network wireless signal transfer, a Bluetooth TM wireless signal transfer, a Bluetooth TM low energy (BLE) wireless signal transfer, an IBEACON TM wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, wireless local area network (WLAN) signal transfer, Visible Light Communication (VLC) , Worldwide
- the communications interface 2340 may also include one or more range sensors (e.g., LIDAR sensors, laser range finders, RF radars, ultrasonic sensors, and infrared (IR) sensors) configured to collect data and provide measurements to processor 2310, whereby processor 2310 can be configured to perform determinations and calculations needed to obtain various measurements for the one or more range sensors.
- the measurements can include time of flight, wavelengths, azimuth angle, elevation angle, range, linear velocity and/or angular velocity, or any combination thereof.
- the communications interface 2340 may also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers that are used to determine a location of the computing system 2300 based on receipt of one or more signals from one or more satellites associated with one or more GNSS systems.
- GNSS systems include, but are not limited to, the US-based GPS, the Russia-based Global Navigation Satellite System (GLONASS) , the China-based BeiDou Navigation Satellite System (BDS) , and the Europe-based Galileo GNSS.
- Storage device 2330 can be a non-volatile and/or non-transitory and/or computer-readable memory device and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, a floppy disk, a flexible disk, a hard disk, magnetic tape, a magnetic strip/stripe, any other magnetic storage medium, flash memory, memristor memory, any other solid-state memory, a compact disc read only memory (CD-ROM) optical disc, a rewritable compact disc (CD) optical disc, digital video disk (DVD) optical disc, a blu-ray disc (BDD) optical disc, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a Memory card, a smartcard chip, a EMV chip, a subscriber identity module (SIM) card, a mini/micro/nan
- the storage device 2330 can include software services, servers, services, etc., that when the code that defines such software is executed by the processor 2310, it causes the system to perform a function.
- a hardware service that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 2310, connection 2305, output device 2335, etc., to carry out the function.
- computer-readable medium includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction (s) and/or data.
- a computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections.
- Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD) , flash memory, memory or memory devices.
- a computer-readable medium may have stored thereon code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements.
- a code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents.
- Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, or the like.
- the present technology may be presented as including individual functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software. Additional components may be used other than those shown in the figures and/or described herein.
- circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the aspects in unnecessary detail.
- well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the aspects.
- a process is terminated when its operations are completed, but could have additional steps not included in a figure.
- a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
- Processes and methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer-readable media.
- Such instructions can include, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network.
- the computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
- the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bitstream and the like.
- non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
- the various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed using hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can take any of a variety of form factors.
- the program code or code segments to perform the necessary tasks may be stored in a computer-readable or machine-readable medium.
- a processor may perform the necessary tasks. Examples of form factors include laptops, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on.
- Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
- the instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.
- the techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods, algorithms, and/or operations described above.
- the computer-readable data storage medium may form part of a computer program product, which may include packaging materials.
- the computer-readable medium may comprise memory or data storage media, such as random access memory (RAM) such as synchronous dynamic random access memory (SDRAM) , read-only memory (ROM) , non-volatile random access memory (NVRAM) , electrically erasable programmable read-only memory (EEPROM) , FLASH memory, magnetic or optical data storage media, and the like.
- RAM random access memory
- SDRAM synchronous dynamic random access memory
- ROM read-only memory
- NVRAM non-volatile random access memory
- EEPROM electrically erasable programmable read-only memory
- FLASH memory magnetic or optical data storage media, and the like.
- the techniques additionally, or alternatively, may be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer, such as propagated signals or waves.
- the program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs) , general purpose microprocessors, an application specific integrated circuits (ASICs) , field programmable logic arrays (FPGAs) , or other equivalent integrated or discrete logic circuitry.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- FPGAs field programmable logic arrays
- a general-purpose processor may be a microprocessor; but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, the term “processor, ” as used herein may refer to any of the foregoing structure, any combination of the foregoing structure, or any other structure or apparatus suitable for implementation of the techniques described herein.
- Such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operation, by programming programmable electronic circuits (e.g., microprocessors, or other suitable electronic circuits) to perform the operation, or any combination thereof.
- programmable electronic circuits e.g., microprocessors, or other suitable electronic circuits
- Coupled to or “communicatively coupled to” refers to any component that is physically connected to another component either directly or indirectly, and/or any component that is in communication with another component (e.g., connected to the other component over a wired or wireless connection, and/or other suitable communication interface) either directly or indirectly.
- Claim language or other language reciting “at least one of” a set and/or “one or more” of a set indicates that one member of the set or multiple members of the set (in any combination) satisfy the claim.
- claim language reciting “at least one of A and B” or “at least one of A or B” means A, B, or A and B.
- claim language reciting “at least one of A, B, and C” or “at least one of A, B, or C” means A, B, C, or A and B, or A and C, or B and C, or A and B and C.
- the language “at least one of” a set and/or “one or more” of a set does not limit the set to the items listed in the set.
- claim language reciting “at least one of A and B” or “at least one of A or B” can mean A, B, or A and B, and can additionally include items not listed in the set of A and B.
- Illustrative aspects of the disclosure include:
- a first network entity for wireless communication comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- Aspect 2 The first network entity of Aspect 1, wherein the at least one processor is configured to periodically toggle the state of the line for a duration of time.
- Aspect 3 The first network entity of any one of Aspects 1 or 2, wherein the at least one processor is configured to toggle the state of the line from a low setting to a high setting.
- Aspect 4 The first network entity of Aspect 3, wherein a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- Aspect 5 The first network entity of any one of Aspects 1 to 4, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- BT BT
- WLAN wide local area network
- Aspect 6 The first network entity of Aspect 5, wherein the BT subsystem is associated with a plurality of wireless communication devices.
- Aspect 7 The first network entity of any one of Aspects 1 to 6, wherein the line is a hardware (BT) active line.
- BT hardware
- Aspect 8 The first network entity of any one of Aspects 1 to 7, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- PTA packet traffic arbitration interface
- Aspect 9 The first network entity of any one of Aspects 1 to 8, wherein the activity is at least one of transmitting or receiving data packets.
- Aspect 10 The first network entity of any one of Aspects 1 to 9, wherein the at least one processor is configured to output schedule information for transmission to the second network entity.
- Aspect 11 The first network entity of Aspect 10, wherein the schedule information comprises at least one of a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, or an inactivity duration that indicates a start of the duty cycle period for the time of activity.
- Aspect 12 The first network entity of any one of Aspects 10 or 11, wherein the schedule information is transmitted by the first network entity to the second network entity through an upper layer.
- a method of wireless communication performed at a first network entity comprising: toggling, by the first network entity, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- Aspect 14 The method of Aspect 13, wherein the state of the line is periodically toggled for a duration of time.
- Aspect 15 The method of any one of Aspects 13 or 14, wherein the state of the line is toggled from a low setting to a high setting.
- Aspect 16 The method of Aspect 15, wherein a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- Aspect 17 The method of any one of Aspects 13 to 16, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- BT BT
- WLAN wide local area network
- Aspect 18 The method of Aspect 17, wherein the BT subsystem is associated with a plurality of wireless communication devices.
- Aspect 19 The method of any one of Aspects 13 to 18, wherein the line is a hardware (BT) active line.
- BT hardware
- Aspect 20 The method of any one of Aspects 13 to 19, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- PTA packet traffic arbitration interface
- Aspect 21 The method of any one of Aspects 13 to 20, wherein the activity is at least one of transmitting or receiving data packets.
- Aspect 22 The method of any one of Aspects 13 to 21, further comprising transmitting, by the first network entity, schedule information to the second network entity.
- Aspect 23 The method of Aspect 22, wherein the schedule information comprises at least one of a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, or an inactivity duration that indicates a start of the duty cycle period for the time of activity.
- Aspect 24 The method of any one of Aspects 22 or 23, wherein the schedule information is transmitted by the first network entity to the second network entity through an upper layer.
- a first network entity for wireless communication comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: assert simultaneously a high setting on a first line in a communication interface and a low setting on a second line in the communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- Aspect 26 The first network entity of Aspect 25, wherein the first line is a hardware (BT) priority line and the second line is a hardware (BT) active line.
- BT hardware
- Aspect 27 The first network entity of any one of Aspects 25 or 26, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- BT BT
- WLAN wide local area network
- Aspect 28 The first network entity of any one of Aspects 25 to 27, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- PTA packet traffic arbitration interface
- a method of wireless communication performed at a first network entity comprising: asserting simultaneously a high setting on a first line in a communication interface and a low setting on a second line in the communication interface to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- Aspect 30 The method of Aspect 29, wherein the first line is a hardware (BT) priority line and the second line is a hardware (BT) active line.
- BT hardware
- Aspect 31 The method of any one of Aspects 29 or 30, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- BT BT
- WLAN wide local area network
- Aspect 32 The method of any one of Aspects 29 to 31, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- PTA packet traffic arbitration interface
- Aspect 33 A non-transitory computer-readable medium having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to perform operation according to any of Aspects 13 to 24.
- Aspect 34 An apparatus for wireless communications, comprising one or more means for performing operations according to any of Aspects 13 to 24.
- Aspect 35 A non-transitory computer-readable medium having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to perform operations according to any of Aspects 29 to 32.
- Aspect 36 An apparatus for wireless communications, comprising one or more means for performing operations according to any of Aspects 29 to 32.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Disclosed are systems, methods, and techniques for wireless communications. In one illustrative example, a method of wireless communication performed at a first network entity can include toggling, by the first network entity, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity. The method can further include performing, by the first network entity, the activity at the time.
Description
- FIELD OF THE DISCLOSURE
- The present disclosure generally relates to wireless communications. For example, aspects of the present disclosure relate to systems and techniques for a timing sync based coex strategy of wide local area network (WLAN) and (BT) electronic shelf label (ESL) .
- BACKGROUND OF THE DISCLOSURE
- Short range wireless communication enables wireless communication over relatively short distances (e.g., within thirty meters) . For example, is a wireless technology standard for exchanging data over short distances using short-wavelength ultra-high frequency (UHF) radio waves from 2.4 gigahertz (GHz) to 2.485 GHz.
- Low Energy (BLE) is a form of communication that allows for communication with devices running on low power. Such devices may include beacons, which are wireless communication devices that may use low-energy communication technology for positioning, proximity marketing, or other purposes. In some cases, such devices may serve as nodes (e.g., relay nodes) of a wireless mesh network that communicates and/or relays information to a managing platform or hub associated with the wireless mesh network.
- SUMMARY
- The following presents a simplified summary relating to one or more aspects disclosed herein. Thus, the following summary should not be considered an extensive overview relating to all contemplated aspects, nor should the following summary be considered to identify key or critical elements relating to all contemplated aspects or to delineate the scope associated with any particular aspect. Accordingly, the following summary has the sole purpose to present certain concepts relating to one or more aspects relating to the mechanisms disclosed herein in a simplified form to precede the detailed description presented below.
- Systems and techniques are described for wireless communications. According to at least one illustrative example, a method of wireless communication performed at a first network entity is provided. The method includes: asserting, by the first network entity, a line in a communication interface at an assertion point in time to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes at least one memory, and at least one processor coupled to the at least one memory and configured to: assert a line in a communication interface at an assertion point in time to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- In another illustrative example, a non-transitory computer-readable medium of a first network entity is provided having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: assert a line in a communication interface at an assertion point in time to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes: means for asserting a line in a communication interface to at an assertion point in time indicate to a second network entity a time for activity by the first network entity; and means for performing the activity at the time.
- In another illustrative example, a method of wireless communication performed at a first network entity is provided. The method includes: receiving, by the first network entity, an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and performing, by the first network entity, a second activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes at least one memory, and at least one processor coupled to the at least one memory and configured to: receive an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and perform a second activity at the time.
- In another illustrative example, a non-transitory computer-readable medium of a first network entity is provided having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: receive an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and perform a second activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes: means for receiving an assertion in a line in a communication interface from a second network entity to indicate a time for a first activity by the second network entity; and means for performing a second activity at the time.
- In another illustrative example, a method of wireless communication performed at a first network entity is provided. The method includes: toggling, by the first network entity, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes at least one memory, and at least one processor coupled to the at least one memory and configured to: toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- In another illustrative example, a non-transitory computer-readable medium of a first network entity is provided having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes: means for toggling, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and means for performing the activity at the time.
- In another illustrative example, a method of wireless communication performed at a first network entity is provided. The method includes: asserting simultaneously, by the first network entity, a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes at least one memory, and at least one processor coupled to the at least one memory and configured to: assert simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- In another illustrative example, a non-transitory computer-readable medium of a first network entity is provided having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to: assert simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes: means for asserting simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity; and means for performing the activity at the time.
- Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user device, user equipment, wireless communication device, and/or processing system as substantially described with reference to and as illustrated by the drawings and specification.
- Some aspects include a device having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include processing devices for use in a device configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a device to perform operations of any of the methods summarized above. Further aspects include a device having means for performing functions of any of the methods summarized above.
- The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed herein, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purposes of illustration and description, and not as a definition of the limits of the claims. The foregoing, together with other features and aspects, will become more apparent upon referring to the following specification, claims, and accompanying drawings.
- This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. The subject matter should be understood by reference to appropriate portions of the entire specification of this patent, any or all drawings, and each claim.
- The accompanying drawings are presented to aid in the description of various aspects of the disclosure and are provided solely for illustration of the aspects and not limitation thereof. So that the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.
- FIG. 1 is a diagram illustrating an example environment in which systems and/or methods described herein may be implemented, in accordance with some aspects of the present disclosure.
- FIG. 2 is a diagram illustrating example components of a device, in accordance with some aspects of the present disclosure.
- FIG. 3 is a signaling diagram illustrating example communication transmissions, in accordance with some aspects of the present disclosure.
- FIG. 4 is a signaling diagram illustrating an example of communication transmissions between a network device and two groups of wireless communication devices, in accordance with some aspects of the present disclosure.
- FIG. 5 is a diagram illustrating an example of an access protocol having three Asynchronous Connection-Oriented Link (ACL) time slots, in accordance with some aspects of the present disclosure.
- FIG. 6 is a diagram illustrating an example of a system with WLAN and BT subsystems, where the system includes a three wire packet traffic arbitration (PTA) interface, in accordance with some aspects of the present disclosure.
- FIG. 7 is a diagram illustrating an example of timing for BT communications, in accordance with some aspects of the present disclosure.
- FIG. 8 is a diagram illustrating an example of a system with WLAN and BT subsystems, where the system includes a four wire PTA interface with a timing sync line, in accordance with some aspects of the present disclosure.
- FIG. 9 is a diagram illustrating an example of timing with a time sync indication in an ESL use case, in accordance with some aspects of the present disclosure.
- FIG. 10 is a diagram illustrating an example of timing, where time is allocated for WLAN and BT communications, in accordance with some aspects of the present disclosure.
- FIG. 11 is a diagram illustrating an example of timing, where time is allocated for different time types, in accordance with some aspects of the present disclosure.
- FIG. 12 is a diagram illustrating an example of a system configuration for data exchange between a WLAN and BT, in accordance with some aspects of the present disclosure.
- FIG. 13 is a diagram illustrating an example of timing for BT and WLAN scheduling without synchronization, in accordance with some aspects of the present disclosure.
- FIG. 14A is a diagram illustrating an example of a system with Wi-Fi (e.g., WLAN) and BT subsystems, where the system includes a two wire PTA interface, in accordance with some aspects of the present disclosure.
- FIG. 14B is a diagram illustrating an example of a system with Wi-Fi (e.g., WLAN) and BT subsystems, where the system includes a three wire PTA interface, in accordance with some aspects of the present disclosure.
- FIG. 15 is a flowchart illustrating an example of a method for time sync indication detection, in accordance with some aspects of the present disclosure.
- FIG. 16 is a diagram illustrating an example of timing with a time sync indication in an ESL use case, in accordance with some aspects of the present disclosure.
- FIG. 17 is a diagram illustrating an example of time sync using a BT_PRIORITY line, in accordance with some aspects of the present disclosure.
- FIG. 18 is a diagram illustrating an example of timing for BT scheduling and WLAN scheduling with synchronization, in accordance with some aspects of the present disclosure.
- FIG. 19 is a diagram illustrating an example of a system configuration for data exchange between a WLAN and BT, in accordance with some aspects of the present disclosure.
- FIG. 20 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, wherein the process involves asserting a line in a communication interface, in accordance with some aspects of the present disclosure.
- FIG. 21 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, wherein the process involves toggling a line in a communication interface, in accordance with some aspects of the present disclosure.
- FIG. 22 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, wherein the process involves simultaneously asserting a high setting on a first line and a low setting on a second line in a communication interface, in accordance with some aspects of the present disclosure.
- FIG. 23 is a block diagram illustrating an example of a computing system, which may be employed by the disclosed systems and techniques for a timing sync based coex strategy of WLAN and BT ESL, in accordance with some aspects of the present disclosure.
- Certain aspects of this disclosure are provided below for illustration purposes. Alternate aspects may be devised without departing from the scope of the disclosure. Additionally, well-known elements of the disclosure will not be described in detail or will be omitted so as not to obscure the relevant details of the disclosure. Some of the aspects described herein may be applied independently and some of them may be applied in combination as would be apparent to those of skill in the art. In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of aspects of the application. However, it will be apparent that various aspects may be practiced without these specific details. The figures and description are not intended to be restrictive.
- The ensuing description provides example aspects, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the example aspects will provide those skilled in the art with an enabling description for implementing an example aspect. It should be understood that various changes may be made in the function and arrangement of elements without departing from the scope of the application as set forth in the appended claims.
- A system may include one or more wireless communication devices that are controlled by a network entity. For example, an electronic shelf label (ESL) system may include one or more wireless communication devices (e.g., ESLs) that are controlled by a network entity, such as a management entity (ME) , via at least one network device, such as an access point (AP) . In one or more examples, to facilitate control by the management entity, each ESL may have a wireless connection (e.g., a Low Energy (BLE) connection or other connection) to an access point (AP) that is communicatively connected to the management entity (e.g., via the Internet, such as wirelessly, via an Ethernet connection, etc. ) . In some cases, commands from the management entity may be wirelessly transmitted to the ESLs by the access point. Responses or information from the ESLs may also be received by the access point and provided by the access point to the management entity. While examples are described herein using ESLs as illustrative examples of wireless communication devices, a management entity as an example of a network entity, and access points as examples of network devices, the systems and techniques described herein are applicable to any type of system or network.
- In ESL systems, periodic Advertisements (PAs) are often utilized to provide regular and predictable payload transmissions from a master device (e.g., which may be in the form of a network device, such as an access point) to one or more slave devices (e.g., which may each be in the form of a wireless communication device, such as an ESL or other peripheral device) . For example, PAs can be used to issue information from a master device to multiple slave devices, which may be within one or more groups of slave devices. PAs are generally unidirectional (e.g., unidirectional transmissions) such that PAs are transmitted only one-way from a master device to one or more slave devices.
- Periodic Advertisement with Response (PAwR) can be used for ESL systems to provide bidirectionality (e.g., bidirectional transmissions between a master device and one or more slave devices) . Slave devices synchronized within a group of slave devices can be addressed by a master device on a synchronized channel (e.g., a radio frequency (RF) channel between the master device and the slave devices) whenever the master device chooses to send (e.g., transmit) a request to the slave devices. In some cases, as used herein, a synchronized channel refers to a channel on which transmissions are synchronized (in time) . For example, the channel includes a frequency on which one or more communications are transmitted. A hopping frequency sequence defines the channel, where the sequence progresses at a fixed determine interval. A master device and one or more slave devices can concurrently track the sequence at a predefined frequency hopping pattern or sequence (e.g., so the master device knows when to transmit the request and the slave devices know when to listen for and/or receive the request) .
- A request transmitted by a master device to slave devices in a particular group may be a PA containing a synchronization message transmitted by the master device on the synchronized channel to the slave devices of the particular group. For example, wireless communication devices within the particular group can wake up (e.g., from a low power (LP) mode) at the same PA transmission with respect to a particular PAwR train for that group. A PA is made up of a periodic set of transmissions, where the collection of transmissions is collectively referred to as a PA train or a PAwR train when applied to PAwR. Each transmission of a PA train (or PAwR train) occurs at a precise point in time, with fixed intervals between the transmissions. A communication channel (e.g., one communication channel out of thirty-seven available communication channels) is selected for each of the transmissions, where the communication channel follows a hopping frequency sequence. The synchronization between the master device and the slave devices in the group is based on the periodicity of the PA. The periodically-transmitted messages (e.g., the synchronization messages) include zero, one, or more commands (e.g., a respective operational code (OpCode) and parameters associated with each command) . If a response from a slave device is expected by the master device (e.g., the synchronization message from the master device requests a response from a specific slave device) , the particular slave device will respond in a specific response slot, based on where the slave device appeared within a sequence contained within the synchronization message transmitted by the master device.
- Each access point may have an associated channel map. A channel map is a listing of frequency channels to be utilized or, conversely, not to be utilized (e.g., in the context of modification of frequency hopping sequences) by an access point for communication, such as with the ESLs or other devices. For example, for a particular PA train, PA packets can be transmitted on a particular number of channels (e.g., 37 data channels) . The channels that are used and the channels that are not used can be indicated by the channel map. The channel map of an access point can be updated via a channel map update (CMU) . A CMU is a procedure for updating (or changing) a current channel map (ChM) for an access point to a new channel map for the access point. As noted previously, the access point can send a synchronization message as a PA to the ESLs. The synchronization message can include various types of information, including information associated with a CMU in addition to other information. For example, when an access point is performing a CMU, information associated with the CMU can be included in one or more fields (e.g., an Additional Controller Advertising Data (ACAD) field) of a synchronization message. The CMU information included in a synchronization message can notify one or more ESLs of the new channel map to be used for future communications with the access point.
- Currently, there is often a coexistence (coex) scenario between a BT ESL subsystem (e.g., BT subsystem) and a wide local area network (WLAN) subsystem (e.g., Wi-Fi subsystem) . For example, a retail store may employ a management entity-access point-electronic shelf label (ME-AP-ESL) architecture to manage many (e.g., hundreds or thousands) of item price labels based on a BT ESL profile protocol. Meanwhile, a WLAN may also exist within the same store to supply internet access to associates, customers, or other supporting systems. Typically, the WLAN (e.g., WLAN subsystem) and BT (e.g., BT subsystem) are both operating on the same 2.4 gigahertz (GHz) frequency band.
- In some products, the WLAN and BT run on different systems, such as different systems on a chip (SOCs) . There is not a strict (e.g., to the level of few micro-seconds) time synchronization between these two subsystems. In legacy coex strategies, typically, the WLAN and BT communicate with each other via a packet traffic arbitration (PTA) interface. When the BT has activity (e.g., BT transmit and receive functions) , the BT can indicate this activity to the WLAN through active (e.g., a BT_active) and priority (e.g., BT_priority) lines of the PTA. After receiving this indication from the BT, the WLAN can then grant or deny the BT functions (e.g., via a WLAN grant line of the PTA) . Since the BT subsystem and WLAN subsystem are running based on their own clock (e.g., BT clock and WLAN clock) and their clocks are not synchronized with each other, BT and WLAN tasks cannot be aligned with each other, which prevents the use of an accurate time division strategy.
- Systems and techniques are described herein for a timing sync based coex strategy of WLAN and BT ESL subsystems. The systems and techniques provide a way (e.g., through a timing sync feature) to communicate time markers from a BT subsystem (e.g., BT ESL subsystem for ESL use cases) to a WLAN subsystem (e.g., or any other system) to allow for the WLAN subsystem to be able to infer a precise time of forth coming events in the BT subsystem. The BT clock will nonetheless be free running and, thus, drift between that of the WLAN clock between two markers. However, assuming a constant velocity (e.g., with linearity and no acceleration) of the BT clock, and being provided with the schedule of transmit (Tx) and/or receive (Rx) functions of the BT subsystem (e.g., forth coming events) , the WLAN subsystem will be able to determine (e.g., within the accuracy of a BT clock drift prediction) when to assert its PTA.
- In one or more aspects, based on the disclosed timing sync feature, because in the ESL profile all of the BT ESL functions have a fixed timing drift with the PAwR sending time (e.g., which the WLAN can obtain from the timing sync line in the PTA) , the WLAN can know more exact timing of BT ESL functions. The BT ESL functions may include, but are not limited to, when the BT ESL are sending a specific group of PAwR, when the BT ESL want to receive PAwR responses, and/or when the BLE connections are scheduled. In one or more examples, the WLAN can define a coex algorithm for the timing sync feature, based on this timing to guarantee some group ESL PAwR can have a high priority time and/or to divide the time based on synced (synchronized) timing, which can be acceptable for both the WLAN and BT ESL subsystems.
- Additional aspects of the present disclosure are described in more detail below.
- FIG. 1 is a diagram of an example environment 100 in which systems and/or methods described herein may be implemented. As shown in FIG. 1, the environment 100 may include at least one access point (AP) 110, at least one wireless communication device 120, a management entity (ME) 130, and a network 140. Devices of the environment 100 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
- The access point 110 may include one or more devices capable receiving, generating, storing, processing, providing, and/or routing information associated with access point synchronization and/or handover, as described elsewhere herein. The access point 110 may include a communication device and/or a computing device. The access point 110 may be configured to transmit beacons (e.g., BLE beacons) , as well as to scan and locate other devices (e.g., other devices communicating using BLE protocols) .
- The wireless communication device 120 may include one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with access point synchronization and/or handover, as described elsewhere herein. The wireless communication device 120 may include a communication device and/or a computing device. In some aspects, the wireless communication device 120 may be, may include, or may be included in an electronic shelf label (ESL) .
- The management entity 130 includes one or more devices capable of receiving, generating, storing, processing, providing, and/or routing information associated with access point synchronization and/or handover, as described elsewhere herein. The management entity 130 may include a communication device and/or a computing device. For example, the management entity 130 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware) , or a server in a cloud computing system. In some aspects, the management entity 130 includes computing hardware used in a cloud computing environment. The management entity 130 may provide control of a system (e.g., an ESL system) that includes the access point (s) 110, the wireless communication device (s) 120, and/or the device (s) 130. The access point (s) 110 may be communicatively connected to the management entity 130 via a network (not shown) , such as the Internet.
- The network 140 may include one or more wireless networks. For example, the network 140 may include a personal area network (e.g., a Bluetooth network) . The network 140 enables communication among the devices of environment 100.
- The number and arrangement of devices and networks shown in FIG. 1 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 1. Furthermore, two or more devices shown in FIG. 1 may be implemented within a single device, or a single device shown in FIG. 1 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.
- FIG. 2 is a diagram illustrating example components of a device 200, in accordance with the present disclosure. Device 200 may correspond to access point 110, wireless communication device 120, and/or management entity 130. In some aspects, access point 110, wireless communication device 120, and/or management entity 130 may include one or more devices 200 and/or one or more components of device 200. As shown in FIG. 2, device 200 may include a bus 205, a processor 210, a memory 215, a storage component 220, an input component 225, an output component 230, and/or a communication component 235.
- Bus 205 may include a component that permits communication among the components of device 200. Processor 210 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 210 may be a central processing unit (CPU) , a graphics processing unit (GPU) , an accelerated processing unit (APU) , a microprocessor, a microcontroller, a digital signal processor (DSP) , a field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or another type of processing component. In some aspects, processor 210 may include one or more processors capable of being programmed to perform a function. Memory 215 may include a random access memory (RAM) , a read only memory (ROM) , and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 210.
- Storage component 220 can store information and/or software related to the operation and use of device 200. For example, storage component 220 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk) , a compact disc (CD) , a digital versatile disc (DVD) , a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
- Input component 225 may include a component that permits device 200 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone) . Additionally, or alternatively, input component 225 may include a component for determining a position or a location of device 200 (e.g., a global positioning system (GPS) component or a global navigation satellite system (GNSS) component) and/or a sensor for sensing information (e.g., an accelerometer, a gyroscope, an actuator, or another type of position or environment sensor) . Output component 230 can include a component that provides output information from device 200 (e.g., a display, a speaker, a haptic feedback component, and/or an audio or visual indicator) .
- Communication component 235 may include one or more transceiver-like components (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication component 235 may permit device 200 to receive information from another device and/or provide information to another device. For example, communication component 235 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency interface, a universal serial bus (USB) interface, a wireless local area interface (e.g., a Wi-Fi interface or a BLE interface) , and/or a cellular network interface.
- Communication component 235 may include one or more antennas for receiving wireless radio frequency (RF) signals transmitted from one or more other devices, cloud networks, and/or the like. The antenna may be a single antenna or an antenna array (e.g., antenna phased array) that can facilitate simultaneous transmit and receive functionality. The antenna may be an omnidirectional antenna such that signals can be received from and transmitted in all directions. The wireless signals may be transmitted via a wireless network. The wireless network may be any wireless network, such as a cellular or telecommunications network (e.g., 3G, 4G, 5G, etc. ) , wireless local area network (e.g., a WiFi network) , a BluetoothTM network, and/or other network.
- The one or more transceiver-like components (e.g., a wireless transceiver) of the communication component 235 may include an RF front end including one or more components, such as an amplifier, a mixer (also referred to as a signal multiplier) for signal down conversion, a frequency synthesizer (also referred to as an oscillator) that provides signals to the mixer, a baseband filter, an analog-to-digital converter (ADC) , one or more power amplifiers, among other components. The RF front-end can generally handle selection and conversion of the wireless signals into a baseband or intermediate frequency and can convert the RF signals to the digital domain.
- In some cases, a CODEC may be implemented (e.g., by the processor 210) to encode and/or decode data transmitted and/or received using the one or more wireless transceivers. In some cases, encryption-decryption may be implemented (e.g., by the processor 210) to encrypt and/or decrypt data (e.g., according to the Advanced Encryption Standard (AES) and/or Data Encryption Standard (DES) standard) transmitted and/or received by the one or more wireless transceivers.
- In some aspects, device 200 may represent an ESL. The ESL may include a battery in addition to the aforementioned components. In some aspects, the output component 230 of the ESL may be an electronic paper (e-paper) display or a liquid crystal display (LCD) .
- Device 200 may perform one or more processes described herein. Device 200 may perform these processes based on processor 210 executing software instructions stored by a non-transitory computer-readable medium, such as memory 215 and/or storage component 220. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
- Software instructions may be read into memory 215 and/or storage component 220 from another computer-readable medium or from another device via communication component 235. When executed, software instructions stored in memory 215 and/or storage component 220 may cause processor 210 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, aspects described herein are not limited to any specific combination of hardware circuitry and software.
- The number and arrangement of components shown in FIG. 2 are provided as an example. In practice, device 200 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 2. Additionally, or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions described as being performed by another set of components of device 200.
- As previously mentioned, in ESL systems, PAs are often utilized to provide regular and predictable payload transmissions from a central device (e.g., which may be in the form of a network device, such as an access point) to one or more peripheral devices (e.g., which may each be in the form of a wireless communication device, such as an ESL) . PAs can be used to issue information from a central device to multiple peripheral devices, which may be within one or more groups of peripheral devices. PAs are generally unidirectional (e.g., unidirectional transmissions) such that PAs are transmitted only one-way from a central device to one or more peripheral devices.
- Periodic Advertisement with Response (PAwR) was introduced to ESL systems to provide bidirectionality (e.g., bidirectional transmissions between a central device and one or more peripheral devices) . Peripheral devices synchronized within a group of peripheral devices can be addressed by a central device on a synchronized channel (e.g., a synchronized frequency channel between the central device and the peripheral devices) whenever the central device chooses to send (e.g., transmit) a request (e.g., a PA containing a synchronization message transmitted on the synchronized channel) to the peripheral devices. If a response from a peripheral device is expected by the central device (e.g., the synchronization message from the central device requests a response from a specific peripheral device) , the particular peripheral device will respond in a specific response slot, based on where the peripheral device appeared within a sequence contained within the synchronization message transmitted by the central device.
- FIGS. 3 and 4 show signaling diagrams illustrating examples of PAwR in an ESL system. In particular, the signaling diagram of FIG. 3 shows an example PAwR for a group of wireless network devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) , and the signaling diagram of FIG. 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and a second group including ESL 12 to ESL 22) . Specifically, FIG. 3 is a signal timing diagram illustrating a portion of a communication between an access point (e.g., access point 110) and wireless communication devices 120 (e.g., ESLs) . With reference to FIG. 1, the signal sequence illustrated in FIG. 3 may be implemented by one or more of the communication connections, access points 110, and/or wireless communication devices 120 of FIG. 1.
- The devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) of FIG. 3 may be selected from wireless communication devices 120 of FIG. 1, and may each receive a periodic advertisement (PA) in a scan period 310. The scan period 310 may occur in regularly scheduled intervals and may be repeated periodically such that the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) can awaken to scan for messages during this repeated scan period 310. An access point (e.g., access point 110 of FIG. 1) may provide periodic advertisements (PAs) via broadcast or multi-cast to the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) in the scan period 310. For an access point (e.g., access point 110 of FIG. 1) , the scan period 310 can be its primary transmission period. In some cases, the scan period 310 may not be a fixed time because the access point (e.g., access point 110 of FIG. 1) may send different lengths of data from the start of the scan period 310.
- The transmission may include multiple advertisements in a train. One or more portions of the advertisements may be directed to one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) . The devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may decode or filter the messages intended for each specific device and transmitted during the period when all devices are receiving. In this way, the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may be reprogrammed, updated, and/or sent requests from an access point (e.g., access point 110 of FIG. 1) or relayed from another device (e.g., management entity 130 of FIG. 1) through the access point (e.g., access point 110 of FIG. 1) . The periodic advertisement (PA) from the access point (e.g., access point 110 of FIG. 1) may set a response period for one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) .
- As illustrated, the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) are each assigned a response period 320, 322, 324, 326, 328 in the time after the scan period 310. In some cases, the assignment of the response period to a particular device may not be permanent. In some aspects, the assignment may be inferred from a payload of a synchronization message. The first response period 320 may begin following an idle time 315 after the scan period 310, with the idle period being long enough to provide the transmitter device an opportunity to do other Bluetooth related activities. The assigned response periods may also be limited to or designate a particular frequency of the channels on which to respond. For example, in FIG. 3, device 1 305a is assigned response period 320, device 2 305b is assigned response period 322, device 3 305c is assigned response period 324, device 4 305d is assigned response period 326, and device 5 305e is assigned response period 328. The access point (e.g., access point 110 of FIG. 1) may store attributes of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) , including whether a device is able to transmit or respond. The PA signaling followed by responses can be referred to as periodic advertisement with multiple responses (PAwMR) .
- For example, device 3 305c (e.g., wireless communication device 120 of FIG. 1) may be an ESL and may receive a price update in a PA from the access point (e.g., access point 110 of FIG. 1) in scan period 310. The PA received at device 3 305c may include a designated start time for the response period 324 or may include a schedule of response start times for devices including device 3 305c. The response by device 3 305c to the access point (e.g., access point 110 of FIG. 1) may include an acknowledgement, a status code, and/or other information such as battery life, received signal strength, and/or an error notification. The response by device 3 305c may include information to be relayed to another device by the access point (e.g., access point 110 of FIG. 1) . The response may include a packet with a header and may conform to any of the Bluetooth protocols. A response may be transmitted in a data channel of the Bluetooth protocol to the access point (e.g., access point 110 of FIG. 1) . Both the PA and the responses from all of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may use channels of the Bluetooth protocol.
- A device (e.g., device 5 305e) that has been assigned a response period may not respond and may determine that it has nothing to signal. In other words, the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may determine what response, if any, is required and may or may not respond to a request sent from the access point (e.g., access point 110 of FIG. 1) . The response periods 320, 322, 324, 326, 328 may be assigned based on a request for such a period in an open transmission time, the request being sent to the access point (e.g., access point 110 of FIG. 1) . The response periods 320, 322, 324, 326, 328 may be assigned based on which devices have been requested by the access point (e.g., access point 110 of FIG. 1) to send data or acknowledgements. The PA messages and responses may be frequency-hopped, time synchronized channels, and/or extended channels of the advertising channels in Bluetooth.
- As previously mentioned, FIG. 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and a second group including ESL 12 to ESL 22) . In particular, FIG. 4 is a signaling diagram illustrating an example of communication transmissions 400 between a network device 410 (e.g., a central device, which may be an access point) and two groups of wireless communication devices 420a, 420b (e.g., peripheral devices, which may be ESLs) . With reference to FIG. 1, the signal sequence illustrated in FIG. 4 may be implemented by one or more of the communication connections, access points 110, and/or wireless communication devices 120 of FIG. 1.
- In FIG. 4, the signaling diagram is shown in the form of a graph with an x-axis denoting time in milliseconds (ms) and a y-axis denoting specific wireless communication devices 420a, 420b (e.g., ESL1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, ESL 11, ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) . In particular, the x-axis of the graph of FIG. 4 denotes time starting from 0 ms and ending at 25 ms. The time can be divided into two subframes, which are each a length of 12.5 ms. As such, the two subframes may include a first subframe from 0 ms to 12.5 ms, and a second subframe from 12.5 ms to 25 ms. In one or more examples, there may be more or less than two subframes as is shown in FIG. 4, and/or each subframe may be longer or shorter than 12.5 ms as shown in FIG. 4.
- In one or more examples, the wireless communication devices 420a, 420b (e.g., peripheral devices) may be assigned (e.g., by the network device 410 and/or by a network entity, such as a management entity) to different groups (e.g., two groups) of wireless communication devices 420a, 420b. For example, wireless communication devices 420a (e.g., ESL1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) may be assigned to a first group (e.g., group 1) , and wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) may be assigned to second group (e.g., group 2) .
- In FIG. 4, during operation for PAwR, at time 0 ms for the first subframe of time, the network device 410 (e.g., a central, such as an AP) may transmit 430a to a first group (e.g., group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) a PA containing a synchronization message (e.g., an AP synchronization message) over a synchronized channel between the network device 410 and the wireless communication devices 420a, 420b. As noted previously, a synchronization message can include one or more commands. For instance, a command can include an operational code (OpCode) and parameters associated with the command. At time 0 ms, the first group of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can receive 435a the PA containing the synchronization message over the synchronized channel.
- In one or more examples, the network device 410 may be configured to transmit PAs at a specified time interval (e.g., a subframe of time) , such as at every 12.5 ms as is shown in FIG. 4. In one or more examples, the specified time interval (e.g., a subframe) may be shorter or longer than the 12.5 ms as is shown in FIG. 4. The wireless communication devices 420a, 420b may respond to a PA by using their specific respective response slot in time.
- In one or more examples, the synchronization message transmitted 430a to the first group (e.g., group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) may indicate a respective response slot for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11) in the first group to use to transmit 440a a response to the network device 410. If a wireless communication device 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) is addressed within the synchronization message, the wireless communication device 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can respond (e.g., transmit 440a) in its respective response slot, as indicated within the synchronization message.
- For example, the synchronization message may indicate a specific sequence for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11) to respond (e.g., transmit 440a) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) . For example, the sequence may indicate that wireless communication device 420a (e.g., ESL 1) should respond in a response slot located at 5 ms, wireless communication device 420a (e.g., ESL 2) should respond in a response slot located at 5.625 ms, wireless communication device 420a (e.g., ESL 3) should respond in a response slot located at 6.25 ms, wireless communication device 420a (e.g., ESL 4) should respond in a response slot located at 6.875 ms, wireless communication device 420a (e.g., ESL 5) should respond in a response slot located at 7.5 ms, wireless communication device 420a (e.g., ESL 6) should respond in a response slot located at 8.125 ms, wireless communication device 420a (e.g., ESL 7) should respond in a response slot located at 8.75 ms, wireless communication device 420a (e.g., ESL 8) should respond in a response slot located at 9.375 ms, wireless communication device 420a (e.g., ESL 9) should respond in a response slot located at 10 ms, wireless communication device 420a (e.g., ESL 10) should respond in a response slot located at 10.625 ms, and wireless communication device 420a (e.g., ESL 11) should respond in a response slot located at 11.25 ms.
- After the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) have received 435a the PA containing the synchronization message from the network device 410, according to the sequence specified within the synchronization message, the one or more wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11) can transmit 440a their responses within their respective response slots. After the one or more wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and/or ESL 11) have transmitted 440a their responses in their respective time slots, the network device 410 can receive 445a their transmitted responses at those specific response slot times.
- Then, during operation for PAwR, at time 12.5 ms for the second subframe of time, the network device 410 may transmit 430b to a second group (e.g., group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) a PA containing a synchronization message over a synchronized channel between the network device 410 and the wireless communication devices 420a, 420b. In addition, at time 12.5 ms, the second group of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can receive 435b the PA containing the synchronization message over the synchronized channel.
- The synchronization message transmitted 430b to the second group (e.g., group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) may indicate a respective response slot for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22) in the second group to use to transmit 440b a response to the network device 410. If a wireless communication device 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) is addressed within the synchronization message, the wireless communication device 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can respond (e.g., transmit 440b) in its respective response slot, as indicated within the synchronization message.
- For example, the synchronization message may indicate a specific sequence for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22) to respond (e.g., transmit 440b) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) . For example, the sequence may indicate that wireless communication device 420b (e.g., ESL 12) should respond in a response slot located at 17.5 ms, wireless communication device 420b (e.g., ESL 13) should respond in a response slot located at 18.125 ms, wireless communication device 420b (e.g., ESL 14) should respond in a response slot located at 18.75 ms, wireless communication device 420b (e.g., ESL 15) should respond in a response slot located at 19.375 ms, wireless communication device 420b (e.g., ESL 16) should respond in a response slot located at 20 ms, wireless communication device 420b (e.g., ESL 17) should respond in a response slot located at 20.625 ms, wireless communication device 420b (e.g., ESL 18) should respond in a response slot located at 21.25 ms, wireless communication device 420b (e.g., ESL 19) should respond in a response slot located at 21.875 ms, wireless communication device 420b (e.g., ESL 20) should respond in a response slot located at 22.5 ms, wireless communication device 420b (e.g., ESL 21) should respond in a response slot located at 23.125 ms, and wireless communication device 420b (e.g., ESL 22) should respond in a response slot located at 23.75 ms.
- After the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) have received 435b the PA containing the synchronization message from the network device 410, according to the sequence specified within the synchronization message, the one or more wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22) may transmit 440b their responses within their respective response slots. After the one or more wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and/or ESL 22) have transmitted 440b their responses in their respective time slots, the network device 410 can receive 445b their transmitted responses at those specific response slot times. Then, the PAwR may continue similarly for subsequent subframes of time.
- FIG. 5 is a diagram illustrating an example of an access protocol having three Asynchronous Connection-Oriented Link (ACL) (e.g., for a connection request or event) time slots (ACL1, ACL2, ACL3) . In FIG. 5, the diagram is shown in the form of a graph 500 with an x-axis denoting time in milliseconds (ms) and a y-axis denoting a primary access point 510 (e.g., a network device) and specific wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) . The wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) may be assigned to the primary access point 510. In particular, the x-axis of the graph of FIG. 5 denotes time starting from 0 ms and ending at 12.5 ms, which may represent a frame of time.
- In FIG. 5, during operation for PAwR, at time 0 ms, the primary access point 510 may transmit 530 to the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) a PA containing a synchronization message (e.g., an AP synchronization message) over a synchronized channel between the primary access point 510 and the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) . Also at time 0 ms, the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can receive 535a, 535b, 535c the PA containing the synchronization message over the synchronized channel.
- In one or more examples, the primary access point 510 may be configured to transmit PAs at a specified time interval (e.g., a subframe of time) , such as at every 12.5 ms as is shown in FIG. 5. In one or more examples, the specified time interval (e.g., a subframe) may be shorter or longer than the 12.5 ms as is shown in FIG. 5. The wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) may respond to a PA by using their specific respective response slot in time.
- In one or more examples, the synchronization message transmitted 530 to the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) may indicate a respective response slot for one or more of the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) to use to transmit 550a, 550b, 550c a response to the primary access point 510. If a wireless communication device (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) is addressed within the synchronization message, the wireless communication device (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can respond (e.g., transmit 550a, 550b, 550c) in its respective response slot, as indicated within the synchronization message. For example, the synchronization message may only address ESL1 520a, ESL2 520b, and ESL3 520c and, as such, only ESL1 520a, ESL2 520b, and ESL3 520c will transmit 550a, 550b, 550c a response to the primary access point 510.
- After the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) have received 535a, 535b, 535c the PA (via transmission 530) containing the synchronization message from the primary access point 510, according to the sequence specified within the synchronization message, the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) can transmit 550a, 550b, 550c their responses within their respective response slots. After the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) have transmitted 550a, 550b, 550c their responses in their respective time slots, the primary access point 510 can receive 555a, 555b, 555c their transmitted responses at those specific response slot times.
- Between the transmission 530 of the synchronization message by the primary access point 510 and the transmissions 550a, 550b, 550c of the responses from the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) , the primary access point 510 can use a timeslot of an ACL1 link (shown as ACL #1 in FIG. 5) to transmit 540a data to ESL6 520f. After ESL6 520f receives 545a the data in the timeslot of the ACL1 link, the ESL6 520f may transmit 560a data with an acknowledgement response (e.g., in a data header of a packet including the data) to the primary access point 510. The primary access point 510 may then receive 565a the data including the acknowledgment response from the ESL6 520f.
- A second ACL link (ACL2) may be scheduled by the primary access point 510 after receiving 555a, 555b, 555c the transmissions 550a, 550b, 550c of the responses from the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) . The primary access point 510 may use a timeslot of the ACL2 link to transmit 540b data to ESL4 520d. After ESL4 520d receives 545b the data in the timeslot of the ACL2 link, the ESL4 520d may transmit 560b data with an acknowledgement response (e.g., in a data header of a packet including the data) to the primary access point 510. The primary access point 510 can then receive 565b the data including the acknowledgment response from the ESL4 520d.
- After the second ACL link is scheduled by the primary access point 510, the primary access point 510 may schedule a third ACL link (ACL3) . The primary access point 510 may use a timeslot of the ACL3 link to transmit 540c data to ESL5 520e. After ESL5 520e receives 545c the data in the timeslot of the ACL3 link, the ESL5 520e may transmit 560c data including an acknowledgement response (e.g., in a data header of a packet including the data) to the primary access point 510. Then, the primary access point 510 can receive 565c the data with the acknowledgment response from the ESL5 520e.
- As previously mentioned, there is often a coexistence (coex) scenario between a BT ESL subsystem (e.g., BT subsystem) and a wide local area network (WLAN) subsystem (e.g., Wi-Fi subsystem) . A retail store, for example, may employ a management entity-access point-electronic shelf label (ME-AP-ESL) architecture to manage many (e.g., hundreds or thousands) of item price labels based on a BT ESL profile protocol. A WLAN may also exist within the same store to supply internet access to associates, customers, or other supporting systems. Generally, the WLAN (e.g., WLAN subsystem) and BT (e.g., BT subsystem) are both operating on the same 2.4 GHz frequency band.
- In some products, the WLAN and BT run on different systems (e.g., different SOCs) . There is no strict (e.g., to the level of few micro-seconds) time synchronization between these two subsystems. Typically, in legacy coex strategies, the WLAN and BT communicate with each other via a PTA interface. When the BT has activity (e.g., BT transmit and receive functions) , the BT can indicate this activity to the WLAN through active (e.g., a BT_active) and priority (e.g., BT_priority) lines of the PTA. After the WLAN receives this indication from the BT, the WLAN can grant or deny the BT functions (e.g., via a WLAN grant line of the PTA) . Since the BT subsystem and WLAN subsystem are running based on their own clock (e.g., a BT clock and WLAN clock) and their clocks are not synchronized with each other, BT and WLAN tasks cannot be aligned with each other, thereby preventing the use of an accurate time division strategy.
- FIG. 6 shows an example of system 600 including WLAN and BT subsystems with clocks (e.g., WLAN clock and BT clock) that are not synchronized with each other. In particular, FIG. 6 is a diagram illustrating an example of a system 600 with a WLAN 610 (e.g., WLAN subsystem) and BT 620 (e.g., BT subsystem) , where the system 600 includes a three wire packet traffic arbitration (PTA) interface. In FIG. 6, the WLAN 610, BT 620, a WLAN clock 630a, and a BT clock 630b are shown. The WLAN clock 630a and the BT clock 630b are not synchronized with each other.
- The WLAN 610 and BT 620 communicate with each other using a PTA. The PTA may be of a two wire design (e.g., system 1400 of FIG. 14A includes a PTA with a two wire design) or a three wire design (e.g., system 1402 of FIG. 14B includes a PTA with a three wire design) . The system 600 in FIG. 6 includes a PTA with a three wire design.
- The PTA of the system 600 of FIG. 6 includes a BT active line 640, a BT priority line 650, and a WLAN grant line 660. Each hardwire wire of the PTA can have a dedicated purpose. In one or more examples, the BT active line 640 of the PTA can be used to signal to the WLAN 610 that the BT is expecting transmit or receive activity (e.g., BT activity) , and the BT active line 640 can remain asserted until the BT activity ends.
- The BT priority line 650 of the PTA can be asserted (or de-asserted) to indicate to the WLAN 610 a priority (e.g., a high or low priority) of the BT activity. For example, if the BT priority line 650 of the PTA is asserted, the BT is indicating to the WLAN 610 that the BT activity has a high priority. If the BT priority line 650 of the PTA is de-asserted, the BT is indicating to the WLAN 610 that the BT activity has a low priority. The BT priority line 650 can also indicate to the WLAN 610 the transmit or receive status of the BT activity.
- The WLAN grant line 660 of the PTA can indicate to the BT 620 whether the WLAN grants or blocks the BT activity. For example, if the WLAN grant line 660 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 660 is de-asserted, the BT activity is granted.
- In one or more examples, there may be scheduling issues with the system 600 of FIG. 6. For example, since the PTA lines provide only a limited amount of information (e.g., the BT priority line 650 can only indicate a high or low priority status and a transit or receive status, and the BT active line 640 can only indicate a BT activity status) , the WLAN has no knowledge of what specific tasks the BT is running.
- BLE PAwR has a strict timing requirement. Assertion of PTA priorities in the absence of synchronized time information cannot compensate for lack of time synchronization. The BT may proceed to perform PAwR transmissions, PAWR response receiving, BLE connections, BLE scanning, and BLE advertising. However, the WLAN through time division multiplexing (TDM) may allocate its time slice with respect to its own clock, which can cause a random disruption of BLE PAwR functions.
- FIG. 7 shows an example of timing for BLE PAwR functions (e.g., transmitting and receiving activities) for an ESL use case. In particular, FIG. 7 is a diagram illustrating an example of timing 700 for BT communications in an ESL use case. In FIG. 7, a timing diagram is shown where the x-axis represents time. In the timing diagram, for every 12.5 milliseconds (ms) , the BT may include tasks (e.g., transmitting and receiving functions) for each group 710 of ESLs (e.g., group 0, group 1, …group 127) . All of the groups 710 of the ESLs may be scheduled to perform over a 1.6 second interval. Example tasks are shown and discussed in the description of graph 500 of FIG. 5. These tasks can be asserted PTA lines accordingly. As such, the WLAN tasks will be interrupted frequently. This interruption of tasks can cause poor performance of the WLAN. If the WLAN denies the BT requests (e.g., BT activity request) , the BT may be unable to perform its high priority tasks, as WLAN is unable to know the specific tasks of the BT. The 12.6 ms duration for each group (e.g., subevent interval) and the 1.6 s duration (e.g., PA interval) for all of the groups are example timing implementations, and other values may be used for the subevent interval and PA interval.
- In one or more examples, in traditional WLAN and BT coex products (e.g., without a PTA) , WLAN software is typically employed to provide a TDM mechanism, where part of the time period can be used by the WLAN for transmitting and receiving functions, and the other part of the time period can be used by the BT for transmitting and receiving functions (e.g., when the WLAN is not performing transmitting or receiving functions) . In some examples, the default coex algorithm employed is OCS/TDM, which implements a default time sharing of 20 ms for the BT and 80 ms for the WLAN. The 20 ms will be completely granted to the BT. During the 80ms, both the BT and the WLAN will compete with each other for time based on priorities. Another possible algorithm that may be employed is the Free run mode algorithm, where the BT and the WLAN compete with each other for time based on priority throughout the entire 100 ms duration. The time division is based on the WLAN clock (e.g., or the clock driving the PTA) , which is not necessarily the same or related to the BT clock. The WLAN clock lacks the regularity imposed by the PAwR schedule and, as such, the time slices cannot align with the PAwR functions. The TDM mechanism at the WLAN side is not time synced with the ESLs. The BT ESL side may configure its ESL group as an active group or a passive group. However, the WLAN does not sync with the active group /passive group time division. It is difficult to provide different priorities for the active and passive groups, respectively, and it is difficult to align the time division with the ESL functions.
- As ESL functionality is based on a PAwMR train, ESL functions have a periodic behavior. In order to make the coex strategy adaptive to this feature of periodicity, in one or more aspects, the systems and techniques provide for a sync in the timing between the WLAN and the BT by the use of an additional hardware general purpose input output (GPIO) line (e.g., timing sync line 810 of FIG. 8) in the PTA. The systems and techniques introduce a way for the BT to communicate time markers to the WLAN (or to any other system) to allow for the WLAN to infer a precise time of forth coming events in the BT. The BT clock will nonetheless be free running and, as such, drift between that of the WLAN clock between two markers. However, assuming a constant velocity (e.g., with linearity and no acceleration) of the BT clock, and being provided with the schedule of transmit (Tx) and/or receive (Rx) functions of the BT subsystem (e.g., forth coming events) , the WLAN subsystem will be able to determine (e.g., within the accuracy of a BT clock drift prediction) when to assert its PTA.
- In one or more aspects, based on the disclosed timing sync feature, because in the ESL profile all of the BT ESL functions have a fixed timing drift with the PAwR sending time (e.g., which the WLAN can obtain from the timing sync line in the PTA) , the WLAN can know more exact timing of BT ESL functions. The BT ESL functions may include, but are not limited to, when the BT ESL are sending a specific group of PAwR, when the BT ESL want to receive PAwR responses, and/or when the BLE connections are scheduled. In one or more examples, the WLAN can define a coex algorithm for the timing sync feature, based on this timing to guarantee some group ESL PAwR can have a high priority time and/or to divide the time based on synced (synchronized) timing, which can be acceptable for both the WLAN and BT ESL subsystems.
- FIG. 8 shows an example of the system that includes an additional hardware GPIO line (e.g., the timing sync line 810) that can be used for communicating time markers to the WLAN (or to any other system) to allow for the WLAN to infer a precise time of forth coming events in the BT. In particular, FIG. 8 is a diagram illustrating an example of a system 800 with a WLAN 610 and BT 620, where the system 800 includes a four wire PTA interface with a timing sync line 810. The system 800 of FIG. 8 is similar to the system 600 of FIG. 6, except that the system 800 of FIG. 8 includes in its PTA an additional hardware GPIO line, which is the timing sync line 810. The timing sync line 810 is communicatively coupled between the WLAN 610 and the BT 620. During operation, the BT 620 can transmit a signal (e.g., a pulse) on the timing sync line 810 for the WLAN 610 to infer precise timing of future BT activity (e.g., BT ESL transmitting and receiving functions) .
- In one or more examples, a point when the GPIO line is asserted can be specified as it is related to the PAwR operation. The number of pulses per frame or per multiples of frames can be determined through calibration between the WLAN and the BT (e.g., for very stable BT clock with a fixed velocity) . In some examples, the GPIO line may not need to be asserted once for every frame, but may only need to be asserted once for every N number of frames. For cases of clocks with erratic behavior (e.g., non-stable clocks) , the GPIO line may be pulsed M number of times per frame (e.g., which may be for a 1.6s duration in an ESL system) . The point when the GPIO line is asserted should be configurable and communicated between the BT and the WLAN (e.g., via the timing sync line 810) , such as to allow the WLAN to know the PAwR operation timing and to make a decision accordingly. The point when the GPIO line is asserted should be sufficiently ahead of the BT activity (e.g., transmitting and/or receiving function) such as to allow for a sufficient amount of time for the WLAN to make a decision. The WLAN can communicate its decision via the WLAN grant line 660 to the BT. In one or more examples, assert patterns may be employed for the WLAN to infer a precise time of forth coming events in the BT.
- In one or more aspects, one way to use the timing sync line 810 is for the BT to assert (e.g., pulse) this line at the start of the schedule for group 0. Then, the WLAN can know the timing schedule of the BT. In this way, the WLAN can calculate the exact timing for every group in the ESL profile. The connections and ESL response timing can also have a relationship with the group scheduling time. As such, the WLAN can predict the time of these tasks when it receives signaling (e.g., pulse) on the timing sync line 810 of the PTA.
- FIG. 9 shows an example of the BT asserting (e.g. pulsing) the time sync line 810 to indicate the BT scheduling to the WLAN. In particular, FIG. 9 is a diagram illustrating an example of timing 900 with a time sync indication 940a, 940b in an ESL use case. In FIG. 9, the timing 900 includes timing scheduling for the BT 920 and the WLAN 930, where the x-axis of both timing scheduling represents time. In FIG. 9, the timing for each group 910 of ESLs is shown in the timing scheduling for the BT 920. During operation, prior to the start of group 0 (e.g., a predetermined amount of time 950a) , the BT can assert (e.g., pulse 940a) the timing sync line 810 of the PTA. After the WLAN receives the pulse 940a on the timing sync line 810, the WLAN can determine the timing scheduling for the PAwR of the BT. Then, after the 1.6 s duration for performance of all of the groups 910 of ESL, again, prior to the start of group 0 (e.g., a predetermined amount of time 950b) , the BT can assert (e.g., pulse 940b) the timing sync line 810 of the PTA.
- In one or more examples, along with the use of the timing sync line 810, the BT may configure each of the groups of the ESLs as an inactive group or an active group. The ESLs within the inactive groups will not send (e.g., not transmit) any PAwR packets. The WLAN can allocate the time previously slated for these inactive groups to itself and/or to the BT for the active groups of the ESLs. By implementing this mechanism, the BT tasks (e.g., ESL tasks) are well protected as the time is allocated based on the exact timing.
- FIG. 10 shows an example where the timing of some groups of ESLs is allocated to the BT and the timing of other groups of the ESLs is allocated to the WLAN. In particular, FIG. 10 is a diagram illustrating an example of timing 1000, where time is allocated for the WLAN (e.g., WLAN time 1070) and the BT (e.g., BT time 1060a, 1060b) . In FIG. 10, the timing 1000 includes timing scheduling for the BT 1020 and the WLAN 1030, where the x-axis of both timing scheduling represents time. In FIG. 10, the timing for each group of ESLs is shown in the timing scheduling for the BT 1020. During operation, prior to the start of group 0 (e.g., a predetermined amount of time 1050) , the BT can assert (e.g., pulse 1040) the timing sync line 810 of the PTA. After the WLAN receives the pulse 1040 on the timing sync line 810, the WLAN can determine the timing scheduling for the PAwR of the BT.
- In FIG. 10, the WLAN 1030 is shown to have allocated the time previously slated for the inactive groups (e.g., groups 3, 4, and 5) to itself (e.g., WLAN time 1070) . The time slated for the active groups (e.g., groups 0, 1, 2, 6, 7, and 8) is shown to allocated to the BT (e.g., BT time 1060a, 1060b) .
- In one or more examples, in order to meet different WLAN/BT key performance indicator (KPI) requirements, a coex algorithm can adjust the allocations of the active groups of ESLs and the inactive groups of ESLs to the attributes of time type 0 and time type 1, respectively. In one or more examples, time type 0 can indicate that the BT has a higher priority than the WLAN and, as such, the WLAN will allocate the time to the BT for this time type (e.g., if the BT has information or data to receive or transmit) . In some examples, time type 1 can indicate that the WLAN will only allocate the time to the BT, when there is high priority request from the BT, otherwise the WLAN will allocate the time to itself (e.g., if the WLAN has information or data to receive or transmit) . In some cases, either the BT or WLAN systems can assert priority. In some aspects, the priority will only be asserted if activities (e.g., receive or transmission activities) are asserted. For instance, the BT system may have higher priority than the WLAN system, but if the BT system has no receive or transmission activities (e.g., has no data to transmit or receive) and the WLAN system does have at least one receive or transmission activity, the WLAN or BT system will allocate time to the WLAN system for performing the receive or transmission activity. In one or more examples, based on the synced timing, more time types can be defined and/or the attributes of each time type can be also very flexible, which can depend upon the WLAN/BT quality requirements.
- FIG. 11 shows an example of time being allocated to different time types. In particular, FIG. 11 is a diagram illustrating an example of timing 1100, where time is allocated for different time types (e.g., time type 0 1160a, 1160b and time type 1 1170) . In FIG. 11, the timing 1100 includes timing scheduling for the BT 1120 and the WLAN 1130, where the x-axis of both timing scheduling represents time. In FIG. 11, the timing for each group of ESLs is shown in the timing scheduling for the BT 1120. During operation, prior to the start of group 0 (e.g., a predetermined amount of time 1150) , the BT can assert (e.g., pulse 1140) the timing sync line 810 of the PTA. After the WLAN receives the pulse 1140 on the timing sync line 810, the WLAN can determine the timing scheduling for the PAwR of the BT.
- In FIG. 11, the WLAN 1130 is shown to have allocated the time previously slated for the inactive groups (e.g., groups 3, 4, and 5) to a time type 1 1170. The time slated for the active groups (e.g., groups 0, 1, 2, 6, 7, and 8) is shown to allocated to a time type 0 1160a, 1160b.
- In one or more examples, the use of the GPIO line (e.g., timing sync line 810) for timing between the BT and WLAN is possible because the WLAN and the BT have agreed upon a predetermined schedule such that the specific scheduling information does not need to be communicated through the upper layer (e.g., upper layer processor) of the system. This predetermined schedule may be communicated once (or updated) during the running time, depending upon the latency and performance requirement of system. The schedule information provides the WLAN with a predictable pattern for the timing sync line assertion. In one or more examples, the schedule information may include, but is not limited to, a GPIO periodic assertion, a GPIO assertion point (e.g., for specific groups) , a GPIO assertion ahead of time (e.g., an amount of time ahead of assertion point to provide time to the WLAN to make a decision) , and/or PAwR information (e.g., the active/inactive groups, connection information, etc. ) .
- FIG. 12 shows an example of a system configuration including an upper layer processor 1220 for communication of the schedule information between the BT 620 and the WLAN 610. In particular, FIG. 12 is a diagram illustrating an example of a system configuration 1200 for data exchange between a WLAN 610 (e.g., a WLAN subsystem) and BT 620 (e.g., a BT subsystem) . In FIG. 12, the WLAN 610, BT 620, a WLAN clock 630a, and a BT clock 630b are shown. The WLAN clock 630a and the BT clock 630b are not synchronized with each other.
- The WLAN 610 and BT 620 can communicate with each other using the PTA lines 1210. The PTA lines 1210 can include a BT active line (e.g., BT active line 640 of FIG. 6) , a BT priority line (e.g., BT priority line 650 of FIG. 6) , and a WLAN grant line (e.g., WLAN grant line 660 of FIG. 6) . A timing sync line 810 is also shown.
- In one or more examples, the WLAN 610 and the BT 620 can communicate information to each other through the upper layer using the upper layer processor 1220 of the system configuration 1200. In some examples, the BT 620 can send the schedule information (e.g., PAwR schedule) to the WLAN 610 via the upper layer processor 1220.
- As previously mentioned, ESL use cases may use a Coex with TDM algorithm to support a large number of ESLs. In such use cases, a set of ESLs may be combined to form a group, where multiple groups are possible. Each group of ESLs can wakes-up at a defined time interval (e.g., once in every 1.6 seconds) , and can remain active for 12.5 ms to when it receives an AP-SYNC message and transfers data packets as per the specification and existing ESL protocol. During a time when ESL groups are active, the coex algorithm should allocate the time to the BT to effectively serve the ESLs. In order for this time allocation, the BT and WLAN (e.g., Wi-Fi) subsystems should have a time sync with each other. BT packets transmitted during a WLAN period will get interrupted and, as such, the ESLs will be unable to receive an AP-SYNC packet and maintain sync with an AP without time synchronization in place.
- FIG. 13 shows an example of WLAN (e.g., Wi-Fi) time allocations not in alignment with the BT time allocations due to there being no time synchronization between the WLAN and BT. In particular, FIG. 13 is a diagram illustrating an example of timing 1300 for BT scheduling 1320 and WLAN scheduling 1330 without synchronization. In FIG. 13, the airtime 1310, the BT scheduling 1320, and the WLAN (e.g., Wi-Fi) scheduling 1330 are shown. In FIG. 13, the x-axis of the airtime 1310, the BT scheduling 1320, and the WLAN (e.g., Wi-Fi) scheduling 1330 denotes time.
- In FIG. 13, the WLAN scheduling 1330 is shown to not be in alignment with the BT scheduling 1320. For example, the BT time allocations 1340 in the BT scheduling 1320 are shown to overlap in time with the WLAN time allocations 1350 in the WLAN scheduling 1330.
- As previously mentioned, BT and WLAN (e.g., Wi-Fi) subsystems typically communicate with each other using a PTA interface with a two or three wire GPIO design. Each hardware wire of the PTA interface can have a dedicated purpose.
- FIGS. 14A and 14B show examples of systems each including a PTA interface with a two-wire or three-wire design. In particular, FIG. 14A is a diagram illustrating an example of a system 1400 with Wi-Fi 1410 (e.g., WLAN) and BT 1420 subsystems, where the system 1400 includes a two-wire PTA interface. In FIG. 14A, the WLAN (e.g., Wi-Fi) 1410 and the BT 1420 subsystems are shown.
- The WLAN 1410 and BT 1420 communicate with each other using the PTA interface 1470. The PTA interface of the system 1400 of FIG. 14A includes a BT active line 1440 and a WLAN grant line 1460. In one or more examples, the BT active line 1440 of the PTA can be used to signal to the WLAN 1410 that the BT 1420 is expecting transmit or receive activity (e.g., BT activity) , and the BT active line 1440 can remain asserted until the BT activity ends.
- The WLAN grant line 1460 of the PTA can indicate to the BT 1420 whether the WLAN grants or blocks the BT activity. For example, if the WLAN grant line 1460 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 1460 is de-asserted, the BT activity is granted.
- FIG. 14B is a diagram illustrating an example of a system 1402 with Wi-Fi 1412 (e.g., WLAN) and BT 1422 subsystems, where the system 1402 includes a three-wire PTA interface. In FIG. 14B, the WLAN (e.g., Wi-Fi) 1412 and the BT 1422 subsystems are shown.
- The WLAN 1412 and BT 1422 communicate with each other using the PTA interface 1472. The PTA interface of the system 1402 of FIG. 14B includes a BT active line 1442, a BT priority line 1452, and a WLAN grant line 1462. In one or more examples, the BT active line 1442 of the PTA can be used to signal to the WLAN 1412 that the BT 1422 is expecting transmit or receive activity (e.g., BT activity) , and the BT active line 1442 can remain asserted until the BT activity ends.
- The BT priority line 1452 of the PTA can be asserted (or de-asserted) to indicate to the WLAN 1412 a priority (e.g., a high or low priority) of the BT activity. For example, if the BT priority line 1452 of the PTA is asserted, the BT is indicating to the WLAN 1412 that the BT activity has a high priority. If the BT priority line 1452 of the PTA is de-asserted, the BT is indicating to the WLAN 1412 that the BT activity has a low priority. The BT priority line 1452 can also indicate to the WLAN 1412 the transmit or receive status of the BT activity.
- The WLAN grant line 1462 of the PTA can indicate to the BT 1422 whether the WLAN grants or blocks the BT activity. For example, if the WLAN grant line 1462 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 1462 is de-asserted, the BT activity is granted.
- In one or more aspects, the BT may use the BT active line (e.g., instead implementing the timing sync line 810 of FIG. 8) of the PTA interface to send an indication for time synchronization to the WLAN. In one or more examples, during operation, the BT may scan during both the WLAN and BT intervals. Due to BT scan, the BT active line can toggle for every 4 ms or 8 ms. The WLAN software (S/W) can receive the PTA interrupts whenever the BT active line toggles. In order to indicate a time sync, an inactivity is created in the BT traffic for a defined duration (e.g., the duration is ideally 12.5 ms) . The inactivity in the BT traffic causes the BT active line to stay low (LOW) . In the WLAN software, if the interrupt delay between the BT active line at a low setting (LOW) and the BT active line at a high setting (HIGH) is larger than the defined duration, then the indication can be interpreted by the WLAN as being a time sync indication.
- FIG. 15 shows an example of the method previously described. In particular, FIG. 15 is a flowchart illustrating an example of a method 1500 for time sync indication detection. In FIG. 15, during the method 1500, the PTA can perform an interrupt 1510. Then, the time that the BT active line is at a low setting (LOW) 1520 can be updated 1540 by the WLAN, and the time that the BT active line is at a high setting (HIGH) 1530 can be updated 1550 by the WLAN. Then, the WLAN can determine (e.g., calculate) whether the difference between the time that the BT active line is at a low setting (LOW) and the time that the BT active line is at a high setting (HIGH) is greater than an inactivity duration 1560. If the WLAN determines that the difference in time is not greater than the inactivity duration, then the method 1500 will wait until the PTA performs another interrupt 1510. However, if the WLAN determines that the difference in time is greater than the inactivity duration, then the WLAN can infer that the interruption is a time sync indication and can grant a BT slot for a BT duration 1570. Then, upon confirming the time sync indication, a duty cycle scheduler can be restarted 1580. As such, this method 1500 can allow for the BT and WLAN subsystems to follow a synchronized duty cycle.
- In one or more examples, groups of ESLs can be classified as active and passive groups. The ESLs will not be active in the passive groups and, as such, the time slots for the passive groups can allocated for WLAN (e.g., Wi-Fi) traffic.
- FIG. 16 shows an example of the BT issuing a time sync pattern to indicate the BT scheduling to the WLAN. In particular, FIG. 16 is a diagram illustrating an example of timing 1600 with a time sync indication (e.g., a time sync pattern 1640a, 1640b) in an ESL use case. In FIG. 16, the timing 1600 includes timing scheduling for the BT 1620 and the WLAN 1630, where the x-axis of both timing scheduling represents time. In FIG. 16, the timing for each group of ESLs is shown in the timing scheduling for the BT 1620. During operation, prior to the start of group 0, BT traffic will be inactive for a time duration 1650a. After the time duration 1650a, the BT can issue a time sync indication via a time sync pattern 1640a. Then, just prior to the 1.6 s duration for performance of all of the groups of ESLs, again, prior to the start of group 0, BT traffic will be inactive for a time duration 1650b. After the time duration 1650b, the BT can issue a time sync indication via a time sync pattern 1640b.
- In one or more examples, along with the use of the timing sync pattern, the BT may configure each of the groups of the ESLs as an inactive group or an active group. The ESLs within the inactive groups will not send (e.g., not transmit) any PAwR packets. The WLAN can allocate the time previously slated for these inactive groups to itself and/or to the BT for the active groups of the ESLs. In FIG. 16, for example, group 127 is a passive group. The BT active line will be at a low setting (LOW) from the beginning of the time duration allocated for group 127 to the end of the time duration allocated for group 127.
- In one or more aspects, the BT may use both the BT priority line and the BT active line (e.g., instead implementing the timing sync line 810 of FIG. 8) of the PTA interface to send an indication for time synchronization to the WLAN. As per the existing architecture (e.g., as shown in FIGS. 14A and 14B) , the BT priority line toggles only when BT active line is at a high setting (HIGH) to indicate high priority BT traffic. In one or more examples for the system and techniques, the BT priority line can be asserted at a high setting (HIGH) , when the BT active line is at a low setting (LOW) to indicate a time sync. As such, without comprising the existing behavior in the existing architecture, the BT priority line can be effectively used to achieve time synchronization.
- FIG. 17 shows an example of the BT priority line being asserted at a high setting (HIGH) , when the BT active line is at a low setting (LOW) to indicate a time sync. In particular, FIG. 17 is a diagram illustrating an example of time sync 1700 using a BT_PRIORITY line 1730. In FIG. 17, example time scheduling for a clock 1710 (e.g., a BT clock) , the BT active line 1720, and the BT priority line 1730 are shown, where the x-axis of timing scheduling represents time.
- In FIG. 17, at one instance, both the BT active line 1720 and the BT priority line 1730 are at a high setting (HIGH) and, as such, at this time instance, there is an indication for a high priority for BT traffic 1740. At another instance, the BT active line 1720 is at a high setting (HIGH) and the BT priority line 1730 is at a low setting (LOW) and, as such, at this time instance, there is an indication for a low priority for BT traffic 1750.
- Also in FIG. 17, at another instance, the BT active line 1720 is at a low setting (LOW) and the BT priority line 1730 is at a high setting (HIGH) and, as such, at this time instance, there is an indication for a time sync 1760.
- In one or more examples, by implementing a timing sync, the BT and WLAN traffic can be scheduled in alignment with the configured duty cycle. The timing sync enhances the coex functionality with TDM algorithm, when the BT and WLAN are running on different subsystems with unsynchronized clocks.
- FIG. 18 shows an example of WLAN (e.g., Wi-Fi) time allocations in alignment with the BT time allocations due to there being time synchronization. In particular, FIG. 18 is a diagram illustrating an example of timing 1800 for BT scheduling 1820 and WLAN scheduling 1830 with synchronization. In FIG. 18, the airtime 1810, the BT scheduling 1820, and the WLAN (e.g., Wi-Fi) scheduling 1830 are shown. In FIG. 18, the x-axis of the airtime 1810, the BT scheduling 1820, and the WLAN (e.g., Wi-Fi) scheduling 1830 denotes time.
- In FIG. 18, the WLAN scheduling 1830 is shown to not be in alignment with the BT scheduling 1820. For example, the BT time allocations 1840 in the BT scheduling 1820 are shown to not overlap in time with the WLAN time allocations 1850 in the WLAN scheduling 1830.
- In one or more examples, various configuration details may be exchanged between the BT and WLAN. For example, a TDM algorithm will need the duty cycle period and WLAN/BT intervals to be configured. For example, the default duty cycle period is 100 ms, and this 100 ms can be split into 80ms and 20ms durations, which can be designated as WLAN and BT intervals, respectively. In one or more examples, the ESL grouping model should be shared by the BT and WLAN for the scheduling. In some examples, an inactivity duration to detect a sync indication should also be shared.
- FIG. 19 shows an example of a system configuration including an upper layer application 1940 for communication of information (e.g., duty cycle period, WLAN/BT intervals, ESL grouping model, and inactivity duration) between the BT 1920 and the WLAN 1910. In particular, FIG. 19 is a diagram illustrating an example of a system configuration 1900 for data exchange between a WLAN 1910 (e.g., WLAN subsystem) and BT 1920 (e.g., BT subsystem) . In FIG. 19, the WLAN 1910 and BT 1920 are shown.
- The WLAN 1910 and BT 1920 can communicate with each other using the PTA lines 1910. The PTA lines 1910 can include a BT active line, a BT priority line, and a WLAN grant line. In one or more examples, the WLAN 1910 and the BT 1920 can communicate information to each other through the upper layer using the upper layer application 1940 of the system configuration 1900.
- FIG. 20 is a flow chart illustrating an example of a process 2000 for wireless communications utilizing methods for a timing sync based coex strategy of WLAN and BT ESL. The process 2000 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) , or by a component or system (e.g., a chipset) of the network entity. The operations of the process 2000 may be implemented as software components that are executed and run on one or more processors (e.g., processor 2310 of FIG. 23 or other processor (s) ) . Further, the transmission and reception of signals by the network entity in the process 2000 may be enabled, for example, by one or more antennas and/or one or more transceivers (e.g., wireless transceiver (s) ) .
- At block 2010, the first network entity (or component thereof) can assert a line (e.g., a hardware GPIO line) in a communication interface to indicate to a second network entity a time for activity by the first network entity. The second network entity can receive the assertion in the line in the communication interface from the first network entity to indicate the time for the activity by the first network entity. In one illustrative example, the first network entity is a BT subsystem, and the second network entity is a WLAN subsystem. In another illustrative example, the first network entity is a WLAN subsystem, and the second network entity is a BT subsystem. In some examples, the BT subsystem may be associated with a plurality of wireless communication devices, such as ESLs. In one illustrative example, the communication interface may be a PTA communicatively coupled to the first network entity and the second network entity.
- At block 2020, the first network entity (or component thereof) can perform the activity (e.g., transmitting and/or receiving data packets) at the time. In some cases, asserting of the line at the assertion point occurs a predetermined amount of time prior to the time of the activity. In some cases, the second network entity can perform a second activity at the time.
- In some aspects, the first network entity (or component thereof) can configure groups of wireless communication devices into passive groups and active groups. In some cases, one or more time slots previously allocated to the passive groups is/are allocated to the second network entity and/or to one or more of the active groups. In some examples, the first network entity (or component thereof) can allocate one or more of the passive groups to a first time type, and can allocate one or more of the active groups to a second time type. In some cases, one or more time slots previously allocated to the one or more of the passive groups allocated to the first time type is allocated to the second network entity and/or to at least one of the one or more active groups.
- In some aspects, the first network entity (or component thereof) can transmit schedule information to the second network entity. For example, the schedule information can include a periodic assertion, the assertion point, a predetermined amount of time prior to the time of the activity for assertion, periodic advertisement with response (PAwR) information, group information, connection information, any combination thereof, and/or other information. In some cases, the schedule information is transmitted by the first network entity to the second network entity through an upper layer (e.g., using the upper layer application 1940 of the system configuration 1900) .
- FIG. 21 is a flow chart illustrating an example of a process 2100 for wireless communications utilizing methods for a timing sync based coex strategy of WLAN and BT ESL. The process 2100 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) , or by a component or system (e.g., a chipset) of the network entity. The operations of the process 2100 may be implemented as software components that are executed and run on one or more processors (e.g., processor 2310 of FIG. 23 or other processor (s) ) . Further, the transmission and reception of signals by the network entity in the process 2100 may be enabled, for example, by one or more antennas and/or one or more transceivers (e.g., wireless transceiver (s) ) .
- At block 2110, the first network entity (or component thereof) can toggle, during a period of inactivity of the first network entity, a state of a line (e.g., a hardware BT active line) in a communication interface to indicate to a second network entity a time for activity by the first network entity. In one illustrative example, the first network entity may be a BT subsystem, and the second network entity may be a WLAN subsystem. In another illustrative example, the first network entity may be a WLAN subsystem, and the second network entity may be a BT subsystem. In some examples, the BT subsystem may be associated with a plurality of wireless communication devices, such as ESLs. In one illustrative example, the communication interface may be a PTA communicatively coupled to the first network entity and the second network entity.
- In some aspects, the state of the line is periodically toggled for a duration of time. In some cases, the state of the line is toggled from a low setting to a high setting. For instance, a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- At block 2120, the first network entity can perform the activity (e.g., transmitting and/or receiving data packets) at the time. In some aspects, the first network entity (or component thereof) can transmit schedule information to the second network entity. For example the schedule information can include a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, an inactivity duration that indicates a start of the duty cycle period for the time of activity, any combination thereof, and/or other information. In some cases, the schedule information is transmitted by the first network entity to the second network entity through an upper layer (e.g., using the upper layer application 1940 of the system configuration 1900) .
- FIG. 22 is a flow chart illustrating an example of a process 2100 for wireless communications utilizing methods for a timing sync based coex strategy of WLAN and BT ESL. The process 2200 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) , or by a component or system (e.g., a chipset) of the network entity. The operations of the process 2200 may be implemented as software components that are executed and run on one or more processors (e.g., processor 2310 of FIG. 23 or other processor (s) ) . Further, the transmission and reception of signals by the network entity in the process 2200 may be enabled, for example, by one or more antennas and/or one or more transceivers (e.g., wireless transceiver (s) ) .
- At block 2210, the first network entity (or component thereof) can assert simultaneously a high setting on a first line and a low setting on a second line to indicate to a second network entity a time for activity by the first network entity. In one illustrative example, the first network entity may be a BT subsystem, and the second network entity may be a WLAN subsystem. In some examples, the BT subsystem may be associated with a plurality of wireless communication devices, such as ESLs. In one or more examples, the first line is a hardware BT priority line and the second line is a hardware BT active line. In one illustrative example, the communication interface may be a PTA communicatively coupled to the first network entity and the second network entity.
- At block 2220, the first network entity can perform the activity at the time. In some cases, the activity can include transmitting and/or receiving data packets.
- FIG. 23 is a block diagram illustrating an example of a computing system 2300, which may be employed by the disclosed systems and techniques for a timing sync based coex strategy of WLAN and BT ESL. In particular, FIG. 23 illustrates an example of computing system 2300, which can be, for example, any computing device making up internal computing system, a remote computing system, a camera, or any component thereof in which the components of the system are in communication with each other using connection 2305. Connection 2305 can be a physical connection using a bus, or a direct connection into processor 2310, such as in a chipset architecture. Connection 2305 can also be a virtual connection, networked connection, or logical connection.
- In some aspects, computing system 2300 is a distributed system in which the functions described in this disclosure can be distributed within a datacenter, multiple data centers, a peer network, etc. In some aspects, one or more of the described system components represents many such components each performing some or all of the function for which the component is described. In some aspects, the components can be physical or virtual devices.
- Example system 2300 includes at least one processing unit (CPU or processor) 2310 and connection 2305 that communicatively couples various system components including system memory 2315, such as read-only memory (ROM) 2320 and random access memory (RAM) 2325 to processor 2310. Computing system 2300 can include a cache 2312 of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 2310.
- Processor 2310 can include any general purpose processor and a hardware service or software service, such as services 2332, 2334, and 2336 stored in storage device 2330, configured to control processor 2310 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 2310 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.
- To enable user interaction, computing system 2300 includes an input device 2345, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc. Computing system 2300 can also include output device 2335, which can be one or more of a number of output mechanisms. In some instances, multimodal systems can enable a user to provide multiple types of input/output to communicate with computing system 2300.
- Computing system 2300 can include communications interface 2340, which can generally govern and manage the user input and system output. The communication interface may perform or facilitate receipt and/or transmission wired or wireless communications using wired and/or wireless transceivers, including those making use of an audio jack/plug, a microphone jack/plug, a universal serial bus (USB) port/plug, an AppleTM LightningTM port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug, 3G, 4G, 5G and/or other cellular data network wireless signal transfer, a BluetoothTM wireless signal transfer, a BluetoothTM low energy (BLE) wireless signal transfer, an IBEACONTM wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, wireless local area network (WLAN) signal transfer, Visible Light Communication (VLC) , Worldwide Interoperability for Microwave Access (WiMAX) , Infrared (IR) communication wireless signal transfer, Public Switched Telephone Network (PSTN) signal transfer, Integrated Services Digital Network (ISDN) signal transfer, ad-hoc network signal transfer, radio wave signal transfer, microwave signal transfer, infrared signal transfer, visible light signal transfer, ultraviolet light signal transfer, wireless signal transfer along the electromagnetic spectrum, or some combination thereof.
- The communications interface 2340 may also include one or more range sensors (e.g., LIDAR sensors, laser range finders, RF radars, ultrasonic sensors, and infrared (IR) sensors) configured to collect data and provide measurements to processor 2310, whereby processor 2310 can be configured to perform determinations and calculations needed to obtain various measurements for the one or more range sensors. In some examples, the measurements can include time of flight, wavelengths, azimuth angle, elevation angle, range, linear velocity and/or angular velocity, or any combination thereof. The communications interface 2340 may also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers that are used to determine a location of the computing system 2300 based on receipt of one or more signals from one or more satellites associated with one or more GNSS systems. GNSS systems include, but are not limited to, the US-based GPS, the Russia-based Global Navigation Satellite System (GLONASS) , the China-based BeiDou Navigation Satellite System (BDS) , and the Europe-based Galileo GNSS. There is no restriction on operating on any particular hardware arrangement, and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
- Storage device 2330 can be a non-volatile and/or non-transitory and/or computer-readable memory device and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, a floppy disk, a flexible disk, a hard disk, magnetic tape, a magnetic strip/stripe, any other magnetic storage medium, flash memory, memristor memory, any other solid-state memory, a compact disc read only memory (CD-ROM) optical disc, a rewritable compact disc (CD) optical disc, digital video disk (DVD) optical disc, a blu-ray disc (BDD) optical disc, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a Memory card, a smartcard chip, a EMV chip, a subscriber identity module (SIM) card, a mini/micro/nano/pico SIM card, another integrated circuit (IC) chip/card, random access memory (RAM) , static RAM (SRAM) , dynamic RAM (DRAM) , read-only memory (ROM) , programmable read-only memory (PROM) , erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , flash EPROM (FLASHEPROM) , cache memory (e.g., Level 1 (L1) cache, Level 2 (L2) cache, Level 3 (L3) cache, Level 4 (L4) cache, Level 5 (L5) cache, or other (L#) cache) , resistive random-access memory (RRAM/ReRAM) , phase change memory (PCM) , spin transfer torque RAM (STT-RAM) , another memory chip or cartridge, and/or a combination thereof.
- The storage device 2330 can include software services, servers, services, etc., that when the code that defines such software is executed by the processor 2310, it causes the system to perform a function. In some aspects, a hardware service that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 2310, connection 2305, output device 2335, etc., to carry out the function. The term “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction (s) and/or data. A computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD) , flash memory, memory or memory devices. A computer-readable medium may have stored thereon code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, or the like.
- Specific details are provided in the description above to provide a thorough understanding of the aspects and examples provided herein, but those skilled in the art will recognize that the application is not limited thereto. Thus, while illustrative aspects of the application have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art. Various features and aspects of the above-described application may be used individually or jointly. Further, aspects can be utilized in any number of environments and applications beyond those described herein without departing from the broader scope of the specification. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive. For the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate aspects, the methods may be performed in a different order than that described.
- For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software. Additional components may be used other than those shown in the figures and/or described herein. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the aspects in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the aspects.
- Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
- Individual aspects may be described above as a process or method which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
- Processes and methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer-readable media. Such instructions can include, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
- In some aspects the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bitstream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
- Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof, in some cases depending in part on the particular application, in part on the desired design, in part on the corresponding technology, etc.
- The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed using hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can take any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a computer-readable or machine-readable medium. A processor (s) may perform the necessary tasks. Examples of form factors include laptops, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
- The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.
- The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods, algorithms, and/or operations described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise memory or data storage media, such as random access memory (RAM) such as synchronous dynamic random access memory (SDRAM) , read-only memory (ROM) , non-volatile random access memory (NVRAM) , electrically erasable programmable read-only memory (EEPROM) , FLASH memory, magnetic or optical data storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer, such as propagated signals or waves.
- The program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs) , general purpose microprocessors, an application specific integrated circuits (ASICs) , field programmable logic arrays (FPGAs) , or other equivalent integrated or discrete logic circuitry. Such a processor may be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor; but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, the term “processor, ” as used herein may refer to any of the foregoing structure, any combination of the foregoing structure, or any other structure or apparatus suitable for implementation of the techniques described herein.
- One of ordinary skill will appreciate that the less than ( “<” ) and greater than ( “>” ) symbols or terminology used herein can be replaced with less than or equal to ( “≤” ) and greater than or equal to ( “≥” ) symbols, respectively, without departing from the scope of this description.
- Where components are described as being “configured to” perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operation, by programming programmable electronic circuits (e.g., microprocessors, or other suitable electronic circuits) to perform the operation, or any combination thereof.
- The phrase “coupled to” or “communicatively coupled to” refers to any component that is physically connected to another component either directly or indirectly, and/or any component that is in communication with another component (e.g., connected to the other component over a wired or wireless connection, and/or other suitable communication interface) either directly or indirectly.
- Claim language or other language reciting “at least one of” a set and/or “one or more” of a set indicates that one member of the set or multiple members of the set (in any combination) satisfy the claim. For example, claim language reciting “at least one of A and B” or “at least one of A or B” means A, B, or A and B. In another example, claim language reciting “at least one of A, B, and C” or “at least one of A, B, or C” means A, B, C, or A and B, or A and C, or B and C, or A and B and C. The language “at least one of” a set and/or “one or more” of a set does not limit the set to the items listed in the set. For example, claim language reciting “at least one of A and B” or “at least one of A or B” can mean A, B, or A and B, and can additionally include items not listed in the set of A and B.
- Illustrative aspects of the disclosure include:
- Aspect 1. A first network entity for wireless communication, the first network entity comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- Aspect 2. The first network entity of Aspect 1, wherein the at least one processor is configured to periodically toggle the state of the line for a duration of time.
- Aspect 3. The first network entity of any one of Aspects 1 or 2, wherein the at least one processor is configured to toggle the state of the line from a low setting to a high setting.
- Aspect 4. The first network entity of Aspect 3, wherein a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- Aspect 5. The first network entity of any one of Aspects 1 to 4, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- Aspect 6. The first network entity of Aspect 5, wherein the BT subsystem is associated with a plurality of wireless communication devices.
- Aspect 7. The first network entity of any one of Aspects 1 to 6, wherein the line is a hardware (BT) active line.
- Aspect 8. The first network entity of any one of Aspects 1 to 7, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- Aspect 9. The first network entity of any one of Aspects 1 to 8, wherein the activity is at least one of transmitting or receiving data packets.
- Aspect 10. The first network entity of any one of Aspects 1 to 9, wherein the at least one processor is configured to output schedule information for transmission to the second network entity.
- Aspect 11. The first network entity of Aspect 10, wherein the schedule information comprises at least one of a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, or an inactivity duration that indicates a start of the duty cycle period for the time of activity.
- Aspect 12. The first network entity of any one of Aspects 10 or 11, wherein the schedule information is transmitted by the first network entity to the second network entity through an upper layer.
- Aspect 13. A method of wireless communication performed at a first network entity, the method comprising: toggling, by the first network entity, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- Aspect 14. The method of Aspect 13, wherein the state of the line is periodically toggled for a duration of time.
- Aspect 15. The method of any one of Aspects 13 or 14, wherein the state of the line is toggled from a low setting to a high setting.
- Aspect 16. The method of Aspect 15, wherein a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- Aspect 17. The method of any one of Aspects 13 to 16, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- Aspect 18. The method of Aspect 17, wherein the BT subsystem is associated with a plurality of wireless communication devices.
- Aspect 19. The method of any one of Aspects 13 to 18, wherein the line is a hardware (BT) active line.
- Aspect 20. The method of any one of Aspects 13 to 19, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- Aspect 21. The method of any one of Aspects 13 to 20, wherein the activity is at least one of transmitting or receiving data packets.
- Aspect 22. The method of any one of Aspects 13 to 21, further comprising transmitting, by the first network entity, schedule information to the second network entity.
- Aspect 23. The method of Aspect 22, wherein the schedule information comprises at least one of a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, or an inactivity duration that indicates a start of the duty cycle period for the time of activity.
- Aspect 24. The method of any one of Aspects 22 or 23, wherein the schedule information is transmitted by the first network entity to the second network entity through an upper layer.
- Aspect 25. A first network entity for wireless communication, the first network entity comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: assert simultaneously a high setting on a first line in a communication interface and a low setting on a second line in the communication interface to indicate to a second network entity a time for activity by the first network entity; and perform the activity at the time.
- Aspect 26. The first network entity of Aspect 25, wherein the first line is a hardware (BT) priority line and the second line is a hardware (BT) active line.
- Aspect 27. The first network entity of any one of Aspects 25 or 26, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- Aspect 28. The first network entity of any one of Aspects 25 to 27, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- Aspect 29. A method of wireless communication performed at a first network entity, the method comprising: asserting simultaneously a high setting on a first line in a communication interface and a low setting on a second line in the communication interface to indicate to a second network entity a time for activity by the first network entity; and performing, by the first network entity, the activity at the time.
- Aspect 30. The method of Aspect 29, wherein the first line is a hardware (BT) priority line and the second line is a hardware (BT) active line.
- Aspect 31. The method of any one of Aspects 29 or 30, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- Aspect 32. The method of any one of Aspects 29 to 31, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- Aspect 33. A non-transitory computer-readable medium having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to perform operation according to any of Aspects 13 to 24.
- Aspect 34. An apparatus for wireless communications, comprising one or more means for performing operations according to any of Aspects 13 to 24.
- Aspect 35. A non-transitory computer-readable medium having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to perform operations according to any of Aspects 29 to 32.
- Aspect 36. An apparatus for wireless communications, comprising one or more means for performing operations according to any of Aspects 29 to 32.
- The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more. ”
Claims (30)
- A first network entity for wireless communication, the first network entity comprising:at least one memory; andat least one processor coupled to the at least one memory and configured to:toggle, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; andperform the activity at the time.
- The first network entity of claim 1, wherein the at least one processor is configured to periodically toggle the state of the line for a duration of time.
- The first network entity of claim 1, wherein the at least one processor is configured to toggle the state of the line from a low setting to a high setting.
- The first network entity of claim 3, wherein a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- The first network entity of claim 1, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- The first network entity of claim 5, wherein the BT subsystem is associated with a plurality of wireless communication devices.
- The first network entity of claim 1, wherein the line is a hardware (BT) active line.
- The first network entity of claim 1, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- The first network entity of claim 1, wherein the activity is at least one of transmitting or receiving data packets.
- The first network entity of claim 1, wherein the at least one processor is configured to output schedule information for transmission to the second network entity.
- The first network entity of claim 10, wherein the schedule information comprises at least one of a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, or an inactivity duration that indicates a start of the duty cycle period for the time of activity.
- The first network entity of claim 10, wherein the schedule information is transmitted by the first network entity to the second network entity through an upper layer.
- A method of wireless communication performed at a first network entity, the method comprising:toggling, by the first network entity, during a period of inactivity of the first network entity, a state of a line in a communication interface to indicate to a second network entity a time for activity by the first network entity; andperforming, by the first network entity, the activity at the time.
- The method of claim 13, wherein the state of the line is periodically toggled for a duration of time.
- The method of claim 13, wherein the state of the line is toggled from a low setting to a high setting.
- The method of claim 15, wherein a period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactivity duration.
- The method of claim 13, wherein the first network entity is a(BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- The method of claim 17, wherein the BT subsystem is associated with a plurality of wireless communication devices.
- The method of claim 13, wherein the line is a hardware (BT) active line.
- The method of claim 13, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- The method of claim 13, wherein the activity is at least one of transmitting or receiving data packets.
- The method of claim 13, further comprising transmitting, by the first network entity, schedule information to the second network entity.
- The method of claim 22, wherein the schedule information comprises at least one of a duty cycle period, a first entity interval, a second entity interval, a grouping model for wireless communication devices, or an inactivity duration that indicates a start of the duty cycle period for the time of activity.
- The method of claim 22, wherein the schedule information is transmitted by the first network entity to the second network entity through an upper layer.
- A first network entity for wireless communication, the first network entity comprising:at least one memory; andat least one processor coupled to the at least one memory and configured to:assert simultaneously a high setting on a first line in a communication interface and a low setting on a second line in the communication interface to indicate to a second network entity a time for activity by the first network entity; andperform the activity at the time.
- The first network entity of claim 25, wherein the first line is a hardware (BT) priority line and the second line is a hardware (BT) active line.
- The first network entity of claim 25, wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
- The first network entity of claim 25, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
- A method of wireless communication performed at a first network entity, the method comprising:asserting simultaneously a high setting on a first line in a communication interface and a low setting on a second line in the communication interface to indicate to a second network entity a time for activity by the first network entity; andperforming, by the first network entity, the activity at the time.
- The method of claim 29, wherein the first line is a hardware (BT) priority line and the second line is a hardware (BT) active line, and wherein the first network entity is a (BT) subsystem and the second network entity is a wide local area network (WLAN) subsystem.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/085468 WO2024197811A1 (en) | 2023-03-31 | 2023-03-31 | Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl) |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4691035A1 true EP4691035A1 (en) | 2026-02-11 |
Family
ID=86286171
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23720739.4A Pending EP4691035A1 (en) | 2023-03-31 | 2023-03-31 | Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl) |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4691035A1 (en) |
| CN (1) | CN120858627A (en) |
| WO (1) | WO2024197811A1 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9504056B2 (en) * | 2004-08-09 | 2016-11-22 | Broadcom Corporation | Method and system for sharing a single antenna on platforms with collocated Bluetooth and IEEE 802.11 b/g devices |
| US8553612B2 (en) * | 2007-10-05 | 2013-10-08 | St-Ericsson Sa | Coexistence of wireless personal area network and wireless local area network |
| US8045922B2 (en) * | 2007-11-23 | 2011-10-25 | Texas Instruments Incorporated | Apparatus for and method of bluetooth and wireless local area network coexistence using a single antenna in a collocated device |
| US11589376B2 (en) * | 2020-07-22 | 2023-02-21 | Mediatek Inc. | Low-power coexistence mechanism based on packet traffic arbitration |
| US11743736B2 (en) * | 2021-06-07 | 2023-08-29 | Cypress Semiconductor Corporation | Sharing transmission mediums in WiFi-Bluetooth combination systems |
-
2023
- 2023-03-31 CN CN202380096292.0A patent/CN120858627A/en active Pending
- 2023-03-31 WO PCT/CN2023/085468 patent/WO2024197811A1/en not_active Ceased
- 2023-03-31 EP EP23720739.4A patent/EP4691035A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024197811A1 (en) | 2024-10-03 |
| CN120858627A (en) | 2025-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12543130B2 (en) | Angle of arrival-based location determination using periodic advertising synchronization | |
| US20250175913A1 (en) | Fast onboarding in a wireless communication device system | |
| WO2024113306A1 (en) | Periodic advertising with response with capability for peripheral initiated messages over a synchronized channel | |
| US20240236887A1 (en) | Clock update for wireless network | |
| WO2024197811A1 (en) | Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl) | |
| WO2024197788A1 (en) | Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl) | |
| WO2025101279A1 (en) | Dynamic periodic advertisement with response (pawr) update | |
| US12588022B2 (en) | Channel map allocation to subframes in periodic advertisement with response | |
| WO2025053976A1 (en) | Fast data transfer in peripheral device networks | |
| WO2025030422A1 (en) | Beacon collision detection and wireless communication device performance improvement | |
| TW202442013A (en) | Timing sync based coex strategy of wide local area network (wlan) and bluetooth (bt) electronic shelf label (esl) | |
| WO2025025034A1 (en) | Notification of available slots within a wireless communication device system | |
| WO2024259716A1 (en) | A secure method for wireless communication devices changing a network device | |
| US20250254637A1 (en) | Timing synchronization for computing devices | |
| WO2026081032A1 (en) | Parameter update on periodic advertising with response (pawr) train | |
| WO2024156069A1 (en) | Optimizing payload for periodic advertising synchronization | |
| US20240406937A1 (en) | Periodic advertisement coverage extension using bridges | |
| WO2025152057A1 (en) | Virtual groups for wireless communication devices of a synchronization system | |
| KR20260057613A (en) | High-speed data transmission in peripheral device networks | |
| EP4674185A1 (en) | Device filter for onboarding in a synchronization system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250818 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |