Electronic device, and method and device by which electronic device selects channel
The method enhances Bluetooth communication by selecting better quality channels through a channel search and report process, addressing performance degradation issues in existing channel selection methods.
Patent Information
- Application Number
- PCT/KR2025/010624
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-23
- Filing Date
- 2025-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Existing channel selection methods in Bluetooth communication fail to exclude channels with poor quality, leading to performance degradation.
An electronic device and method for selecting channels by establishing a Bluetooth communication link, transmitting a channel search packet, receiving a channel report packet, and determining channels based on the received information to ensure better quality for data transmission.
Improves communication performance by selecting higher quality channels, enhancing data transmission efficiency and reliability.
Smart Images

Figure KR2025010624_29012026_PF_FP_ABST
Abstract
Description
Electronic devices and methods and devices for selecting channels in electronic devices
[0001] The present disclosure relates to an electronic device and a method and device for selecting a channel in the electronic device.
[0002] With the advancement of wireless communication technology, electronic devices can now communicate with other electronic devices via various wireless communication technologies. Bluetooth is a short-range wireless communication technology that allows electronic devices to connect and exchange data and information. It can include Bluetooth Legacy (or Classic) and Bluetooth Low Energy (BLE). Bluetooth uses the 2.4 GHz ISM (Industry-Science-Medical) band and transmits data using frequency hopping.
[0003] Frequency hopping is a method of transmitting data by switching frequencies among many channels that use different frequencies to avoid interference. Bluetooth can select channels using methods such as Adaptive Frequency Hopping (AFH) and Channel Selection Algorithm (CSA). However, existing channel selection methods can lead to performance degradation by failing to exclude channels with poor quality and instead using them as is.
[0004] Therefore, a method and device for selecting better quality channels are needed.
[0005] A method performed by a first electronic device according to one embodiment of the present disclosure includes the steps of establishing a Bluetooth communication link with a second electronic device, transmitting a channel search packet for a plurality of candidate channels for a next event to the second electronic device through at least one sub-event, receiving a channel report packet including channel information for at least some of the plurality of candidate channels from the second electronic device, determining at least one channel for transmitting data in the next event based on the channel information, and transmitting the data through the determined at least one channel in the next event.
[0006] According to one embodiment of the present disclosure, an electronic device and a method and device for selecting a channel of the electronic device can be provided.
[0007] FIG. 1 is a block diagram of an electronic device within a network environment according to various embodiments.
[0008] FIG. 2 is a diagram illustrating a connection between an electronic device and a plurality of external electronic devices according to one embodiment.
[0009] FIG. 3 is a diagram illustrating a method for a first electronic device to transmit and receive data with a second electronic device according to one embodiment.
[0010] FIG. 4 is a diagram for explaining frequency hopping in BLE (Bluetooth low energy) according to one embodiment.
[0011] FIG. 5 is a flowchart illustrating a channel selection method of an electronic device according to one embodiment of the present disclosure.
[0012] FIG. 6 illustrates a sub-event for transmitting a channel discovery packet and receiving a channel report packet according to one embodiment of the present disclosure.
[0013] FIG. 7 is a diagram illustrating the format of a channel report packet according to one embodiment of the present disclosure.
[0014] FIG. 8 is a diagram for explaining a channel selection method of an electronic device according to one embodiment of the present disclosure.
[0015] FIGS. 9A to 9C are diagrams for explaining a channel selection method of an electronic device according to one embodiment of the present disclosure.
[0016] FIG. 10 is a flowchart illustrating a channel selection method of a first electronic device according to one embodiment of the present disclosure.
[0017] FIG. 11 is a flowchart illustrating a channel selection method of a second electronic device according to one embodiment of the present disclosure.
[0018] FIG. 12 is a block diagram briefly illustrating the configuration of a first electronic device according to one embodiment of the present disclosure.
[0019] FIG. 13 is a block diagram briefly illustrating the configuration of a second electronic device according to one embodiment of the present disclosure.
[0020] A method performed by a first electronic device according to one embodiment of the present disclosure includes the steps of establishing a Bluetooth communication link with a second electronic device, transmitting a channel search packet for a plurality of candidate channels for a next event to the second electronic device through at least one sub-event, receiving a channel report packet including channel information for at least some of the plurality of candidate channels from the second electronic device, determining at least one channel for transmitting data in the next event based on the channel information, and transmitting the data through the determined at least one channel in the next event.
[0021] In one embodiment, the method may further include the step of transmitting information regarding whether the channel report packet was successfully received in a first data packet transmitted in a sub-event following the sub-event that transmitted the channel discovery packet.
[0022] In one embodiment, the channel probe packet may be transmitted when sufficient time remains to transmit the channel probe packet in the at least one sub-event.
[0023] In one embodiment, the channel report packet may include channel indication information indicating at least some of the plurality of candidate channels and channel quality information for each of the indicated channels.
[0024] In one embodiment, the channel indicated by the channel indication information may be determined based on channel quality.
[0025] In one embodiment, the step of determining at least one channel for transmitting data in the next event may include the step of determining at least one channel for transmitting data in the next event based on a most recently received channel report packet when receiving multiple channel report packets for the next event.
[0026] In one embodiment, the step of transmitting a channel search packet for the plurality of candidate channels to the second electronic device may include the step of determining the plurality of candidate channels for transmitting the data in the next event based on a channel selection algorithm.
[0027] In one embodiment, the first sub-event of the next event may transmit the data via the channel with the fastest order among the plurality of candidate channels.
[0028] In one embodiment, the method may further include the step of transmitting the data through the plurality of candidate channels in the next event if the channel report packet is not received.
[0029] A method performed by a second electronic device according to one embodiment of the present disclosure includes the steps of establishing a Bluetooth communication link with a first electronic device, receiving a channel search packet for a plurality of candidate channels for a next event from the first electronic device through at least one sub-event, transmitting a channel report packet including channel information for at least some of the plurality of candidate channels to the first electronic device, determining at least one channel for receiving data in the next event based on the channel information, and receiving the data through the determined at least one channel in the next event.
[0030] In one embodiment, the method may further include the step of receiving, in a first data packet transmitted in a sub-event following the sub-event that received the channel discovery packet, information on whether the channel report packet was successfully received.
[0031] In one embodiment, the channel discovery packet may be received when sufficient time remains for the first electronic device to transmit the channel discovery packet in the at least one sub-event.
[0032] In one embodiment, the channel report packet may include channel indication information indicating at least some of the plurality of candidate channels and channel quality information for each of the indicated channels.
[0033] In one embodiment, the channel report packet may be determined based on channel quality.
[0034] In one embodiment, the step of determining at least one channel for receiving data in the next event may include, when transmitting multiple channel report packets for the next event, determining at least one channel for receiving data in the next event based on a most recently transmitted channel report packet.
[0035] In one embodiment, the step of receiving a channel search packet for the plurality of candidate channels from the first electronic device may include the step of determining the plurality of candidate channels for receiving the data in the next event based on a channel selection algorithm.
[0036] In one embodiment, the first sub-event of the next event may receive the data via the earliest channel among the plurality of candidate channels.
[0037] In one embodiment, the method may, when the first electronic device receives information that it has not received the channel report packet, receive the data through the plurality of candidate channels in the next event.
[0038] According to one embodiment of the present disclosure, a first electronic device includes a communication circuit for supporting Bluetooth communication, at least one processor, and a memory for storing instructions, wherein the instructions, when executed by the at least one processor, are configured to cause the first electronic device to establish a Bluetooth communication link with a second electronic device, transmit a channel search packet for a plurality of candidate channels for a next event to the second electronic device through at least one sub-event, receive a channel report packet including channel information for at least some of the plurality of candidate channels from the second electronic device, determine at least one channel for transmitting data in the next event based on the channel information, and transmit the data through the determined at least one channel in the next event.
[0039] According to one embodiment of the present disclosure, a second electronic device includes a communication circuit for supporting Bluetooth communication, at least one processor, and a memory for storing instructions, wherein the instructions, when executed by the at least one processor, are configured to cause the second electronic device to establish a Bluetooth communication link with a first electronic device, receive a channel search packet for a plurality of candidate channels for a next event from the first electronic device through at least one sub-event, transmit a channel report packet including channel information for at least some of the plurality of candidate channels to the first electronic device, determine at least one channel for receiving data in the next event based on the channel information, and receive the data through the at least one channel determined in the next event.
[0040] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. However, the disclosed embodiments may be implemented in various different forms and are not limited to the embodiments described herein. Furthermore, in order to clearly explain the present disclosure, parts irrelevant to the description have been omitted in the drawings, and similar parts have been designated with similar reference numerals throughout the specification.
[0041] The terms used in this disclosure are described as currently common terms, taking into account the functions mentioned herein. However, these terms may mean various other terms depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Therefore, the terms used in this disclosure should not be interpreted solely based on their names, but rather based on the meanings of the terms and the overall content of this disclosure.
[0042] Additionally, while terms such as "first" and "second" may be used to describe various components, the components are not limited by these terms. These terms are used to distinguish one component from another.
[0043] In this disclosure, when a part is said to be "connected" to another part, this includes not only cases where it is "directly connected," but also cases where it is "electrically connected" or "operatively connected" with another element in between. Furthermore, when a part is said to "include" a certain component, this does not exclude other components, but rather may include other components, unless specifically stated otherwise.
[0044] The phrases “in one embodiment” and the like appearing in various places throughout this disclosure do not necessarily all refer to the same embodiment.
[0045] In the present disclosure, communication link management includes operations for providing seamless communication by managing the communication link between a wearable electronic device and an electronic device, depending on whether the user is wearing the wearable electronic device. For example, communication link management may include creating, maintaining, releasing, and monitoring the communication link. However, this is merely an example, and communication link management is not limited thereto and may include various operations, such as transmission power adjustment, channel coding, and modulation.
[0046] Additionally, the connecting lines or connecting members between components depicted in the drawings are merely exemplary representations of functional connections and / or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that may be replaced or added.
[0047] The present disclosure will be described in detail with reference to the attached drawings below.
[0048] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0049] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0050] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0051] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0052] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0053] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0054] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0055] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0056] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0057] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0058] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0059] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0060] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0061] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0062] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0063] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0064] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0065] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0066] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0067] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
[0068] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0069] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0070] The electronic device (101) according to various embodiments disclosed in this document may be a device of various forms. The electronic device (101) may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device. The electronic device (101) according to the embodiments of this document is not limited to the aforementioned devices.
[0071] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another component (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0072] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0073] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0074] According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0075] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0076] FIG. 2 is a diagram illustrating a connection between an electronic device and a plurality of external electronic devices according to one embodiment.
[0077] Referring to FIG. 2, the electronic device (201) may be a master device or a source device that provides data (e.g., audio data or multimedia data). The electronic device (201) may be an electronic device such as a smart phone, and may be the electronic device (101) of FIG. 1. According to one embodiment, the external electronic device #1 (202) and the external electronic device #2 (204) may be slave devices or sink devices that receive data from the electronic device (201) and process or output the received data. The external electronic device #1 (202) and the external electronic device #2 (204) may each be the electronic device (104) of FIG. 1.
[0078] The electronic device (201) and the external electronic device #1 (202) or the electronic device (201) and the external electronic device #2 (204) can be connected to each other based on a wireless communication technology (e.g., Bluetooth legacy (or classic) or Bluetooth low energy (BLE) communication technology) to transmit and receive data.
[0079] In the various embodiments described below, a case will be described where an electronic device (201) transmits data to two external electronic devices (202, 204). For example, the electronic device (201) may transmit sound data that may be provided to a user to external electronic device #1 (202) and / or external electronic device #2 (204).
[0080] In one embodiment, external electronic device #1 (202) and / or external electronic device #2 (204) may be devices included in a single set. For example, the devices included in a single set may be devices that are each connected via a separate communication link and provide related functions to provide a single integrated service (e.g., stereo sound output or 5.1 channel sound output). For example, external electronic device #1 (202) and external electronic device #2 (204) may be wireless earphone devices that operate as a single set. In addition, external electronic device #1 (202) may be one of the left external device and the right external device, and external electronic device #2 (204) may be the other one of the left external device and the right external device. In one embodiment, when the external electronic device #1 (202) and the external electronic device #2 (204) are implemented as wireless earphones, the external electronic device #1 (202) and / or the external electronic device #2 (204) may each receive various data (e.g., data for synchronizing sound that can be output from the wireless earphones, data for adjusting sound, or a response signal corresponding to a signal transmitted by the electronic device (201)) from the electronic device (201).
[0081] In FIG. 2, an example in which an electronic device (201) is connected to two external electronic devices (202, 204) is described, but the present invention is not limited thereto, and the electronic device (201) may be connected to a variety of external electronic devices, including three or more. In addition, various embodiments may be applied to devices that receive data transmitted by the electronic device (201) as well as external devices, and other types of devices capable of wireless communication with the electronic device (201), such as smart phones, smart watches, or tablet PCs.
[0082] In one embodiment, the electronic device (201) may establish a first communication link (link 1) to perform data communication with an external electronic device #1 (202). In one embodiment, the electronic device (201) may establish a second communication link (link 2) to perform data communication with an external electronic device #2 (204). Additionally, the external electronic device #1 (202) and / or the external electronic device #2 (204) may be additionally connected via a separate third communication link (not shown) if necessary.
[0083] In some embodiments, connection-oriented communication may be performed via the first communication link and the second communication link. Additionally, connectionless communication may be performed between the electronic device (201) and external electronic device #1 (202) and external electronic device #2 (204). Connection-oriented communication and connectionless communication may be performed via isochronous (ISO) channels.
[0084] In one embodiment, the electronic device (201) may transmit various signals (e.g., advertising signals) to the external electronic device #1 (202) and / or the external electronic device #2 (204) to establish a communication link or to synchronize with the external electronic device #1 (202) and / or the external electronic device #2 (204).
[0085] In one embodiment, the electronic device (201) may receive various information (e.g., connection device information and / or device property information) from external electronic device #1 (202) and / or external electronic device #2 (204), and provide various user interfaces (e.g., notifications or control interfaces) through a display (e.g., display module (160) of FIG. 1) based on the received information.
[0086] FIG. 3 is a diagram illustrating a method for a first electronic device to transmit and receive data with a second electronic device according to one embodiment.
[0087] An electronic device (201) and an external electronic device #1 (202) and / or an external electronic device #2 (204) can transmit and receive data (e.g., audio data) via a Bluetooth (e.g., BLE) communication link. The electronic device (201) can assign an event for the external electronic device #1 (202) and / or the external electronic device #2 (204) and at least one sub-event within the event. Thereafter, the electronic device (201) can transmit and receive data in each sub-event. In one embodiment, time intervals (e.g., events, sub-events) can be determined when the electronic device (201) establishes a communication link with the external electronic device #1 (202) and / or the external electronic device #2 (204). In addition, at least some of the time intervals (e.g., events, sub-events) can be adjusted to suit wireless resources via specific messages as needed after the communication link is established.
[0088] Referring to FIG. 3, an event X may include n sub-event sections, and the electronic device (201) may transmit and receive data to and from an external electronic device #1 (202) and / or an external electronic device #2 (204) in each sub-event section. For example, the electronic device (201) may transmit first data (first audio data) in sub-event 1, and transmit second data (second audio data) in sub-event 2 to the external electronic device #1 (202) and / or the external electronic device #2 (204). In addition, the electronic device (201) may receive third data (e.g., ACK) from the external electronic device #1 (202) and / or the external electronic device #2 (204) after transmitting the first data (first audio data) in sub-event 1, and may receive fourth data (e.g., ACK) from the external electronic device #1 (202) and / or the external electronic device #2 (204) after transmitting the second data (second audio data) in sub-event 2. At this time, after the data transmission of the electronic device (201), the data may be received from the external electronic device #1 (202) and / or the external electronic device #2 (204) after a time equal to the IFS (inter frame space). In addition, a time equal to the MSS (minimum sub-event space) must be guaranteed from the transmission / reception of the last data in the sub-event to the next sub-event. The next event, Event X+1, starts after the ISO interval from the start of Event X.
[0089] In one embodiment, the event may be a Connected Isochronous Stream (CIS) event, which is a time interval for BLE audio streaming that occurs periodically and during which audio data is transmitted. In each sub-event of a CIS event, a central device may transmit once and a peripheral device may respond once. Typically, the central device and the peripheral device may transmit at most once within a single sub-event. A single CIS event may consist of multiple sub-events, allowing the central device and the peripheral device to exchange data multiple times within a single CIS event.
[0090] FIG. 4 is a diagram for explaining frequency hopping in BLE (Bluetooth low energy) according to one embodiment.
[0091] Referring to Figure 4, BLE uses 40 channels (CH 0 - 39) in the 2.4 GHz ISM band. Of these, 3 are advertising channels (CH 37, 38, 39) and 37 are data channels (CH 0 - 36). BLE uses the Frequency-Hopping Spread Spectrum (FHSS) method, and can perform communication by changing the frequency using the 37 data channels when transmitting data.
[0092] Electronic devices that establish a Bluetooth (e.g., BLE) communication link exchange wireless connection-related parameters, and this process achieves frequency hopping synchronization. That is, electronic devices use the same wireless connection-related parameters to execute the same channel selection algorithm (CSA), thereby selecting the same data channel for data transmission. In other words, electronic devices must maintain inter-device channel synchronization for data transmission.
[0093] Additionally, electronic devices that form a Bluetooth (e.g., BLE) communication link can select a data channel based on a channel map. A channel map is a set of channels used for frequency hopping during a BLE connection. As described above, BLE uses 37 data channels (CH 0-36), but the channel map can be used to restrict the use of channels where interference is detected. More specifically, adaptive frequency hopping (AFH) can be used to detect channels with interference, and the channel map can be dynamically updated by removing the detected interference channel from the channel map or designating it as an unusable channel. Through this process, it can adaptively respond to changing RF (radio frequency) environments.
[0094] However, performance may vary depending on the channel map update cycle and accuracy. For example, if the channel map update cycle is excessively long, it may not reflect the current RF environment, resulting in poor performance. Furthermore, if the channel map accuracy is reduced due to the surrounding RF environment, performance may also deteriorate.
[0095] In order to solve this problem, one embodiment of the present disclosure provides an electronic device and a channel selection method and device for selecting a better quality channel.
[0096] FIG. 5 is a flowchart illustrating a channel selection method of an electronic device according to one embodiment of the present disclosure.
[0097] Referring to FIG. 5, in step 510, a first electronic device (501) and a second electronic device (502) may establish a Bluetooth (e.g., BLE) communication link. Here, the first electronic device (501) may be a master device or a central device that provides data (e.g., audio data or multimedia data). The first electronic device (501) may be an electronic device such as a smart phone, and may be the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2. In addition, the second electronic device (502) may be a slave device or a peripheral device that receives data from the first electronic device (501) and processes or outputs the received data. The second electronic device (502) may be the electronic device (104) of FIG. 1 or the external electronic device #1 (202) and the external electronic device #2 (204) of FIG. 2.
[0098] At step 520, the first electronic device (501) may transmit a channel exploration packet to the second electronic device (502). More specifically, the first electronic device (501) may transmit, to the second electronic device (502), a plurality of channel exploration packets for a plurality of candidate channels for a next event (event X+1) of an event (event X) including a sub-event, through at least one sub-event. In one embodiment, the channel exploration packet may be a packet for channel selection in a next event (event X+1) of the sub-event transmitting the channel exploration packet.
[0099] In one embodiment, the first electronic device (501) may determine a plurality of candidate channels and an operating order of the candidate channels for transmitting data in the next event (event X+1) based on the same channel selection algorithm as the second electronic device (502). The plurality of candidate channels are described as being determined in step 520, but are not limited thereto, and may be determined at any time before transmitting the channel discovery packet. In one embodiment, when the first electronic device (501) and the second electronic device (502) cannot determine a channel, the first electronic device (501) and the second electronic device (502) may transmit data according to the operating order of the candidate channels. For example, when there is not enough time left to transmit the channel discovery packet, the channel discovery packet cannot be transmitted, and thus data may be transmitted according to the operating order of the candidate channels. Additionally, for example, if the first electronic device (501) transmits a channel search packet but fails to successfully receive a channel report packet from the second electronic device (502), data may be transmitted according to the operating order of the candidate channels.
[0100] In one embodiment, the number of channel probe packets may be greater than the number of subevents (NSE) included in the next event. More specifically, a greater number of channel probe packets may be transmitted than the number of subevents included in the next event (event X+1) of an event (event X) that includes a subevent transmitting a channel probe packet. Here, each channel probe packet corresponds to a channel to be probed, i.e., a candidate channel. Accordingly, the number of channel probe packets may mean the number of channels to be probed or the number of candidate channels. In one embodiment, the number of channel probe packets or the number of channels to be probed may be preset to be greater than the number of subevents (NSE) included in the next event (event X+1), or may be determined or updated by negotiation between the first electronic device (501) and the second electronic device (502). For example, the number of channel probe packets or the number of channels to be probed is NSE + m, where m can be a natural number or NSE x 2.
[0101] In one embodiment, the transmission of the channel probe packet may be performed based on a channel selection algorithm. For example, a channel selection algorithm with a different access address may be run to generate a number of probe channel indices exceeding the NSE. Alternatively, additional probe channel indices may be generated by increasing the count starting from event count + Z (where Z is a very large integer) in the running channel selection algorithm. In this case, Z may serve as an offset. Alternatively, when searching for twice the number of channels as the NSE, the channel selection algorithm may increase the event counter by 2 instead of 1 (e.g., event counter = 1, 3, 5, ...).
[0102] In one embodiment, a channel probe packet may be transmitted if there is sufficient time remaining to transmit the channel probe packet in at least one sub-event. That is, the channel probe packet may be transmitted if there is sufficient time remaining to transmit the channel probe packet even after data transmission is performed in the sub-event. In this case, the case where there is sufficient time remaining to transmit the channel probe packet may include the case where there is time remaining to receive a channel report packet after transmitting the channel probe packet in the corresponding sub-event. Furthermore, the case may include the case where there is a minimum sub-event space (MSS) of time remaining until the next sub-frame after the channel report packet. In one embodiment, if there is not sufficient time remaining to transmit the channel probe packet, the channel probe packet may not be transmitted in the corresponding sub-frame.
[0103] At step 530, the first electronic device (501) may receive a channel report packet from the second electronic device (502). More specifically, the first electronic device (501) may receive a channel report packet including channel information for at least some of a plurality of candidate channels from the second electronic device (502). The second electronic device (502) may measure a candidate channel corresponding to each channel search packet based on the channel search packet and generate a channel report packet including channel information for at least some of the plurality of candidate channels.
[0104] In one embodiment, a channel report packet may include channel indication information indicating at least some of a plurality of candidate channels and channel quality information for each of the indicated channels. In one embodiment, a second electronic device (502) that receives a channel discovery packet may obtain channel quality for at least some of the plurality of candidate channels and use a bitmap (CH_bitmap) to indicate a channel for which channel quality has been obtained. For example, if the discovery channels are channels 3, 28, 7, 14, 19, 33, 9, and 2, and channel information is reported only for channels 3, 28, 19, and 9, the channel indication information may be indicated as CH_bitmap = 0b01010011. In this case, the channels may be indicated in the direction from the least significant bit (LSB) to the most significant bit (MSB). In one embodiment, a channel for which channel quality is obtained among a plurality of candidate channels or a channel for which channel information is generated may be determined by the second electronic device (502). At this time, the second electronic device (502) can select a channel that is higher than a threshold value. The threshold value may be preset or may be determined through negotiation between the first electronic device (501) and the second electronic device (502). Alternatively, the second electronic device (502) may select channels in order of quality. However, the present invention is not limited thereto, and the second electronic device (502) may generate channel information in various ways. In one embodiment, the channel report packet may include channel information equal to the number of subevents (NSE) included in the next event.
[0105] In one embodiment, channel quality information may include noise level, SNR, MCS index, etc. For example, channel quality information may be indicated with 4 bits. However, this is not limited to this, and the channel report packet may also indicate channel quality with various parameters and various numbers of bits.
[0106] In one embodiment, the first electronic device (501) may transmit to the second electronic device (502) information (CR_ACK) regarding successful reception of the channel report packet in the first data packet transmitted in the next sub-event of the sub-event that transmitted the channel discovery packet. The first electronic device (501) and the second electronic device (502) must maintain channel synchronization between the devices for data transmission. Accordingly, the first electronic device (501) and the second electronic device (502) select the same channel based on the same channel selection method. The second electronic device (502) may transmit data using a candidate channel or determine a channel based on channel information, depending on whether the first electronic device (501) successfully received the channel report packet. In one embodiment, when the sub-event that transmitted the channel discovery packet is the last sub-event of an event (event X), information regarding successful reception of the channel report packet may be included in the first data packet transmitted in the first sub-event of the next event (event X+1).
[0107] In steps 541 and 542, the first electronic device (501) and the second electronic device (502) may determine at least one channel for transmitting data in the next event (event X+1) based on the channel information. In one embodiment, the first electronic device (501) and the second electronic device (502) may determine at least one channel for transmitting data in the next event (event X+1) based on the channel quality information. For example, the first electronic device (501) and the second electronic device (502) may select a channel that is higher than a threshold value. The threshold value may be preset or may be determined through negotiation between the first electronic device (501) and the second electronic device (502). Alternatively, the first electronic device (501) and the second electronic device (502) may select channels in the order of quality. In one embodiment, the channel report packet may include channel information equal to the number of subevents (NSE) included in the next event. In this case, the first electronic device (501) may determine the channels indicated in the channel report packet as at least one channel for transmitting data in the next event (event X+1). However, the present invention is not limited thereto, and the first electronic device (501) and the second electronic device (502) may determine the channels in various ways. The first electronic device (501) and the second electronic device (502) may maintain channel synchronization for data transmission by selecting channels based on the same criteria.
[0108] In one embodiment, when the first electronic device (501) receives multiple channel report packets from the second electronic device (502), at least one channel for transmitting data in the next event (event X+1) may be determined based on the most recently received channel report packet. For example, after the first electronic device (501) transmits a channel discovery packet in sub-event 1 and receives the channel report packet, the first electronic device (501) may transmit a channel discovery packet again in sub-event 2 included in the same event (event X) and receive the channel report packet. At this time, the first electronic device (501) may determine the channel based on the most recently received channel report packet in order to reflect the most recent channel status.
[0109] In one embodiment, depending on whether the first electronic device (501) successfully receives the channel report packet, it may determine whether to transmit data using a candidate channel or to determine a channel based on channel information. In one embodiment, if the first electronic device (501) does not successfully receive the channel report packet (e.g., CR_ACK=0), it may transmit data at the next event (event X+1) through the candidate channel. If the first electronic device (501) successfully receives the channel report packet (e.g., CR_ACK=1), it may determine a channel for transmitting data at the next event (event X+1) based on the channel information.
[0110] At step 550, the first electronic device (501) can transmit data through at least one channel determined at step 541 in the next event (event X+1). According to one embodiment, performance can be improved by transmitting data through a channel with good channel quality.
[0111] In one embodiment, the first sub-event of the next event (event X+1) may transmit data through the channel with the earliest order among the plurality of candidate channels. As described above, the first electronic device (501) may transmit to the second electronic device (502) the first data packet transmitted in the next sub-event of the sub-event that transmitted the channel discovery packet, including information on whether the channel report packet was successfully received. If the sub-event that transmitted the channel discovery packet is the last sub-event of the event (event X) or no more data transmission is performed in the event (event X), the first data packet transmitted in the first sub-event of the next event (event X+1) may include information on whether the channel report packet was successfully received (e.g., CR_ACK). Accordingly, the second electronic device (502) may not have yet received information on whether the channel report packet was successfully received (e.g., CR_ACK) at the start of the first sub-event of the next event. Therefore, in order to maintain stable channel synchronization, the first sub-event of the next event (event X+1) can be set to transmit data through the channel with the fastest order among multiple candidate channels, regardless of channel quality.
[0112] Figure 6 illustrates a sub-event (600) for transmitting a channel search packet and receiving a channel report packet.
[0113] Referring to FIG. 6, in a sub-event (600), data transmission (610) is performed from a first electronic device (501) to a second electronic device (502). After the data transmission (610) is terminated and a time equal to IFS (651) elapses, the second electronic device (502) transmits an ACK (620) for the data transmission (610) to the first electronic device (501).
[0114] The first electronic device (501) may transmit (630) a channel search packet to the second electronic device (502) after the transmission of the ACK (620) is terminated and a time equal to the IFS (652) has elapsed. More specifically, the first electronic device (501) may transmit, to the second electronic device (502), a plurality of channel search packets for a plurality of candidate channels for a next event (event X+1) of an event (event X) including a sub-event, through at least one sub-event. In one embodiment, the channel search packet may be a packet for channel selection in the next event (event X+1) of the sub-event that transmits the channel search packet.
[0115] The second electronic device (502) transmits a channel report packet (640) to the first electronic device (501) after the transmission (630) of the channel search packet has ended and a time equal to the IFS (653) has elapsed. The second electronic device (502) can receive the channel report packet including channel information for at least some of the plurality of candidate channels.
[0116] FIG. 7 is a diagram illustrating the format of a channel report packet according to one embodiment of the present disclosure.
[0117] Referring to FIG. 7, a channel report packet (700) may include channel indication information (710) indicating at least some of a plurality of candidate channels and channel quality information (721, 722, ..., 72M) for each indicated channel. In one embodiment, the channel indication information may be provided through a bitmap (CH_bitmap). For example, if the search channels are channels 3, 28, 7, 14, 19, 33, 9, 2, and there are four sub-events included in the next event, channel information may be reported only for channels 3, 28, 19, and 9 in descending order of channel quality. At this time, the channel indication information may be indicated as CH_bitmap = 0b01010011. At this time, the channels may be indicated from the least significant bit (LSB) to the most significant bit (MSB). In one embodiment, a channel that obtains channel quality among a plurality of candidate channels or a channel that generates channel information may be determined by the second electronic device (502).
[0118] In one embodiment, channel quality information may include noise level, SNR, MCS index, etc. For example, channel quality information may be indicated with 4 bits. In one embodiment, the channel report packet (700) may be configured to include only channel quality information for the channel indicated by the channel indication information. For example, since the channel indication information in FIG. 7 indicates 4 channels, the channel quality information may also be configured with 4 fields. In this case, the channel report packet may be configured with a total of 24 bits, including 8 bits of channel indication information and 4 4-bit channel quality information. However, the present invention is not limited thereto, and the channel report packet may also indicate channel quality with various parameters and various numbers of bits.
[0119] FIG. 8 is a diagram for explaining a channel selection method of an electronic device according to one embodiment of the present disclosure.
[0120] Referring to FIG. 8, event X (81) includes four sub-events (81-1, 81-2, 81-3, 81-4). The first electronic device (501) performs data transmission (811) in sub-event 1 (81-1) and receives an ACK (812) from the second electronic device (502). In sub-event 1 (81-1), there is not enough time left to transmit a channel search packet due to the data transmission (811) and the reception of the ACK (812). Therefore, transmission of the channel search packet is not performed in sub-event 1 (81-1).
[0121] The first electronic device (501) performs data (re)transmission (821) in sub-event 2 (81-2) and receives an ACK (822) from the second electronic device (502). In sub-event 2 (81-2), sufficient time remains to transmit a channel exploration packet even after data (re)transmission (821) and reception of the ACK (822). Therefore, the first electronic device (501) can receive the ACK (822) and transmit (823) a channel exploration packet to the second electronic device (502) in sub-event 2 (81-2). The first electronic device (501) can determine multiple candidate channels for transmitting data in the next event (event X+1) based on the same channel selection algorithm as the second electronic device (502). The first electronic device (501) can transmit to the second electronic device (502) a plurality of channel search packets for a plurality of candidate channels for a next event (event X+1) (82) of an event (event X) (81) including a second sub-event (81-2). For example, in FIG. 8, the candidate channels determined by the channel selection algorithm can operate in the order of channels 3, 28, 7, 14, 19, 33, 9, 2. Accordingly, the first electronic device (501) can perform channel search for channels 3, 28, 7, 14, 19, 33, 9, 2. That is, the channel search packets for each of channels 3, 28, 7, 14, 19, 33, 9, 2 can be transmitted (823).
[0122] Thereafter, the first electronic device (501) may continue to receive (824) a channel report packet (83) from the second electronic device (502) in sub-event 2 (81-2). The channel report packet (83) may include channel indication information indicating at least some of a plurality of candidate channels and channel quality information for each of the indicated channels. For example, in FIG. 8, the channel report packet (83) may include channel indication information indicating channels 3, 28, 19, and 33 among channels 3, 28, 7, 14, 19, 33, 9, and 2, and channel quality information expressed as SNR for the indicated channels 3, 28, 19, and 33. At this time, the channel indication information may include a bitmap CH_bitmap = 0b00110011 indicating channels 3, 28, 19, and 9.
[0123] The second electronic device (502) can determine the channels to transmit channel information in the order of channel quality. If the channels are determined only in the order of high SNR, channels 28, 14, 19, and 33 may be selected. However, in the first sub-event of the next event (event X+1), data must be transmitted through the channel with the fastest order among the candidate channels, i.e., channel 3. Accordingly, the first electronic device (501) and the second electronic device (501) can determine channels 3, 28, 19, and 33 as the channels to be used for data transmission in the next event (event X+1).
[0124] Although the channel report packet (83) is shown to include channel quality information for channels 3, 28, 19, and 33, it is not limited thereto, and the channel report packet (83) may include channel information in a number greater than the number of sub-events included in the next event (event X+1) (82).
[0125] The first electronic device (501) can transmit (831) to the second electronic device (502) the first data packet transmitted in sub-event 3 (81-3) including information (CR_ACK) on whether a channel report packet was successfully received. If the first electronic device (501) successfully receives the channel report packet, the first electronic device (501) can determine a channel for transmitting data in the next event (event X+1) based on the channel information. The first electronic device (501) can perform data transmission (831) including information (e.g., CR_ACK=1) on whether a packet was successfully received, and receive an ACK (832) for the data transmission (831) in sub-event 3 (81-3) after a time equal to IFS.
[0126] Referring to FIG. 8, since the first electronic device (501) transmits information indicating that it has successfully received a channel report packet (83) (e.g., CR_ACK=1) to the second electronic device (501) and also receives an ACK (832) therefor from the second electronic device (501), the first electronic device (501) and the second electronic device (502) can determine a channel for transmitting data in the next event (event X+1) based on the channel information. More specifically, the channels can be determined in the order of highest SNR in the channel report packet. The first electronic device (501) can determine channels 3, 28, 19, and 33 as channels to be used for data transmission in the next event (event X+1) based on the channel information included in the channel report packet (83).
[0127] Channel 3 may be assigned to sub-event 1 (82-1) of the next event (event X+1) (82), channel 28 may be assigned to sub-event 2 (82-2), channel 19 may be assigned to sub-event 3 (82-3), and channel 33 may be assigned to sub-event 4 (82-4). The first electronic device (501) and the second electronic device (502) may transmit data by hopping the channels assigned in each sub-event.
[0128] FIGS. 9A to 9C are diagrams for explaining a channel selection method of an electronic device according to one embodiment of the present disclosure.
[0129] Referring to FIGS. 9A to 9C, the first electronic device (501) transmits (923, 933) a channel search packet and receives (924, 934) a channel report packet (93, 94) in two sub-events (91-2, 91-3) included in the event X (91). In this way, a channel selection method will be described when channel search packets are transmitted and channel report packets are received multiple times within one event. Below, any content overlapping with the description of FIG. 8 will be briefly described.
[0130] Referring to FIG. 9A, event X (91) includes four sub-events (91-1, 91-2, 91-3, 91-4). The first electronic device (501) performs data transmission (911) in sub-event 1 (91-1) and receives an ACK (912) from the second electronic device (502). At this time, in sub-event 1 (91-1), there is not enough time left to transmit a channel search packet due to the data transmission (911) and the reception of the ACK (912), so the channel search packet is not transmitted.
[0131] The first electronic device (501) performs data (re)transmission (921) in sub-event 2 (91-2) and receives an ACK (922) from the second electronic device (502). In sub-event 2 (91-2), sufficient time remains to transmit a channel exploration packet even after data (re)transmission (921) and reception of the ACK (922). Therefore, the first electronic device (501) can transmit (923) a channel exploration packet #1 to the second electronic device (502) in sub-event 2 (91-2). The first electronic device (501) can determine multiple candidate channels for transmitting data in the next event (event X+1) based on the same channel selection algorithm as the second electronic device (502). For example, in FIG. 9A, the candidate channels determined by the channel selection algorithm may be determined to operate in the order of channels 3, 28, 7, 14, 19, 33, 9, 2. Accordingly, the first electronic device (501) may transmit (923) a channel search packet for channels 3, 28, 7, 14, 19, 33, 9, 2.
[0132] Thereafter, the first electronic device (501) continues to receive (924) a channel report packet #1 (93) from the second electronic device (502) in sub-event 2 (91-2). For example, in FIG. 9A, the channel report packet #1 (93) may include channel indication information indicating channels 3, 28, 19, and 33 and channel quality information expressed as SNR for each of the channels 3, 28, 19, and 33.
[0133] The first electronic device (501) can transmit (831) to the second electronic device (502) the first data packet transmitted in sub-event 3 (81-3) including information (CR_ACK) on whether a channel report packet was successfully received. If the first electronic device (501) successfully receives the channel report packet, the first electronic device (501) can determine a channel for transmitting data in the next event (event X+1) based on the channel information included in the channel report packet #1 (93). The first electronic device (501) can perform data transmission (831) including information (CR_ACK=1) on whether a packet was successfully received, and receive an ACK (832). In sub-event 3 (81-3), sufficient time remains to transmit a channel search packet even after the data transmission (831) and the reception of the ACK (832). Accordingly, the first electronic device (501) can transmit (933) the channel search packet #2 to the second electronic device (502) once again in sub-event 3 (91-3). At this time, since the candidate channel determined by the channel selection algorithm is the same as sub-event 2 (91-2), the first electronic device (501) can transmit (933) the channel search packet #2 for channels 3, 28, 7, 14, 19, 33, 9, and 2.
[0134] Thereafter, the first electronic device (501) continues to receive (934) a channel report packet #2 (94) from the second electronic device (502) in sub-event 3 (91-3). The channel report packet #2 (94) may include channel indication information indicating at least some of a plurality of candidate channels and channel quality information for each of the indicated channels. For example, in FIG. 9A, the channel report packet #2 (94) may include channel indication information indicating channels 3, 28, 14, and 33 and channel quality information expressed as SNR for each of the channels 3, 28, 14, and 33. In FIG. 9a, it is described that channel report packet #1 (93) and channel report packet #2 (94) include channel information for four channels, which is the same number of sub-events included in the next event (event X+1) (82), but this is not limited to this, and channel report packet #1 (93) and channel report packet #2 (94) may include a larger number of channel information.
[0135] In event X (91), since the last data transmission (931) is performed in sub-event 3 (91-3), there is no opportunity to transmit information (e.g., CR_ACK) regarding successful reception of channel report packet #2 (94). Therefore, information (e.g., CR_ACK) regarding successful reception of channel report packet #2 (94) may be included in the first data packet of the next event (event X+1) (82). Accordingly, the first electronic device (501) may perform data transmission (951) including information (e.g., CR_ACK=1) regarding successful reception of channel report packet #2 (94) in the first data transmission (951) of event X+1 (91), and receive ACK (952). At this time, the second electronic device (502) may not have yet received information (e.g., CR_ACK) regarding successful reception of the channel report packet at the start of sub-event 1 (92-1) of event X+1 (91). Therefore, in order to stably maintain channel synchronization, in sub-event 1 (92-1) of event X+1 (91), it may be determined to transmit data through the channel with the fastest order among the multiple candidate channels, i.e., channel 3, regardless of channel quality.
[0136] As shown in FIG. 9A, when the first electronic device (501) receives multiple channel report packets (channel report packet #1 (93), channel report packet #2 (94)) from the second electronic device (502), the channel for transmitting data in the next event (event X+1) can be determined based on the most recently received channel report packet, i.e., channel report packet #2 (94). According to one embodiment, the most recent channel status can be reflected. In FIG. 9A, since the second electronic device (502) receives data transmission (951) including information (e.g., CR_ACK=1) regarding successful reception of channel report packet #2 (94) in sub-event 1 (92-1) of event X+1 (91) and transmits ACK (952), the first electronic device (501) and the second electronic device (502) can determine the channel for transmitting data in the event X+1 (91) based on the most recently received channel report packet #2. Accordingly, channel 3 may be assigned to sub-event 1 (92-1) of event X+1 (91), channel 28 may be assigned to sub-event 2 (92-2), channel 14 may be assigned to sub-event 3 (92-3), and channel 33 may be assigned to sub-event 4 (92-4). The first electronic device (501) and the second electronic device (502) may transmit data by hopping the channels assigned in each sub-event.
[0137] FIG. 9b is a diagram explaining an operation when the first electronic device (501) does not receive the channel report packet #2 (94) for the channel search packet #2 transmitted in sub-event 3 (91-3) of event X (91) in the same situation as FIG. 9a.
[0138] In event X (91), since the data transmission (931) is performed last in sub-event 3 (91-3), there is no opportunity to transmit information (e.g., CR_ACK) regarding successful reception of channel report packet #2 (94). Therefore, information (e.g., CR_ACK) regarding successful reception of channel report packet #2 (94) may be included in the first data packet of the next event (event X+1) (82). Accordingly, the first electronic device (501) may perform data transmission (951) including information (e.g., CR_ACK=0) indicating that channel report packet #2 (94) was not received in the first data transmission (951) of event X+1 (91), and receive ACK (952). At this time, in sub-event 1 (92-1) of event X+1 (91), it may be determined to transmit data through the channel with the fastest order among the plurality of candidate channels, i.e., channel 3. Since the first electronic device (501) did not receive the channel report packet #2 (94), the first electronic device (501) can determine a channel to transmit data in event X+1 (91) based on the channel report packet #1 (93), which is the most recently received channel report packet. Accordingly, channel 3 can be assigned to sub-event 1 (82-1) of the next event (event X+1) (82), channel 28 can be assigned to sub-event 2 (82-2), channel 19 can be assigned to sub-event 3 (82-3), and channel 33 can be assigned to sub-event 4 (82-4). The first electronic device (501) and the second electronic device (502) can transmit data by hopping the channels assigned in each sub-event.
[0139] FIG. 9c is a diagram explaining an operation in the same situation as FIG. 9a when the first electronic device (501) does not receive both the channel report packet #1 (93) in sub-event 3 (91-3) of event X (91) and the channel report packet #2 (94) in sub-event 4 (91-4). That is, the diagram explains an operation in the case where the first electronic device (501) does not receive a channel report packet from the second electronic device (502).
[0140] Referring to FIG. 9C, the first electronic device (501) did not receive either the channel report packet #1 (93) in sub-event 3 (91-3) of event X (91) or the channel report packet #2 (94) in sub-event 4 (91-4). Accordingly, the first electronic device (501) cannot select a channel to transmit data based on the channel information in the next event (event X+1) (92). Even if the first electronic device (501) did not successfully receive the channel report packet, the first electronic device (501) and the second electronic device (502) must maintain channel synchronization between the devices for data transmission. The first electronic device (501) can determine multiple candidate channels for transmitting data in the next event (event X+1) based on the same channel selection algorithm as the second electronic device (502). Therefore, the first electronic device (501) and the second electronic device (502) can maintain channel synchronization by transmitting data at the next event (event X+1) through the candidate channel.
[0141] Referring to FIG. 9c, the candidate channels determined by the channel selection algorithm may operate in the order of channels 3, 28, 7, 14, 19, 33, 9, 2. Accordingly, channel 3 may be assigned to sub-event 1 (92-1) of event X+1 (91), channel 28 may be assigned to sub-event 2 (92-2), channel 7 may be assigned to sub-event 3 (92-3), and channel 33 may be assigned to sub-event 4 (92-4). The first electronic device (501) and the second electronic device (502) may transmit data by hopping the channels assigned in each sub-event.
[0142] FIG. 10 is a flowchart illustrating a channel selection method of a first electronic device according to one embodiment of the present disclosure.
[0143] In Figure 10, the overlapping content described above will be briefly explained.
[0144] At step 1010, a first electronic device (501) may establish a Bluetooth (e.g., BLE) communication link with a second electronic device (502). Here, the first electronic device (501) may be a master device or a central device that provides data (e.g., audio data or multimedia data). The first electronic device (501) may be an electronic device such as a smartphone, and may be the electronic device (101) of FIG. 1 or the electronic device (201) of FIG. 2.
[0145] At step 1020, the first electronic device (501) can transmit data in a sub-event and receive Ack / NacK information for the transmitted data.
[0146] At step 1030, the first electronic device (501) can determine whether there is sufficient time left to transmit a channel discovery packet in the corresponding sub-event. If it is determined that there is sufficient time left to transmit the channel discovery packet, the first electronic device (501) can proceed to step 1040 to transmit the channel discovery packet. 1 The electronic device (501) can transmit, to the second electronic device (502), a plurality of channel discovery packets for a plurality of candidate channels for a next event (event X+1) of an event (event X) including the sub-event, through at least one sub-event. In one embodiment, the channel discovery packet may be a packet for channel selection in the next event (event X+1) of the sub-event that transmits the channel discovery packet.
[0147] In step 1030, if it is determined that there is not enough time left to transmit the channel search packet, the first electronic device (501) returns to step 1020 to transmit data in the next sub-event and receive Ack / NacK information for the transmitted data.
[0148] In step 1050, the first electronic device (501) determines whether a channel report packet has been received. If the channel report packet has been received, the first electronic device (501) proceeds to step 1060 to determine a data channel to transmit data in the next event, and transmits to the second electronic device (502) the first data packet transmitted in the next sub-event of the sub-event that transmitted the channel search packet, including information indicating that the channel report packet has been received (CR_ACK=1). Thereafter, in step 1070, the first electronic device (501) can transmit data in the next event using the determined data channel.
[0149] If the first electronic device (501) fails to receive the channel report packet at step 1050, the first electronic device (501) may proceed to step 1080 and transmit to the second electronic device (502) the first data packet transmitted in the next sub-event of the sub-event that transmitted the channel search packet, including information indicating that the channel report packet was not received (CR_ACK=0). Thereafter, at step 1090, the first electronic device (501) may transmit data in the next event using the previously set data channel, i.e., the candidate channel.
[0150] FIG. 11 is a flowchart illustrating a channel selection method of a second electronic device according to one embodiment of the present disclosure.
[0151] In Figure 11, the overlapping content with that described above will be briefly explained.
[0152] At step 1110, the second electronic device (502) may establish a Bluetooth (e.g., BLE) communication link with the first electronic device (501). The second electronic device (502) may be a slave device or peripheral device capable of receiving data from the first electronic device (501) and processing or outputting the received data. The second electronic device (502) may be the electronic device (104) of FIG. 1 or the external electronic device #1 (202) and the external electronic device #2 (204) of FIG. 2.
[0153] At step 1120, the second electronic device (502) may receive data from the sub-event and transmit Ack / NacK information for the transmitted data.
[0154] At step 1130, the second electronic device (502) can determine whether there is sufficient time left to receive a channel discovery packet from the first electronic device (501) in the corresponding sub-event. If it is determined that there is sufficient time left to receive the channel discovery packet, the second electronic device (502) can proceed to step 1140 to receive the channel discovery packet. In addition, the second electronic device (502) can transmit a channel report packet and determine a data channel on which to receive data in the next event.
[0155] In step 1130, if it is determined that there is not enough time left to receive a channel search packet, the second electronic device (501) may return to step 1120 to receive data in the next sub-event and transmit Ack / NacK information for the received data.
[0156] At step 1150, the second electronic device (502) can determine whether the first data packet received in the next sub-event of the sub-event in which the channel search packet was received includes information indicating that a channel report packet was received (CR_ACK=1). At step 1150, if the second electronic device (502) receives a data packet including information indicating that a channel report packet was received (CR_ACK=1), the second electronic device (502) can proceed to step 1360 and receive data in the next event using the determined data channel.
[0157] In step 1150, if the second electronic device (502) receives a data packet including information (CR_ACK=0) indicating that the channel report packet was not received, the second electronic device (502) proceeds to step 1170 and can receive data in the next event using the previously set data channel, i.e., the candidate channel.
[0158] FIG. 12 is a block diagram briefly illustrating the configuration of a first electronic device according to one embodiment.
[0159] Referring to FIG. 12, a first electronic device (1200) according to an embodiment of the present disclosure (e.g., the electronic device (101) of FIG. 1 or the first electronic device (501) of FIG. 5) may include a communication circuit (1210), an antenna module (1212), a memory (1220), and a processor (1230). However, the configuration of the first electronic device (1200) is not limited thereto, and may include only some of the above-described components of FIG. 12, or may further include at least one or more other components (e.g., the modules of FIG. 1) in addition to the above-described components. Accordingly, the communication circuit (1210) may correspond to the communication module (190) or the wireless communication module (192) of FIG. 1, and the antenna module (1212) may correspond to the antenna module (197) of FIG. 1. Additionally, the memory (1220) and the processor (1230) may correspond to the memory (120) and the processor (120) of FIG. 1, and if the first electronic device (1200) further includes other components, the other components may also correspond to the components of FIG. 1.
[0160] The communication circuit (1210) can support wireless communication between the first electronic device (1200) and the second electronic device (1300). For example, the communication circuit (1210) can transmit and receive control information and / or data with one or more second electronic devices (1300) using a frequency band supported by wireless communication according to a prescribed wireless communication protocol. In one embodiment, the communication circuit (1210) can include a Bluetooth module (1211) for Bluetooth legacy communication and / or BLE communication as a wireless communication module. The first electronic device (1200) can establish a Bluetooth connection with the second electronic device (1300) using the Bluetooth module (1211) and transmit and receive control information and / or data.
[0161] The communication circuit (1210) may operate independently of the processor (1230) and may include one or more communication processors that support wireless communication. In one embodiment, the communication circuit (1210) may also be referred to as a communication interface or a communication module.
[0162] The antenna module (1212) may include a plurality of antennas. At least one antenna suitable for a communication method used in a communication network (e.g., the first network (198) of FIG. 1) may be selected from the plurality of antennas by the communication circuit (1210).
[0163] The memory (1220) can store various information for the operation of the first electronic device (1200). The information stored in the memory (1220) can include, for example, input data or output data for software and commands related thereto. In one embodiment, the information stored in the memory (1220) can include at least one instruction for the operation of the first electronic device (1200). The instruction can correspond to the program (1120) of FIG. 1. The instructions stored in the memory (1220) can be executed by the processor (1230). By executing the instructions by the processor (1230), the first electronic device (1200) can perform operations according to one embodiment of the present disclosure. The memory (1220) can include a volatile memory or a non-volatile memory.
[0164] The processor (1230) may control at least one other component (e.g., hardware or software component) of the first electronic device (1200) and perform various data processing or calculations. As at least a part of the data processing or calculation, the processor (1230) may load a command or data received from another component (e.g., communication circuit (1210)) into the memory (1220), process the command or data stored in the memory (1220), and store the resulting data in the memory (1220). In one embodiment, the processor (1230) may execute at least one instruction for the operation of the first electronic device (1200) in the memory (1220).
[0165] In one embodiment, the processor (1230) may be configured to execute instructions stored in the memory (1220) to cause the first electronic device (1200) to establish a Bluetooth communication link with the second electronic device (1300), transmit a channel search packet for a plurality of candidate channels for a next event to the second electronic device (1300) through at least one sub-event, receive a channel report packet including channel information for at least some of the plurality of candidate channels from the second electronic device (1300), determine at least one channel for transmitting data in the next event based on the channel information, and transmit data through the at least one channel determined in the next event. The channel search packet may be transmitted when sufficient time remains to transmit the channel search packet in at least one sub-event. The channel report packet may include channel indication information indicating at least some of the plurality of candidate channels and channel quality information for each of the indicated channels. In one embodiment, the processor (1230) may be configured to determine at least one channel for transmitting data in a next event based on channel quality information.
[0166] In one embodiment, the processor (1230) may be configured to transmit, by executing instructions stored in the memory (1220), information on whether a channel report packet was successfully received in a first data packet transmitted in a sub-event following a sub-event that transmitted a channel discovery packet. In addition, the processor (1230) may be configured to determine at least one channel for transmitting data in the next event based on the most recently received channel report packet when receiving multiple channel report packets for the next event.
[0167] In one embodiment, the processor (1230) may be configured to determine a plurality of candidate channels for transmitting data in the next event based on a channel selection algorithm by executing instructions stored in the memory (1220). Furthermore, the processor (1230) may be configured to transmit data for the first sub-event of the next event through a channel with the earliest order among the plurality of candidate channels. Furthermore, if the processor (1230) does not receive a channel report packet, the processor (1230) may be configured to transmit data through the plurality of candidate channels in the next event.
[0168] FIG. 13 is a block diagram briefly illustrating the configuration of a second electronic device according to one embodiment.
[0169] Referring to FIG. 13, a second electronic device (1300) according to an embodiment of the present disclosure (e.g., the electronic device (102) of FIG. 1 or the second electronic device (502) of FIG. 5) may include a communication circuit (1310), an antenna module (1312), a memory (1320), and a processor (1330). However, the configuration of the second electronic device (1300) is not limited thereto, and may include only some of the above-described components of FIG. 13, or may further include at least one or more other components in addition to the above-described components.
[0170] The communication circuit (1310) can support wireless communication between the second electronic device (1300) and the first electronic device (1200). For example, the communication circuit (1310) can transmit and receive control information and / or data with one or more first electronic devices (1200) using a frequency band supported by wireless communication according to a prescribed wireless communication protocol. In one embodiment, the communication circuit (1310) can include a Bluetooth module (1311) for Bluetooth legacy communication and / or BLE communication as a wireless communication module. The second electronic device (1300) can establish a Bluetooth connection with the first electronic device (1200) using the Bluetooth module (1311) and transmit and receive control information and / or data.
[0171] The communication circuit (1310) may operate independently of the processor (1330) and may include one or more communication processors that support wireless communication. In one embodiment, the communication circuit (1310) may also be referred to as a communication interface or a communication module.
[0172] The antenna module (1312) may include a plurality of antennas. At least one antenna suitable for a communication method used in a communication network (e.g., the first network (198) of FIG. 1) may be selected from the plurality of antennas by the communication circuit (1310).
[0173] The memory (1320) can store various information for the operation of the second electronic device (1300). The information stored in the memory (1320) may include, for example, input data or output data for software and commands related thereto. In one embodiment, the information stored in the memory (1320) may include at least one instruction for the operation of the second electronic device (1300). The instruction may include a program. The instructions stored in the memory (1320) may be executed by the processor (1330). By executing the instructions by the processor (1330), the second electronic device (1300) may perform operations according to one embodiment of the present disclosure. The memory (1320) may include volatile memory or non-volatile memory.
[0174] The processor (1330) may control at least one other component (e.g., hardware or software component) of the second electronic device (1300) and perform various data processing or calculations. As at least a part of the data processing or calculation, the processor (1330) may load a command or data received from another component (e.g., communication circuit (1310)) into the memory (1320), process the command or data stored in the memory (1320), and store the resulting data in the memory (1320). In one embodiment, the processor (1330) may execute at least one instruction for the operation of the second electronic device (1300) in the memory (1320).
[0175] In one embodiment, the processor (1330) may be configured to execute instructions stored in the memory (1320) so that the second electronic device (1300) establishes a Bluetooth communication link with the first electronic device (1200), receives a channel discovery packet for a plurality of candidate channels for a next event from the first electronic device (1200) through at least one sub-event, transmits a channel report packet including channel information for at least some of the plurality of candidate channels to the first electronic device (1200), determines at least one channel for receiving data in the next event based on the channel information, and receives data through the at least one channel determined in the next event. The channel discovery packet may be received when sufficient time remains for the first electronic device (1200) to transmit the channel discovery packet in at least one sub-event. The channel report packet may include channel indication information indicating at least some of the plurality of candidate channels and channel quality information for each of the indicated channels. In one embodiment, the processor (1330) may be configured to determine at least one channel for transmitting data in a next event based on channel quality information.
[0176] In one embodiment, the processor (1330) may receive, by executing instructions stored in the memory (1320), information on whether a channel report packet was successfully received in the first data packet of the next sub-event of the sub-event that received the channel discovery packet. When transmitting multiple channel report packets for the next event, the processor (1330) may be configured to determine at least one channel for receiving data in the next event based on the most recently transmitted channel report packet.
[0177] In one embodiment, the processor (1330) may be configured to determine a plurality of candidate channels for receiving data in a next event based on a channel selection algorithm by executing instructions stored in the memory (1320). Furthermore, the processor (1330) may be configured to receive data through the plurality of candidate channels in a next event if it receives information that the first electronic device (1200) has not received a channel report packet.
[0178] The methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0179] When implemented in software, a computer-readable storage medium storing one or more programs (software modules) may be provided. The one or more programs stored in the computer-readable storage medium are configured for execution by one or more processors within an electronic device. The one or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.
[0180] In the present disclosure, the functions or operations performed by the electronic device may be performed by one or more processors executing one or more instructions stored in a memory. The functions or operations of the electronic device mentioned in the present disclosure may be performed by one processor executing one or more instructions, or may be performed by a combination of multiple processors executing one or more instructions. The processor mentioned in the present disclosure may be understood to include a circuit for performing operations or controlling other components of the electronic device. For example, the one or more processors may include a central processing unit (CPU), a microprocessor unit (MPU), an application processor (AP), a communication processor (CP), a neural processing unit (NPU), a system on a chip (SoC), or an integrated circuit (IC) configured to execute one or more instructions. The one or more processors may be configured to perform the operations of the electronic device described above.
[0181] In the present disclosure, a program (software module, software) may be stored in a non-volatile memory including a random access memory (RAM), a flash memory, a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a magnetic disc storage device, a compact disc ROM (CD-ROM), digital versatile discs (DVDs) or other forms of optical storage devices, a magnetic cassette. Or, it may be stored in a memory formed by a combination of some or all of these. The memory may be formed by a single storage medium, or may be formed by a combination of a plurality of storage media. The one or more commands may be stored in a single storage medium, or may be distributed and stored in a plurality of storage media.
[0182] Additionally, the program may be stored on an attachable storage device that is accessible via a communication network such as the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), or a storage area network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure via an external port. Additionally, a separate storage device on the communication network may be connected to a device performing an embodiment of the present disclosure.
[0183] Additionally, in the present disclosure, terms such as “part”, “module”, etc. may refer to a hardware component such as a processor or circuit, and / or a software component executed by a hardware component such as a processor.
[0184] A "component" or "module" may be implemented by a program stored in an addressable storage medium and executed by a processor. For example, a "component" or "module" may be implemented by components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
[0185] The specific implementations described in this disclosure are merely exemplary and do not limit the scope of the present disclosure in any way. For the sake of brevity, descriptions of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted.
[0186] While the detailed description of this disclosure has described specific embodiments, it should be understood that various modifications are possible without departing from the scope of this disclosure. Therefore, the scope of this disclosure should not be limited to the described embodiments, but should be defined not only by the scope of the claims described below, but also by equivalents thereof.
Claims
1. In a method performed by a first electronic device, A step of establishing a Bluetooth communication link with a second electronic device; A step of transmitting a channel search packet for a plurality of candidate channels for a next event to the second electronic device through at least one sub-event; A step of receiving a channel report packet including channel information for at least some of the plurality of candidate channels from the second electronic device; A step of determining at least one channel for transmitting data in the next event based on the channel information; and A method comprising the step of transmitting the data through at least one channel determined in the above next event.
2. In paragraph 1, A method further comprising the step of transmitting information on whether the channel report packet was successfully received in a first data packet transmitted in a sub-event following the sub-event that transmitted the channel search packet.
3. In paragraph 1, The above channel search packet is, A method in which the channel probe packet is transmitted when there is sufficient time remaining to transmit the channel probe packet in at least one of the above sub-events.
4. In paragraph 1, The above channel report packet is, A method comprising channel indication information indicating at least some of the plurality of candidate channels and channel quality information for each of the indicated channels.
5. In paragraph 1, The step of determining at least one channel for transmitting data in the above next event is: A method comprising the step of determining at least one channel for transmitting data in the next event based on the most recently received channel report packet when receiving multiple channel report packets for the next event.
6. In paragraph 1, The step of transmitting a channel search packet for the plurality of candidate channels to the second electronic device comprises: A method comprising the step of determining the plurality of candidate channels for transmitting the data in the next event based on a channel selection algorithm.
7. In paragraph 6, A method further comprising the step of transmitting the data through the plurality of candidate channels in the next event if the channel report packet is not received.
8. In a method performed by a second electronic device, A step of establishing a Bluetooth communication link with a first electronic device; A step of receiving a channel search packet for a plurality of candidate channels for a next event through at least one sub-event from the first electronic device; A step of transmitting a channel report packet including channel information for at least some of the plurality of candidate channels to the first electronic device; A step of determining at least one channel for receiving data in the next event based on the channel information; and A method comprising the step of receiving the data through at least one channel determined in the above next event.
9. In paragraph 8, A method further comprising the step of receiving information on whether the channel report packet was successfully received in a first data packet transmitted in a sub-event following the sub-event that received the channel search packet.
10. In paragraph 8, The above channel search packet is, A method in which the first electronic device receives at least one sub-event when sufficient time remains to transmit the channel discovery packet.
11. In paragraph 8, The above channel report packet is, A method comprising channel indication information indicating at least some of the plurality of candidate channels and channel quality information for each of the indicated channels.
12. In paragraph 8, The step of determining at least one channel for receiving data in the above next event is: A method comprising the step of determining at least one channel for receiving data in the next event based on the most recently transmitted channel report packet when transmitting multiple channel report packets for the next event.
13. In paragraph 8, The step of receiving a channel search packet for the plurality of candidate channels from the first electronic device comprises: A method comprising the step of determining the plurality of candidate channels for receiving the data in the next event based on a channel selection algorithm.
14. In the first electronic device, Communication circuit to support Bluetooth communication; at least one processor; and Contains memory that stores instructions, When the above instructions are executed by the at least one processor, the first electronic device: Establish a Bluetooth communication link with a second electronic device, Transmitting a channel search packet for a plurality of candidate channels for the next event to the second electronic device through at least one sub-event, Receive a channel report packet including channel information for at least some of the plurality of candidate channels from the second electronic device, Based on the above channel information, at least one channel for transmitting data in the next event is determined, A first electronic device configured to transmit the data through at least one channel determined in the above-determined next event.
15. In the second electronic device, Communication circuit to support Bluetooth communication; at least one processor; and Contains memory that stores instructions, When the above instructions are executed by the at least one processor, the second electronic device: Establish a Bluetooth communication link with the first electronic device, Receive a channel search packet for a plurality of candidate channels for a next event through at least one sub-event from the first electronic device, Transmitting a channel report packet including channel information for at least some of the plurality of candidate channels to the first electronic device, Based on the above channel information, at least one channel for receiving data in the next event is determined, A second electronic device configured to receive the data through at least one channel determined in the above-determined next event.
Citation Information
Patent Citations
Multichannel Bluetooth audio data transmission method and related equipment
CN116233811A
Data transfer using the bluetooth low energy standard
KR1020140146048A
Material gripper device
KR1020250063361A
Bluetooth low energy connected isochronous stream acknowledgement and flush algorithm and implementation
US20200260322A1
Channel selection method and apparatus of bluetooth low energy device
WO2020252755A1