An energy-saving communication method, device and equipment for a Wi-Fi and BLE combination chip
Patent Information
- Application Number
- CN202311502229.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-13
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-11-13
AI Technical Summary
使用时可能不在Wi-Fi协议规定下工作,具有一定的应用局限性,不能很好地实现BLE对于Wi-Fi的通信协作
[0036](1)该方法通过融合RTS/CTS机制与基于窄带解码的CTC方法,我们实现了BLE模块辅助Wi-Fi模块进行监听。相较于传统的Wi-Fi与BLE组合芯片,增强了不同模块之间的协作性,由于BLE为窄带通信,运行功耗较小,使用BLE辅助Wi-Fi能够提升整体模块的功耗表现。
Smart Images

Figure CN117858209B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology. Background Technology
[0002] With the development of IoT technology, various wireless communication technologies have emerged to meet the application needs of different scenarios, such as Wi-Fi, BLE, and ZigBee. For ease of deployment, many communication protocols operate on the ISM band, creating opportunities for collaboration between different protocols. Wi-Fi and BLE, as two widely used communication technologies, are typically deployed on the same communication module. These two technologies have their own characteristics: Wi-Fi has higher operating power and faster transmission rates, while BLE has lower operating power and transmission rates. Taking TI's Wi-Fi and BLE combo chip WL1831MOD as an example, Wi-Fi typically consumes tens of milliamps, while BLE consumes over one hundred microamps. In everyday wireless network environments, data transmission between Wi-Fi devices is often bursty; communication devices spend most of their time in idle listening mode and a small portion in data transmission mode, but even in idle listening mode, energy is still consumed. Although Wi-Fi and BLE are deployed on the same module and BLE has lower operating power, significant differences in their protocol design make it difficult to achieve heterogeneous collaboration between different communication protocols to save power.
[0003] To achieve Cross Technology Communication (CTC), as described in patent document CN113630209A, existing solutions are based on narrowband decoding and employ a physical layer signal conversion method, using Wi-Fi to send specific signals to simulate BLE frames. This method primarily focuses on achieving Wi-Fi to BLE cross-technology communication at the signal layer, without addressing the Wi-Fi MAC layer's operational mechanism. In practice, it may not operate within the Wi-Fi protocol specifications, exhibiting certain application limitations and failing to effectively achieve BLE-Wi-Fi communication cooperation.
[0004] Therefore, how to provide an energy-efficient communication method for Wi-Fi and BLE combined chips has become a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0005] To address the aforementioned technical problems, this invention provides an energy-saving communication method, apparatus, and device for Wi-Fi and BLE combined chips. By integrating the RTS / CTS mechanism with the CTC method based on narrowband decoding, this method enables the BLE module to assist the Wi-Fi module in listening, overcoming the barriers and obstacles between different communication protocols of Wi-Fi and BLE, and realizing information exchange from Wi-Fi to BLE.
[0006] Based on the same inventive concept, this invention has four independent technical solutions:
[0007] 1. An energy-saving communication method for Wi-Fi and BLE combined chips, wherein each Wi-Fi and BLE combined chip includes a BLE module and a Wi-Fi module, comprising:
[0008] S1. The BLE module receives and demodulates external RTS frame data to obtain the BLE receiving address corresponding to the demodulated receiving address field of the RTS frame data.
[0009] S2. Compare the BLE receiving address with the BLE address corresponding to the Wi-Fi MAC address of the local Wi-Fi module. If the BLE address matches the BLE receiving address, wake up the sleeping Wi-Fi module to send a CTS frame for confirmation and perform data transmission.
[0010] S3. After the transmission is completed, the Wi-Fi module is put into sleep mode, while the BLE module continues to listen.
[0011] Furthermore, each of the Wi-Fi modules has a unique Wi-Fi MAC address, which is pre-generated using the following method:
[0012] Multiple different BLE addresses are generated, and the corresponding Wi-Fi MAC addresses are obtained. Then, the Wi-Fi MAC addresses are assigned to each of the Wi-Fi modules.
[0013] Furthermore, the bit length of the embedded information in the RTS frame is twice the bit length of the BLE data, and the receive field of the RTS frame contains the target's Wi-Fi MAC address;
[0014] The BLE receive address is obtained from the receive field of the RTS frame using narrowband decoding CTC technology.
[0015] Furthermore, the BLE data is 24 bits long, with the first 8 bits being the BLE preamble, used to allow the BLE module to identify and receive the data; the last 16 bits are the BLE receiving address, used to identify the Wi-Fi module.
[0016] Further, obtaining the Wi-Fi MAC address corresponding to the BLE address includes the following steps:
[0017] Based on the BLE address, the first Wi-Fi sequence is obtained by reverse deduction;
[0018] The first Wi-Fi sequence is scrambled, and the data portion before the corresponding receiving address is extracted from the scrambled frame. This portion is then concatenated with the first Wi-Fi sequence to obtain the second Wi-Fi sequence.
[0019] The second Wi-Fi sequence is descrambled to obtain a third Wi-Fi sequence, and the portion of the third Wi-Fi sequence corresponding to the first Wi-Fi sequence is the Wi-Fi MAC address.
[0020] Furthermore, based on the BLE address, the first Wi-Fi sequence is derived by reverse engineering. The reverse engineering method for each sequence is as follows:
[0021] Starting from the BLE address, if the BLE bit is 0, the symbol phase shift uses -π / 2, and the corresponding Wi-Fi bit is 10; if the BLE bit is 1, the symbol phase shift uses +π / 2, and the corresponding Wi-Fi bit is 01.
[0022] Furthermore, multiple different BLE addresses are generated using the following method:
[0023] The address set is initialized to an empty set;
[0024] Given the address length n, the minimum distance d between addresses, and the number of partitions k, the original problem is divided into subproblems with corresponding address lengths of n, d ... The minimum distance between the corresponding addresses is
[0025] The original problem was to generate multiple different BLE addresses.
[0026] For each of the subproblems after partitioning, the address length of the i-th partition is n. i The minimum distance between the required addresses is d. i The maximum clique algorithm is used to calculate the address solution set, and the address solution set is added to the address set.
[0027] Traverse the set of addresses and find the smallest address solution set size L.
[0028] Based on the minimum address solution set size l, an address solution set of size L is selected from each of the divided subproblems, and then the address solution sets of each subproblem are concatenated to obtain the address solution set of the original problem.
[0029] 2. An energy-saving communication device for a Wi-Fi and BLE combined chip, comprising:
[0030] The demodulation module is used to enable the BLE module to receive and demodulate external RTS frame data, and obtain the BLE receive address corresponding to the demodulated receive address field of the RTS frame data.
[0031] The confirmation transmission module is used to compare the BLE receiving address with the BLE address corresponding to the Wi-Fi MAC address of the local Wi-Fi module. If the BLE address matches the BLE receiving address, the sleeping Wi-Fi module is woken up to send a CTS frame for confirmation and data transmission is performed.
[0032] The sleep module is used to put the Wi-Fi module into sleep mode after the transmission is completed, while the BLE module continues to listen.
[0033] 3. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0034] 4. An electronic device, comprising a processor and a storage device, wherein the storage device stores a plurality of instructions, and the processor is configured to read the plurality of instructions from the storage device and execute the method described above.
[0035] The energy-saving communication method, apparatus, and device for Wi-Fi and BLE combined chips provided by this invention have at least the following beneficial effects:
[0036] (1) By integrating the RTS / CTS mechanism with the CTC method based on narrowband decoding, we have achieved BLE module assisting Wi-Fi module in listening. Compared with traditional Wi-Fi and BLE combined chips, this method enhances the cooperation between different modules. Since BLE is a narrowband communication, its power consumption is relatively low. Using BLE to assist Wi-Fi can improve the overall power consumption performance of the module.
[0037] (2) This method proposes to generate different Wi-Fi MAC addresses based on BLE addresses, and proposes a maximum clique algorithm to generate BLE addresses that are as distinguishable as possible, while making the number of such addresses as large as possible. This BLE address generation method further improves the stability of the communication method.
[0038] (3) Compared with the existing CTC method, this method does not require modification of the Wi-Fi protocol, ensuring the transparency of Wi-Fi transmission, and has lower overhead and deployment costs. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1 A schematic diagram of the 802.11b physical layer frame structure and its modulation method;
[0041] Figure 2 A flowchart illustrating one embodiment of the energy-saving communication method for Wi-Fi and BLE combined chips provided by the present invention;
[0042] Figure 3 A schematic diagram of the RTS / CTS process;
[0043] Figure 4 This is a schematic diagram of the RTS frame structure;
[0044] Figure 5 This is a schematic diagram of the 802.11b transmission process;
[0045] Figure 6 This is a schematic diagram illustrating the effect of noise on BLE demodulation.
[0046] Figure 7 This is a schematic diagram of address bit generation based on the maximum clique algorithm;
[0047] Figure 8 This is a schematic diagram of the approximate BLE address bit generation based on the maximum clique algorithm;
[0048] Figure 9 A flowchart for generating and assigning Wi-Fi addresses based on BLE addresses;
[0049] Figure 10 This is a schematic diagram comparing the energy-saving communication method for Wi-Fi and BLE combined chips provided by the present invention with existing communication methods. Detailed Implementation
[0050] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods are omitted so as not to obscure the description of this application with unnecessary detail.
[0051] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0052] It should also be understood that the terminology used in this application specification is for the purpose of describing particular embodiments only and is not intended to limit the application. As used in this application specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0053] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0054] Many specific details are set forth in the following description in order to provide a full understanding of this application. However, this application may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.
[0055] The rapid development of wireless communication and IoT technologies has brought great convenience to society, while the coexistence of numerous heterogeneous communication devices has also brought new challenges and opportunities. This embodiment proposes a scheme using BLE to assist Wi-Fi in eavesdropping, based on the communication characteristics of BLE (Bluetooth Low Energy) and Wi-Fi. Specifically, this embodiment studies the RTS / CTS mechanism in Wi-Fi communication and proposes a Wi-Fi MAC address design scheme based on an existing Wi-Fi to BLE cross-technology communication method. This allows BLE to accurately identify the receiving and sending addresses in the Wi-Fi RTS frames. Thus, BLE can be used to proxy the Wi-Fi receiver for eavesdropping, while the original Wi-Fi receiver can enter a sleep state, thereby saving power. Simultaneously, the effect of different BLE endpoint addresses on idle eavesdropping is studied, and the problem is transformed into a maximum clique problem. An approximate algorithm is proposed to solve this problem, thereby improving the accuracy and stability of RTS frame reception under multi-device conditions.
[0056] To facilitate understanding, the technical basis of this embodiment will first be introduced, including the modulation process of the IEEE 802.11b protocol and the data demodulation process of BLE. At the same time, the basic principle of the Wi-Fi to BLE cross-technology communication method based on narrowband decoding technology will also be introduced.
[0057] 1. Wi-Fi data modulation process
[0058] A WiFi physical layer data frame consists of multiple parts. The framing process is completed by the Physical Layer Convergence Procedure (PLCP) sublayer. The physical layer frame is also known as a PLCP frame, and its structure is as follows: Figure 1 As shown. The frame begins with a preamble, divided into SYNC and SFD regions. There are two preamble formats: long and short. The long preamble is 144 bits long, and the short preamble is 72 bits long. Using a short preamble effectively reduces the length of the physical layer data frame, thereby improving communication throughput. Next is the Signal field, which defines the communication rate. The Length field indicates the length of the MAC frame encapsulated during transmission. Finally, there is the CRC field, used for frame verification.
[0059] WiFi signal transmission and reception are implemented in the Physical Medium Dependent (PMD) sublayer. For example... Figure 5 As shown, the WiFi transmitter first performs frequency scrambling on the PLCP layer frames. The scrambling process is implemented using a linear feedback shift register, with the characteristic polynomial being G(z) = Z. -7 +Z -4 +1. If a long preamble is used, the initial data pattern is [1101100], where Z... 1 =1,…,Z 7 =0. If a short preamble is used, the initial data pattern is [0011011]. After scrambling, it is modulated into an I / Q signal using different modulation methods, and finally transmitted by the antenna.
[0060] 2. BLE data demodulation process
[0061] BLE uses Gaussian Frequency Shift Keying (GFSK) modulation at the physical layer. Typically, BLE communication rates are 1 Mbps. A BLE physical layer data packet format consists of several parts, including a preamble, access address, protocol data unit (PDU), and cyclic redundancy check (CRC). The preamble is used for frequency synchronization and communication detection. The preamble in a BLE data packet is either 10101010 or 01010101.
[0062] 3. CTC method based on narrowband decoding
[0063] Narrowband decoding refers to the process of converting a broadband signal into a narrowband signal after passing through a filter, while retaining some of the original information's characteristics. According to the IEEE 802.11b standard, WiFi uses DSSS and Differential Quadrature Phase Shift Keying (DQS) modulation techniques at the physical layer. DQS maps the data stream into I / Q signals in 2-bit groups in a constellation diagram. Then, Direct Sequence Spread Spectrum (DSSS) uses 11-bit Barker code to spread '1's to the sequence 10110111000 and '0's to their corresponding complement code 01001000111. This is then transmitted as an RF signal. WiFi's wireless signal, after passing through a 1MHz low-pass filter in BLE, retains some of its original phase characteristics. BLE uses GFSK modulation and demodulation at the physical layer, allowing for the conversion between phase and frequency information. GFSK demodulates information by calculating the phase difference between the I / Q signals. If the phase difference between two symbols is positive, it is demodulated into bit 1; if the phase difference is negative, it is demodulated into bit 0. Existing research has found that the chip sequence generated by WiFi spread spectrum, after passing through a 1MHz low-pass filter in BLE, will have a correspondence with the data bits demodulated on the BLE side. Specifically, the sequence after spread spectrum of bit 1 has a higher number of 1s, resulting in a positive waveform after filtering, while the signal of bit 0 becomes negative after filtering. Therefore, we can establish a correspondence between WiFi data bits and BLE data bits, enabling cross-technology communication from WiFi to BLE.
[0064] The embodiments of this patent are based on the aforementioned CTC method. Specifically, the CTC method proposes a method for establishing a conversion between Wi-Fi signals and BLE data. However, our work requires:
[0065] 1. Enable BLE to receive RTS frames. RTS frames belong to the MAC layer. In Wi-Fi, the conversion from an RTS frame to a Wi-Fi signal requires a series of processing steps: The RTS frame becomes a MAC frame (MPDU) at the MAC layer. This is then assembled and delivered to the PLCP sublayer of the physical layer. The PLCP sublayer adds a preamble and header to the RTS frame to form a PLCP frame (PPDU). The PLCP frame then undergoes scrambling to become a scrambled bit sequence. After obtaining the bit sequence, signal-level processing is performed, using the appropriate modulation scheme for modulation and spread spectrum. Therefore, our work is based on this CTC method, and we further explore the conversion relationship between MAC layer data bits and BLE data.
[0066] 2. Improving the reception of RTS frames using BLE: This part is not related to the CTC method but is relevant to the scenario in this embodiment. Because different data in the RTS frame affects the BLE reception performance, BLE identification mainly involves two scenarios: First, misidentifying the RTS frame reception address as the local Wi-Fi device, resulting in failure to wake up the local Wi-Fi device. Second, misidentifying the RTS frame reception address as the address of another Wi-Fi device on the network as the local Wi-Fi device address, resulting in incorrect wake-up of the local Wi-Fi device. Therefore, we chose to use the DQPSK method and made the phase of adjacent symbols +π / 2 or -π / 2 to enhance anti-interference capabilities. Secondly, we proposed a BLE address bit generation algorithm based on the maximum clique algorithm to maximize the address spacing and reduce the probability of misidentification as the address of another network Wi-Fi device.
[0067] Example 1:
[0068] See Figure 2 In some embodiments, an energy-saving communication method for Wi-Fi and BLE combined chips is provided, wherein each Wi-Fi and BLE combined chip includes a BLE module and a Wi-Fi module, and the method includes the following steps:
[0069] S1. The BLE module receives external RTS frame data and demodulates it to obtain the BLE receiving address corresponding to the demodulated receiving address field of the RTS frame data.
[0070] S2. Compare the BLE receiving address with the BLE address corresponding to the Wi-Fi MAC address of the local Wi-Fi module. If the BLE address matches the BLE receiving address, wake up the sleeping Wi-Fi module to send a CTS frame for confirmation and perform data transmission.
[0071] S3. After the transmission is completed, the Wi-Fi module enters sleep mode, while the BLE module continues to listen.
[0072] IEEE 802.11 uses the Carrier-sense Multiple Access with Collision Avoidance (CSMA / CA) protocol at the MAC layer to control media access. IEEE 802.11 also introduces the Request To Send / Clear To Send (RTS / CTS) mechanism.
[0073] like Figure 3 As shown, when a node needs to transmit a data frame, it first sends an RTS frame to reserve the channel. The RTS frame contains the receive address and the send address. The receiver determines whether to send a CTS frame to the sender to indicate confirmation based on whether the receive address matches its own address, and then proceeds with the actual data frame transmission. Other workstations, after receiving the RTS and CTS frames, remain silent.
[0074] Specifically, after the sending end transmits an RTS frame, and after a Short Interframe Space (SIFS), the receiving end replies with a CTS frame. Then, after another short interframe space, data frames are transmitted. During this process, if other workstations receive the RTS and CTS frames, according to the Wi-Fi MAC layer listening function definition, they will use the Network Allocation Vector (NAV) to represent the busy state of the medium, setting the NAV to a specific value that decays over time. After the entire transmission process is completed, and after a Distributed Interframe Space (DIFS), the medium is considered idle, and other workstations can access it.
[0075] Therefore, in a Wi-Fi and BLE combined chip, when the Wi-Fi module acts as the receiver, we can put it into sleep mode and use BLE to receive RTS frames sent by the Wi-Fi transmitter. We can then effectively identify the information in the RTS frames, determine whether the receiving address is the local Wi-Fi address, and then determine whether it is necessary to wake up the local Wi-Fi device to perform CTS frame reply and subsequent data frame transmission based on this information.
[0076] Specifically, in step S1, the length of the information embedded in the RTS frame is twice the length of the BLE data, and the receive field of the RTS frame contains the target's Wi-Fi MAC address.
[0077] The receive field of the RTS frame obtains the BLE receive address through narrowband decoding CTC technology. Using existing narrowband decoding-based CTC methods, we can achieve a mapping relationship between Wi-Fi data bits and BLE data bits.
[0078] like Figure 4 As shown, an RTS frame consists of fields such as Frame Control, Duration, Receiver Address, Transmitter Address, and Frame Check Sequence. The Receiver Address and Transmitter Address, each 48 bits long, are used to identify the sender and receiver.
[0079] The address field will have corresponding address bits on the BLE side according to the CTC method based on narrowband decoding.
[0080] BLE can determine whether the demodulated bits match the expected values, and thus decide whether to wake up the local Wi-Fi device for further communication.
[0081] In a preferred implementation, the BLE data is 24 bits long, with the first 8 bits being the BLE preamble, used to allow the BLE module to identify and receive the data; and the last 16 bits being the BLE receiving address, used to identify the Wi-Fi module.
[0082] For the specific MAC address of the designed Wi-Fi, its length is 48 bits. Through narrowband decoding CTC technology, a corresponding 24-bit BLE address can be obtained at the BLE end. The first 8 bits of this address are the BLE preamble to enable BLE reception, and the other part of the address is used to identify the Wi-Fi device, thus playing an auxiliary listening role in the RTS / CTS process.
[0083] Specifically, if DQPSK modulation is used, every two data bits at the Wi-Fi end will be demodulated into one data bit at the BLE end. Therefore, the receive address and send address fields will be demodulated into 24 + 24 = 48 bits at the BLE receiver. According to the BLE protocol, the minimum length of a BLE physical layer data packet is 10 bytes. The shortest BLE physical layer data packet cannot be constructed using only the receive address and send address. Although PLCP frames and RTS frames have other fields, in order to avoid disrupting the inherent IEEE 802.11b physical layer and RTS / CTS mechanisms and to maintain transparency in the Wi-Fi transmission process, we cannot arbitrarily modify the content of these fields. Furthermore, the symbol phase difference of these field bits after modulation at the BLE end may not be... or like Figure 6 As shown, when the phase difference is π, it is easily affected by noise interference, and the demodulated content is prone to change, affecting BLE recognition.
[0084] Regarding the address field, since Wi-Fi uses a random MAC address mechanism, the device's MAC address can change. Therefore, we can assign a specific MAC address to a Wi-Fi device, resulting in better stability when the modulated symbols are demodulated by BLE, meaning the phase difference between adjacent symbols is... or
[0085] Furthermore, we require that the address bits of the BLE demodulated data start with the preamble of the BLE physical layer data packet (01010101b or 10101010b), and then add logic to the BLE physical layer to process the received RTS frames, without disrupting the original processing flow for normal BLE data packets.
[0086] In a preferred implementation, each Wi-Fi module has a unique Wi-Fi MAC address, and the method for pre-generating the Wi-Fi MAC address is as follows:
[0087] Multiple different BLE addresses are generated, and the corresponding Wi-Fi MAC addresses are obtained. Then, the Wi-Fi MAC addresses are assigned to each of the Wi-Fi modules.
[0088] In this method, when assigning addresses to each Wi-Fi module, we also need to consider the differences between the BLE bits demodulated from different Wi-Fi addresses. If the differences between addresses are too small, it may increase the false alarm rate during Bluetooth identification, affecting the normal data transmission process. Therefore, we need to design addresses with distinguishability for different devices. Assuming an address consists of n bits, we use Hamming distance to characterize the differences between addresses. For addresses A and B, the distance between the two addresses is... (XOR stands for Exclusive OR operation). Our goal is to find addresses that are as distinguishable as possible, while maximizing the number of such addresses.
[0089] Therefore, we can consider the following problem: given the number of address bits n and the distance d0, find the address set S such that... And make |S| as large as possible. This problem can be transformed into the maximum clique problem in graph theory.
[0090] The maximum clique problem is: given an undirected graph G = (V, E), find a complete subgraph G′ = (V′, E′) such that |V′| is maximized. For a bit sequence of length n, the address space it can represent is 2^n. nWe can map 2n addresses to 2 in the diagram. n There are vertices, and their addresses are used as vertex numbers. For a vertex x, let the vertex number be L(x). We add edges to the graph in the following way: An edge (x, y) ∈ E if and only if d(L(x), L(y)) ≥ d0. The maximum clique problem has been proven to be NP-complete. Many algorithms exist for solving the maximum clique problem. Here, we obtain the maximum clique of a graph based on an improved maximum clique algorithm proposed by Eppstein et al., which is based on the Bron-Kerbosch algorithm. Therefore, we can transform the problem of finding the maximum address set into the maximum clique problem. The address bit set corresponds to the vertex numbering in the maximum clique. The algorithm process is as follows: Figure 7 As shown.
[0091] In practical applications, the address in an 802.11 MAC frame is 48 bits, which is converted to 24 bits at the BLE end, of which 16 bits are used for device identification. Therefore, the address set size is 2. 16 The corresponding graph has 2 vertices. 16 .from Figure 7 The algorithm shows that the time complexity of the graph construction process is O(|V|). 2 For an n-bit address, given a distance d0, we can divide the address into k parts, with the number of bits being respectively... The corresponding distances are respectively In this way, we have divided the original problem into k subproblems. Let S be the solution to the subproblem corresponding to the i-th division. i The solution to the original problem can be obtained by concatenating the solutions to the subproblems. The part corresponding to the i-th partition of the address sequence in the original problem is obtained using S. i Address padding in the address space results in a Hamming distance d = ∑dn between two addresses of length n. i In the process of constructing a feasible solution to the original problem from the solutions to the subproblems, it can be observed that the size of the solution to the original problem depends on the minimum value among the solutions to the subproblems. To maximize the size of the resulting address set, we need to maximize the solution to the minimum problem. Therefore, we need to evenly divide the original address length to maximize the set of solutions to the minimum subproblems. Let the solution to the original problem be S′, then the approximation ratio of the algorithm is |S′| / min(|S′| / min). i |). Let the minimum value in the solution to the subproblem be m, and the number of feasible solutions to the original problem be... (P represents permutation). Typically, |S′| is much larger than the number of addresses we need, so we can reasonably set the number of partitions as needed, and then select addresses from the solutions to the subproblems to combine and generate the address sequence of the original problem. The algorithm process is as follows: Figure 8 As shown.
[0092] As a preferred implementation method, multiple different BLE addresses are generated using the following approach:
[0093] S111. Initialize the address set to an empty set;
[0094] S112. Based on the given address length n, the minimum distance d between addresses, and the number of partitions k, divide the original problem into subproblems. The address lengths of the subproblems after partitioning are as follows: The minimum distance between the corresponding addresses is
[0095] The original problem was to generate multiple different BLE addresses.
[0096] S113. For each of the subproblems after partitioning, the address length of the i-th partition is n. i The minimum distance between the required addresses is d. i The maximum clique algorithm is used to calculate the address solution set, and the address solution set is added to the address set.
[0097] S114. Traverse the address set and find the smallest address solution set size L.
[0098] S115. Select an address solution set of size L from each of the divided subproblems according to the minimum address solution set size L, and then concatenate the address solution sets of each subproblem to obtain the address solution set of the original problem.
[0099] As a preferred implementation, the Wi-Fi MAC address corresponding to the BLE address is obtained based on multiple pre-generated different BLE addresses, including the following steps:
[0100] S121. Based on the BLE address, the first Wi-Fi sequence is obtained by reverse deduction;
[0101] S122. The first Wi-Fi sequence is scrambled. The data portion before the corresponding receiving address is extracted from the scrambled frame and concatenated with the first Wi-Fi sequence to obtain the second Wi-Fi sequence.
[0102] S123. Perform a descrambling operation on the second Wi-Fi sequence to obtain a third Wi-Fi sequence, wherein the portion of the third Wi-Fi sequence corresponding to the first Wi-Fi sequence is the Wi-Fi MAC address.
[0103] In step S121, based on the BLE address, the first Wi-Fi sequence is obtained by reverse engineering. The reverse engineering method for each sequence is as follows:
[0104] Starting from the BLE address, if the BLE bit is 0, the symbol phase shift uses -π / 2, and the corresponding Wi-Fi bit is 10; if the BLE bit is 1, the symbol phase shift uses +π / 2, and the corresponding Wi-Fi bit is 01.
[0105] according to Figure 6 According to the corresponding description, when the above method is used for reverse engineering, the modulated symbols have good stability when demodulated by BLE, which can better maintain the stability of system communication.
[0106] Specifically, since BLE needs to determine whether the address matches the expected address during the proxy reception of RTS frames, we need to pre-generate BLE addresses, and then generate the corresponding Wi-Fi MAC addresses. The BLE address sequence can be generated using the maximum clique algorithm, and parameters can be set to ensure the generated address sequence has a certain degree of distinguishability. Based on the conversion relationship of narrowband decoding, each bit in the BLE address sequence corresponds to two adjacent Wi-Fi symbols. Since BLE uses GFSK modulation, the phase difference between adjacent symbols determines the decoded bits. Furthermore, the MAC address portion uses DQPSK modulation, so the corresponding Wi-Fi bit sequence before modulation can be deduced.
[0107] For detailed methods, please refer to [link / reference]. Figure 9 Starting from the generated BLE address bit sequence, if the BLE bit is 0, the symbol phase shift is -π / 2, and the corresponding Wi-Fi bit is 10; if the BLE bit is 1, the symbol phase shift is +π / 2, and the corresponding Wi-Fi bit is 01.
[0108] The Wi-Fi bit sequence obtained at this time is the scrambled data of the PPDU, which needs to be descrambled.
[0109] Since each bit generated during the scrambling process depends on the current register state, meaning that the newly generated bit is related to the bits generated by the previous scrambling, we can first generate an RTS frame corresponding to a certain receive address and transmit address. The RTS frame is data from the MAC layer, which is delivered to the PLCP layer as a Physical Convergence Layer Service Data Unit (PSDU).
[0110] After generating the PSDU, a preamble and header need to be added to it to form the Physical Convergence Layer Protocol Data Unit (PPDU).
[0111] Here, the PPDU uses a short preamble and is then scrambled. Afterward, the data portion preceding the corresponding receive address is extracted from the scrambled frame, and the Wi-Fi bit sequence previously deduced using the BLE address sequence is appended to this portion before descrambling.
[0112] The portion of the bit sequence obtained after descrambling that corresponds to the address bit sequence deduced from the data before descrambling is the desired Wi-Fi MAC address. This MAC address can then be assigned to the Wi-Fi device.
[0113] The method provided in this embodiment will be further described below based on a specific application scenario:
[0114] First use Figure 8 The algorithm shown generates a set of BLE endpoint addresses, and the corresponding set of Wi-Fi bit sequences is obtained by reverse engineering using the method described.
[0115] For a Wi-Fi Basic Service Set, the access point's RTS threshold and fragmentation threshold are configured to the same value, denoted as T. The Duration field value in the RTS frame is calculated based on this value. Then, two addresses are randomly generated and filled into the send address and receive address fields of the RTS frame. Finally, the frame checksum field is calculated, thus generating a valid RTS frame.
[0116] Then, the PLCP frame is assembled, and the preamble is configured as a short preamble. Next, the PLCP frame is scrambled to obtain the scrambled bit sequence. Then, a sequence S1 with a length of 152 bits is selected.
[0117] For Wi-Fi and BLE combined module devices that serve as workstations within the Wi-Fi basic service cluster, the first step is to select an address S from the generated BLE end address set. b And obtain its corresponding reverse-generated Wi-Fi bit sequence S w The address sequence is then appended to the selected 152-bit sequence S1 to obtain a 200-bit sequence S2.
[0118] Next, the sequence S2 is descrambled to obtain the sequence S3.
[0119] Then, a sequence with a last length of 48 bits is selected from sequence S3, and the current Wi-Fi and BLE combined module device sets this sequence as the MAC address of the corresponding Wi-Fi module.
[0120] Next, during communication between the Wi-Fi and BLE combined module device and the access point, the Wi-Fi module in the combined module device can enter a sleep state, while the BLE module assists in channel listening. When the access point transmits data to the combined module device, it first sends an RTS frame to request the channel. The receive address field in the RTS frame is the MAC address of the Wi-Fi in the combined module. The BLE module in the combined module will demodulate the receive address field corresponding to the RTS frame to obtain the corresponding bit sequence S.r Comparison S r With S b If they match, wake up the Wi-Fi module to reply with a CTS frame and proceed with subsequent data transmission.
[0121] The method provided in this embodiment is compared with existing conventional Wi-Fi communication methods without Bluetooth module eavesdropping. Figure 10 As shown.
[0122] Once data transmission is complete, the Wi-Fi module in the device can enter sleep mode, while the BLE module continues to assist the Wi-Fi module in idle monitoring.
[0123] Alternatively, a long preamble can be configured when assembling the PLCP frame. In this case, after scrambling, a sequence S1 with a length of 224 bits from the beginning needs to be selected. The inversely generated Wi-Fi bit sequence S is then obtained. w Then, the address sequence is concatenated after the selected 224-bit sequence S1 to obtain a 272-bit sequence S2.
[0124] In practice, if the time it takes for the BLE module to wake up the Wi-Fi module is longer than the short inter-frame interval, the Wi-Fi transmitter will retransmit the RTS frame. In this case, the Wi-Fi module receives the retransmitted RTS frame, replies with a CTS frame, and then performs subsequent data transmission.
[0125] Example 2:
[0126] In some embodiments, an energy-saving communication device for a Wi-Fi and BLE combined chip is provided, comprising:
[0127] The demodulation module is used to enable the BLE module to receive and demodulate external RTS frame data, and obtain the BLE receive address corresponding to the demodulated receive address field of the RTS frame data.
[0128] The confirmation transmission module is used to compare the BLE receiving address with the BLE address corresponding to the Wi-Fi MAC address of the local Wi-Fi module. If the BLE address matches the BLE receiving address, the sleeping Wi-Fi module is woken up to send a CTS frame for confirmation and data transmission is performed.
[0129] The sleep module is used to put the Wi-Fi module into sleep mode after the transmission is completed, while the BLE module continues to listen.
[0130] Example 3:
[0131] In some embodiments, a computer-readable storage medium is provided, the computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0132] Example 4:
[0133] In some embodiments, an electronic device is provided, including a processor and a storage device, wherein the storage device stores a plurality of instructions, and the processor is configured to read the plurality of instructions from the storage device and execute the method described above.
[0134] It should be understood that, in the embodiments of this application, the processor may be a Central Processing Unit (CPU), but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0135] Memory may include read-only memory, flash memory, and random access memory, and provides instructions and data to the processor. Some or all of the memory may also include non-volatile random access memory.
[0136] It should be understood that if the integrated modules / units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.
[0137] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0138] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0139] In the embodiments provided in this application, it should be understood that the disclosed apparatus / terminal devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of the modules or units described above is merely a logical functional division, and in actual implementation, it can be divided in other ways. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
[0140] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. An energy-saving communication method for Wi-Fi and BLE combined chips, wherein each Wi-Fi and BLE combined chip includes a BLE module and a Wi-Fi module, characterized in that, The method includes the following steps: S1. The BLE module receives and demodulates external RTS frame data to obtain the BLE receiving address corresponding to the demodulated receiving address field of the RTS frame data. S2. Compare the BLE receiving address with the BLE address corresponding to the Wi-Fi MAC address of the local Wi-Fi module. If the BLE address matches the BLE receiving address, wake up the sleeping Wi-Fi module to send a CTS frame for confirmation and perform data transmission. Each Wi-Fi module has a unique Wi-Fi MAC address, and the method for pre-generating the Wi-Fi MAC address is as follows: Multiple different BLE addresses are generated, and the Wi-Fi MAC addresses corresponding to the BLE addresses are obtained. Then, the Wi-Fi MAC addresses are assigned to each of the Wi-Fi modules. Obtaining the Wi-Fi MAC address corresponding to the BLE address includes the following steps: Based on the BLE address, the first Wi-Fi sequence is obtained by reverse deduction; The first Wi-Fi sequence is scrambled, and the data portion before the corresponding receiving address is extracted from the scrambled frame. This portion is then concatenated with the first Wi-Fi sequence to obtain the second Wi-Fi sequence. The second Wi-Fi sequence is descrambled to obtain a third Wi-Fi sequence, wherein the portion of the third Wi-Fi sequence corresponding to the first Wi-Fi sequence is the Wi-Fi MAC address; S3. After the transmission is completed, the Wi-Fi module is put into sleep mode, while the BLE module continues to listen.
2. The method according to claim 1, characterized in that, The bit length of the information embedded in the RTS frame is twice the bit length of the BLE data, and the receive field of the RTS frame contains the target's Wi-Fi MAC address; The BLE receive address is obtained from the receive field of the RTS frame using narrowband decoding CTC technology.
3. The method according to claim 2, characterized in that, The BLE data is 24 bits long. The first 8 bits are the BLE preamble, which is used to allow the BLE module to identify and receive the data; the last 16 bits are the BLE receiving address, which is used to identify the Wi-Fi module.
4. The method according to claim 1, characterized in that, Based on the BLE address, the first Wi-Fi sequence is obtained by reverse engineering. The reverse engineering method for each sequence is as follows: Starting from the BLE address, if the BLE bit is 0, then the symbol phase shift is used. The corresponding Wi-Fi bit is 10; if the BLE bit is 1, then the symbol phase shift is used. The corresponding Wi-Fi bit is 01.
5. The method according to claim 1, characterized in that, To generate multiple different BLE addresses, the following method is used: The address set is initialized to an empty set; Given the address length n, the minimum distance d between addresses, and the number of partitions k, the original problem is divided into subproblems with corresponding address lengths of n, d ... The minimum distance between the corresponding addresses is ; The original problem was to generate multiple different BLE addresses. For each of the subproblems after partitioning, the address length of the i-th partition is... The minimum distance between the required addresses is The maximum clique algorithm is used to calculate the address solution set, and the address solution set is added to the address set. Traverse the set of addresses and find the smallest address solution set size L. Based on the minimum address solution set size L, an address solution set of size L is selected from each of the divided subproblems, and then the address solution sets of each subproblem are concatenated to obtain the address solution set of the original problem.
6. An energy-saving communication device for a Wi-Fi and BLE combined chip, characterized in that, include: The demodulation module is used to enable the BLE module to receive and demodulate external RTS frame data, and obtain the BLE receive address corresponding to the demodulated receive address field of the RTS frame data. The confirmation transmission module is used to compare the BLE receiving address with the BLE address corresponding to the Wi-Fi MAC address of the local Wi-Fi module. If the BLE address matches the BLE receiving address, the sleeping Wi-Fi module is woken up to send a CTS frame for confirmation and data transmission is performed. Each Wi-Fi module has a unique Wi-Fi MAC address, and the method for pre-generating the Wi-Fi MAC address is as follows: Multiple different BLE addresses are generated, and the Wi-Fi MAC addresses corresponding to the BLE addresses are obtained. Then, the Wi-Fi MAC addresses are assigned to each of the Wi-Fi modules. Obtaining the Wi-Fi MAC address corresponding to the BLE address includes the following steps: Based on the BLE address, the first Wi-Fi sequence is obtained by reverse deduction; The first Wi-Fi sequence is scrambled, and the data portion before the corresponding receiving address is extracted from the scrambled frame. This portion is then concatenated with the first Wi-Fi sequence to obtain the second Wi-Fi sequence. The second Wi-Fi sequence is descrambled to obtain a third Wi-Fi sequence, wherein the portion of the third Wi-Fi sequence corresponding to the first Wi-Fi sequence is the Wi-Fi MAC address; The sleep module is used to put the Wi-Fi module into sleep mode after the transmission is completed, while the BLE module continues to listen.
7. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-5.
8. An electronic device comprising a processor and a storage device, characterized in that, The storage device contains a plurality of instructions, and the processor is used to read the plurality of instructions in the storage device and execute the method as described in any one of claims 1-5.
Citation Information
Patent Citations
Cross-technology communication method from WiFi (Wireless Fidelity) to BLE (Bluetooth Low Energy) based on narrowband decoding, namely-NBee
CN113630209A