Program and wireless communication device

The program adjusts communication intervals and frequencies based on packet error types to efficiently reduce interference in wireless communication systems, improving system performance.

JP2026046764APending Publication Date: 2026-03-13KK TOSHIBA
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-03
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing wireless communication systems face challenges in efficiently determining which system should change its frequency band to reduce radio interference when error rates are equal, leading to inefficient interference reduction methods.

Method used

A program executed by a wireless communication device that controls communication intervals and frequencies based on error types in received packets, allowing for adaptive adjustments to minimize interference without coordinated control between systems.

Benefits of technology

Effectively reduces radio interference by dynamically adjusting communication parameters in response to packet errors, enhancing communication efficiency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026046764000001_ABST
    Figure 2026046764000001_ABST
Patent Text Reader

Abstract

To create a program that can efficiently reduce interference with other wireless communication systems. [Solution] According to the embodiment, the program is executed by a computer equipped with a communication unit that communicates with a wireless communication device. The program causes the computer to execute a procedure for controlling a first time interval and a first frequency used for communication with the wireless communication device. The program causes the computer to execute a procedure for determining whether or not an error has occurred in receiving a packet from the wireless communication device based on the first time interval and the first frequency. If the error occurs, the program causes the computer to execute a procedure for changing at least one of the first time interval and the first frequency, depending on whether the error occurred in a first data portion included in the packet or in a second data portion following the first data portion.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Embodiments of the present invention relate to a program and a wireless communication device. [Background technology]

[0002] When multiple wireless communication systems are operating using overlapping frequency bands, radio interference can occur between those systems. In each wireless communication system, for example, a central wireless communication device communicates with one or more peripheral wireless communication devices.

[0003] To avoid radio interference between multiple wireless communication systems, one method is to separate the frequency band used for communication for each central system. Alternatively, to dynamically avoid interference between multiple wireless communication systems, one can change the frequency band used for communication according to the error rate of the data (e.g., packets) for each central system. Such methods can reduce the occurrence of radio interference between multiple wireless communication systems. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Patent No. 6508538 [Non-patent literature]

[0005] [Non-Patent Document 1] Bozheng Pang, 5 others, “Bluetooth Low Energy Interference Awareness Scheme and Improved Channel Selection Algorithm for Connection Robustness”, [online], March 24, 2021, MDPI, Sensors 2021, 21, 2257, [searched on July 10, 2020], Internet<URL:https: / / doi.org / 10.3390 / s21072257> [Overview of the project] [Problems that the invention aims to solve]

[0006] However, if, for example, radio interference occurs between two wireless communication systems, the error rates of packets transmitted at the two centrals included in those two systems will be approximately equal. In that case, it is difficult to determine which of the two centrals should change its frequency band to efficiently reduce radio interference (error rate).

[0007] The problem that this invention aims to solve is to provide a program and a wireless communication device that can efficiently reduce radio wave interference with other wireless communication systems. [Means for solving the problem]

[0008] According to one embodiment, the program is executed by a computer equipped with a communication unit that communicates with a wireless communication device. The program causes the computer to perform a procedure for controlling a first time interval and a first frequency used for communication with the wireless communication device. The program causes the computer to perform a procedure for determining whether or not an error has occurred in receiving a packet from the wireless communication device based on the first time interval and the first frequency. If an error occurs, the program causes the computer to perform a procedure for changing at least one of the first time interval and the first frequency, depending on whether the error occurred in a first data portion included in the packet or in a second data portion following the first data portion. [Brief explanation of the drawing]

[0009] [Figure 1] A block diagram showing an example configuration of a wireless communication system including a wireless communication device according to the embodiment. [Figure 2] A block diagram showing an example configuration of a wireless communication device according to the embodiment (an example configuration of the central unit). [Figure 3] A block diagram showing an example of the functional configuration of a first communication control program executed in a wireless communication device according to an embodiment. [Figure 4] A diagram showing an example of the configuration of an error history table used in a wireless communication device according to the embodiment. [Figure 5] A block diagram showing another configuration example (peripheral configuration example) of the wireless communication device according to the embodiment. [Figure 6] A block diagram showing an example of the functional configuration of a second communication control program executed in a wireless communication device according to the embodiment. [Figure 7] A block diagram showing an example of multiple wireless communication systems in which radio wave interference occurs, including a wireless communication device according to the embodiment. [Figure 8] A diagram illustrating an example of packet collision between a wireless communication system including a wireless communication device according to the embodiment and another wireless communication system. [Figure 9]A diagram showing an example of the data structure of a packet transmitted in a wireless communication system including a wireless communication device according to an embodiment. [Figure 10] Examples of cases where (a) no packet collision occurs, (b) a collision of the first type of packet occurs, and (c) a collision of the second type of packet occurs in a wireless communication system including a wireless communication device according to an embodiment and another wireless communication system. [Figure 11] A flowchart showing an example of the procedure of the first reception / control process executed in a wireless communication device according to an embodiment. [Figure 12] A diagram showing an example of the connection interval changed in a wireless communication system when a collision of the first type of packet occurs in a wireless communication system including a wireless communication device according to an embodiment and another wireless communication system. [Figure 13] A diagram showing another example of the connection interval changed in a wireless communication system when a collision of the first type of packet occurs in a wireless communication system including a wireless communication device according to an embodiment and another wireless communication system. [Figure 14] A flowchart showing an example of the procedure of the second reception / control process executed in a wireless communication device according to an embodiment. [Figure 15] A diagram showing an example in which a collision of the second type of packet is resolved by clock drift in a wireless communication system including a wireless communication device according to an embodiment and another wireless communication system. [Figure 16] A diagram showing an example in which a collision of the second type of packet continues and is not resolved in a wireless communication system including a wireless communication device according to an embodiment and another wireless communication system. [Figure 17] A diagram showing an example of the size of a packet changed to resolve the continuation of a collision of the second type of packet in a wireless communication device according to an embodiment. [Figure 18] )]]A diagram showing an example in which the continuation of a collision of the second type of packet is resolved by changing the size of a packet in a wireless communication system including a wireless communication device according to an embodiment and another wireless communication system. [Figure 19] A flowchart showing an example of the procedure for the first analysis and control process performed in the wireless communication device according to the embodiment. [Figure 20] A flowchart showing an example of the procedure for the second analysis and control process performed in the wireless communication device according to the embodiment. [Figure 21] A diagram showing an example of an error type determined by a received packet in a wireless communication device according to an embodiment. [Modes for carrying out the invention]

[0010] The embodiments will be described below with reference to the drawings.

[0011] First, with reference to Figure 1, an example configuration of a wireless communication system including a wireless communication device according to the embodiment will be described. Wireless communication system 1 is a system that performs wireless communication between wireless communication devices. Wireless communication system 1 conforms to, for example, Bluetooth® Low Energy (BLE) Notification. Note that wireless communication system 1 may conform to other wireless communication standards. In the following, examples will mainly be given of the case in which wireless communication conforming to BLE Notification is performed in wireless communication system 1. In wireless communication system 1, for example, the frequency band (communication channel) used for communication is randomly changed at a certain period by a frequency hopping method.

[0012] The wireless communication system 1 includes, for example, one central device 2 and one or more peripheral devices 3. A network consisting of one central device 2 and one or more peripheral devices 3 is also called a piconet.

[0013] The central device 2 is a wireless communication device configured to communicate wirelessly with each of the one or more peripheral devices 3. The central device 2 can be implemented, for example, as a computer with wireless communication capabilities. More specifically, the central device 2 can be implemented, for example, as a battery management unit (BMU) that monitors the operating status of multiple batteries and addresses any battery abnormalities that occur.

[0014] The central device 2 establishes a wireless connection with each of the one or more peripheral devices 3. The central device 2 sends and receives data with any of the one or more peripheral devices 3 at specific time intervals (i.e., at specific communication cycles). This specific time interval is called the connection interval (CI). For example, if the connection interval is 60 milliseconds (ms), the central device 2 may communicate with any of the peripheral devices 3 at 60 ms time intervals. Hereafter, the central device 2 will also be simply referred to as Central 2.

[0015] Each of the one or more peripheral devices 3 is a wireless communication device that communicates wirelessly with the central 2. The one or more peripheral devices 3 are, for example, M peripheral devices 3-1, 3-2, ..., and 3-M, where M is an integer greater than or equal to 1. Peripheral devices 3 can be implemented, for example, as computers with wireless communication capabilities. More specifically, peripheral devices 3 can be implemented, for example, as cell management units (CMUs) that monitor the operating status of a battery and notify the BMU of the battery's operating status.

[0016] Peripheral device 3 establishes a wireless connection with central device 2. Peripheral device 3 can communicate with central device 2 at each connection interval. Hereinafter, any one of the M peripheral devices 3-1, 3-2, ..., and 3-M will also be simply referred to as peripheral device 3. Furthermore, central device 2 or peripheral device 3 included in wireless communication system 1 will also be referred to as wireless communication device 2 or 3.

[0017] Figure 2 is a block diagram showing an example configuration of Central 2. Central 2 includes, for example, a central processing unit (CPU) 201, random access memory (RAM) 202, storage 203, and a communication device 204.

[0018] CPU201 is at least one processor that controls the operation of various components within Central 2. CPU201 executes various programs loaded from storage 203 into RAM202. These programs include the operating system (OS) and various control programs. Control programs include, for example, the first communication control program 202A. The first communication control program 202A is a program for controlling communication with peripheral 3.

[0019] RAM202 is a volatile memory that temporarily stores data. RAM202 is, for example, dynamic random access memory (DRAM) or static random access memory (SRAM). The storage area of ​​RAM202 is allocated, for example, as a storage area for programs and as a storage area for data used in various processes in Central 2. The data used in various processes in Central 2 is, for example, the error history table 451, which will be described later.

[0020] Storage 203 is a storage device that includes non-volatile memory. Storage 203 is, for example, a solid-state drive (SSD) or a hard disk drive (HDD). Storage 203 stores, for example, the OS, control programs, and data used for various processes in Central 2.

[0021] The communication device 204 is a device configured to perform wireless communication. The communication device 204 performs wireless communication compliant with BLE Notification, for example. The communication device 204 includes a transmitting unit that wirelessly transmits signals (data) and a receiving unit that wirelessly receives signals.

[0022] Figure 3 is a block diagram showing an example of the functional configuration of the first communication control program 202A executed in Central 2. The first communication control program 202A includes, for example, a communication unit 41, a packet error analysis unit 42, a scheduling update unit 43, and a scheduling control unit 44. In other words, the CPU 201 functions as the communication unit 41, the packet error analysis unit 42, the scheduling update unit 43, and the scheduling control unit 44 by executing the first communication control program 202A.

[0023] The communication unit 41 communicates with the outside (for example, peripheral 3) via the communication device 204. Specifically, the communication unit 41 is configured to transmit and receive data based on the communication time interval (connection interval) and the frequency used for communication (frequency band). When the communication unit 41 receives data from the outside, it sends the received data (hereinafter also referred to as received data) to the packet error analysis unit 42.

[0024] The packet error analysis unit 42 determines, based on the received data received from the communication unit 41, whether or not an error occurred in receiving a packet from the peripheral 3. A packet is a unit of data transmitted in the wireless communication system 1. In other words, a packet is a unit of data transmitted between the central 2 and the peripheral 3. If no error occurred in receiving the packet, that is, if the packet was received correctly, the central 2 performs processing according to that packet. Processing according to the packet is, for example, processing according to the information about the communication parameters and the payload contained in the packet. Communication parameters are data used for communication control (e.g., scheduling).

[0025] On the other hand, if an error occurs during packet reception, the packet error analysis unit 42 determines the type of error. The error type is, for example, either a cyclic redundancy check (CRC) error or a non-arrival error. A CRC error is an error in which an inconsistency is detected between the data to be received and the CRC during the verification of the CRC for received data (packet). A non-arrival error is an error in which at least a part of the packet, other than the part used for CRC verification, did not arrive correctly (i.e., an error in the non-delivery of the packet). The packet error analysis unit 42 sends information about the error (hereinafter also referred to as error information), including the type of error that occurred, to the scheduling update unit 43. The packet error analysis unit 42 may also record and manage the error information in the error history table 451.

[0026] The error history table 451 is data for managing the history of errors that occurred in the received data. The error history table 451 is stored (saved) in, for example, the memory unit 45. For example, the memory area of ​​RAM 202 is allocated as the memory unit 45.

[0027] Figure 4 shows an example configuration of the error history table 451 used in Central 2. The error history table 451 includes, for example, one or more entries corresponding to one or more errors that occurred in the data received by Central 2 (received data). Each of the one or more entries includes, for example, a date and time field, an error type field, a device identification information field, and a communication channel field.

[0028] The date and time field indicates the date and time when the corresponding error occurred. The date and time when the error occurred is, for example, the date and time when the packet error analysis unit 42 detected the error. Alternatively, the date and time when the error occurred may be the date and time corresponding to the connection event in which the error occurred. The connection event is, for example, an event in which a packet is transmitted between the central 2 and the peripheral 3.

[0029] The Error Type field indicates the type of error. The error type can be, for example, a CRC error or a non-arrival error. If the error is a CRC error, the Error Type field will be set to, for example, "CRC". If the error is a non-arrival error, the Error Type field will be set to, for example, "non-arrival".

[0030] The device identification information field indicates the identification information of the device (e.g., peripheral 3) that sent the received data in which the corresponding error occurred. The device identification information is information that uniquely identifies that device.

[0031] The communication channel field indicates the communication channel used to receive the received data in which the corresponding error occurred. Specifically, the communication channel field may, for example, indicate identification information that uniquely identifies the communication channel. The communication channel field may also indicate the frequency (frequency band) corresponding to the communication channel. Alternatively, the communication channel field may indicate identification information that uniquely identifies the group (subchannel group) to which the communication channel belongs.

[0032] With the above configuration, Central 2 can manage the history of errors that occurred in the data received from Peripheral 3 using the error history table 451. Note that the configuration of the error history table 451 described above is just one example, and Central 2 can use any configuration of data to manage the history of errors that occurred in the data received from Peripheral 3.

[0033] Return to Figure 3.

[0034] The scheduling update unit 43 may change one or more parameters (communication parameters) used to control communication by the central 2 based on error information received from the packet error analysis unit 42. One or more communication parameters include, for example, parameters relating to the communication channel and parameters relating to the communication period. The parameters relating to the communication channel indicate, for example, the frequency (frequency band) used for communication. The parameters relating to the communication period indicate, for example, the time interval for transmitting (sending or receiving) packets, i.e., the connection interval.

[0035] Specifically, the scheduling update unit 43, based on error information, changes at least one of the communication time interval and the communication channel to be used, depending on whether a CRC error or a non-arrival error has occurred. In other words, the scheduling update unit 43 may update parameters related to the communication cycle, for example, to change the communication time interval, based on error information. The scheduling update unit 43 may also update parameters related to the communication channel, for example, to change the communication channel to be used, based on error information. Note that the communication parameters may also include other parameters related to communication, such as the packet size and the holding of packet transmission. The scheduling update unit 43 may also update the communication parameters based on the analysis results using the error history table 451. The scheduling update unit 43 sends the updated communication parameters to the scheduling control unit 44.

[0036] The scheduling control unit 44 controls the scheduling of data transmission and data reception by the communication unit 41 based on communication parameters received from the scheduling update unit 43. Specifically, the scheduling control unit 44 controls, for example, the communication channel used by the communication unit 41 to transmit data (packets) and the time at which the communication unit 41 transmits the data, based on communication parameters. The scheduling control unit 44 also controls, for example, the communication channel used by the communication unit 41 to receive data and the time at which the communication unit 41 receives the data, based on communication parameters.

[0037] With the above configuration, the CPU 201, which executes the first communication control program 202A, can control the time interval (connection interval) and frequency (communication channel) used for communication in the wireless communication system 1 in response to errors occurring in the received data.

[0038] Figure 5 is a block diagram showing an example configuration of peripheral 3. Peripheral 3 includes, for example, a CPU 301, RAM 302, storage 303, and a communication device 304.

[0039] CPU 301 is at least one processor that controls the operation of various components within Peripheral 3. CPU 301 executes various programs loaded from storage 303 into RAM 302. These programs include the OS and various control programs. Control programs include, for example, a second communication control program 302A. The second communication control program 302A is a program for controlling communication with Central 2.

[0040] RAM302 is a volatile memory that temporarily stores data. RAM302 is, for example, DRAM or SRAM. The memory area of ​​RAM302 is allocated, for example, as a storage area for programs and as a storage area for data used in various processes on peripheral 3. The data used in various processes on peripheral 3 is, for example, the error history table 551 described later.

[0041] Storage 303 is a storage device that includes non-volatile memory. Storage 303 is, for example, an SSD or an HDD. Storage 303 stores, for example, the OS, control programs, and data used for various processes in peripheral 3.

[0042] The communication device 304 is a device configured to perform wireless communication. The communication device 304 performs wireless communication compliant with BLE Notification, for example. The communication device 304 includes a transmitting unit that wirelessly transmits a signal and a receiving unit that wirelessly receives a signal.

[0043] Figure 6 is a block diagram showing an example of the functional configuration of the second communication control program executed on peripheral 3. The second communication control program 302A includes, for example, a communication unit 51, a packet error analysis unit 52, a scheduling update unit 53, and a scheduling control unit 54. In other words, the CPU 301 functions as the communication unit 51, the packet error analysis unit 52, the scheduling update unit 53, and the scheduling control unit 54 by executing the second communication control program 302A.

[0044] The communication unit 51 communicates with an external source (e.g., Central 2) via the communication device 304. Specifically, the communication unit 51 is configured to transmit and receive data based on the communication time interval (connection interval) and the frequency used for communication (frequency band). When the communication unit 51 receives data from an external source, it sends the received data to the packet error analysis unit 52.

[0045] The packet error analysis unit 52 determines whether or not an error has occurred in the packet based on the received data received from the communication unit 51. If the packet is received correctly, the peripheral 3 performs processing according to that packet.

[0046] On the other hand, if a packet-related error occurs, the packet error analysis unit 52 determines the type of error. The error type is, for example, either a CRC error or a non-arrival error. The packet error analysis unit 52 sends error information, including the type of error that occurred, to the scheduling update unit 53. The packet error analysis unit 52 may also record the error information in the error history table 551.

[0047] The error history table 551 is data for managing the history of errors that occurred in the received data. The error history table 551 is stored, for example, in the storage unit 55. For example, the storage area of ​​RAM 302 is allocated as the storage unit 55. A specific example of the configuration of the error history table 551 is the same as the error history table 451 described above, as shown in Figure 4.

[0048] The scheduling update unit 53 may update one or more parameters (communication parameters) used to control communication by the peripheral 3 based on error information received from the packet error analysis unit 52. Specifically, based on the error information, if an error occurs, the scheduling update unit 53 changes the communication time interval depending on whether a CRC error or a non-arrival error occurred. In other words, based on the error information, the scheduling update unit 53 may update parameters related to the communication cycle, for example, to change the communication time interval. The scheduling update unit 53 may also request a change of communication channel from the central 2 via the communication unit 51, for example, based on the error information. If this request is accepted (permitted) by the central 2, the scheduling update unit 53 updates parameters related to the communication channel to change the communication channel to be used. The scheduling update unit 53 may also update communication parameters based on the analysis results using the error history table 551. The scheduling update unit 53 sends the updated communication parameters to the scheduling control unit 54.

[0049] The scheduling control unit 54 controls the scheduling of data transmission and data reception by the communication unit 51 based on the communication parameters received from the scheduling update unit 53. Specifically, the scheduling control unit 54 controls, for example, the communication channel used by the communication unit 51 to transmit data (packets) and the time at which the communication unit 51 transmits the data, based on the communication parameters. The scheduling control unit 54 also controls, for example, the communication channel used by the communication unit 51 to receive data and the time at which the communication unit 51 receives the data, based on the communication parameters.

[0050] With the above configuration, the CPU 301, which executes the second communication control program 302A, can control the time interval (connection interval) and frequency (communication channel) used for communication in the wireless communication system 1 in response to errors occurring in the received data.

[0051] The following section specifically describes examples of communication control in response to packet errors (i.e., radio interference) in Central 2 or Peripheral 3.

[0052] Figure 7 is a block diagram illustrating an example of multiple wireless communication systems 1 where radio wave interference occurs. Here, we illustrate the case where the multiple wireless communication systems 1 consist of a first wireless communication system 1-1 (first piconet) and a second wireless communication system 1-2 (second piconet). The multiple wireless communication systems 1 may consist of three or more wireless communication systems 1. Hereafter, the radio wave interference occurring between the multiple wireless communication systems 1 will simply be referred to as interference.

[0053] Each of the first wireless communication system 1-1 and the second wireless communication system 1-2 has the same configuration as the wireless communication system 1 described above with reference to Figure 1. That is, the first wireless communication system 1-1 includes a first central 2-1 and M peripherals 31. The M peripherals 31 are, for example, peripherals 31-1, 31-2, ..., and 31-M. Hereinafter, any one of the M peripherals 31-1, 31-2, ..., and 31-M will also be referred to as peripheral 31. The second wireless communication system 1-2 includes a second central 2-2 and N peripherals 32. The N peripherals 32 are, for example, peripherals 32-1, 32-2, ..., and 32-N. N is an integer greater than or equal to 1. N may be the same as or different from M. In the following, any one of the N peripherals 32-1, 32-2, ..., and 32-N will also be referred to as peripheral 32.

[0054] The transmission of packets in the first wireless communication system 1-1 and the transmission of packets in the second wireless communication system 1-2 overlap in the frequency domain and time domain, resulting in packet collisions (errors). Consequently, interference occurs between the first wireless communication system 1-1 and the second wireless communication system 1-2, potentially causing communication failure.

[0055] In multiple wireless communication systems that may communicate using overlapping frequency bands, if coordinated control over data transmission is not in place, the transmission of multiple packets will overlap in the frequency and time domains, leading to packet collisions. Consequently, interference will occur in multiple wireless communication systems, potentially causing communication failures.

[0056] One way to avoid interference between multiple wireless communication systems is to perform coordinated control of data transmission between the systems (for example, between central systems). However, when coordinating data transmission between wireless communication systems, the configuration and operation of each wireless communication system become complex. Therefore, a method to avoid interference without requiring communication for coordinated control between multiple wireless communication systems is desirable.

[0057] Another way to avoid interference between multiple wireless communication systems is for a wireless communication system compliant with a particular wireless communication standard to refrain from using the communication channel (frequency) where the error occurred. This method is effective, for example, when one wireless communication system complies with a first wireless communication standard and the other complies with a second wireless communication standard. The first wireless communication standard is, for example, a wireless local area network. The second wireless communication standard is, for example, Bluetooth. Specifically, for example, interference between these two wireless communication systems can be avoided by having only the wireless communication system compliant with the second wireless communication standard refrain from using the communication channel where the error occurred.

[0058] However, with this method, if two wireless communication systems comply with the same wireless communication standard (e.g., Bluetooth), interference between these two wireless communication systems may result in either system ceasing to use the affected communication channel. Therefore, a communication channel may remain unused by either wireless communication system.

[0059] Specifically, for example, one central changes the communication channel used by the wireless communication system that includes it, based on the error rate of the packets it receives (packet error rate). Furthermore, another central changes the communication channel used by the wireless communication system that includes that other central, based on the error rate of the packets it receives. If interference occurs between these two wireless communication systems, the packet error rates at the two corresponding centrals will be approximately equal. Therefore, both centrals may change the communication channel used by the corresponding wireless communication system. In this case, packet collisions may occur again when transmitting packets using the changed communication channel. Alternatively, a communication channel may be created that is not used by either wireless communication system.

[0060] For example, in the frequency hopping method used in Bluetooth, it is desirable to use as many communication channels as possible when no interference occurs. However, when communication channels are changed based on the packet error rate, it is difficult to determine which of the two centrals should change the communication channel used by the corresponding wireless communication system.

[0061] Therefore, in the case of interference occurring in multiple wireless communication systems 1, the wireless communication device 2 or 3 according to this embodiment is configured to continue using the communication channel (or subchannel group) where interference occurred in one of the wireless communication systems 1, while other wireless communication systems 1 do not use that communication channel. This allows the wireless communication device 2 or 3 to efficiently reduce interference with other wireless communication systems 1.

[0062] Figure 8 shows an example of a packet collision between the first wireless communication system 1-1 and the second wireless communication system 1-2. In Figure 8, the horizontal axis represents time, and the vertical axis represents frequency.

[0063] Here, we illustrate a case where the first wireless communication system 1-1 and the second wireless communication system 1-2 communicate (i.e., transmit packets) with a connection interval of 60 ms using multiple communication channels obtained by dividing the frequency band from 2400 MHz to 2480 MHz into 2 MHz units. The first wireless communication system 1-1 and the second wireless communication system 1-2 communicate independently, for example, without coordinating control regarding communication.

[0064] Packets 61-1, 61-2, 61-3, 61-4, 61-5, 61-6, and 61-7 (hereinafter also referred to as packets 61-1 to 61-7) are packets transmitted in the first wireless communication system 1-1. Packets 62-1, 62-2, 62-3, 62-4, 62-5, 62-6, and 62-7 (hereinafter also referred to as packets 62-1 to 62-7) are packets transmitted in the second wireless communication system 1-2. Packets 61-1 to 61-7 transmitted in the first wireless communication system 1-1 and packets 62-1 to 62-7 transmitted in the second wireless communication system 1-2 are illustrated in different patterns.

[0065] In the first wireless communication system 1-1, packets 61-1 to 61-7 are transmitted at each connection interval. Furthermore, the communication channel used for transmission is changed at each connection interval.

[0066] Similarly, in the second wireless communication system 1-2, each of packets 62-1 to 62-7 is transmitted during each connection interval. Furthermore, the communication channel used for transmission is changed during each connection interval.

[0067] A packet collision occurs when the transmission of any of packets 61-1 to 61-7 in the first wireless communication system 1-1 overlaps with the transmission of any of packets 62-1 to 62-7 in the second wireless communication system 1-2 in the frequency domain and time domain. In the example shown in Figure 8, a collision occurs between packet 61-3 in the first wireless communication system 1-1 and packet 62-3 in the second wireless communication system 1-2. Also, a collision occurs between packet 61-6 in the first wireless communication system 1-1 and packet 62-6 in the second wireless communication system 1-2.

[0068] If a packet collision occurs, the wireless communication device 2 or 3 in the wireless communication system 1 (for example, the first wireless communication system 1-1 or the second wireless communication system 1-2) is configured to avoid subsequent packet collisions (i.e., interference) in different ways depending on whether the error occurred in the forward data portion or the backward data portion of the packet.

[0069] Here, we will describe the data structure of packets transmitted in wireless communication system 1.

[0070] Figure 9 shows an example of the data structure of a packet transmitted in wireless communication system 1. Packet 6 includes, for example, a preamble 601, an access address 602, a protocol data unit (PDU) 603, and a CRC 604, in that order from the beginning.

[0071] Preamble 601 is data used to detect the beginning of packet 6. Specifically, preamble 601 is, for example, a specific bit sequence used to detect the beginning of packet 6. The size of preamble 601 is predetermined, for example, 8 bits.

[0072] Access address 602 is data used to identify the destination device. Specifically, access address 602 is a bit sequence used to identify the destination device. The size of access address 602 is predetermined, for example, 32 bits.

[0073] The preamble 601 and access address 602 are known information to the wireless communication device 2 or 3 that is to receive packet 6. The portion consisting of the preamble 601 and access address 602 is also referred to as the forward data portion 6F.

[0074] A PDU603 includes a header and a payload. The payload contains the data to be transmitted to the destination device. The header contains information about the payload. The size of a portion of the payload can be arbitrarily set within a specific range, for example, as the Maximum Transfer Unit (MTU) size. Therefore, the overall size of packet 6 can be changed (adjusted) by the MTU, etc.

[0075] CRC604 is the CRC (CRC code) calculated for PDU603. For example, a predefined CRC polynomial is used to calculate CRC604. The size of CRC604 is predefined, for example, 24 bits.

[0076] PDU603 and CRC604 are unknown information to the radio communication device 2 or 3 that is to receive packet 6. The portion consisting of PDU603 and CRC604 is also called the backward data portion 6R. The backward data portion 6R follows the forward data portion 6F.

[0077] Wireless communication device 2 or 3 transmits a packet 6 having such a data structure via wireless communication.

[0078] Figure 10 shows examples of cases in the first wireless communication system 1-1 and the second wireless communication system 1-2, including (a) a case in which no packet 6 collision occurs, (b) a case in which a first type packet 6 collision occurs, and (c) a case in which a second type packet 6 collision occurs.

[0079] In Figure 10, the horizontal axis represents time. Furthermore, it is assumed that the transmission of packet 6 in the first wireless communication system 1-1 and the transmission of packet 6 in the second wireless communication system 1-2 are taking place on the same communication channel. The same applies to the examples shown in Figures 12, 13, 15, 16, 18, and 21, which will be described later.

[0080] In the example shown in Figure 10, the transmission of packet 61 (hereinafter referred to as "first packet 61") in the first wireless communication system 1-1 and the transmission of packet 62 (hereinafter referred to as "second packet 62") in the second wireless communication system 1-2 are carried out on the same communication channel. First packet 61 includes a forward data portion 61F and a backward data portion 61R. Second packet 62 includes a forward data portion 62F and a backward data portion 62R. Note that the forward data portion and the backward data portion are illustrated in different patterns.

[0081] In the case shown in Figure 10(a), the transmission of the first packet 61 is completed at time t11. Then, at time t12, which is later than time t11, the transmission of the second packet 62 begins.

[0082] Therefore, in the case shown in Figure 10(a), no collision occurs between the first packet 61 and the second packet 62. Consequently, no errors occur in the transmission of packets 61 and 62 in either the first wireless communication system 1-1 or the second wireless communication system 1-2.

[0083] In the case shown in Figure 10(b), the transmission of the second packet 62 begins at time t21, while the backward data portion 61R of the first packet 61 is being transmitted. Then, the forward data portion 62F of the second packet 62 is transmitted, and the transmission of the first packet 61 ends at time t22, while the backward data portion 62R is being transmitted.

[0084] Therefore, in the case shown in Figure 10(b), a collision occurs between the first packet 61 and the second packet 62. Specifically, a collision occurs between a portion of the backward data portion 61R of the first packet 61 and a portion of the forward data portion 62F and backward data portion 62R of the second packet 62.

[0085] In this case, a CRC error occurs in the first wireless communication system 1-1 because the backward data portion 61R is not correctly acquired (received). Specifically, the packet error analysis unit 42 of the first central 2-1, or the packet error analysis unit 52 of the peripheral 31, determines whether the error that occurred is a CRC error or a non-arrival error based on whether the error occurred in the forward data portion 61F or the backward data portion 61R contained in the packet 61. In this case, the packet error analysis unit 42 of the first central 2-1, or the packet error analysis unit 52 of the peripheral 31, detects a mismatch between the data that should be acquired and the CRC 604 in the CRC verification of the first packet 61 as a CRC error because at least one of the PDU 603 and CRC 604 contained in the backward data portion 61R is not correctly acquired.

[0086] Furthermore, in the second wireless communication system 1-2, a non-arrival error occurs because the forward data portion 62F is not properly acquired. Specifically, the packet error analysis unit 42 of the second central 2-2, or the packet error analysis unit 52 of the peripheral 32, detects the non-delivery of the forward data portion 62F (i.e., the non-delivery of at least a portion of the second packet 62, excluding the backward data portion 62R used for CRC verification) as a non-arrival error.

[0087] Furthermore, in the second wireless communication system 1-2, a CRC error also occurs because the backward data portion 62R is not acquired correctly. When both a non-arrival error and a CRC error occur, the packet error analysis unit 42 of the second central 2-2, or the packet error analysis unit 52 of the peripheral 32, determines that the error occurring in the second wireless communication system 1-2 is a non-arrival error.

[0088] Therefore, in the case shown in Figure 10(b), a CRC error occurs in the first packet 61 of the first wireless communication system 1-1, and a non-arrival error occurs in the second packet 62 of the second wireless communication system 1-2. Hereinafter, a packet 6 collision in which a CRC error occurs in a packet 6 of one wireless communication system 1 and a non-arrival error occurs in a packet 6 of another wireless communication system 1 will also be referred to as a first type packet 6 collision.

[0089] In the case shown in Figure 10(c), the transmission of the second packet 62 begins at time t31, while the forward data portion 61F of the first packet 61 is being transmitted. Then, at time t32, while the forward data portion 62F of the second packet 62 is being transmitted and the backward data portion 62R is being transmitted, the transmission of the first packet 61 ends.

[0090] Therefore, in the case shown in Figure 10(c), a collision occurs between the first packet 61 and the second packet 62. Specifically, a collision occurs between a portion of the forward data portion 61F and the backward data portion 61R of the first packet 61, and a portion of the forward data portion 62F and the backward data portion 62R of the second packet 62.

[0091] In this case, a non-arrival error occurs in the first wireless communication system 1-1 because the forward data portion 61F is not properly acquired (received). Specifically, the packet error analysis unit 42 of the first central 2-1, or the packet error analysis unit 52 of the peripheral 31, detects the failure to receive the forward data portion 61F as a non-arrival error.

[0092] Furthermore, in the first wireless communication system 1-1, a CRC error also occurs because the backward data portion 61R is not acquired correctly. When both a non-arrival error and a CRC error occur, the packet error analysis unit 42 of the first central 2-1, or the packet error analysis unit 52 of the peripheral 31, determines that the error occurring in the first wireless communication system 1-1 is a non-arrival error.

[0093] Furthermore, in the second wireless communication system 1-2, a non-arrival error occurs because the forward data portion 62F is not properly acquired. Specifically, the packet error analysis unit 42 of the second central 2-2, or the packet error analysis unit 52 of the peripheral 32, detects the failure to receive the forward data portion 62F as a non-arrival error.

[0094] Furthermore, in the second wireless communication system 1-2, a CRC error also occurs because the backward data portion 62R is not acquired correctly. When both a non-arrival error and a CRC error occur, the packet error analysis unit 42 of the second central 2-2, or the packet error analysis unit 52 of the peripheral 32, determines that the error occurring in the second wireless communication system 1-2 is a non-arrival error.

[0095] Therefore, in the case shown in Figure 10(c), a non-arrival error occurs in the first packet 61 of the first wireless communication system 1-1, and a non-arrival error occurs in the second packet 62 of the second wireless communication system 1-2. Hereinafter, a packet 6 collision in which a non-arrival error occurs in a packet 6 of one wireless communication system 1 and a non-arrival error occurs in a packet 6 of another wireless communication system 1 will also be referred to as a second type of packet 6 collision.

[0096] Thus, in the case of a packet 6 collision between the first wireless communication system 1-1 and the second wireless communication system 1-2, there is a case in which a non-arrival error occurs in both wireless communication systems 1-1 and 1-2 (i.e., a second type of packet 6 collision). Furthermore, in the case of a packet 6 collision between three or more wireless communication systems 1, there is a case in which a non-arrival error occurs in all wireless communication systems 1.

[0097] On the other hand, there are no cases in which a collision of packet 6 between the first wireless communication system 1-1 and the second wireless communication system 1-2 results in a CRC error occurring in both wireless communication systems 1-1 and 1-2. Furthermore, even in cases of a collision of packet 6 between three or more wireless communication systems 1, there are basically no cases in which a CRC error occurs in all of the wireless communication systems 1.

[0098] Therefore, the wireless communication device 2 or 3 according to this embodiment efficiently reduces packet collisions (interference) in multiple wireless communication systems 1 by utilizing the asymmetry in a collision of the first type of packet 6, in which a CRC error occurs in one wireless communication system 1 and a non-arrival error occurs in the other wireless communication system 1. Below, an example of configuration and operation for efficiently reducing packet collisions in multiple wireless communication systems 1 will be described.

[0099] (Avoiding interference by separating the subchannel groups used) As mentioned above, packet 6 collisions occur when the transmission of packet 6 in multiple wireless communication systems 1 (for example, the transmission of packet 6 in the first wireless communication system 1-1 and the transmission of packet 6 in the second wireless communication system 1-2) overlaps in the frequency domain and time domain. Therefore, by using different communication channels in each of the multiple wireless communication systems 1, packet 6 collisions in the multiple wireless communication systems 1 can be avoided.

[0100] In wireless communication system 1, the frequency band available for communication between the central 2 and the peripheral 3 is divided into P sub-frequency bands (i.e., communication channels) for each specific frequency unit. The available frequency band is, for example, the frequency band specified in the wireless communication standard to which wireless communication system 1 conforms. The specific frequency unit can be set arbitrarily, for example, 2 MHz. At least a portion of each of the P sub-frequency bands belongs to, for example, one of Q groups (sub-channel groups). P is, for example, an integer greater than or equal to Q. Q is, for example, an integer greater than or equal to 2.

[0101] For example, in BLE, 37 of the 40 communication channels obtained by dividing the frequency band from 2400MHz to 2480MHz into 2MHz units are used for transmitting packet 6. These 37 communication channels are distributed without overlap into, for example, Q groups. Q is, for example, 4. The groups to which communication channels are distributed are called subchannel groups. One subchannel group may contain, for example, multiple communication channels. These multiple communication channels may be consecutive in the frequency domain or distributed. For example, if 37 communication channels are distributed into 4 subchannel groups, these 4 subchannel groups are called subchannel groups A, B, C, and D.

[0102] Specifically, for example, the scheduling update unit 43 of the central unit 2 sets (updates) communication parameters so that each of the multiple wireless communication systems 1 uses a different subchannel group. Alternatively, the scheduling update unit 53 of the peripheral unit 3 requests the central unit 2 to set communication parameters so that each of the multiple wireless communication systems 1 uses a different subchannel group. This makes it possible to avoid interference between the multiple wireless communication systems 1.

[0103] (Avoiding interference by changing the subchannel group used) Here, we assume that the first wireless communication system 1-1 and the second wireless communication system 1-2 communicate using the same connection interval. Furthermore, we assume that the first wireless communication system 1-1 uses subchannel group A or B, and the second wireless communication system 1-2 uses subchannel group B or C.

[0104] In this case, if subchannel group B is used, a packet 6 collision may occur between the first wireless communication system 1-1 and the second wireless communication system 1-2. Therefore, it is desirable to (1) change the system so that subchannel group A or B is used in the first wireless communication system 1-1 and subchannel group C is used in the second wireless communication system 1-2, or (2) change the system so that subchannel group A is used in the first wireless communication system 1-1 and subchannel group B or C is used in the second wireless communication system 1-2.

[0105] As mentioned above with reference to Figure 10, the case in which a CRC error occurs in all of the multiple wireless communication systems 1 is basically nonexistent. Therefore, in a wireless communication system 1 where a CRC error occurs, for example, the scheduling update unit 43 of the central 2 changes the subchannel group used by that wireless communication system 1. Alternatively, the scheduling update unit 53 of the peripheral 3 requests the central 2 to change the subchannel group used by that wireless communication system 1.

[0106] Furthermore, in the wireless communication system 1 where a non-arrival error occurs, for example, the scheduling update unit 43 of the central 2 does not change the subchannel group used by the wireless communication system 1. Alternatively, the scheduling update unit 53 of the peripheral 3 does not request the central 2 to change the subchannel group used by the wireless communication system 1.

[0107] Specifically, for example, if a CRC error occurs in the transmission of packet 6 using subchannel group B in the first wireless communication system 1-1, the scheduling update unit 43 of the first central 2-1 changes the communication parameters so that subchannel group A is used instead of subchannel group B for communication in the first wireless communication system 1-1. Also, if a non-arrival error occurs in the transmission of packet 6 using subchannel group B in the second wireless communication system 1-2, the scheduling update unit 43 of the second central 2-2 does not change the communication parameters so that subchannel group B continues to be used for communication in the second wireless communication system 1-2. As a result, subchannel group B is not used in the first wireless communication system 1-1, while its use continues in the second wireless communication system 1-2.

[0108] For example, if a CRC error occurs in the transmission of packet 6 using subchannel group B in the second wireless communication system 1-2, the scheduling update unit 43 of the second central 2-2 changes the communication parameters so that subchannel group C is used instead of subchannel group B for communication in the second wireless communication system 1-2. Also, if a non-arrival error occurs in the transmission of packet 6 using subchannel group B in the first wireless communication system 1-1, the scheduling update unit 43 of the first central 2-1 does not change the communication parameters so that subchannel group B continues to be used for communication in the first wireless communication system 1-1. As a result, subchannel group B is not used in the second wireless communication system 1-2, while its use continues in the first wireless communication system 1-1.

[0109] Thus, in the wireless communication system 1 where a CRC error occurs, the subchannel group used is changed, while in other wireless communication systems 1 where a non-arrival error occurs (i.e., no CRC error occurs), the use of that subchannel group continues. Therefore, by performing different actions regarding the change of subchannel group depending on the type of error that occurs, interference between multiple wireless communication systems 1 can be efficiently reduced.

[0110] This section describes the specific process for changing the subchannel group in response to a CRC error occurring during the transmission of packet 6 in wireless communication system 1.

[0111] Figure 11 is a flowchart illustrating an example of the procedure for the first reception and control processing performed by the CPU 201 of Central 2. The first reception and control processing is a process for controlling the frequency (communication channel) used for communication in the wireless communication system 1 (piconet) according to the data reception status from peripheral 3. For example, the CPU 201 executes the first reception and control processing for each connection interval during which data can be received from peripheral 3. Here, we illustrate the case in which the CPU 201 executes the first reception and control processing for one connection interval during which data can be received from a certain peripheral 3 (hereinafter also referred to as the target connection interval).

[0112] First, the CPU 201 determines whether or not it has received data from peripheral 3 during the target connection interval (step S101). The received data may be, for example, at least a part of packet 6 sent from peripheral 3 to central 2.

[0113] If data is received from peripheral 3 during the target connection interval (Yes in step S101), the CPU 201 determines whether the preamble 601 contained in the received data is a specific bit sequence (step S102). In other words, the CPU 201 determines whether the preamble 601, which is a specific bit sequence, is included at the beginning of the received data.

[0114] If the preamble 601 included in the received data is a specific bit sequence (Yes in step S102), the CPU 201 determines whether the access address 602 included in the received data is the address corresponding to Central 2 (step S103). In other words, the CPU 201 determines whether the received data includes an access address 602 after the preamble 601 that indicates the address corresponding to Central 2.

[0115] If the access address 602 included in the received data is the address corresponding to Central 2 (Yes in step S103), the CPU 201 calculates the CRC (first CRC) of the PDU 603 included in the received data (step S104). The CPU 201 obtains the CRC (second CRC) included in the received data (step S105). Then, the CPU 201 determines whether the first CRC is equal to the second CRC (step S106).

[0116] If the first CRC is equal to the second CRC (Yes in step S106), the CPU 201 terminates the first reception and control process. Specifically, the CPU 201 determines that the received data is packet 6, which has been received correctly without errors, and terminates the first reception and control process without changing the frequency (frequency band) used by central 2 for communication. Packet 6, which has been received correctly without errors, is a packet that has not collided with another packet 6. In other words, during the period in which this packet 6 was received, no interference occurred between the wireless communication system 1, including central 2, and another wireless communication system 1. In this case, the CPU 201 performs processing according to the received packet 6, for example.

[0117] If the first CRC is different from the second CRC (No. in step S106), the CPU 201 changes the subchannel group used by the wireless communication system 1, including the central 2 (step S107). This allows the central 2 to communicate using the changed subchannel group. The CPU 201 then adds an entry indicating the CRC error to the error history table 451 (step S108) and terminates the first reception and control process. Specifically, the CPU 201 determines that a CRC error has occurred in the post-data portion 6R of packet 6 corresponding to the received data, based on the fact that the first CRC is different from the second CRC. In this case, the CPU 201 changes the subchannel group used by the wireless communication system 1, including the central 2. The CPU 201 also adds an entry indicating the CRC error to the error history table 451. The added entry indicates, for example, the date and time the CRC error occurred (for example, the date and time representing the corresponding connection event), the CRC error, the identification information of peripheral 3, and the communication channel with peripheral 3.

[0118] Furthermore, if no data is received from peripheral 3 during the target connection interval (No. in step S101), if the preamble 601 is not a specific bit sequence (No. in step S102), or if the access address 602 is not the address corresponding to central 2 (No. in step S103), the CPU 201 adds an entry indicating a non-arrival error to the error history table 451 (step S109) and terminates the first reception and control process. Specifically, the CPU 201 determines that a non-arrival error (failure to deliver) has occurred in the forward data portion 6F of packet 6 corresponding to the received data, based on one of the following: no data is received from peripheral 3 during the target connection interval, the preamble 601 is not a specific bit sequence, or the access address 602 is not the address corresponding to central 2. In this case, the CPU 201 does not change the subchannel group used by the wireless communication system 1, including central 2. The CPU 201 also adds an entry indicating a non-arrival error to the error history table 451. The added entries will include, for example, the date and time the non-arrival error occurred (e.g., the date and time representing the corresponding connection event), the non-arrival error itself, the identification information for peripheral 3, and the communication channel with peripheral 3.

[0119] Through the above first reception and control process, if a CRC error occurs in the backward data portion 6R of the data (packet 6) received from peripheral 3, central 2 changes the subchannel group used by wireless communication system 1. However, if a non-arrival error occurs in the forward data portion 6F of the packet 6 received from peripheral 3, central 2 does not change the subchannel group used by wireless communication system 1. In this way, central 2 can efficiently reduce interference with other wireless communication systems 1 by changing the subchannel group used when a CRC error occurs and not changing the subchannel group used when a non-arrival error occurs.

[0120] Specifically, for example, among multiple wireless communication systems 1, the central 2 of the wireless communication system 1 where a CRC error occurs changes the subchannel group it uses, while the central 2 of another wireless communication system 1 where a non-arrival error occurs does not change the subchannel group it uses. In other words, if an error related to received data occurs in each of the multiple wireless communication systems 1 (multiple centrals 2), each central 2 decides whether or not to change the subchannel group depending on the type of error that occurred. As a result, the subchannel group used is changed only in the wireless communication system 1 where the CRC error occurred. Therefore, compared to a case where, for example, each central that experiences an error related to received data changes the subchannel group it uses regardless of the type of error, the central 2 according to this embodiment can efficiently reduce interference between multiple wireless communication systems 1.

[0121] The first reception and control process may also be performed by the CPU 301 of peripheral 3. In that case, in the first reception and control process shown in Figure 11, central 2 and peripheral 3 are replaced, and the process of changing the subchannel group to be used in step S107 is replaced with a process of requesting central 2 to change the subchannel group to be used. If this request is accepted (permitted) by central 2, the subchannel group used by the wireless communication system 1 including peripheral 3 is changed. As a result, peripheral 3 can communicate using the changed subchannel group if a CRC error occurs in the received data. Therefore, the same effect as when the first reception and control process is performed by central 2 can be obtained even when the first reception and control process is performed by peripheral 3.

[0122] (Avoiding interference by changing (adjusting) the start timing (start time) of connection events) Wireless communication devices 2 or 3 can communicate at a fixed communication cycle (connection interval), such as BLE notifications. In this case, wireless communication devices 2 or 3 adjust the transmission of packet 6 in the time domain depending on whether a CRC error or a non-arrival error occurs. This allows wireless communication devices 2 or 3 to avoid packet 6 collisions. In other words, in addition to changing the frequency (subchannel group), another way to avoid packet 6 collisions between multiple wireless communication systems 1 is to change the start timing of connection events. Note that here it is assumed that multiple wireless communication systems 1 communicate at the same connection interval.

[0123] Methods for changing the timing of connection event initiation include, for example, (1) lengthening the connection interval in wireless communication system 1 where a non-arrival error has occurred, and (2) shortening the connection interval in wireless communication system 1 where a CRC error has occurred. Temporary changes to the connection interval (e.g., one or multiple consecutive changes) can be achieved, for example in Bluetooth, through a feature called Coarse Clock Adjustment, or clock dragging.

[0124] Figure 12 shows an example where, in the event of a packet collision between the first wireless communication system 1-1 and the second wireless communication system 1-2, the connection interval is lengthened in the second wireless communication system 1-2 where a non-arrival error occurred.

[0125] In the example shown in Figure 12, at time t41, the transmission of packet 61-11 in the first wireless communication system 1-1 begins. Then, at time t42, while the latter data portion of packet 61-11 is being transmitted, the transmission of packet 62-11 in the second wireless communication system 1-2 begins.

[0126] Therefore, packet 61-11 from the first wireless communication system 1-1 and packet 62-11 from the second wireless communication system 1-2 will collide. Specifically, in the first wireless communication system 1-1, a CRC error occurs in packet 61-11 because the backward data portion is not properly acquired. Also, in the second wireless communication system 1-2, a non-arrival error occurs in packet 62-11 because the forward data portion is not properly acquired.

[0127] In this case, the wireless communication device 2 or 3 of the second wireless communication system 1-2, which experienced a non-arrival error, sets the connection interval 72 until the transmission of the next packet 62-12 to be longer by time d1 than the normal connection interval 71. Time d1 can be set arbitrarily, for example, 50 microseconds (μs). Specifically, the scheduling update unit 43 of the central 2 or the scheduling update unit 53 of the peripheral 3 updates the communication parameters so that the connection interval 72 is longer by time d1 than the normal connection interval 71. As a result, in the second wireless communication system 1-2, the time interval (i.e., connection interval 72) from the time t42 when the transmission of packet 62-11 begins to the time t44 when the transmission of the next packet 62-12 begins becomes longer.

[0128] On the other hand, in the first wireless communication system 1-1 where the CRC error occurred, the time interval from the time t41 when the transmission of packet 61-11 began to the time t43 when the transmission of the next packet 61-12 began remains the normal connection interval 71.

[0129] In the second wireless communication system 1-2 where a non-arrival error occurred, a long connection interval 72 is set, which delays the start of transmission of the next packets 62-12. This prevents a collision between the next packets 61-12 in the first wireless communication system 1-1 and the next packets 62-12 in the second wireless communication system 1-2.

[0130] Furthermore, Figure 13 shows an example in which the connection interval is shortened in the first wireless communication system 1-1 where a CRC error occurred when a packet 6 collision occurs between the first wireless communication system 1-1 and the second wireless communication system 1-2.

[0131] In the example shown in Figure 13, at time t51, the transmission of packet 61-21 in the first wireless communication system 1-1 begins. Then, at time t52, while the latter data portion of packet 61-21 is being transmitted, the transmission of packet 62-21 in the second wireless communication system 1-2 begins.

[0132] Therefore, packet 61-21 from the first wireless communication system 1-1 and packet 62-21 from the second wireless communication system 1-2 will collide. Specifically, in the first wireless communication system 1-1, a CRC error occurs in packet 61-21 because the backward data portion is not properly acquired. Also, in the second wireless communication system 1-2, a non-arrival error occurs in packet 62-21 because the forward data portion is not properly acquired.

[0133] In this case, the wireless communication device 2 or 3 of the first wireless communication system 1-1, which has experienced a CRC error, sets the connection interval 73 until the transmission of the next packet 61-22 to be d2 shorter than the normal connection interval 71. Time d2 can be set arbitrarily, for example, 50 μs. Time d2 may be the same as or different from time d1. Specifically, the scheduling update unit 43 of the central 2 or the scheduling update unit 53 of the peripheral 3 updates the communication parameters so that the connection interval 73 is d2 shorter than the normal connection interval 71. As a result, in the first wireless communication system 1-1, the time interval (i.e., connection interval 73) from the time t51 when the transmission of packet 61-21 begins to t53 when the transmission of the next packet 61-22 begins to be shortened.

[0134] On the other hand, in the second wireless communication system 1-2 where the non-arrival error occurred, the time interval from the time t52 when the transmission of packet 62-21 began to the time t54 when the transmission of the next packet 62-22 began remains the normal connection interval 71.

[0135] In the first wireless communication system 1-1 where a CRC error occurred, setting a short connection interval 73 causes the transmission of the next packet 61-22 to begin earlier than usual. This prevents a collision between the next packet 61-22 in the first wireless communication system 1-1 and the next packet 62-22 in the second wireless communication system 1-2.

[0136] This section provides a detailed explanation of the procedure for changing the start timing of connection events.

[0137] Figure 14 is a flowchart illustrating an example of the procedure for the second receive and control process performed by the CPU 201 of Central 2. The second receive and control process is a process for changing the start timing of connection events used for communication in the wireless communication system 1, depending on the data reception status from peripheral 3. For example, the CPU 201 executes the second receive and control process at each connection interval during which data can be received from peripheral 3.

[0138] Here, we illustrate the case where CPU201 performs a second reception and control process for a single connection interval (target connection interval) during which data can be received from a certain peripheral 3. It is assumed that if a CRC error occurs in central 2, a non-arrival error occurs in a separate wireless communication system 1 (e.g., second wireless communication system 1-2) from the wireless communication system 1 including central 2 (e.g., first wireless communication system 1-1). Furthermore, if a non-arrival error occurs in central 2, it is assumed that a CRC error occurs in a separate wireless communication system 1 from the wireless communication system 1 including central 2.

[0139] The process from step S201 to step S206 is the same as the process from step S101 to step S106 of the first reception and control process described above, with reference to Figure 11.

[0140] If the calculated CRC of PDU603 (first CRC) is equal to the CRC included in the received data (second CRC) (Yes in step S206), the CPU201 terminates the second reception and control process. Specifically, the CPU201 determines that the received data is packet 6 which has been received correctly without errors, and terminates the second reception and control process without changing the connection interval used in the wireless communication system 1, including the central 2.

[0141] If the first CRC is different from the second CRC (No. in step S206), the CPU 201 shortens the connection interval before starting the transmission of the next packet 6 (step S207). In other words, the CPU 201 shortens the connection interval if a CRC error occurs in the latter data portion 6R of packet 6 corresponding to the received data. This allows the wireless communication system 1 to transmit the next packet 6 earlier than usual based on the shorter connection interval. Then, the CPU 201 adds an entry indicating the CRC error to the error history table 451 (step S208) and terminates the second reception and control process.

[0142] Furthermore, if no data has been received from peripheral 3 during the target connection interval (No. in step S201), if the preamble 601 is not a specific bit sequence (No. in step S202), or if the access address 602 is not the address corresponding to central 2 (No. in step S203), the CPU 201 lengthens the connection interval before starting the transmission of the next packet 6 (step S209). In other words, the CPU 201 lengthens the connection interval if a non-arrival error occurs in the preceding data portion 6F of packet 6 corresponding to the received data. Then, the CPU 201 adds an entry indicating the non-arrival error to the error history table 451 (step S210) and terminates the second reception and control process.

[0143] As a result of the second reception and control process described above, if a CRC error occurs in the data (packet 6) received from peripheral 3, central 2 shortens the connection interval until the transmission of the next packet 6 begins. Conversely, if a non-arrival error occurs in packet 6 from peripheral 3, central 2 lengthens the connection interval until the transmission of the next packet 6 begins. In this way, central 2 can efficiently reduce interference with other wireless communication systems 1 by shortening the connection interval when a CRC error occurs and lengthening the connection interval when a non-arrival error occurs.

[0144] Specifically, for example, among the multiple wireless communication systems 1, the central 2-1 of the first wireless communication system 1-1 where a CRC error occurred shortens the connection interval, while the central 2-2 of the second wireless communication system 1-2 where a non-arrival error occurred lengthens the connection interval. In other words, if an error related to received data occurs in each of the multiple wireless communication systems 1 (multiple centrals 2), each central 2 changes the length of the connection interval according to the type of error that occurred. Therefore, compared to a case where each central that experiences an error related to received data changes the connection interval regardless of the type of error, the central 2 according to this embodiment can efficiently reduce interference between the multiple wireless communication systems 1.

[0145] Furthermore, in the second reception and control processing, the CPU 201 of Central 2 may perform either step S207, which shortens the connection interval in response to the occurrence of a CRC error, or step S209, which lengthens the connection interval in response to the occurrence of a non-arrival error.

[0146] Furthermore, the second reception and control process may be performed by the CPU 301 of peripheral 3. In that case, in the second reception and control process shown in Figure 14, central 2 and peripheral 3 are replaced. This allows peripheral 3 to change the connection interval until the transmission of the next packet 6 begins, depending on the type of error that occurred in the received data. Therefore, the same effect can be obtained when the second reception and control process is performed in peripheral 3 as when it is performed in central 2.

[0147] (Resolving persistent non-arrival errors caused by clock drift) As previously mentioned with reference to Figure 10(c), there is a case in which a non-arrival error occurs in all of the multiple wireless communication systems 1 (i.e., a collision of the second type of packet 6). For example, wireless communication device 2 or 3 of wireless communication system 1 where a CRC error occurred changes the subchannel group used by that wireless communication system 1. In contrast, wireless communication device 2 or 3 of wireless communication system 1 where a non-arrival error occurred does not change the subchannel group used by that wireless communication system 1. In this case, non-arrival errors may continue to occur in all of the multiple wireless communication systems 1.

[0148] However, the period during which non-arrival errors continuously occur in all of the multiple wireless communication systems 1 is very short. In each wireless communication system 1, communication timing scheduling is performed based on, for example, the clock of the central 2. Also, generally, multiple wireless communication systems 1 operate independently of each other. Therefore, the clocks of the multiple central 2s included in each of the multiple wireless communication systems 1 are not synchronized. As a result, there is a slight difference in the clocks of the multiple central 2s. Consequently, clock drift occurs in the multiple wireless communication systems 1, causing a shift in communication timing due to the clock difference. For example, in a wireless communication system 1 compliant with Bluetooth, the allowable clock accuracy is 250 parts per million (ppm). That is, in Bluetooth, approximately 22 seconds (≒250 × 10¹⁶) per day. -6 A clock drift of 21.6 (x60 x 60 x 24) is acceptable.

[0149] To make the explanation easier to understand, we will illustrate with an example of a case where a non-arrival error occurs between the first wireless communication system 1-1 and the second wireless communication system 1-2 (a collision of packet 6 of type 2).

[0150] Figure 15 shows an example in which collisions of type 2 packets are resolved by clock drift in the first wireless communication system 1-1 and the second wireless communication system 1-2.

[0151] In the example shown in Figure 15, at time t61, the transmission of packet 61-a of the first wireless communication system 1-1 begins. Then, at time t62, just before the transmission of the preceding data portion of packet 61-a is completed, the transmission of packet 62-a of the second wireless communication system 1-2 begins.

[0152] Therefore, packets 61-a and 62-a collide. The time during which the preceding data portion of packet 61-a and the preceding data portion of packet 62-a overlap is very short. This collision between packets 61-a and 62-a indicates a state (start state) in which non-arrival errors begin to occur in both the first wireless communication system 1-1 and the second wireless communication system 1-2.

[0153] Subsequently, at time t63, the transmission of packet 61-b of the first wireless communication system 1-1 begins. Then, at time t64, while the preceding data portion of packet 61-b is being transmitted, the transmission of packet 62-b of the second wireless communication system 1-2 begins.

[0154] Therefore, packets 61-b and 62-b collide. The time during which the forward data portion of packet 61-b and the forward data portion of packet 62-b overlap has changed from the initial state due to clock drift. More specifically, for example, due to clock drift in which the clock of central 2 of the first wireless communication system 1-1 is delayed, and clock drift in which the clock of central 2 of the second wireless communication system 1-2 is advanced, the time during which the forward data portion of packet 61-b and the forward data portion of packet 62-b overlap has become longer than the initial state. In other words, the collision between packets 61-b and 62-b indicates an intermediate state in which the timing of non-arrival errors occurring in the first wireless communication system 1-1 and the second wireless communication system 1-2 has changed due to clock drift.

[0155] Subsequently, at time t65, the transmission of packet 62-c of the second wireless communication system 1-2 begins. Then, at time t66, just before the transmission of the preceding data portion of packet 62-c is completed, the transmission of packet 61-c of the first wireless communication system 1-1 begins.

[0156] Therefore, packets 62-c and 61-c collide. Due to clock drift, the time t66 at which transmission of packet 61-c in the first wireless communication system 1-1 begins is later than the time t65 at which transmission of packet 62-c in the second wireless communication system 1-2 begins. Also, the time during which the forward data portion of packet 62-c and the forward data portion of packet 61-c overlap has changed from the aforementioned intermediate state due to clock drift. More specifically, for example, due to at least one of the clock drifts, such as the delay in the clock of central 2 in the first wireless communication system 1-1 and the advancement of the clock of central 2 in the second wireless communication system 1-2, the time during which the forward data portion of packet 62-c and the forward data portion of packet 61-c overlap is very short. In other words, the collision between packets 62-c and 61-c indicates a state (termination state) where non-arrival errors occurring in both the first wireless communication system 1-1 and the second wireless communication system 1-2 are terminated by clock drift.

[0157] Thus, the condition in which non-arrival errors continuously occur in the first wireless communication system 1-1 and the second wireless communication system 1-2 (collision of packet 6 of type 2) can be resolved by clock drift.

[0158] Specifically, for example in Bluetooth, the total size of the preamble 601 and access address 602 (i.e., the size of the forward data portion 6F) is 40 bits. Assuming that the data transmission rate in each wireless communication system 1 is 1 Mbit / second (bps), the clock drift required from the start state to the end state of a non-arrival error between the first wireless communication system 1-1 and the second wireless communication system 1-2 is 80 μs (= 40 bits / 1 * 10⁻¹⁰). 6This is calculated as bps × 2). In Bluetooth, the maximum clock drift allowed between two wireless communication systems 1-1 and 1-2 is 44 seconds (= 22 seconds × 2) per day, i.e., over 86,400 seconds. When the maximum allowable clock drift occurs, the time during which non-arrival errors persist between the two wireless communication systems 1-1 and 1-2 is approximately 150 ms (≒ 80 10 ms). -6 (157 ms) is a very short time (157 ms x 86400 seconds). Furthermore, even if the clock drift occurring in the two wireless communication systems 1-1 and 1-2 is 1 / 1000 of the maximum allowable clock drift, the time during which non-arrival errors continue to occur is 150 seconds (= 150 ms x 1000).

[0159] Therefore, the duration for which non-arrival errors persist in the two wireless communication systems 1-1 and 1-2 is relatively short, especially when considering devices (wireless communication equipment) that operate for extended periods. For this reason, for example, after the non-arrival errors that persist in the two wireless communication systems 1-1 and 1-2 are resolved, interference between the two wireless communication systems 1 can be efficiently reduced by changing the subchannel group used for communication in response to the occurrence of a CRC error in either wireless communication system 1-1 or 1-2. In other words, interference between the two wireless communication systems 1 can be efficiently reduced by changing the subchannel group used for communication in either wireless communication system 1-1 or 1-2 (or by the peripheral 3 requesting a change in the subchannel group used for communication from central 2).

[0160] (Holding off transmission of data packets) In particular, for applications requiring low latency, it may be desirable to avoid packet collisions, even for short periods of time. In such cases, the scheduling update unit 43 of the central 2 or the scheduling update unit 53 of the peripheral 3 determines whether non-arrival errors are occurring continuously before communication begins. The scheduling update unit 43 or 53 determines whether non-arrival errors are occurring continuously based, for example, on the number of non-arrival errors that occurred within the most recent unit period. The unit period is an arbitrarily configurable period, for example, 60 seconds. For example, if the connection interval is 60ms and the unit period is 60 seconds, the scheduling update unit 43 or 53 determines whether non-arrival errors are occurring continuously based on the number of non-arrival errors that occurred in approximately 1000 connection events. In this case, the scheduling update unit 43 or 53 can determine whether non-arrival errors are occurring continuously based on a sufficient amount of data. The scheduling update unit 43 or 53 obtains the number of non-arrival errors that occurred in the most recent unit period, for example, using the error history table 451 or 551. Specifically, if the number of non-arrival errors that occurred in the most recent unit period is less than or equal to the first threshold, the scheduling update unit 43 or 53 determines that no non-arrival errors have occurred continuously. On the other hand, if the number of non-arrival errors that occurred in the most recent unit period exceeds the first threshold, the scheduling update unit 43 or 53 determines that no non-arrival errors have occurred continuously. The scheduling update unit 43 or 53 may also determine whether no non-arrival errors have occurred continuously based on the duration of consecutive non-arrival errors or the number of consecutive non-arrival errors.

[0161] If no non-arrival errors occur continuously, wireless communication device 2 or 3 transmits a data packet. The data packet is packet 6 containing, as the payload of PDU 603, the data to be sent to the destination wireless communication device 2 or 3 (more specifically, for example, data to be sent to the destination wireless communication device 2 or 3 with low latency). Specifically, for example, the scheduling update unit 43 of central 2 does not update the communication parameters, and the communication unit 41 transmits the data packet under the control of the scheduling control unit 44. Also, for example, the scheduling update unit 53 of peripheral 3 does not update the communication parameters, and the communication unit 51 transmits the data packet under the control of the scheduling control unit 54.

[0162] On the other hand, if non-arrival errors continue to occur, wireless communication device 2 or 3 will suspend the transmission of data packets. Specifically, for example, the scheduling update unit 43 of central 2 updates the communication parameters so that the communication unit 41 suspends the transmission of data packets, under the control of the scheduling control unit 44. Similarly, for example, the scheduling update unit 53 of peripheral 3 updates the communication parameters so that the communication unit 51 suspends the transmission of data packets, under the control of the scheduling control unit 54.

[0163] While the transmission of a data packet is pending, the wireless communication system 1 transmits an empty packet. An empty packet is, for example, a packet in which the central 2 queries the peripheral 3 to see if there is any data to be transmitted. The central 2 sends the empty packet to the peripheral 3. The central 2 may receive a packet transmitted from the peripheral 3 as a response to the empty packet it sent. The central 2 records any non-arrival errors or CRC errors that occurred in the packet (received data) received from the peripheral 3 in the error history table 451, for example, in the first reception and control process described above with reference to Figure 11, or in the second reception and control process described above with reference to Figure 14.

[0164] The persistent occurrence of non-arrival errors can be resolved, for example, by clock drift, as described above. Then, if it is confirmed that no further non-arrival errors have occurred by sending an empty packet and receiving a response to the empty packet, the wireless communication device 2 or 3 resumes transmitting data packets. Specifically, for example, the scheduling update unit 43 of the central 2 updates the communication parameters so that the communication unit 41 transmits data packets, under the control of the scheduling control unit 44. Similarly, for example, the scheduling update unit 53 of the peripheral 3 updates the communication parameters so that the communication unit 51 transmits data packets, under the control of the scheduling control unit 54.

[0165] As a result, wireless communication device 2 or 3 transmits data (data packets) during periods when no non-arrival errors are occurring, thus enabling low-latency data transmission.

[0166] (Resolving persistent non-arrival errors by changing the packet size) Under certain conditions, there are cases where the persistent occurrence of non-arrival errors (collisions of second-type packets 6) in multiple wireless communication systems 1 is not resolved by clock drift. This occurs when the time length (occupancy time in the time domain) of packet 6 is long relative to the connection interval.

[0167] Figure 16 shows an example in which non-arrival errors (collisions of second type packets 6) persist and are not resolved in the first wireless communication system 1-1 and the second wireless communication system 1-2. In the example shown in Figure 16, in the first wireless communication system 1-1, the first packets 61-31 and the second packets 61-32 are transmitted sequentially every 75 connection intervals. In the second wireless communication system 1-2, the first packets 62-31 and the second packets 62-32 are transmitted sequentially every 75 connection intervals.

[0168] Specifically, at time t71, the transmission of the first packet 61-31 of the first wireless communication system 1-1 begins. Then, at time t72, while the preceding data portion of the first packet 61-31 is being transmitted, the transmission of the first packet 62-31 of the second wireless communication system 1-2 begins.

[0169] Therefore, the first packet 61-31 of the first wireless communication system 1-1 and the first packet 62-31 of the second wireless communication system 1-2 collide. Specifically, in the first wireless communication system 1-1, a non-arrival error occurs in the first packet 61-31 because the forward data portion is not properly acquired. In the second wireless communication system 1-2, a non-arrival error also occurs in the first packet 62-31 because the forward data portion is not properly acquired.

[0170] Furthermore, at time t73, while the backward data portion of the first packet 62-31 of the second wireless communication system 1-2 is being transmitted, the transmission of the second packet 61-32 of the first wireless communication system 1-1 begins. Then, at time t74, while the forward data portion of the second packet 61-32 is being transmitted, the transmission of the second packet 62-32 of the second wireless communication system 1-2 begins.

[0171] Therefore, the second packet 61-32 of the first wireless communication system 1-1 and the first packet 62-31 and second packet 62-32 of the second wireless communication system 1-2 collide. Specifically, in the first wireless communication system 1-1, a non-arrival error occurs in the second packet 61-32 because the forward data portion is not properly acquired. In the second wireless communication system 1-2, a non-arrival error also occurs in the second packet 62-32 because the forward data portion is not properly acquired.

[0172] In the case shown in Figure 16, the later data portion of the first packet 62-31 in the second wireless communication system 1-2 collides with the second packet 61-32 in the first wireless communication system 1-1. This is because the time length of packet 6 is long relative to the connection interval 75. In this case, the occurrence of continuous non-arrival errors in the first wireless communication system 1-1 and the second wireless communication system 1-2 is not resolved by clock drift.

[0173] In such cases, the wireless communication device 2 or 3 resolves the occurrence of persistent non-arrival errors, for example, by shortening the time duration of packet 6. Specifically, the scheduling update unit 43 of the central 2 updates the communication parameters to reduce the overall size of packet 6 by adjusting the MTU, etc. Alternatively, the scheduling update unit 53 of the peripheral 3 updates the communication parameters to reduce the overall size of packet 6 by adjusting the MTU, etc.

[0174] Figure 17 shows an example of the size of packet 6 that is modified in wireless communication device 2 or 3 to resolve the persistent occurrence of non-arrival errors (collisions of packet 6 of type 2).

[0175] If the time 74 required to transmit data whose size is the sum of the size of the forward data portion 6F and twice the size of the backward data portion 6R to the destination wireless communication device (hereinafter referred to as the first time 74) exceeds the connection interval 75, the wireless communication device 2 or 3 (more specifically, the scheduling update unit 43 or 53) changes the size of the packet 6 so that the first time 74 becomes less than or equal to the connection interval 75.

[0176] Specifically, the scheduling update unit 43 of Central 2, or the scheduling update unit 53 of Peripheral 3, changes the size of packet 6 by adjusting the MTU, etc., so that it satisfies the following equation (1). (l F +2×lR ) / Transmission speed ≤ CI Equation (1) Note that l F is the size (data length) of the front data part 6F. l R is the size of the rear data part 6R. CI is the connection interval 75. The transmission speed is the data transmission speed between the central 2 and the peripheral 3 in the corresponding wireless communication system 1.

[0177] That is, the scheduling update unit 43 or 53 changes the size of the packet 6 so that the value obtained by dividing the sum of the size of the front data part 6F and twice the size of the rear data part 6R by the transmission speed is less than or equal to the connection interval 75.

[0178] For example, when the size l F of the front data part 6F is 40 bits, the transmission speed is 1 Mbps, and the connection interval (CI) 75 is a value in milliseconds, the scheduling update unit 43 or 53 calculates (40 + 2 × l R ) / 1·10 6 × 10 -3 ≤ CI to calculate the size of the packet 6 that satisfies the condition. Then, the scheduling update unit 43 or 53 updates the communication parameters so that the packet 6 of the calculated size is transmitted.

[0179] FIG. 18 shows an example in which the occurrence of non-arrival errors (collisions of the second type of packets) is eliminated by changing the size of the packet 6 in the first wireless communication system 1-1 and the second wireless communication system 1-2. In the example shown in FIG. 18, in the first wireless communication system 1-1, the first packet 61-41 and the second packet 61-42 are transmitted in order every connection interval 75. In the second wireless communication system 1-2, the first packet 62-41 and the second packet 62-42 are transmitted in order every connection interval 75. The first packet 62-41 of the second wireless communication system 1-2 is a packet 6 whose time length is changed to be shorter (i.e., the size is changed to be smaller) so as to satisfy Equation (1).

[0180] Specifically, at time t81, the transmission of the first packet 61-41 of the first wireless communication system 1-1 begins. Then, at time t82, while the latter data portion of the first packet 61-41 is being transmitted, the transmission of the first packet 62-41 of the second wireless communication system 1-2 begins.

[0181] Therefore, the first packet 61-41 of the first wireless communication system 1-1 and the first packet 62-41 of the second wireless communication system 1-2 collide. Specifically, in the first wireless communication system 1-1, a CRC error occurs in the first packet 61-41 because the backward data portion is not properly acquired. Also, in the second wireless communication system 1-2, a non-arrival error occurs in the first packet 62-41 because the forward data portion is not properly acquired.

[0182] Subsequently, at time t83, after the transmission of the first packet 62-41 of the second wireless communication system 1-2 has finished, the transmission of the second packet 61-42 of the first wireless communication system 1-1 begins. Then, at time t84, while the latter data portion of the second packet 61-42 is being transmitted, the transmission of the second packet 62-42 of the second wireless communication system 1-2 begins.

[0183] Therefore, the second packet 61-42 of the first wireless communication system 1-1 and the second packet 62-42 of the second wireless communication system 1-2 collide. Specifically, in the first wireless communication system 1-1, a CRC error occurs in the second packet 61-42 because the backward data portion is not properly acquired. Also, in the second wireless communication system 1-2, a non-arrival error occurs in the second packet 62-42 because the forward data portion is not properly acquired.

[0184] However, in the example shown in Figure 18, the latter data portion of the first packet 62-41 of the second wireless communication system 1-2 does not collide with the second packet 61-42 of the first wireless communication system 1-1. This is because the time length of the first packet 62-41 of the second wireless communication system 1-2 has been shortened. Therefore, by reducing the size of packet 6 according to equation (1), the occurrence of continuous non-arrival errors in the first wireless communication system 1-1 and the second wireless communication system 1-2 can be eliminated.

[0185] The procedure for controlling the transmission of packet 6 in response to the continuous occurrence of non-arrival errors will be described in detail.

[0186] Figure 19 is a flowchart illustrating an example of the procedure for the first analysis and control process performed by the CPU 201 of Central 2. The first analysis and control process is a process that controls the transmission of packets 6 in the wireless communication system 1 in response to the continuous occurrence of non-arrival errors. The CPU 201 executes the first analysis and control process, for example, when there is data to be sent to peripheral 3 with low latency. Alternatively, the CPU 201 may execute the first analysis and control process at regular intervals.

[0187] First, CPU201 obtains the number of non-arrival errors that occurred within the most recent unit period (step S31). Then, CPU201 determines whether the obtained number of non-arrival errors exceeds a first threshold (step S32).

[0188] If the number of non-arrival errors that occur within a unit period exceeds the first threshold (Yes in step S33), the CPU 201 suspends the transmission of the data packet (step S33). The data packet is packet 6, which contains the data to be sent to peripheral 3 (more specifically, for example, data to be sent to peripheral 3 with low latency) as the payload of the PDU 603. In other words, if non-arrival errors continue to occur, the CPU 201 suspends the transmission of actual data to peripheral 3.

[0189] While the transmission of data packets is pending, CPU201 sends an empty packet to peripheral3. CPU201 may receive a packet sent from peripheral3 as a response to the empty packet it sent. Any non-arrival errors or CRC errors that occur in the packets (received data) received from peripheral3 are recorded in the error history table 451 during the first reception and control process described above (see Figure 11) or the second reception and control process described above (see Figure 14).

[0190] Next, the CPU 201 calculates a value (first time) by dividing the sum of the size of the forward data portion 6F of packet 6 and twice the size of the backward data portion 6R by the transmission speed (step S34). The CPU 201 determines whether the calculated first time exceeds the connection interval (step S35). In other words, the CPU 201 determines whether the time required to transmit one packet 6 (the time length of packet 6) is long compared to the connection interval.

[0191] If the first time exceeds the connection interval (Yes in step S35), the CPU 201 changes the size of the next packet 6 to be sent so that the first time is less than or equal to the connection interval (i.e., the first time ≤ connection interval) (step S36), and then terminates the first analysis and control process.

[0192] If the first time is less than or equal to the connection interval (No. in step S35), the CPU 201 terminates the first analysis and control process.

[0193] Furthermore, if the number of non-arrival errors that occurred within a unit period is less than or equal to the first threshold (No. in step S32), the CPU 201 determines whether or not the transmission of the data packet is being held in abeyance (step S37).

[0194] If the transmission of the data packet is pending (Yes in step S37), the CPU 201 resumes the transmission of the data packet (step S38) and terminates the first analysis and control process. In other words, the CPU 201 resumes the transmission of the data packet because it has confirmed that the number of non-arrival errors that occurred within the unit period is below the first threshold and that no non-arrival errors have occurred continuously.

[0195] If no data packet transmission is pending (No. in step S37), the CPU 201 terminates the first analysis and control process.

[0196] Based on the above first analysis and control process, CPU201 suspends the transmission of data packets while non-arrival errors persist. Then, CPU201 resumes the transmission of data packets once it has confirmed that non-arrival errors are no longer occurring. As a result, CPU201 transmits data during periods when non-arrival errors are not occurring, enabling low-latency data transmission. This is useful, for example, in applications that require low latency, such as those where avoiding packet collisions, even for short periods, is essential.

[0197] Furthermore, in the first analysis and control process, if the number of non-arrival errors that occurred within a unit period exceeds the first threshold, the CPU 201 may perform either the process in step S33 or the processes from steps S34 to S36. In other words, the CPU 201 may perform either the process of suspending the transmission of the data packet or the process of reducing the size of packet 6.

[0198] Furthermore, the first analysis and control process may be executed by the CPU 301 of peripheral 3. In that case, in the first analysis and control process shown in Figure 19, central 2 and peripheral 3 are replaced, and the error history table 451 is replaced with the error history table 551 in peripheral 3. This provides the same effect when the first analysis and control process is executed in peripheral 3 as when it is executed in central 2.

[0199] (Avoiding interference by changing subchannel groups based on bit error rate) Wireless communication devices 2 or 3 may use error history tables 451 or 551 to avoid interference between multiple wireless communication systems 1. Causes of errors in communication include not only packet collisions, but also noise originating from the radio wave propagation environment or devices (e.g., the device to which packet 6 is sent). Wireless communication devices 2 or 3 utilize statistical analysis using error history tables 451 or 551 (i.e., the history of multiple communications) to eliminate these influences. Specifically, the scheduling update unit 43 of central 2 changes the communication channel (e.g., subchannel group) if, for example, a specific error occurs above a certain rate based on analysis using the error history table 451. Alternatively, the scheduling update unit 53 of peripheral 3 requests central 2 to change the communication channel if, for example, a specific error occurs above a certain rate based on analysis using the error history table 551. This avoids interference between multiple wireless communication systems 1. Furthermore, this method is also effective in reducing the impact of randomness in the communication channels used in wireless communication systems 1 that employ a frequency hopping scheme.

[0200] This section specifically describes how to change the communication channel using error history tables 451 or 551. For the sake of clarity, it is assumed that wireless communication system 1 is using a single frequency (communication channel). Furthermore, it is assumed that no packet collisions 6 occur between multiple wireless communication systems 1, and that the bit error rate (BER) is constant.

[0201] In this case, the probability P of a non-arrival error occurring is... non-arrival The probability P of a CRC error occurring is... CRC error These are expressed by equations (2) and (3) below, respectively. P non-arrival =1-(1-ber1) pre_bit Formula (2) P CRC error = 1-P non-arrival -(1-ber2) post_bit Formula (3) Note that pre_bit is the number of bits in the forward data portion 6F of packet 6. post_bit is the number of bits in the backward data portion 6R of packet 6. ber1 is the bit error rate of the bit sequence in the forward data portion 6F. ber2 is the bit error rate of the bit sequence in the backward data portion 6R.

[0202] Generally, BER cannot be directly obtained during wireless communication. However, the scheduling update unit 43 of the wireless communication device 2 or the scheduling update unit 53 of the peripheral 3 can obtain the percentage (probability) of non-arrival errors and CRC errors by using the error history table 451 or 551. Therefore, the scheduling update unit 43 or 53 can estimate (calculate) ber1 of the forward data portion 6F and ber2 of the backward data portion 6R based on equations (2) and (3).

[0203] If there are no significant changes in the radio wave propagation environment, the estimated ber1 and ber2 will be approximately equal. On the other hand, if interference causes errors to concentrate in either the forward data portion 6F or the backward data portion 6R of packet 6, a discrepancy will occur between ber1 and ber2. The scheduling update unit 43 or 53 determines, based on the calculated ber1 and ber2, whether or not a discrepancy has occurred between ber1 and ber2. If a discrepancy has occurred between ber1 and ber2, the scheduling update unit 43 or 53 determines that interference is occurring with the wireless communication system 1. The scheduling update unit 43 or 53 then changes, for example, the frequency (e.g., subchannel group) used by the wireless communication system 1. This prevents unintended behavior caused by errors in packet 6 due to the radio wave propagation environment.

[0204] Figure 20 is a flowchart showing an example of the procedure for the second analysis and control process performed by the CPU 201 of Central 2. The second analysis and control process is a process for controlling the frequency used for communication in the wireless communication system 1, including Central 2, using the error history table 451. The CPU 201 performs the second analysis and control process, for example, at regular intervals.

[0205] First, the CPU 201 uses the error history table 451 to estimate the bit error rate ber1 of the forward data portion 6F and the bit error rate ber2 of the backward data portion 6R (step S41). Equations (2) and (3) described above are used to estimate the bit error rates ber1 and ber2.

[0206] Next, the CPU 201 determines whether the absolute value of the difference between the bit error rate ber1 and the bit error rate ber2 is greater than or equal to the second threshold (step S42). If there is no interference with the wireless communication system 1 including the central 2, the bit error rate ber1 of the forward data portion 6F and the bit error rate ber2 of the backward data portion 6R will be approximately equal. Therefore, in step S42, the CPU 201 determines whether there is a discrepancy between the bit error rate ber1 of the forward data portion 6F and the bit error rate ber2 of the backward data portion 6R due to the effects of interference.

[0207] If the absolute value of the difference between bit error rate ber1 and bit error rate ber2 is greater than or equal to the second threshold (Yes in step S42), the CPU 201 changes the subchannel group used by the wireless communication system 1, including the central 2 (step S43), and terminates the second analysis and control process. As a result, the wireless communication system 1 can communicate using the changed subchannel group.

[0208] If the absolute value of the difference between bit error rate ber1 and bit error rate ber2 is less than the second threshold (No. in step S42), the CPU 201 terminates the second analysis and control process. In other words, the CPU 201 determines that no interference is occurring with the wireless communication system 1 including the central 2, and terminates the second analysis and control process without changing the subchannel group being used.

[0209] Based on the above second analysis and control process, if Central 2 determines that the absolute value of the difference between bit error rate ber1 and bit error rate ber2 is greater than or equal to the second threshold, and that interference with the wireless communication system 1 including Central 2 is occurring, it changes the subchannel group used by the wireless communication system 1. This allows Central 2 to efficiently reduce interference between multiple wireless communication systems 1 using the error history table 451.

[0210] The second analysis and control process may also be performed by the CPU 301 of peripheral 3. In that case, in the second analysis and control process shown in Figure 20, central 2 and peripheral 3 are replaced, and the process of changing the subchannel group to be used in step S43 is replaced with a process of requesting central 2 to change the subchannel group to be used. If this request is accepted (permitted) by central 2, the subchannel group used by the wireless communication system 1, including peripheral 3, is changed. As a result, if the absolute value of the difference between bit error rate ber1 and bit error rate ber2 is greater than or equal to the second threshold, and interference to the wireless communication system 1 is estimated to be occurring, the wireless communication system 1 can communicate using the changed subchannel group. Therefore, the same effect as when the second analysis and control process is performed by central 2 can be obtained when the second analysis and control process is performed by peripheral 3.

[0211] (Assuming the communication flow between Central 2 and Peripheral 3 is defined) For example, in the case of a wireless communication system 1 that complies with Bluetooth, a communication flow may be defined in each communication event in which the central 2 first sends a packet, and the peripheral 3, which receives the sent packet, sends a packet. Even in such a case, as mentioned above, both the central 2 and the peripheral 3 can take actions to avoid interference based on whether a CRC error or a non-arrival error has occurred.

[0212] If peripheral 3 successfully receives packet 6 sent by central 2, peripheral 3 sends a packet back to central 2. Peripheral 3 sends a packet back to central 2, for example, after a certain amount of time has elapsed since it completed receiving packet 6 sent by central 2. This specific time is also called inter-frame space (IFS). In Bluetooth, for example, IFS is 150 μs.

[0213] If peripheral 3 fails to receive packet 6 sent by central 2, peripheral 3 will not send a packet back to central 2. This occurs, for example, if packet 6 sent by central 2 collides with another packet 6. Peripheral 3 determines whether the failure to receive packet 6 is a CRC error or a non-arrival error based on the data reception status during the connection interval in which it should receive packet 6 from central 2. Based on which error occurred, peripheral 3 can then take the actions described above to avoid interference.

[0214] Furthermore, if Central 2 successfully receives packet 6, which has been returned by Peripheral 3, it performs processing corresponding to packet 6.

[0215] On the other hand, if Central 2 fails to receive packet 6 returned by Peripheral 3, it determines whether the failure to receive packet 6 is a CRC error or a non-arrival error based on the data reception status during the connection interval in which packet 6 should be received from Peripheral 3. Failure to receive packet 6 returned by Peripheral 3 occurs, for example, if Peripheral 3 does not return packet 6, or if packet 6 returned by Peripheral 3 collides with another packet 6. If Peripheral 3 does not return packet 6, Central 2 determines the failure to receive packet 6 as a non-arrival error. Based on whether a CRC error or a non-arrival error occurred, Peripheral 3 can then take the actions described above to avoid interference.

[0216] Figure 21 shows an example of the error type determined by the received packet 6 in Central 2. Here, it is assumed that the same communication channel is being used by wireless communication system 1 including Central C1 and peripheral P1, and wireless communication system 1 including Central C2 and peripheral P2. It is also assumed that the transmission of packets 61-51 from Central C1 to peripheral P1 was successful, and the transmission of packet 62-51 from Central C2 to peripheral P2 was successful. Packets 61-51 and 62-51 are empty packets that, for example, query peripherals P1 and P2, respectively, whether there is any data to transmit.

[0217] Specifically, at time t91, central C1 sends packets 61-51 to peripheral P1. At time t92, after the transmission of packets 61-51 is complete, central C2 sends packets 62-51 to peripheral P2. Therefore, no collision occurs between packets 61-51 and 62-51.

[0218] Peripheral P1 sends packet 61-52 back to central C1 at time t93, which is after T_IFS77 (e.g., 150 μs) has elapsed since the completion of receiving packets 61-51. Time t93 is after the completion of sending packet 62-51. Therefore, no collision occurs between packets 62-51 and 61-52.

[0219] Peripheral P2 returns packet 62-52 to central C1 at time t94, after T_IFS77 has elapsed since the completion of receiving packet 62-51. Time t94 is when the latter half of the data portion of packet 61-52 is still being transmitted. Therefore, a collision occurs between packets 61-52 and 62-52.

[0220] Central C1 detects a CRC error because the latter half of the data portion of packets 61-52 received from peripheral P1 is not correctly captured. Based on the occurrence of the CRC error, Central C1 can then take the actions described above to avoid interference.

[0221] In response, Central C2 detects a non-arrival error because the forward data portion 62F of packet 62-52 received from Peripheral P2 is not properly received. Based on the occurrence of the non-arrival error, Central C2 can then take the actions described above to avoid interference.

[0222] Not limited to the example shown in Figure 21, errors (i.e., CRC errors or non-arrival errors) can occur in various combinations of packets 61-51 transmitted from central C1 to peripheral P1, packets 61-52 transmitted from peripheral P1 to central C1, packets 62-51 transmitted from central C2 to peripheral P2, and packets 62-52 transmitted from peripheral P2 to central C2. However, in the event of any combination of errors, central C1, peripheral P1, central C2, and peripheral P2 can each perform the actions described above to avoid interference, depending on the type of error that occurred. Therefore, central C1, peripheral P1, central C2, and peripheral P2 can each efficiently reduce radio wave interference between the wireless communication systems 1.

[0223] Although the above explanation mainly illustrates the case where interference occurs in two wireless communication systems 1, the aforementioned actions according to the type of error can also be applied when interference occurs in three or more wireless communication systems 1, and similar effects can be obtained.

[0224] As described above, this embodiment makes it possible to efficiently reduce radio wave interference with other wireless communication systems.

[0225] In Central 2, the scheduling control unit 44 controls the first time interval (connection interval) and the first frequency (subchannel group) used for communication with the peripheral 3. The packet error analysis unit 42 determines whether an error occurred in receiving the packet 6 from the peripheral 3 based on the first time interval and the first frequency. If an error occurs, the scheduling update unit 43 changes at least one of the first time interval and the first frequency depending on whether the error occurred in the forward data portion 6F contained in the packet 6 or in the backward data portion 61R following the forward data portion 6F (i.e., depending on whether a non-arrival error or a CRC error occurred).

[0226] In this way, Central 2 changes at least one of the first time interval and the first frequency depending on the type of error that occurs. This allows Central 2 to efficiently reduce radio interference between the wireless communication system 1, which includes Central 2, and other wireless communication systems 1, compared to the case where Central 2 changes the first time interval and the first frequency regardless of the type of error.

[0227] Furthermore, in peripheral 3, the scheduling control unit 54 controls the first time interval used for communication with central 2. The packet error analysis unit 52 determines whether an error occurred in receiving packet 6 from central 2 based on the first time interval and the first frequency. If an error occurs, the scheduling update unit 53 changes the first time interval depending on whether the error occurred in the forward data portion 6F contained in packet 6 or in the backward data portion 61R following the forward data portion 6F (i.e., depending on whether a non-arrival error or a CRC error occurred).

[0228] In this way, peripheral 3 changes the first time interval depending on the type of error that occurs. This allows peripheral 3 to efficiently reduce radio interference between the wireless communication system 1, which includes peripheral 3, and other wireless communication systems 1, compared to the case where the first time interval is changed regardless of the type of error.

[0229] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents.

[0230] With regard to the embodiments described above, the following additional information is disclosed. <1> A program executed by a computer equipped with a communication unit that communicates with a wireless communication device, wherein the program is executed by the computer, A procedure for controlling a first time interval and a first frequency used for communication with the aforementioned wireless communication device, A procedure for determining whether an error occurred in receiving a packet from the wireless communication device based on the first time interval and the first frequency, If the aforementioned error occurs, the procedure involves changing at least one of the first time interval and the first frequency, depending on whether the error occurred in the first data portion contained in the packet or in the second data portion following the first data portion. program. <2> Each of the multiple frequency bands that the communication unit can use to communicate with the wireless communication device belongs to one of the multiple groups, The program causes the computer to perform a procedure to set the first group among the plurality of groups as the first frequency. <1> The program described above. <3> A procedure for changing at least one of the first time interval and the first frequency is: In response to the error occurring in the second data portion, the first frequency is changed from the first group to the second group, which is different from the first group among the multiple groups. In response to the error occurring in the first data portion, the first frequency is not changed from the first group, <2> The program described above. <4> The aforementioned first time interval is constant. <1> ~ <3> A program as described in any one of the items. <5> The procedure for changing at least one of the first time interval and the first frequency includes making the time interval used for transmitting the next packet to the wireless communication device longer than the first time interval, in response to the error occurring in the first data portion. <1> ~ <4> A program as described in any one of the items. <6> The procedure for changing at least one of the first time interval and the first frequency includes, in response to the error occurring in the second data portion, making the time interval used for transmitting the next packet to the wireless communication device shorter than the first time interval. <1> ~ <5> A program as described in any one of the items. <7> The program is sent to the computer, In response to the number of times the error in the first data portion occurs within a unit period exceeding a threshold, the wireless communication device is instructed to perform a procedure to suspend the transmission of a packet containing data to be sent. <1> ~ <6> A program as described in any one of the items. <8> The program is sent to the computer, If the first time required to transmit data whose size is the sum of the size of the first data portion and twice the size of the second data portion from the communication unit to the wireless communication device exceeds the first time interval, the system will perform a procedure to change the size of the packet so that the first time becomes less than or equal to the first time interval. <1> ~ <7> A program as described in any one of the items. <9> The program is sent to the computer, The procedure involves saving historical data indicating the errors that occurred in the first data portion and the errors that occurred in the second data portion. <1> The program described above. <10> Each of the multiple frequency bands that the communication unit can use to communicate with the wireless communication device belongs to one of the multiple groups, The program is sent to the computer, A procedure for setting the first group among the plurality of groups as the first frequency, A procedure for calculating the first bit error rate of the first data portion and the second bit error rate of the second data portion using the aforementioned historical data, Based on the first bit error rate and the second bit error rate, a procedure is performed to change the first frequency from the first group to a second group which is different from the first group among the plurality of groups. <9> The program described above. <11> The first data portion includes a preamble and an access address. The second data portion includes a protocol data unit and a cyclic redundancy check code. <1> ~ <10> A program as described in any one of the items. <12> A program executed by a computer equipped with a communication unit that communicates with a wireless communication device, wherein the program is executed by the computer, A procedure for controlling the first time interval used for communication with the wireless communication device, A procedure for determining whether an error occurred in receiving a packet from the wireless communication device based on the first time interval and the first frequency, If the aforementioned error occurs, the procedure to change the first time interval is executed, depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. program. <13> The aforementioned first time interval is constant. <12> The program described above. <14> The procedure for changing the first time interval includes making the time interval used for transmitting the next packet to the wireless communication device longer than the first time interval, in response to the error occurring in the first data portion. <12> or <13> The program described above. <15> The procedure for changing the first time interval includes making the time interval used for transmitting the next packet to the wireless communication device shorter than the first time interval, in response to the error occurring in the second data portion. <12> ~ <14> A program as described in any one of the items. <16> The program is sent to the computer, In response to the number of times the error in the first data portion occurs within a unit period exceeding a threshold, the wireless communication device is instructed to perform a procedure to suspend the transmission of a packet containing data to be sent. <12> ~ <15> A program as described in any one of the items. <17> The program is sent to the computer, If the first time required to transmit data whose size is the sum of the size of the first data portion and twice the size of the second data portion from the communication unit to the wireless communication device exceeds the first time interval, the system will perform a procedure to change the size of the packet so that the first time becomes less than or equal to the first time interval. <12> ~ <16> A program as described in any one of the items. <18> The first data portion includes a preamble and an access address. The second data portion includes a protocol data unit and a cyclic redundancy check code. <12> ~ <17> A program as described in any one of the items. <19> A communication unit that communicates with the first wireless communication device, It comprises a control unit that controls a first time interval and a first frequency used for communication with the first wireless communication device, The control unit, Determine whether or not an error occurred in receiving a packet from the first wireless communication device based on the first time interval and the first frequency. If the aforementioned error occurs, at least one of the first time interval and the first frequency is changed depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. Wireless communication device. <20> A communication unit that communicates with the first wireless communication device, It comprises a control unit that controls the time interval used for communication with the first wireless communication device, The control unit, Determine whether or not an error occurred in receiving a packet from the first wireless communication device based on the first time interval and the first frequency. If the aforementioned error occurs, the first time interval is changed depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. Wireless communication device. [Explanation of symbols]

[0231] 1... Wireless communication system (piconet), 2... Central, 3... Peripheral, 201, 301... CPU, 202, 302... RAM, 203, 303... Storage, 204, 304... Communication device, 202A... First communication control program, 302A... Second communication control program, 41, 51... Communication unit, 42, 52... Packet error analysis unit, 43, 53... Scheduling update unit, 44, 54... Scheduling control unit, 45, 55... Memory unit, 451, 551... Error history table, 6... Packet, 6F... Forward data portion, 6R... Backward data portion, 601... Preamble, 602... Access address, 603... Protocol data unit, 604... CRC.

Claims

1. A program executed by a computer equipped with a communication unit that communicates with a wireless communication device, wherein the program is executed by the computer, A procedure for controlling a first time interval and a first frequency used for communication with the aforementioned wireless communication device, A procedure for determining whether an error occurred in receiving a packet from the wireless communication device based on the first time interval and the first frequency, If the aforementioned error occurs, the procedure involves changing at least one of the first time interval and the first frequency, depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. program.

2. Each of the multiple frequency bands that the communication unit can use to communicate with the wireless communication device belongs to one of the multiple groups, The program causes the computer to perform a procedure to set the first group among the plurality of groups as the first frequency. The program according to claim 1.

3. A procedure for changing at least one of the first time interval and the first frequency is: In response to the error occurring in the second data portion, the first frequency is changed from the first group to a second group different from the first group among the multiple groups, In response to the error occurring in the first data portion, the first frequency is not changed from the first group, The program according to claim 2.

4. The aforementioned first time interval is constant. The program according to claim 1.

5. The procedure for changing at least one of the first time interval and the first frequency includes making the time interval used for transmitting the next packet to the wireless communication device longer than the first time interval, in response to the error occurring in the first data portion. The program according to claim 1 or claim 4.

6. The procedure for changing at least one of the first time interval and the first frequency includes making the time interval used for transmitting the next packet to the wireless communication device shorter than the first time interval, in response to the error occurring in the second data portion. The program according to claim 1 or claim 4.

7. The program is sent to the computer, In response to the number of times the error in the first data portion occurs within a unit period exceeding a threshold, the wireless communication device is instructed to perform a procedure to suspend the transmission of a packet containing data to be sent. The program according to claim 1.

8. The program is sent to the computer, If the first time required to transmit data whose size is the sum of the size of the first data portion and twice the size of the second data portion from the communication unit to the wireless communication device exceeds the first time interval, the system will perform a procedure to change the size of the packet so that the first time becomes less than or equal to the first time interval. The program according to claim 1.

9. The program is sent to the computer, The procedure involves saving historical data indicating the errors that occurred in the first data portion and the errors that occurred in the second data portion. The program according to claim 1.

10. Each of the multiple frequency bands that the communication unit can use to communicate with the wireless communication device belongs to one of the multiple groups, The program is sent to the computer, A procedure for setting the first group among the plurality of groups as the first frequency, A procedure for calculating the first bit error rate of the first data portion and the second bit error rate of the second data portion using the aforementioned historical data, Based on the first bit error rate and the second bit error rate, the procedure is performed to change the first frequency from the first group to a second group different from the first group among the plurality of groups. The program according to claim 9.

11. The first data portion includes a preamble and an access address. The second data portion includes a protocol data unit and a cyclic redundancy check code. The program according to claim 1.

12. A program executed by a computer equipped with a communication unit that communicates with a wireless communication device, wherein the program is executed by the computer, A procedure for controlling the first time interval used for communication with the aforementioned wireless communication device, A procedure for determining whether or not an error occurred in receiving a packet from the wireless communication device based on the first time interval and the first frequency, If the aforementioned error occurs, the procedure to change the first time interval is executed, depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. program.

13. The aforementioned first time interval is constant. The program according to claim 12.

14. The procedure for changing the first time interval includes making the time interval used for transmitting the next packet to the wireless communication device longer than the first time interval, in response to the error occurring in the first data portion. The program according to claim 12 or claim 13.

15. The procedure for changing the first time interval includes making the time interval used for transmitting the next packet to the wireless communication device shorter than the first time interval, in response to the error occurring in the second data portion. The program according to claim 12 or claim 13.

16. The program is sent to the computer, In response to the number of times the error in the first data portion occurs within a unit period exceeding a threshold, the wireless communication device is instructed to perform a procedure to suspend the transmission of a packet containing data to be sent. The program according to claim 12.

17. The program is sent to the computer, If the first time required to transmit data whose size is the sum of the size of the first data portion and twice the size of the second data portion from the communication unit to the wireless communication device exceeds the first time interval, the system will perform a procedure to change the size of the packet so that the first time becomes less than or equal to the first time interval. The program according to claim 12.

18. The first data portion includes a preamble and an access address. The second data portion includes a protocol data unit and a cyclic redundancy check code. The program according to claim 12.

19. A communication unit that communicates with the first wireless communication device, It comprises a control unit that controls a first time interval and a first frequency used for communication with the first wireless communication device, The control unit, It is determined whether or not an error occurred in receiving a packet from the first wireless communication device based on the first time interval and the first frequency. If the aforementioned error occurs, at least one of the first time interval and the first frequency is changed depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. Wireless communication device.

20. A communication unit that communicates with the first wireless communication device, It comprises a control unit that controls a first time interval used for communication with the first wireless communication device, The control unit, It is determined whether or not an error occurred in receiving a packet from the first wireless communication device based on the first time interval and the first frequency. If the aforementioned error occurs, the first time interval is changed depending on whether the error occurred in the first data portion included in the packet or in the second data portion following the first data portion. Wireless communication device.

Citation Information

Patent Citations

  • Industrial Wireless Communication System

    JP6508538B2