WO2024092480A1 - 通信方法、设备及系统 - Google Patents
通信方法、设备及系统 Download PDFInfo
- Publication number
- WO2024092480A1 WO2024092480A1 PCT/CN2022/128862 CN2022128862W WO2024092480A1 WO 2024092480 A1 WO2024092480 A1 WO 2024092480A1 CN 2022128862 W CN2022128862 W CN 2022128862W WO 2024092480 A1 WO2024092480 A1 WO 2024092480A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bus
- data
- communication system
- target
- devices
- Prior art date
Links
- 230000006854 communication Effects 0.000 title claims abstract description 215
- 238000004891 communication Methods 0.000 title claims abstract description 211
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000000875 corresponding effect Effects 0.000 claims description 30
- 230000002596 correlated effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 22
- 230000008569 process Effects 0.000 abstract description 4
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 8
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 3
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
Definitions
- the present invention relates to the field of communication technology, and in particular to a communication method, device and system.
- multiple devices need to communicate based on a single-wire serial bus.
- the single-wire serial bus uses a half-duplex data transmission method. For example, data can be transmitted from device A to device B, or from device B to device A. However, the transmission in both directions cannot be performed at the same time.
- a method of pre-specifying the master and slave devices is usually adopted.
- the master device always occupies the right to use the bus by default.
- the master device can periodically notify the slave device to transmit data through the bus and release the right to use the bus after the notification.
- the slave device uses the bus for data transmission within the specified time period. After the slave device completes the transmission or the time period expires, the master device reoccupies the right to use the bus.
- the slave device is completely controlled by the master device and cannot autonomously use the bus for data transmission.
- the present specification provides a communication method, device and system, so that each device in the communication system can autonomously use a bus for data transmission in a competitive manner.
- the present specification provides a communication method, which is applied to a target device in a single-wire serial bus communication system, the method comprising: accessing a single-wire serial bus of the communication system, the communication system comprising a plurality of devices connected via the bus, the communication system not setting a master device, and the plurality of devices obtaining the right to use the bus through competition; judging whether the target device has the highest priority for sending data among at least one first candidate device, the at least one first candidate device comprising all devices in the communication system waiting to send data at the current moment; based on the result of the judgment, selecting one of a sending mode and a silent mode for the target device, wherein in the sending mode, the target device sends target data to the bus within a first preset time period and indicates a receiving device, and stops sending the target data to the bus after the first preset time period ends, and in the silent mode, the target device is in a data receiving state or an idle state within the first preset time period.
- selecting between the sending mode and the silent mode of the target device for execution includes: determining that the result of the judgment has the highest priority for sending data; and then selecting to execute the sending mode.
- selecting between the sending mode and the silent mode of the target device includes: determining that the result of the judgment does not have the highest priority for sending data; and then selecting to execute the silent mode.
- the target device in the sending mode, sends an end code to the bus at a target time to instruct at least one second candidate device in the communication system to respectively determine whether it has the highest priority for sending data among the at least one second candidate device, wherein the at least one second candidate device includes all devices in the communication system waiting to send data at the target time, and the target time is the end time of the first preset duration, or the target time is earlier than the end time of the first preset duration.
- each device in the communication system corresponds to a feature code
- the feature code represents the priority of the corresponding device
- judging whether the target device has the highest priority for sending data among at least one first candidate device includes: broadcasting the feature code of the target device to the bus, wherein, while the target device broadcasts the feature code of the target device, other devices in the at least one first candidate device also synchronously broadcast the corresponding feature code, after the feature code broadcast of the target device is completed, receiving the next bit signal transmitted on the bus, and judging whether the target device has the highest priority for sending data among the at least one first candidate device based on the next bit signal.
- the bus is at a first level in an idle state; and the feature code includes at least one second level that is continuous in time, and the number of bits of the second level is positively correlated with the priority.
- the feature code further includes a start code, and the start code is located before the at least one second level; and the start code included in the feature codes corresponding to different devices is the same.
- judging whether the target device has the highest priority for sending data among at least one first candidate device based on the next bit signal includes: determining that the next bit signal is the first level, and determining that the target device has the highest priority for sending data among the at least one first candidate device.
- judging whether the target device has the highest priority for sending data among at least one first candidate device based on the next bit signal includes: determining that the next bit signal is the second level, and determining that the target device does not have the highest priority for sending data among the at least one first candidate device.
- the first level is a high level and the second level is a low level.
- the first level is a low level
- the second level is a high level
- the method further includes: if the target device does not obtain the right to use the bus within a second preset time period, adjusting the priority, wherein the priority after the adjustment is higher than the priority before the adjustment, and the second preset time period is greater than the first preset time period.
- the priority level corresponding to each device in the communication system is a preset fixed priority level, and the priorities corresponding to different devices are different.
- the priority level corresponding to each device in the communication system is related to data currently to be sent by the device.
- the plurality of devices include at least two of an earphone box, a left earphone, and a right earphone.
- the present specification also provides a device that can be connected to a single-wire serial bus communication system, comprising: at least one storage medium and at least one processor, wherein the at least one storage medium stores at least one instruction set for communicating with other devices, and the at least one processor is communicatively connected to the at least one storage medium.
- the at least one processor reads the at least one instruction set and executes a method as described in any one of the first aspects according to the instructions of the at least one instruction set.
- the present specification also provides a communication system, comprising: a single-wire serial bus and multiple devices, wherein the multiple devices are connected to the bus, wherein the communication system does not have a master device, and the multiple devices obtain the right to use the bus through competition; when the communication system is running, any target device among the multiple devices executes a method as described in any one of the first aspects.
- any target device in the communication system is connected to a single-wire serial bus, and the target device, when it needs to send target data, determines whether the target device has the highest priority for sending data in at least one first candidate device, and the at least one first candidate device includes all devices waiting to send data in the communication system at the current moment, and based on the result of the judgment, the target device executes a sending mode or a silent mode, wherein in the sending mode, the target device sends the target data to the bus within a first preset time length and indicates the receiving device, and stops sending the target data to the bus after the first preset time length ends, and in the silent mode, the target device is in a data receiving state or an idle state within the first preset time length.
- each device in the communication system can obtain the right to use the bus by competing, so that each device can autonomously use the bus for data transmission. Further, since each device in the communication system autonomously uses the bus for data transmission without relying on the control of other devices, the data update of each device in the communication system has high real-time performance. In addition, since there is no need to set a master device in the communication system, no device in the communication system needs to periodically control other devices, which reduces the control overhead of the device and can improve the performance of the device. In addition, by judging the priority of the data sent by each first candidate device, the first candidate device with the highest current priority obtains the right to use the bus in each communication cycle. In this way, on the one hand, it ensures that the communication between the devices in the communication system will not conflict, improving the communication reliability of the communication system, and on the other hand, it gives priority to ensuring the real-time data update of the device with the highest priority.
- FIG1 shows a schematic diagram of a communication system provided according to an embodiment of this specification
- FIG2 shows a hardware structure diagram of a device provided according to an embodiment of this specification
- FIG3 shows a flow chart of a communication method provided according to an embodiment of this specification
- FIG4 shows a schematic diagram of a communication process provided according to an embodiment of this specification.
- FIG. 5 shows a schematic diagram of a feature code provided according to an embodiment of this specification.
- Serial communication In a broad sense, computer communication methods can be divided into serial communication and parallel communication. Serial communication can only transmit one bit of signal at a time. Parallel communication can transmit multiple bits of signal at a time.
- Serial bus A bus based on serial communication is called a serial bus. Multiple devices can access the serial bus and communicate through the serial bus. For example, device A can send first data to the serial bus so that device B receives the first data from the serial bus. Or, device B sends second data to the serial bus so that device A receives the second data from the serial bus.
- Serial buses can be divided into single-wire serial buses and two-wire serial buses.
- single-wire and two-wire refer to the number of signal lines in the serial bus.
- a single-wire serial bus includes 1 signal line.
- a device connected to a single-wire serial bus can send data to the signal line and receive data from the signal line, but sending and receiving data cannot be performed at the same time.
- a two-wire serial bus includes two signal lines, namely a transmit (Tx) signal line and a receive (Rx) signal line.
- a device connected to a two-wire serial bus can send data to the transmit signal line and receive data from the receive signal line. Sending data and receiving data can be performed at the same time without affecting each other.
- a serial bus may also include a clock line, a ground line, etc. The clock line is used to provide a clock signal to the device, and the ground line is used to ground the device.
- Simplex means that data can only be transmitted in one direction.
- device A can transmit data to device B, but device B cannot transmit data to device A.
- Half-duplex means that data can be transmitted in two directions, but not at the same time.
- device A can transmit data to device B at a first moment
- device B can transmit data to device A at a second moment
- the second moment is different from the first moment.
- Full-duplex means that data can be transmitted in two directions at the same time.
- device A can transmit data to device B, and at the same time, device B can also transmit data to device A. It can be understood that the data transmission mode based on the single-wire serial bus is the half-duplex mode, and the data transmission mode based on the two-wire serial bus is the full-duplex mode.
- the communication system can be a wireless headset communication system or other communication systems.
- the wireless headset communication system generally includes a left headset, a right headset and a headset compartment.
- the headset When the headset is not in use, the user can put the left headset and the right headset into the headset compartment for storage, or, when the headset needs to be charged, the user can put the left headset and the right headset into the headset compartment for charging.
- contacts can be reserved for the left headset and the right headset, and correspondingly, contacts can also be reserved at the corresponding positions of the headset compartment.
- the contacts on the left headset and the right headset contact with the contacts on the headset compartment, so that charging or other data interaction can be performed.
- These contacts are connected by a single-wire serial bus, so that the left headset, the right headset and the headset compartment can communicate based on the single-wire serial bus.
- the above wireless headset communication system is only one of the multiple usage scenarios provided in this specification.
- the communication method provided in this specification can be applied not only to the wireless headset communication system, but also to all scenarios for communication based on a single-wire serial bus.
- Those skilled in the art should understand that the application of the communication method described in this specification to other usage scenarios is also within the protection scope of this specification.
- a method of pre-specifying the master and slave devices is usually adopted.
- the master device always occupies the right to use the bus by default.
- the master device can periodically notify the slave device to transmit data through the bus, and release the right to use the bus after the notification.
- the slave device uses the bus for data transmission within a specified time period. After the slave device completes the transmission or the time period expires, the master device reoccupies the right to use the bus. In this method, the data transmission of the slave device is completely controlled by the master device and cannot transmit data autonomously.
- the master device needs to periodically notify the slave device to transmit data, this will make it difficult to balance the real-time data update of the slave device and the system overhead of the master device. For example, if the period for the master device to notify the slave device to transmit data is too long, the real-time data update of the slave device is low; if the period for the master device to notify the slave device to transmit data is too short, the system overhead of the master device is high.
- the above communication method is usually only applicable to a communication system including two devices.
- the embodiments of this specification provide a communication method, device and system.
- the communication system is first introduced in conjunction with FIG1 .
- Fig. 1 shows a schematic diagram of a communication system provided according to an embodiment of the present specification.
- the communication system 001 may include a single-line serial bus 200 (hereinafter referred to as bus 200), and multiple devices 100 connected via the bus 200, for example, device A, device B, ..., device N. Multiple devices 100 communicate with each other via the bus 200.
- bus 200 single-line serial bus 200
- devices 100 communicate with each other via the bus 200.
- the bus 200 includes a signal line 210.
- each device 100 has a transmission (Tx) port and a reception (Rx) port. Both the transmission port and the reception port are connected to the signal line 210, so that data can be transmitted between different devices based on the signal line 210. Since the bus 200 is a single-wire serial bus, the data transmission mode between different devices is a half-duplex mode.
- the bus 200 may also include a ground line 220, and each device 100 may also have a ground port (GND), and the ground ports are connected to the ground line 220, so that a common ground connection is achieved between different devices. This can reduce the interference of external signals.
- GND ground port
- the bus 200 may also include a clock line (not shown in FIG. 1 ), and each device may also have a clock interface (not shown in FIG. 1 ), and the clock interface is connected to the clock line, so that clock synchronization is achieved between different devices.
- the device 100 is an electronic device that can communicate based on a single-wire serial bus. There is no master device set between the multiple devices 100 in the communication system 001, or in other words, there is no master-slave relationship between the multiple devices 100 in the communication system 001. The multiple devices 100 in the communication system 001 obtain the right to use the bus 200 by competing.
- the competition method can be: the device waiting to send data in the communication system at the current moment is called the first candidate device. If there is only one first candidate device in the communication system, the first candidate device can obtain the right to use the bus 200. Assuming that there are multiple first candidate devices in the communication system at the current moment, based on the priority of the data sent by the multiple first candidate devices, the first candidate device corresponding to the highest priority obtains the right to use the bus 200.
- the competition method is applicable to all devices in the communication system 001.
- the above-mentioned "obtaining the right to use the bus 200" refers to obtaining the right to use the signal line 210 in the bus 200 to transmit data.
- the device 100 After the device 100 obtains the right to use the bus 200, the device 100 can send target data to the bus 200 so that other devices receive the target data through the bus 200. It should be understood that at each moment, there is at most one device 100 in the communication system 001 that obtains the right to use the bus 200. In this way, a competition relationship is formed between different devices 100 in the communication system 001. In some embodiments, when all devices 100 in the communication system 001 do not need to send data, no device 100 has the right to use the bus 200, that is, the bus 200 is in an idle state.
- the communication method described in this specification can be executed on the device 100.
- the device 100 can store data or instructions for executing the communication method described in this specification, and can execute or be used to execute the data or instructions.
- the device 100 may include a hardware device with a data information processing function and a necessary program required to drive the hardware device to work. The above communication method will be described in detail in the following content.
- the device 100 may include a mobile device, a tablet computer, a laptop computer, a built-in device of a motor vehicle, or the like, or any combination thereof.
- the mobile device may include a smart home device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof.
- the smart home device may include a smart TV, a desktop computer, or the like, or any combination thereof.
- the smart mobile device may include a smart phone, a personal digital assistant, a gaming device, a navigation device, or the like, or any combination thereof.
- the virtual reality device or the augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality handle, an augmented reality helmet, augmented reality glasses, an augmented reality handle, or the like, or any combination thereof.
- the virtual reality device or the augmented reality device may include Google Glass, a head-mounted display, VR, or the like.
- the built-in device in the motor vehicle may include an onboard computer, an onboard TV, or the like.
- the multiple devices 100 in FIG. 1 may include: at least two of a left earphone, a right earphone, and an earphone compartment.
- FIG1 the number of devices 100 in FIG1 is only for illustration. Any number of devices 100 may be provided as required. It should also be noted that the communication method described in this specification may be executed by any device 100 in a communication system.
- Fig. 2 shows a hardware structure diagram of a device 100 provided according to an embodiment of this specification.
- the device 100 can execute the communication method described in this specification.
- the communication method is introduced in other parts of this specification.
- the device 100 may include at least one storage medium 110 and at least one processor 120.
- the device 100 may also include a communication port 130 and an internal communication bus 140.
- the device 100 may also include an I/O component 150.
- the internal communication bus 140 may connect various system components, including the storage medium 110 , the processor 120 , the I/O components 150 , and the communication port 130 .
- the I/O component 150 supports input/output between the device 100 and other components.
- the communication port 130 is used for data communication between the device 100 and the outside world, for example, the communication port 130 can be used for data communication between the device 100 and other devices. As shown in FIG2 , the communication port 130 may include a transmitting port and a receiving port, and both the transmitting port and the receiving port are connected to the signal line 210 to realize data communication between the device 100 and other devices.
- the storage medium 110 may include a data storage device.
- the data storage device may be a non-temporary storage medium or a temporary storage medium.
- the data storage device may include one or more of a disk 111, a read-only storage medium (ROM) 112, or a random access storage medium (RAM) 113.
- the storage medium 110 also includes at least one instruction set stored in the data storage device.
- the instruction set includes instructions, which are computer program codes, and the computer program codes may include programs, routines, objects, components, data structures, processes, modules, etc. that execute the communication method provided in this specification.
- At least one processor 120 can be connected to at least one storage medium 110 through an internal communication bus 140. At least one processor 120 is used to execute the above-mentioned at least one instruction set. When the device 100 is running, at least one processor 120 reads the at least one instruction set and executes the communication method provided in this specification according to the instructions of the at least one instruction set. The processor 120 can perform all or part of the steps included in the communication method. The processor 120 can be in the form of one or more processors.
- the processor 120 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a microcontroller unit, a digital signal processor (DSP), a field programmable gate array (FPGA), an advanced RISC machine (ARM), a programmable logic device (PLD), any circuit or processor capable of performing one or more functions, etc., or any combination thereof.
- a microcontroller such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a microcontroller unit, a digital signal processor (DSP), a field programmable gate
- the device 100 in this specification may also include multiple processors, and therefore, the operations and/or method steps disclosed in this specification may be performed by one processor as described in this specification, or may be performed jointly by multiple processors.
- the processor 120 of the device 100 in this specification performs step A and step B
- step A and step B may also be performed jointly or separately by two different processors 120 (for example, the first processor performs step A, the second processor performs step B, or the first and second processors perform steps A and B together).
- FIG3 shows a flow chart of a communication method P100 provided according to an embodiment of the present specification.
- the target device may execute the communication method P100 described in the present specification.
- the target device may be any device 100 in the communication system 001.
- the processor 120 in the target device may read the instruction set stored in its local storage medium, and then execute the communication method P100 described in the present specification according to the provisions of the instruction set.
- the method P100 may include:
- S101 Access a single-wire serial bus of a communication system, the communication system includes a plurality of devices connected via the bus, the communication system does not have a master device, and the plurality of devices obtain the right to use the bus through competition.
- the communication interface 130 of the target device can be connected to the bus 200 to access the communication system 001.
- a bus 200 is provided in the earphone compartment, and a number of contacts are reserved on the bus 200.
- One of the contacts on the bus is connected to the communication port of the earphone compartment, so that the earphone compartment is connected to the communication system.
- contacts (corresponding to the communication port 130) are also reserved on the left earphone and the right earphone, respectively.
- the communication system includes three devices, namely the left earphone, the right earphone and the earphone compartment. The above three devices are connected through the bus 200 and communicate based on the bus 200.
- the communication system 001 described in this specification does not have a master device. In other words, there is no master-slave relationship between the multiple devices in the communication system 001.
- the multiple devices in the communication system 001 obtain the right to use the bus 200 through competition. In a certain period of time, at most one device obtains the right to use the bus 200 through competition.
- after each device accesses the bus 200 it does not occupy the right to use the bus 200 by default, and can obtain the right to use the bus 200 by competing with other devices when necessary.
- there may be certain moments (for example, when all devices do not need to send data) when any device in the communication system 001 does not have the right to use the bus 200, that is, the bus 200 is in an idle state.
- S102 Determine whether the target device has the highest priority for sending data among at least one first candidate device, where the at least one first candidate device includes all devices waiting to send data in the communication system at the current moment.
- the target device accesses the bus 200, if the target device needs to send data, the target device needs to compete with other devices in the communication system that need to send data to determine whether it can obtain the right to use the bus 200.
- the specific competition method is to determine whether it has the highest priority for sending data among at least one first candidate device. If so, it obtains the right to use the bus 200, if not, it cannot obtain the right to use the bus 200.
- the above-mentioned first candidate device refers to a device waiting to send data at the current moment, or a device that needs to send data at the current moment.
- each first candidate device determines whether it has the highest priority for sending data among the at least one first candidate device.
- the at least one first candidate device obtains the right to use the bus 200 by the first candidate device with the highest priority through competition.
- device A it is assumed that there are three first candidate devices in the communication system 001 at this moment: device A, device B and device C. If device A has the highest priority among the three first candidate devices, device A obtains the right to use the bus 200. If device B has the highest priority among the three first candidate devices, device B obtains the right to use the bus 200. If device C has the highest priority among the three first candidate devices, device C obtains the right to use the bus 200.
- the priority corresponding to each device in the communication system 001 is a preset fixed priority, and the priorities corresponding to different devices are different.
- a fixed priority can be assigned to each device in the communication system 001 in advance, for example, the priority of device A is high, the priority of device B is medium, and the priority of device C is low.
- device A obtains the right to use bus 200.
- device B obtains the right to use bus 200.
- a high-priority device can obtain the right to use bus 200, ensuring that the data of the high-priority device can be sent in time.
- the priority corresponding to each device in the communication system 001 is related to the data to be sent by the device at present. That is to say, the priority corresponding to each device is not a preset fixed priority, but is dynamically adjusted based on the data to be sent at present. By adopting the dynamically adjusted priority, different devices can obtain the right to use the bus 200 more fairly.
- the priority corresponding to each device is related to the amount of data to be sent at present. For example, the larger the amount of data to be sent by a certain device, the lower the priority corresponding to the device; the smaller the amount of data to be sent by a certain device, the higher the priority corresponding to the device.
- the priority corresponding to each device is related to the importance of the data to be sent at present. For example, the higher the importance of the data to be sent by a certain device, the higher the priority corresponding to the device; the lower the importance of the data to be sent by a certain device, the lower the priority corresponding to the device. In this way, it can be ensured that data with high importance is sent first.
- S103 Based on the result of the judgment, select one of the sending mode and the silent mode of the target device to execute, wherein, in the sending mode, the target device sends the target data to the bus and indicates the receiving device within a first preset time period, and stops sending the target data to the bus after the first preset time period ends; in the silent mode, the target device is in a data receiving state or an idle state within the first preset time period.
- the target device can choose to execute the sending mode or the silent mode based on the result of the above judgment.
- the sending mode can be understood as a mode for sending data to the bus
- the silent mode can be understood as a mode for prohibiting sending data to the bus.
- the silent mode can also be called the prohibition mode.
- the target device can choose to execute the sending mode, that is, the target device sends the target data to the bus 200 and specifies the receiving device within the first preset time, and stops sending the target data to the bus 200 after the first preset time.
- the above “stop sending target data to the bus 200” can be understood as the target device releasing the right to use the bus 200. That is to say, after the target device obtains the right to use the bus 200, the validity period of the right to use is the first preset time.
- the target device when the target device sends the target data to the bus 200 within the first preset duration, it can be sent in a broadcasting manner, in which case the designated receiving devices include all devices in the communication system. In some embodiments, when the target device sends the target data to the bus 200 within the first preset duration, it can also be sent in an on-demand manner, in which case the designated receiving devices may include some devices in the communication system. In some embodiments, when the target device sends the target data to the bus, the manner in which the receiving device is designated may be: including an identifier of the receiving device in the target device. In some embodiments, the above-mentioned receiving device is in a data receiving state within the first preset duration, that is, receives the target data from the bus.
- the target device can execute a silent mode, that is, the target device is in a data receiving state or an idle state within a first preset time period.
- the data receiving state refers to receiving data sent by the first candidate device with the highest priority from the bus 200.
- the idle state refers to a state of neither receiving data nor sending data.
- the target device in the silent mode, can be in a data receiving state during the entire period of the first preset time period, or the target device can be in an idle state during the entire period of the first preset time period, or the target device can be in a data receiving state in the first part of the time period within the first preset time period and in an idle state in the second part of the time period.
- contention-based communication method provided in the present application is illustrated below with reference to FIG. 4 .
- FIG4 shows a schematic diagram of a communication process provided according to an embodiment of the present specification.
- the time dimension is divided into multiple communication cycles, wherein FIG4 illustrates two cycles, namely the i-th cycle and the i+1-th cycle.
- the durations of different cycles may be the same or different, and this application does not limit this.
- each cycle includes a contention phase and a bus use phase.
- the contention phase it can be determined through competition which device obtains the right to use the bus 200; in the bus use phase, the device that obtains the right to use the bus 200 can send data within a first preset duration.
- the following is an example of a communication system consisting of three devices, device A, device B and device C.
- device A, device B and device C all need to send data.
- device A, device B and device C synchronously execute S102 in the above communication method, that is, determine whether they have the highest priority for sending data among the three devices (i.e., device A, device B and device C), and the judgment result is yes or no.
- device A has the highest priority for sending data among the three devices
- device A sends data to bus 200 and indicates the receiving device, and device B and device C are in a data receiving state or an idle state.
- device B and device C need to send data.
- device B and device C synchronously execute S102 in the above communication method, that is, determine whether they have the highest priority for sending data among the two devices (i.e., device B and device C), and the judgment result is yes or no.
- device B determines whether they have the highest priority for sending data among the two devices
- device B sends data to bus 200 and indicates the receiving device, and device A and device C are in data receiving state or idle state.
- the i-th cycle and the i+1-th cycle in FIG4 are illustrated by taking the case where at least some devices in the communication system need to send data as an example.
- the bus is in an idle state in the communication cycle, that is, no device in the communication system occupies the right to use the bus.
- each device in the communication system can obtain the right to use the bus by means of competition, so that each device can autonomously use the bus for data transmission. Furthermore, since each device in the communication system autonomously uses the bus for data transmission without relying on the control of other devices, the data update of each device in the communication system has high real-time performance. In addition, since there is no need to set up a master device in the communication system, no device in the communication system needs to periodically control other devices, which reduces the control overhead of the device and can improve the performance of the device. In addition, by judging the priority of the data sent by each first candidate device, the first candidate device with the highest priority currently obtains the right to use the bus in each communication cycle.
- the target device in the sending mode, can send an end code to the bus at a target time to instruct at least one second candidate device to determine whether it has the highest sending priority among the at least one second candidate device, wherein the at least one second candidate device includes all devices in the communication system waiting to send data at the target time.
- the above-mentioned target time can be the end time of the first preset duration.
- device A sends target data to the bus within a first preset duration and specifies a receiving device, and device B and device C are in a data receiving state or an idle state. At the end of the first preset duration, device A can send an end code to the bus. After receiving the end code, device B and device C learn that device A has released the right to use bus 200, and learn that they have entered the competition phase of the i+1th cycle.
- device B and device C execute S102 in the above communication method, i.e., determine whether they have the highest priority for sending data among the at least one second candidate device, thereby starting the competition of the i+1th cycle.
- the target device sends an end code to the bus at the end of the first preset time, so that the communication cycles of different devices in the communication system can be aligned, and then different devices can initiate competition at the same time, thereby improving the communication reliability of the communication system.
- the target time may also be earlier than the end time of the first preset duration. That is, in the sending mode, the target device may also send an end code to the bus before the end of the first preset duration. For example, if the first preset duration has not ended when the target device completes the sending of the target data, an end code may be sent to the bus to instruct at least one second candidate device to determine whether it has the highest sending priority among the at least one second candidate device, wherein the at least one second candidate device includes all devices in the communication system waiting to send data at the time of sending the end code.
- the target device completes sending the target data before the end of the first preset time, it sends an end code to the bus in advance.
- it allows the communication cycles of different devices in the communication system to be aligned, so that different devices can initiate competition at the same time, thereby improving the communication reliability of the communication system.
- it can avoid the invalid occupation of the bus by the target device, release the right to use the bus in time for other devices to use, and improve the communication efficiency of the communication system.
- the target device executes the silent mode and sets the state of the target device to the mute state.
- the mute state refers to the state in which data is prohibited from being sent to the bus, and the mute state can also be called the forbidden state or the silent state.
- the target device starts to receive data from the bus. After receiving the data, it is determined whether the data is sent to itself according to the identification of the receiving device carried in the data. If not, the subsequent data can be ignored. If so, the subsequent data is continued to be received, and after the first preset time period ends, the state of the target device is set to a non-mute state.
- the target device when the target device generates new data to be sent, it can first determine whether its own state is a mute state. If it is not a mute state, S102 can be executed. If it is a mute state, it means that there are other devices occupying the right to use the bus at this time. In this case, the target device can first cache the data to be sent until its own state is switched to a non-mute state and then execute S102.
- both device B and device C switch to the non-mute state. Furthermore, device B and device C synchronously execute the above-mentioned S102 to compete for the right to use the bus.
- the communication cycles of different devices in the communication system can be aligned, and then different devices can initiate competition at the same time, thereby improving the communication reliability of the communication system.
- the above steps S102 to S103 may be executed cyclically.
- the above steps S102 may be executed in the contention phase of each cycle
- the above steps S103 may be executed in the bus use phase of each cycle.
- the priority of the target device is adjusted, and the adjusted priority is higher than the priority before the adjustment.
- the second preset duration is greater than the first preset duration.
- the second preset duration can be the duration of 3 communication cycles.
- the priority of the target device is increased. This can increase the probability of the target device competing for the right to use the bus and avoid the situation where the data of the target device cannot be sent for a long time. It should be understood that when adjusting the priority, the adjusted priority is different from the priority of other devices in the communication system.
- each device in the communication system 001 corresponds to a feature code
- the feature code represents the priority of the corresponding device's sent data.
- the number of bits included in the feature code is positively correlated with the priority. In this way, the number of bits included in the feature code can reflect the priority of the device's sent data. The more bits included in the feature code, the higher the priority of the device's sent data, and the fewer bits included in the feature code, the lower the priority of the device's sent data.
- the bus is at a first level in an idle state
- the feature code includes at least one second level that is continuous in time, and the number of bits of the second level (ie, the duration of the second level) is positively correlated with the priority.
- the first level is a high level and the second level is a low level.
- the number of low-level bits contained in the feature code can reflect the priority of the device's sending data. The more low-level bits contained in the feature code, the longer the low level lasts on the bus, indicating that the priority of the device sending data is higher, and the fewer low-level bits included in the feature code, the shorter the low level lasts on the bus, indicating that the priority of the device sending data is lower.
- the number of low-level bits contained in the feature code of the first device i.e., the time the first device keeps the bus at a low level
- the number of low-level bits contained in the feature code of the second device is greater than the number of low-level bits contained in the feature code of the second device (i.e., the time the second device keeps the bus at a low level).
- the first level is a low level and the second level is a high level.
- the number of high-level bits contained in the feature code can reflect the priority of the device's sent data. The more high-level bits contained in the feature code, the higher the priority of the device's sent data, and the fewer high-level bits included in the feature code, the lower the priority of the device's sent data. In other words, for any two devices in the communication system: a first device and a second device, if the priority of the first device's sent data is higher than the priority of the second device's sent data, then the number of high-level bits contained in the feature code of the first device is greater than the number of high-level bits contained in the feature code of the second device.
- the feature code of each device may also include a start code, and the start code is located before the at least one second level, and the start codes contained in the feature codes corresponding to different devices are the same. It can be understood that since different devices in the communication system share the same start code, when the device in the communication system receives data on the bus, it can identify the current broadcast content as a feature code based on the start code. In addition, when different devices broadcast feature codes synchronously, the starting positions of the first second levels in different feature codes are aligned. It should be noted that the present application does not limit the content of the start code.
- FIG5 shows a schematic diagram of a feature code provided according to an embodiment of the present specification.
- the first level is a high level and the second level is a low level.
- the communication system includes three devices, namely device A, device B and device C. Among them, the priority of the data sent by device A is high, the priority of the data sent by device B is medium, and the priority of the data sent by device C is low.
- the feature code of device A may include a start code and three low levels that are continuous in time
- the feature code of device B may include a start code and two low levels that are continuous in time
- the feature code of device C may include a start code and one low level.
- the devices in the communication system 001 can compete for the right to use the bus 200 by broadcasting their own characteristic codes on the bus.
- the target device can determine whether it has the highest priority for sending data among the at least one first candidate device in the following manner:
- other devices are also synchronously broadcasting corresponding feature codes” means that the start time of broadcasting their feature codes by other devices and the target device is the same, that is, all first candidate devices start broadcasting their feature codes at the same time.
- the target device may or may not receive a signal from the bus while broadcasting its own feature code.
- the signal received by the target device from the bus is the same as the feature code broadcasted by itself.
- the target device may receive the next bit signal transmitted on the bus, and then determine whether it has the highest priority for sending data among the at least one first candidate device based on the next bit signal.
- the bus is at a high level in an idle state
- the feature code includes at least one low level.
- the next bit signal received by the target device is at a low level, it means that there are other devices with higher priority than itself in the communication system that are broadcasting feature codes to the bus, so the target device determines that it does not have the highest priority among the at least one candidate device; if the next bit signal received by the target device is at a high level, it means that there are no other devices in the communication system that are broadcasting feature codes to the bus, so the target device determines that it has the highest priority among the at least one candidate device.
- the bus is at a low level in an idle state
- the feature code includes at least one high level.
- the next bit signal received by the target device is at a high level, it means that there are other devices with higher priority than itself in the communication system that are broadcasting feature codes to the bus, so the target device determines that it does not have the highest priority among the at least one candidate device; if the next bit signal received by the target device is at a low level, it means that there are no other devices in the communication system that are broadcasting feature codes to the bus, so it is determined that the target device has the highest priority among the at least one candidate device.
- device A, device B and device C all need to send data in the i-th cycle.
- device A, device B and device C synchronously broadcast their own feature codes.
- the feature codes broadcast by device A, device B and device C are shown in FIG5 .
- the broadcast completion time of the feature code of device A is later than the broadcast completion time of the feature code of device B, and the broadcast completion time of the feature code of device B is later than the broadcast completion time of the feature code of device C.
- the next bit signal received by device C on the bus is low level. Therefore, device C determines that it does not have the highest priority among the above three devices. Based on this, device C knows that it does not have the right to use the bus and enters the silent mode.
- the next bit signal received by device B on the bus is low level, so device B determines that it does not have the highest priority among the above three devices. Based on this, device B knows that it does not have the right to use the bus and executes the silent mode.
- device A After the feature code of device A is broadcasted, since the feature codes of all devices are broadcasted, the bus is in an idle state, and the next bit signal received by device A on the bus is low level, device A determines that it has the highest priority among the above three devices. Based on this, device A knows that it has the right to use the bus and executes the sending mode.
- device A After the above competition phase, device A obtains the right to use the bus. Therefore, in the bus use phase of the i-th cycle (i.e., within the first preset duration), device A sends the target data to the bus and specifies the receiving device. Device B and device C receive the target data from the bus. If they determine that the target data is sent to them after receiving the target data, they continue to receive subsequent data. If they determine that the target data is not sent to them after receiving the target data, they can ignore the subsequent data until the first preset duration ends.
- the communication process in the (i+1)th cycle is similar to that in the (i)th cycle and will not be described in detail here.
- any target device in the communication system is connected to a single-wire serial bus, and the target device, when it needs to send target data, determines whether the target device has the highest priority for sending data in at least one first candidate device, and the at least one first candidate device includes all devices waiting to send data in the communication system 001 at the current moment, and based on the result of the judgment, the target device executes a sending mode or a silent mode, wherein in the sending mode, the target device sends the target data to the bus within a first preset time length and indicates the receiving device, and stops sending the target data to the bus after the first preset time length ends, and in the silent mode, the target device is in a data receiving state or an idle state within the first preset time length.
- each device in the communication system can obtain the right to use the bus by competing, so that each device can autonomously use the bus for data transmission. Further, since each device in the communication system autonomously uses the bus for data transmission without relying on the control of other devices, the data update of each device in the communication system has high real-time performance. In addition, since there is no need to set a master device in the communication system, no device in the communication system needs to periodically control other devices, which reduces the control overhead of the device and can improve the performance of the device. In addition, by judging the priority of the data sent by each first candidate device, the first candidate device with the highest priority currently obtains the right to use the bus in each communication cycle. In this way, on the one hand, it ensures that the communication between the devices in the communication system will not conflict, improving the communication reliability of the communication system, and on the other hand, it gives priority to ensuring the real-time data update of the device with the highest priority.
- the present specification provides a non-transitory storage medium storing at least one set of executable instructions for communication.
- the executable instructions When the executable instructions are executed by the processor, the executable instructions instruct the processor to implement the steps of the communication method P100 described in the present specification.
- various aspects of the present specification can also be implemented in the form of a program product, which includes a program code.
- the program product When the program product is run on the device 100, the program code is used to enable the device 100 to perform the steps of the communication method P100 described in the present specification.
- the program product for implementing the above method can use a portable compact disk read-only memory (CD-ROM) to include program code and can be run on the device 100.
- CD-ROM portable compact disk read-only memory
- the program product of the present specification is not limited to this.
- the readable storage medium can be any tangible medium containing or storing a program, which can be used by the instruction execution system or used in combination with it.
- the program product can use any combination of one or more readable media.
- the readable medium can be a readable signal medium or a readable storage medium.
- the readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above.
- readable storage media include: an electrical connection with one or more conductors, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
- the computer-readable storage medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein the readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
- the readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device.
- the program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above.
- Program code for performing the operations of the present specification may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages.
- the program code may be executed entirely on the device 100, partially on the device 100, as a stand-alone software package, partially on the device 100 and partially on a remote computing device, or entirely on a remote computing device.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种通信方法、设备及系统,通信系统中的多个设备通过单线式串行总线连接,通信系统中的任意的目标设备在需要发送目标数据的情况下,判断目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,该至少一个第一候选设备包括当前时刻通信系统中等待发送数据的所有设备,基于判断的结果,目标设备执行发送模式或者静默模式,其中,在发送模式下,目标设备在第一预设时长内向总线发送目标数据并指明接收设备,并在第一预设时长结束后停止向总线发送目标数据,在静默模式下,目标设备在第一预设时长内处于数据接收状态或者空闲状态。通过上述过程,使得通信系统中的各设备均能够通过竞争的方式自主使用总线进行数据传输。
Description
本说明书涉及通信技术领域,尤其涉及一种通信方法、设备及系统。
在一些通信系统中,多个设备之间需要基于单线式串行总线进行通信。单线式串行总线采用半双工的数据传输方式,例如,数据可以由设备A传输至设备B,也可以由设备B传输至设备A,但是,两个方向的传输不能同时进行。
在上述通信系统中,为了避免多个设备对单线式串行总线的使用发生冲突,通常采用预先规定主从设备的方式。主设备默认一直占用总线的使用权。主设备可以通过总线周期性的通知从设备传输数据,并在通知后释放总线的使用权。从设备在规定的时间段内使用总线进行数据传输。在从设备传输完毕或者时间段到期后,主设备重新占用总线的使用权。
然而,上述方式中,从设备完全受主设备的控制,无法自主地使用总线进行数据传输。
发明内容
本说明书提供一种通信方法、设备及系统,使得通信系统中的各设备均能够通过竞争的方式自主使用总线进行数据传输。
第一方面,本说明书提供一种通信方法,应用于单线式串行总线通信系统中的目标设备,所述方法包括:接入通信系统的单线式串行总线,所述通信系统包括通过所述总线连接的多个设备,所述通信系统不设置主设备,所述多个设备通过竞争获得对所述总线的使用权;判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,所述至少一个第一候选设备包括当前时刻所述通信系统中等待发送数据的所有设备;基于所述判断的结果,在所述目标设备的发送模式和静默模式中择一执行,其中,在所述发送模式下,所述目标设备在第一预设时长内向所述总线发送目标数据并指明接 收设备,并在所述第一预设时长结束后停止向所述总线发送所述目标数据,以及在所述静默模式下,所述目标设备在所述第一预设时长内处于数据接收状态或者空闲状态。
在一些实施例中,所述基于所述判断的结果,在所述目标设备的发送模式和静默模式中择一执行,包括:确定所述判断的结果为具有最高的发送数据的优先级;然后选择执行所述发送模式。
在一些实施例中,所述基于所述判断的结果,在所述目标设备的发送模式和静默模式中择一执行,包括:确定所述判断的结果为不具有最高的发送数据的优先级;然后选择执行所述静默模式。
在一些实施例中,在所述发送模式下,所述目标设备在目标时刻向所述总线发送结束码,以指示所述通信系统中的至少一个第二候选设备分别判断自身在所述至少一个第二候选设备中是否具有最高的发送数据的优先级,其中,所述至少一个第二候选设备包括在所述目标时刻所述通信系统中等待发送数据的所有设备,所述目标时刻为所述第一预设时长的结束时刻,或者,所述目标时刻早于所述第一预设时长的结束时刻。
在一些实施例中,所述通信系统中的每个设备对应有特征码,所述特征码表征对应设备的所述优先级;以及所述判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,包括:向所述总线广播所述目标设备的特征码,其中,在所述目标设备广播所述目标设备的特征码的同时,所述至少一个第一候选设备中的其他设备也在同步广播对应的特征码,在所述目标设备的特征码广播完成后,接收所述总线上传输的下一比特信号,以及根据所述下一比特信号,判断所述目标设备在所述至少一个第一候选设备中是否具有最高的发送数据的优先级。
在一些实施例中,所述总线在空闲状态下处于第一电平;以及所述特征码包括时间连续的至少一个第二电平,且所述第二电平的比特数量与所述优先级正相关。
在一些实施例中,所述特征码还包括起始码,所述起始码位于所述至少一个第二电平之前;以及不同设备对应的特征码中包含的所述起始码相同。
在一些实施例中,所述根据所述下一比特信号,判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,包括:确定所述下一比特信号为所述第一电平,以及确定所述目标设备在所述至少一个第一候选设备中具有最高的发送数据的优先级。
在一些实施例中,所述根据所述下一比特信号,判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,包括:确定所述下一比特信号为所述第 二电平,以及确定所述目标设备在所述至少一个第一候选设备中不具有最高的发送数据的优先级。
在一些实施例中,所述第一电平为高电平,所述第二电平为低电平。
在一些实施例中,所述第一电平为低电平,所述第二电平为高电平。
在一些实施例中,所述方法还包括:若所述目标设备在第二预设时长内未获得对所述总线的使用权,则对所述优先级进行调整,其中,所述调整之后的优先级高于所述调整之前的优先级,所述第二预设时长大于所述第一预设时长。
在一些实施例中,所述通信系统中的每个设备对应的所述优先级为预设的固定优先级,且不同设备对应的所述优先级不同。
在一些实施例中,所述通信系统中的每个设备对应的所述优先级与该设备当前待发送的数据相关。
在一些实施例中,所述多个设备包括耳机盒、左耳机、右耳机中的至少两个。
第二方面,本说明书还提供一种可接入单线式串行总线通信系统的设备,包括:至少一个存储介质和至少一个处理器,其中,所述至少一个存储介质存储有至少一个指令集,用于与其他设备进行通信,所述至少一个处理器同所述至少一个存储介质通信连接,当所述设备运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行如第一方面中任一项所述的方法。
第三方面,本说明书还提供一种通信系统,包括:单线式串行总线以及多个设备,所述多个设备与所述总线连接,其中,所述通信系统不设置主设备,所述多个设备通过竞争获得对所述总线的使用权;当所述通信系统运行时,所述多个设备中的任意目标设备执行如第一方面中任一项所述的方法。
由以上技术方案可知,本说明书提供的通信方法、设备及系统,通信系统中的任意目标设备接入单线式串行总线,目标设备在需要发送目标数据的情况下,判断目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,所述至少一个第一候选设备包括当前时刻通信系统中等待发送数据的所有设备,基于所述判断的结果,目标设备执行发送模式或者静默模式,其中,在发送模式下,目标设备在第一预设时长内向总线发送目标数据并指明接收设备,并在第一预设时长结束后停止向总线发送目标数据,在静默模式下,目标设备在第一预设时长内处于数据接收状态或者空闲状态。由此可见,通信系统中的各设备可以通过竞争的方式获得对总线的使用权,使得各设备可以自主使用总线进行数据传输。进一步的,由于通信系统中的各设备均自主使用总线进行数据传 输,而不必依赖其他设备的控制,因此,通信系统中各设备的数据更新均具有较高的实时性。另外,由于通信系统中不必设置主设备,使得通信系统中的任何设备都不必周期性的控制其他设备,降低了设备的控制开销,能够提高设备的性能。另外,通过判断各第一候选设备的发送数据的优先级,使得每个通信周期都由当前具有最高优先级的第一候选设备获得对总线的使用权。这样,一方面保证了通信系统中的各设备之间的通信不会冲突,提高了通信系统的通信可靠性,另一方面优先保证了具有高优先级的设备的数据更新的实时性。
本说明书提供的通信方法、设备及系统的其他功能将在以下说明中部分列出。本说明书提供的通信方法、设备及系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本说明书的实施例提供的一种通信系统的示意图;
图2示出了根据本说明书的实施例提供的一种设备的硬件结构图;
图3示出了根据本说明书的实施例提供的一种通信方法的流程图;
图4示出了根据本说明书的实施例提供的通信过程的示意图;以及
图5示出了根据本说明书的实施例提供的特征码的示意图。
以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非 上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
为了方便描述,本说明书先对后文描述将会出现的术语进行如下解释:
串行通信:从广义上说,计算机通信方式可以分为串行通信和并行通信。串行通信在同一时刻,只能传输一个比特位的信号。并行通信在同一时刻,可以传输多个比特位的信号。
串行总线:基于串行通信方式的总线称为串行总线。多个设备可以接入串行总线并通过串行总线进行通信。例如,设备A可以向串行总线发送第一数据,以便设备B从串行总线接收第一数据。或者,设备B向串行总线发送第二数据,以便设备A从串行总线接收第二数据。
串行总线可以分为单线式串行总线和双线式串行总线。其中,单线和双线指的是串行总线中信号线的数量。单线式串行总线中包括1根信号线。接入单线式串行总线的设备既可以向该信号线发送数据,也可以从该信号线接收数据,但是发送数据和接收数据不能同时进行。双线式串行总线中包括两根信号线,分别为发送(Tx)信号线和接收(Rx)信号线。接入双线式串行总线的设备可以向发送信号线发送数据,以及从接收信号线接收数据,发送数据和接收数据可以同时进行,二者互不影响。在一些情况下,串行总线中除了包括信号线之外,还可以包括时钟线、地线等。时钟线用于向设备提供时钟信号,地线用于使设备接地。
单工、半双工和全双工,描述的是数据传输方式。其中,单工指的是数据只能单方向传输。例如,设备A可以向设备B传输数据,但是设备B不能向设备A传输数据。半双工指的是数据可以在两个方向上传输,但是不能同时传输。例如,设备A可以在第一时刻向设备B传输数据,设备B可以在第二时刻向设备A传输数据,第二时刻与第一时刻不同。全双工是指数据可以同时在两个方向上传输。例如,设备A可以向设备B传输数据,同时,设备B也可以向设备A传输数据。能够理解,基于单线式串行总线的数据传输方式为半双工方式,基于双线式串行总线的数据传输方式为全双工方式。
在对本说明书具体实施例说明之前,先对本说明书的应用场景进行说明。本说明书涉及基于单线式串行总线的通信系统。该通信系统可以为无线耳机通信系统,也可以为其他通信系统。以无线耳机通信系统为例,无线耳机通信系统通常包括左耳机、右耳机和耳机仓。在耳机不被使用的情况下,用户可以将左耳机和右耳机放入耳机仓内进行收纳,或者,在耳机需要充电的情况下,用户可以将左耳机和右耳机放入耳机仓内进行充电。通常,左耳机和右耳机可以预留触点,相应的,在耳机仓的对应位置也可以预留触点。这样,当左耳机和右耳机被放入耳机仓内时,左耳机、右耳机上的触点与耳机仓上的触点相接触,从而能够进行充电或者其他数据交互。这些触点之间通过单线式串行总线相连,这样使得左耳机、右耳机和耳机仓之间可以基于单线式串行总线进行通信。
需要说明的是,上述无线耳机通信系统只是本说明书提供的多个使用场景中的一个,本说明书提供的通信方法不仅可以应用于无线耳机通信系统,还可以应用于基于单线式串行总线进行通信的所有场景。本领域技术人员应当明白,本说明书所述的通信方法应用于其他使用场景也在本说明书的保护范围内。
在相关技术中,针对基于单线式串行总线的通信系统,为了避免多个设备对总线的使用发生冲突,通常采用预先规定主从设备的方式。主设备默认一直占用总线的使用权。主设备可以通过总线周期性的通知从设备传输数据,并在通知后释放总线的使用权。从设备在规定的时间段内使用总线进行数据传输。在从设备传输完毕或者时间段到期后,主设备重新占用总线的使用权。该方式中,从设备的数据传输完全受主设备的控制,无法自主传输数据。进一步的,由于主设备需要周期性的通知从设备传输数据,这样会导致从设备的数据更新实时性和主设备的系统开销之间难以平衡。例如,若主设备通知从设备进行数据传输的周期太长,使得从设备的数据更新实时性较低;若主设备通知从设备进行数据传输的周期太短,又使得主设备的系统开销较高。另外,上述通信方式通常 仅适用于包括两个设备的通信系统。
为了解决上述技术问题中的至少一个,本说明书的实施例提供一种通信方法、设备及系统。下面首先结合图1对通信系统进行介绍。
图1示出了根据本说明书的实施例提供的一种通信系统的示意图。如图1所示,通信系统001可以包括单线式串行总线200(以下简称总线200)、以及通过总线200连接的多个设备100,例如,设备A、设备B、…、设备N。多个设备100之间通过总线200进行通信。
总线200包括一根信号线210。参见图1,每个设备100具有发送(Tx)端口和接收(Rx)端口。发送端口和接收端口均与信号线210连接,使得不同设备之间可以基于信号线210进行数据传输。由于总线200为单线式串行总线,因此,不同设备之间的数据传输方式为半双工方式。在一些实施例中,总线200还可以包括一根地线220,每个设备100还可以具有接地端口(GND),接地端口均与地线220连接,使得不同设备之间实现共地连接。这样可以减少外界信号的干扰。在一些实施例中,总线200还可以包括一根时钟线(图1中未示出),每个设备还可以具有时钟接口(图1中未示出),时钟接口与时钟线连接,使得不同设备之间实现时钟同步。
设备100为可基于单线式串行总线进行通信的电子设备。通信系统001中的多个设备100之间不设置主设备,或者说,通信系统001中的多个设备100之间不存在主从关系。通信系统001中的多个设备100通过竞争的方式获得对总线200的使用权。
在一些实施例中,上述竞争的方式可以为:将当前时刻通信系统中等待发送数据的设备称为第一候选设备,若通信系统中仅存在一个第一候选设备,则该第一候选设备可以获得对总线200的使用权。假设在当前时刻通信系统中存在多个第一候选设备,则基于多个第一候选设备的发送数据的优先级,由最高优先级对应的第一候选设备获得对总线200的使用权。上述竞争的方式适用于通信系统001中的所有设备。上述的“获得对总线200的使用权”是指获得使用总线200中的信号线210来传输数据的权利。在设备100获得对总线200的使用权之后,设备100可以向总线200发送目标数据,以使其他设备通过总线200接收目标数据。应理解,在每个时刻,通信系统001中最多存在一个设备100获得对总线200的使用权,这样,在通信系统001内部不同设备100之间形成竞争关系。在一些实施例中,当通信系统001中的所有设备100均不需要发送数据时,任何一个设备100均不拥有对总线200的使用权,也就是说,总线200处于空闲状态。
在一些实施例中,本说明书描述的通信方法可以在设备100上执行。此时,设备100可以存储有执行本说明书描述的通信方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,设备100可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。上述的通信方法将在后面的内容中详细介绍。
在一些实施例中,设备100可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居设备可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实手柄、增强现实头盔、增强现实眼镜、增强现实手柄或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、VR等。在一些实施例中,所述机动车中的内置设备可包括车载计算机、车载电视等。在一些实施例中,图1中的多个设备100可以包括:左耳机、右耳机、耳机仓中的至少两个。
应该理解,图1中的设备100的数目仅仅是示意性的。根据实现需要,可以具有任意数目的设备100。另外需要说明的是,本说明书描述的通信方法可以由通信系统中的任意一个设备100执行。
图2示出了根据本说明书的实施例提供的一种设备100的硬件结构图。设备100可以执行本说明书描述的通信方法。所述通信方法在本说明书中的其他部分介绍。
如图2所示,设备100可以包括至少一个存储介质110和至少一个处理器120。在一些实施例中,设备100还可以包括通信端口130和内部通信总线140。在一些实施例中,设备100还可以包括I/O组件150。
内部通信总线140可以连接不同的系统组件,包括存储介质110、处理器120、I/O组件150和通信端口130。
I/O组件150支持设备100和其他组件之间的输入/输出。
通信端口130用于设备100同外界的数据通信,比如,通信端口130可以用于设备100同其他设备之间的数据通信。如图2所示,通信端口130可以包括发送端口和接收端口,发送端口和接收端口均连接至信号线210,以实现设备100与其他设备之间的数 据通信。
存储介质110可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘111、只读存储介质(ROM)112或随机存取存储介质(RAM)113中的一种或多种。存储介质110还包括存储在所述数据存储装置中的至少一个指令集。指令集中包括指令,所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的通信方法的程序、例程、对象、组件、数据结构、过程、模块等等。
至少一个处理器120可以同至少一个存储介质110通过内部通信总线140通信连接。至少一个处理器120用以执行上述至少一个指令集。当设备100运行时,至少一个处理器120读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的通信方法。处理器120可以执行通信方法包含的所有步骤或部分步骤。处理器120可以是一个或多个处理器的形式,在一些实施例中,处理器120可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中心处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,图2所示的设备100示例了仅包括一个处理器120的情况。然而,应当注意,本说明书中设备100还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中设备100的处理器120执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器120联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。
图3示出了根据本说明书的实施例提供的一种通信方法P100的流程图。目标设备可以执行本说明书描述的通信方法P100。其中,目标设备可以为通信系统001中的任意一个设备100。具体的,目标设备中的处理器120可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书描述的通信方法P100。如图3所示,方法P100可以包括:
S101:接入通信系统的单线式串行总线,通信系统包括通过所述总线连接的多个设 备,通信系统不设置主设备,所述多个设备通过竞争获得对所述总线的使用权。
具体的,可以将目标设备的通信接口130与总线200连接以接入通信系统001。作为一个示例,耳机仓内设置有总线200,并在总线200上预留有若干个触点。总线上的其中一个触点与耳机仓的通信端口连接,使得耳机仓接入通信系统。相应的,左耳机和右耳机上也分别预留有触点(对应于通信端口130)。当用户将左耳机放入耳机仓内时,左耳机上的触点与总线上的触点相接触,使得左耳机接入通信系统。当用户将右耳机放入耳机仓内时,右耳机上的触点与总线上的触点相接触,使得右耳机接入通信系统。这样,通信系统中包括3个设备,分别为左耳机、右耳机和耳机仓。上述3个设备之间通过总线200连接,并基于总线200进行通信。
需要说明的是,本说明书描述的通信系统001中不设置主设备。换言之,通信系统001中的多个设备之间不存在主从关系。通信系统001中的多个设备之间通过竞争获得对总线200的使用权。在某个时间段内,通过竞争的方式,最多存在一个设备获得对总线200的使用权。在一些实施例中,每个设备接入总线200之后,默认不占有对总线200的使用权,在需要时可以通过与其他设备竞争获得对总线200的使用权。在一些实施例中,可能存在某些时刻(例如所有设备均不需要发送数据时),通信系统001中的任意设备均不拥有对总线200的使用权,即总线200为空闲状态。
S102:判断目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,所述至少一个第一候选设备包括当前时刻通信系统中等待发送数据的所有设备。
具体的,在目标设备接入总线200之后,若目标设备需要发送数据,则目标设备需要与通信系统中需要发送数据的其他设备进行竞争,以确定自身是否可以获得对总线200的使用权。具体竞争的方式是,判断自身在至少一个第一候选设备中是否具有最高的发送数据的优先级。若是,则自身获得对总线200的使用权,若否,则不能获得对总线200的使用权。其中,上述第一候选设备是指在当前时刻等待发送数据的设备,或者说,在当前时刻需要发送数据的设备。
应理解,在目标设备执行S102时,其他的第一候选设备也同步执行S102,即每个第一候选设备均判断自身在所述至少一个第一候选设备中是否具有最高的发送数据的优先级。这样,所述至少一个第一候选设备通过竞争的方式,由具有最高优先级的第一候选设备获得对总线200的使用权。举例而言,假设当前时刻通信系统001中存在3个第一候选设备:设备A、设备B和设备C。若设备A在三个第一候选设备中具有最高的 所述优先级,则设备A获得对总线200的使用权。若设备B在三个第一候选设备中具有最高的所述优先级,则设备B获得对总线200的使用权。若设备C在三个第一候选设备中具有最高的所述优先级,则设备C获得对总线200的使用权。
在一些实施例中,通信系统001中的每个设备对应的所述优先级为预设的固定优先级,且不同设备对应的所述优先级不同。具体的,可以预先为通信系统001中每个设备分配固定优先级,例如,设备A的优先级为高,设备B的优先级为中,设备C的优先级为低。假设在第一时刻,设备A和设备B均需要发送数据,则基于上述优先级,设备A获得对总线200的使用权。假设在第二时刻,设备B和设备C均需要发送数据,则基于上述优先级,设备B获得对总线200的使用权。通过针对每个设备分配优先级,使得在竞争过程中,高优先级的设备能够获得对总线200的使用权,保证了高优先级的设备的数据能够及时发送。
在一些实施例中,通信系统001中的每个设备对应的所述优先级与该设备当前待发送的数据相关。也就是说,每个设备对应的所述优先级不是预设的固定优先级,而是基于当前待发送的数据动态调整的。通过采用动态调整的优先级,使得不同设备能够更加公平的获得对总线200的使用权。在一些实施例中,每个设备对应的所述优先级与当前待发送的数据的数据量相关。例如,某个设备待发送的数据的数据量越大,则该设备对应的所述优先级越低;某个设备待发送的数据的数据量越小,则该设备对应的所述优先级越高。这样,可以避免由于某些设备一直无法竞争到对总线200的使用权而导致数据无法发送的问题。在一些实施例中,每个设备对应的所述优先级与当前待发送的数据的重要程度相关。例如,某个设备待发送的数据的重要程度越高,则该设备对应的所述优先级越高;某个设备待发送的数据的重要程度越低,则该设备对应的所述优先级越低。这样,可以保证重要程度高的数据被优先发送。
S103:基于所述判断的结果,在目标设备的发送模式和静默模式中择一执行,其中,在发送模式下,目标设备在第一预设时长内向所述总线发送目标数据并指明接收设备,并在第一预设时长结束后停止向所述总线发送所述目标数据,在静默模式下,目标设备在第一预设时长内处于数据接收状态或者空闲状态。
应理解,上述S102中,通过判断目标设备在所述至少一个第一候选设备中是否具有最高的发送数据的优先级,得到的判断结果包括两种情况:(1)目标设备在所述至少一个第一候选设备中具有最高的发送数据的优先级,(2)目标设备在所述至少一个第一 候选设备中不具有最高的发送数据的优先级。因此,目标设备可以基于上述判断的结果,选择执行发送模式或者静默模式。其中,发送模式可以理解为向总线发送数据的模式,静默模式可以理解为禁止向总线发送数据的模式,静默模式也可以称为禁发模式。
在一些实施例中,若上述判断的结果为情况(1),即目标设备在所述至少一个第一候选设备中具有最高的发送数据的优先级,说明目标设备能够获得对总线200的使用权。因此,目标设备可以选择执行发送模式,即:目标设备在第一预设时长内向总线200发送目标数据并指明接收设备,并在所述第一预设时长结束后停止向总线200发送目标数据。应理解,上述“停止向总线200发送目标数据”可以理解为目标设备释放对总线200的使用权。也就是说,在目标设备获得对总线200的使用权后,使用权的有效期为第一预设时长。
在一些实施例中,目标设备在第一预设时长内向总线200发送目标数据时,可以采用广播的方式进行发送,该方式下,指明的接收设备包括通信系统中的所有设备。在一些实施例中,目标设备在第一预设时长内向总线200发送目标数据时,还可以采用点播的方式发送,该方式下,指明的接收设备可以包括通信系统中的部分设备。在一些实施例中,目标设备在向总线发送目标数据时,指明接收设备的方式可以为:在目标设备中包括接收设备的标识。在一些实施例中,上述接收设备在第一预设时长内处于数据接收状态,即,从总线接收所述目标数据。
在一些实施例中,若上述判断的结果为情况(2),即目标设备在所述至少一个第一候选设备中不具有最高的发送数据的优先级,说明目标设备不能获得对总线200的使用权。该情况下,总线200的使用权将由具有最高优先级的第一候选设备获得。目标设备可以执行静默模式,即:目标设备在第一预设时长内处于数据接收状态或者空闲状态。其中,数据接收状态是指,从总线200接收由具有最高优先级的第一候选设备发送的数据。空闲状态是指,不接收数据也不发送数据的状态。在一些实施例中,在静默模式下,目标设备可以在第一预设时长的全部时段处于数据接收状态,或者,目标设备可以在第一预设时长的全部时段处于空闲状态,或者,目标设备可以在第一预设时长内的第一部分时段处于数据接收状态而第二部分时段处于空闲状态。
为了便于理解,下面结合图4对本申请提供的基于竞争的通信方式进行举例说明。
图4示出了根据本说明书的实施例提供的通信过程的示意图。如图4所示,在时间维度上划分为多个通信周期,其中,图4中示例了2个周期,分别为第i周期和第i+1 周期。不同周期的时长可以相同也可以不同,本申请对此不作限定。继续参见图4,每个周期包括竞争阶段和总线使用阶段。在竞争阶段,通过竞争可以确定出哪个设备获得对总线200的使用权;在总线使用阶段,获得对总线200的使用权的设备可以在第一预设时长内发送数据。
下面以设备A、设备B和设备C三个设备组成的通信系统为例进行举例说明。针对第i周期,假设设备A、设备B和设备C均需要发送数据。在第i周期的竞争阶段,设备A、设备B和设备C同步执行上述通信方法中的S102,即判断自身在这三个设备(即设备A、设备B和设备C)中是否具有最高的发送数据的优先级,判断结果为是或否。假设设备A在这三个设备中具有最高的发送数据的优先级,则在第i周期的总线使用阶段,设备A向总线200发送数据并指明接收设备,设备B和设备C处于数据接收状态或者空闲状态。针对第i+1周期,假设设备B和设备C需要发送数据。在第i+1周期的竞争阶段,设备B和设备C同步执行上述通信方法中的S102,即判断自身在这两个设备(即设备B和设备C)中是否具有最高的发送数据的优先级,判断结果为是或否。假设设备B在这两个设备中具有最高的发送数据的优先级,则在第i+1周期的总线使用阶段,设备B向总线200发送数据并指明接收设备,设备A和设备C处于数据接收状态或者空闲状态。
需要说明的是,图4中的第i周期和第i+1周期,是以通信系统中存在至少部分设备需要发送数据的情况为例进行示意的。在某个通信周期中,若通信系统中所有设备均不需要发送数据,则该通信周期中总线处于空闲状态,也就是说,通信系统中的任何设备均不占用总线的使用权。
综上,通信系统中的各设备可以通过竞争的方式获得对总线的使用权,使得各设备可以自主使用总线进行数据传输。进一步的,由于通信系统中的各设备均自主使用总线进行数据传输,而不必依赖其他设备的控制,因此,通信系统中各设备的数据更新均具有较高的实时性。另外,由于通信系统中不必设置主设备,使得通信系统中的任何设备都不必周期性的控制其他设备,降低了设备的控制开销,能够提高设备的性能。另外,通过判断各第一候选设备的发送数据的优先级,使得每个通信周期都由当前具有最高优先级的第一候选设备获得对总线的使用权。这样,一方面保证了通信系统中的各设备之间的通信不会冲突,提高了通信系统的通信可靠性,另一方面优先保证了具有高优先级的设备的数据更新的实时性。
在一些实施例中,在发送模式下,目标设备可以在目标时刻向总线发送结束码,以指示至少一个第二候选设备分别判断自身在所述至少一个第二候选设备中是否具有最高的发送优先级,其中,所述至少一个第二候选设备包括在所述目标时刻所述通信系统中等待发送数据的所有设备。上述的目标时刻可以为第一预设时长的结束时刻。
结合图4进行举例说明。在第i周期的总线使用阶段中,设备A在第一预设时长内向总线发送目标数据并指明接收设备,设备B和设备C处于数据接收状态或者空闲状态。在第一预设时长的结束时刻,设备A可以向总线发送结束码。设备B和设备C接收到结束码后,得知设备A已释放对总线200的使用权,并得知进入第i+1周期的竞争阶段。因此,设备B和设备C(即至少一个第二候选设备)执行上述通信方法中的S102,即判断自身在所述至少一个第二候选设备中是否具有最高的发送数据的优先级,从而开启第i+1周期的竞争。
目标设备通过在第一预设时长的结束时刻向总线发送结束码,使得通信系统中不同设备之间可以对齐通信周期,进而不同设备之间可以同一时刻发起竞争,提高了通信系统的通信可靠性。
在一些实施例中,上述目标时刻也可以早于所述第一预设时长的结束时刻。也就是说,在发送模式下,目标设备也可以在第一预设时长结束之前向总线发送结束码,例如,若目标设备完成目标数据的发送时第一预设时长还未结束,则可以向总线发送结束码,以指示至少一个第二候选设备分别判断自身在所述至少一个第二候选设备中是否具有最高的发送优先级,其中,所述至少一个第二候选设备包括在结束码的发送时刻所述通信系统中等待发送数据的所有设备。
目标设备在第一预设时长结束之前若完成目标数据的发送,则提前向总线发送结束码,一方面使得通信系统中不同设备之间可以对齐通信周期,进而不同设备之间可以同一时刻发起竞争,提高了通信系统的通信可靠性,另一方面能够避免目标设备对总线的无效占用,将总线的使用权及时释放以供其他设备使用,提高通信系统的通信效率。
在一些实施例中,在S103中,若判断的结果为:目标设备不具有最高的发送数据的优先级,则目标设备执行静默模式,并且将目标设备的状态设置为哑音状态。哑音状态是指禁止向总线发送数据的状态,哑音状态也可以称为禁发状态或者静默状态。在静默模式下,目标设备开始从总线上接收数据。在接收到数据后,根据数据中携带的接收设备的标识,判断数据是否是发送给自己的。若不是,则可以忽略后续的数据。若是, 则继续接收后续的数据,并在第一预设时长结束后,将目标设备的状态设置为非哑音状态。这样,在目标设备产生新的待发送数据时,可以先判断自身的状态是否为哑音状态。若不是哑音状态,则可以执行S102。若是哑音状态,说明此时存在其他设备占用对总线的使用权,该情况下,目标设备可以先缓存待发送数据,直至自身状态切换为非哑音状态后再执行S102。
结合图4进行举例说明。在第i周期的竞争阶段,设备A获得对总线的使用权,因此,在第i周期的总线使用阶段,设备A执行发送模式,设备B和设备C执行静默模式,并将自身状态设置为哑音状态。在此期间(即第i周期的总线使用阶段),若设备B/设备C产生待发送数据,由于设备B/设备C处于哑音状态,因此设备B/设备C先缓存待发送数据,而不是立即执行S102进行竞争。待第i周期的总线使用阶段完成后(即设备A释放对总线的使用权后),设备B和设备C均切换为非哑音状态。进而,设备B和设备C同步执行上述的S102,以对总线的使用权进行竞争。
在上述通信过程中,通过对设备的哑音状态和非哑音状态进行维护,使得通信系统中不同设备之间可以对齐通信周期,进而不同设备之间可以同一时刻发起竞争,提高了通信系统的通信可靠性。
在一些实施例中,在目标设备接入总线200之后,可以循环执行上述S102至S103。例如,结合图4所示举例,在每个周期的竞争阶段执行上述S102,在每个周期的总线使用阶段执行上述的S103。
在一些实施例中,若目标设备在第二预设时长内未获得对总线200的使用权,则对所述目标设备的所述优先级进行调整,调整后优先级高于调整前的优先级。其中,第二预设时长大于第一预设时长。例如,结合图4所示举例,第二预设时长可以为3个通信周期的时长。也就是说,若目标设备在等待3个通信周期之后,依然未获得对总线200的使用权,则将目标设备的优先级调高。这样能够提高目标设备竞争得到总线使用权的概率,避免出现目标设备的数据长时间无法发送的情况。应理解,在调整优先级时,调整后的优先级与通信系统中其他设备的优先级不同。
在一些实施例中,通信系统001中的每个设备对应有特征码,所述特征码表征对应设备的发送数据的优先级。在一些实施例中,所述特征码中包含的比特数量与所述优先级正相关。这样,特征码中包含的比特数量,可以反映出设备的发送数据的优先级。特征码中包含的比特数量越多,说明设备发送数据的优先级越高,特征码中包括的比特数 量越少,说明设备发送数据的优先级越低。
在一些实施例中,所述总线在空闲状态下处于第一电平,以及所述特征码中包括时间连续的至少一个第二电平,且第二电平的比特数量(即,所述第二电平持续的时间)与所述优先级正相关。
在一些实施例中,第一电平为高电平,第二电平为低电平。该情况下,特征码中包含的低电平的比特数量,可以反映出设备的发送数据的优先级。特征码中包含的低电平的比特数量越多,则总线上低电平持续的时间就越长,说明设备发送数据的优先级越高,特征码中包括的低电平的比特数量越少,则总线上低电平持续的时间就越短,说明设备发送数据的优先级越低。换言之,针对通信系统中的任意两个设备,比如第一设备和第二设备,若第一设备的发送数据的优先级高于第二设备的发送数据的优先级,则第一设备的特征码中包含的低电平的比特数量(即,第一设备使得总线保持低电平的时间)大于第二设备的特征码中包含的低电平的比特数量(即,第二设备使得总线保持低电平的时间)。
在一些实施例中,第一电平为低电平,第二电平为高电平。该情况下,特征码中包含的高电平的比特数量,可以反映出设备的发送数据的优先级。特征码中包含的高电平的比特数量越多,说明设备发送数据的优先级越高,特征码中包括的高电平的比特数量越少,说明设备发送数据的优先级越低。换言之,针对通信系统中的任意两个设备:第一设备和第二设备,若第一设备的发送数据的优先级高于第二设备的发送数据的优先级,则第一设备的特征码中包含的高电平的比特数量大于第二设备的特征码中包含的高电平的比特数量。
在一些实施例中,每个设备的特征码中除了所述至少一个第二电平之外,还可以包括起始码,所述起始码位于所述至少一个第二电平之前,并且,不同设备对应的特征码中包含的起始码相同。能够理解,由于通信系统中的不同设备共用同一个起始码,因此,通信系统中的设备在总线上接收到数据时,可以基于起始码识别出当前广播内容为特征码。另外,还使得不同设备在同步广播特征码时,不同特征码中的首个第二电平的起始位置是对齐的。需要说明的是,本申请对于起始码的内容不作限定。
作为一个示例,图5示出了根据本说明书的实施例提供的特征码的示意图。如图5所示,以第一电平为高电平,第二电平为低电平为例。假设通信系统中包括3个设备,分别为设备A、设备B和设备C。其中,设备A的发送数据的优先级为高,设备B的 发送数据的优先级为中,设备C的发送数据的优先级为低。参见图5,设备A的特征码可以包括起始码和时间连续的3个低电平,设备B的特征码可以包括起始码和时间连续的2个低电平,设备C的特征码可以包括起始码和1个低电平。
由于上述特征码可以表征对应设备的发送数据的优先级,因此,通信系统001中的设备可以通过在总线上广播自身的特征码的方式,来竞争对总线200的使用权。在一些实施例中,目标设备可以采用如下方式判断自身在所述至少一个第一候选设备中是否具有最高的发送数据的优先级:
(1)向所述总线广播目标设备的特征码,其中,在目标设备广播自身的特征码的同时,所述至少一个第一候选设备中的其他设备也在同步广播对应的特征码。
其中,上述“其他设备也在同步广播对应的特征码”是指,其他设备与目标设备广播各自的特征码的起始时刻相同,即,所有的第一候选设备均在同一时刻开始广播自身的特征码。
(2)在目标设备的特征码广播完成后,接收所述总线上传输的下一比特信号。
(3)根据所述下一比特信号,判断目标设备在所述至少一个第一候选设备中是否具有最高的发送数据的优先级。
应该理解,目标设备在广播自身的特征码的同时可以从总线接收信号,也可以不从总线接收信号。在从总线接收信号的情况下,目标设备从总线接收到的信号与自身广播的特征码相同。目标设备在自身的特征码广播完成之后,可以接收总线上传输的下一比特信号,进而基于下一比特信号,判断自身在所述至少一个第一候选设备中是否具有最高的发送数据的优先级。
在一些实施例中,总线在空闲状态处于高电平,特征码中包括至少一个低电平。该情况下,若目标设备接收到的所述下一比特信号为低电平,则说明通信系统中还存在比自身优先级更高的其他设备正在向总线广播特征码,因此,目标设备确定自身在所述至少一个候选设备中不具有最高的优先级;若目标设备接收到的所述下一比特信号为高电平,则说明通信系统中不存在其他设备正在向总线广播特征码,因此,目标设备确定自身在所述至少一个候选设备中具有最高的优先级。
在一些实施例中,总线在空闲状态下处于低电平,特征码中包括至少一个高电平。该情况下,若目标设备接收到的所述下一比特信号为高电平,则说明通信系统中还存在比自身优先级更高的其他设备正在向总线广播特征码,因此,目标设备确定自身在所述 至少一个候选设备中不具有最高的优先级;若目标设备接收到的所述下一比特信号为低电平,则说明通信系统中不存在其他设备正在向总线广播特征码,因此,确定目标设备在所述至少一个候选设备中具有最高的优先级。
为了便于理解,下面结合图4和图5对本说明书描述的通信方法进行举例说明。
假设设备A、设备B和设备C均需要在第i周期发送数据,在第i周期的竞争阶段,设备A、设备B和设备C同步广播自身的特征码。其中,设备A、设备B和设备C所广播的特征码如图5所示。
由于设备A的特征码的广播持续时长大于设备B的特征码的广播持续时长,设备B的特征码的广播持续时长大于设备C的特征码的广播持续时长,因此,设备A的特征码的广播完成时刻晚于设备B的特征码的广播完成时刻,设备B的特征码的广播完成时刻晚于设备C的特征码的广播完成时刻。
在设备C的特征码广播完成后,由于设备A和设备B的特征码还未广播完成,设备C在总线上接收到的所述下一比特信号为低电平,因此,设备C判断自身在上述三个设备中不具有最高的优先级。基于此,设备C获知自身未获得对总线的使用权,执行静默模式。
在设备B的特征码广播完成后,由于设备A的特征码还未广播完成,设备B在总线上接收到的所述下一比特信号为低电平,因此,设备B判断自身在上述三个设备中不具有最高的优先级。基于此,设备B获知自身未获得对总线的使用权,执行静默模式。
在设备A的特征码广播完成后,由于所有设备的特征码均广播完成,总线处于空闲状态,设备A在总线上接收到的所述下一比特信号为低电平,因此,设备A判断自身在上述三个设备中具有最高的优先级。基于此,设备A获知自身获得对总线的使用权,执行发送模式。
经过上述竞争阶段,设备A获得对总线的使用权,因此,在第i周期的总线使用阶段(即第一预设时长内),设备A向总线发送目标数据并指明接收设备。设备B和设备C从总线上接收目标数据,若接收到目标数据后,判断目标数据是发送给自己的,则继续接收后续的数据。若接收到目标数据后,判断目标数据不是发送给自己的,则可以忽略后续的数据,直至第一预设时长结束。
在第i+1周期的通信过程与第i周期类似,此处不作赘述。
综上所述,本说明书提供的通信方法、设备及系统,通信系统中的任意目标设备接 入单线式串行总线,目标设备在需要发送目标数据的情况下,判断目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,所述至少一个第一候选设备包括当前时刻通信系统001中等待发送数据的所有设备,基于所述判断的结果,目标设备执行发送模式或者静默模式,其中,在发送模式下,目标设备在第一预设时长内向总线发送目标数据并指明接收设备,并在第一预设时长结束后停止向总线发送目标数据,在静默模式下,目标设备在第一预设时长内处于数据接收状态或者空闲状态。由此可见,通信系统中的各设备可以通过竞争的方式获得对总线的使用权,使得各设备可以自主使用总线进行数据传输。进一步的,由于通信系统中的各设备均自主使用总线进行数据传输,而不必依赖其他设备的控制,因此,通信系统中各设备的数据更新均具有较高的实时性。另外,由于通信系统中不必设置主设备,使得通信系统中的任何设备都不必周期性的控制其他设备,降低了设备的控制开销,能够提高设备的性能。另外,通过判断各第一候选设备的发送数据的优先级,使得每个通信周期都由当前具有最高优先级的第一候选设备获得对总线的使用权。这样,一方面保证了通信系统中的各设备之间的通信不会冲突,提高了通信系统的通信可靠性,另一方面优先保证了具有高优先级的设备的数据更新的实时性。
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行通信的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的通信方法P100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在设备100上运行时,所述程序代码用于使设备100执行本说明书描述的通信方法P100的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在设备100上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据 信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在设备100上执行、部分地在设备100上执行、作为一个独立的软件包执行、部分在设备100上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例 也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
Claims (17)
- 一种通信方法,应用于单线式串行总线通信系统中的目标设备,其特征在于,包括:接入通信系统的单线式串行总线,所述通信系统包括通过所述总线连接的多个设备,所述通信系统不设置主设备,所述多个设备通过竞争获得对所述总线的使用权;判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,所述至少一个第一候选设备包括当前时刻所述通信系统中等待发送数据的所有设备;基于所述判断的结果,在所述目标设备的发送模式和静默模式中择一执行,其中,在所述发送模式下,所述目标设备在第一预设时长内向所述总线发送目标数据并指明接收设备,并在所述第一预设时长结束后停止向所述总线发送所述目标数据,以及在所述静默模式下,所述目标设备在所述第一预设时长内处于数据接收状态或者空闲状态。
- 根据权利要求1所述的方法,其特征在于,所述基于所述判断的结果,在所述目标设备的发送模式和静默模式中择一执行,包括:确定所述判断的结果为具有最高的发送数据的优先级;然后选择执行所述发送模式。
- 根据权利要求1所述的方法,其特征在于,所述基于所述判断的结果,在所述目标设备的发送模式和静默模式中择一执行,包括:确定所述判断的结果为不具有最高的发送数据的优先级;然后选择执行所述静默模式。
- 根据权利要求1所述的方法,其特征在于,在所述发送模式下,所述目标设备在目标时刻向所述总线发送结束码,以指示所述通信系统中的至少一个第二候选设备分别判断自身在所述至少一个第二候选设备中是否具有最高的发送数据的优先级,其中,所述至少一个第二候选设备包括在所述目标时刻所述通信系统中等待发送数据的所有设备,所述目标时刻为所述第一预设时长的结束时刻,或者,所述目标时刻早于所述第一预设时长的结束时刻。
- 根据权利要求1所述的方法,其特征在于,所述通信系统中的每个设备对应有特征码,所述特征码表征对应设备的所述优先级;以及所述判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,包括:向所述总线广播所述目标设备的特征码,其中,在所述目标设备广播所述目标设备的特征码的同时,所述至少一个第一候选设备中的其他设备也在同步广播对应的特征码,在所述目标设备的特征码广播完成后,接收所述总线上传输的下一比特信号,以及根据所述下一比特信号,判断所述目标设备在所述至少一个第一候选设备中是否具有最高的发送数据的优先级。
- 根据权利要求5所述的方法,其特征在于,所述总线在空闲状态下处于第一电平;以及所述特征码包括时间连续的至少一个第二电平,且所述第二电平的比特数量与所述优先级正相关。
- 根据权利要求6所述的方法,其特征在于,所述特征码还包括起始码,所述起始码位于所述至少一个第二电平之前;以及不同设备对应的特征码中包含的所述起始码相同。
- 根据权利要求6所述的方法,其特征在于,所述根据所述下一比特信号,判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,包括:确定所述下一比特信号为所述第一电平,以及确定所述目标设备在所述至少一个第一候选设备中具有最高的发送数据的优先级。
- 根据权利要求6所述的方法,其特征在于,所述根据所述下一比特信号,判断所述目标设备在至少一个第一候选设备中是否具有最高的发送数据的优先级,包括:确定所述下一比特信号为所述第二电平,以及确定所述目标设备在所述至少一个第一候选设备中不具有最高的发送数据的优先级。
- 根据权利要求6所述的方法,其特征在于,所述第一电平为高电平,所述第二电平为低电平。
- 根据权利要求6所述的方法,其特征在于,所述第一电平为低电平,所述第二电平为高电平。
- 根据权利要求1所述的方法,其特征在于,还包括:若所述目标设备在第二预设时长内未获得对所述总线的使用权,则对所述优先级进行调整,其中,所述调整之后的优先级高于所述调整之前的优先级,所述第二预设时长大于所述第一预设时长。
- 根据权利要求1所述的方法,其特征在于,所述通信系统中的每个设备对应的所述优先级为预设的固定优先级,且不同设备对应的所述优先级不同。
- 根据权利要求1所述的方法,其特征在于,所述通信系统中的每个设备对应的所述优先级与该设备当前待发送的数据相关。
- 根据权利要求1所述的方法,其特征在于,所述多个设备包括耳机盒、左耳机、右耳机中的至少两个。
- 一种可接入单线式串行总线通信系统的设备,其特征在于,包括:至少一个存储介质,存储有至少一个指令集,用于与其他设备进行通信;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述设备运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行如权利要求1-15中任一项所述的方法。
- 一种通信系统,其特征在于,包括:单线式串行总线,以及多个设备,与所述总线连接,其中,所述通信系统不设置主设备,所述多个设备通过竞争获得对所述总线的使用权;当所述通信系统运行时,所述多个设备中的任意目标设备执行如权利要求1-15中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/128862 WO2024092480A1 (zh) | 2022-11-01 | 2022-11-01 | 通信方法、设备及系统 |
CN202280091460.2A CN118679470A (zh) | 2022-11-01 | 2022-11-01 | 通信方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/128862 WO2024092480A1 (zh) | 2022-11-01 | 2022-11-01 | 通信方法、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024092480A1 true WO2024092480A1 (zh) | 2024-05-10 |
Family
ID=90929114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/128862 WO2024092480A1 (zh) | 2022-11-01 | 2022-11-01 | 通信方法、设备及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118679470A (zh) |
WO (1) | WO2024092480A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006271A (en) * | 1998-02-27 | 1999-12-21 | 3Com Corporation | Method and protocol for complete collision avoidance contention resolution in local area networks |
JP2011151769A (ja) * | 2009-12-22 | 2011-08-04 | Alpine Electronics Inc | データ通信システム及びデータ通信方法 |
CN104794079A (zh) * | 2015-03-31 | 2015-07-22 | 华为技术有限公司 | 一种总线仲裁的方法、装置及系统 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
CN106776436A (zh) * | 2017-01-12 | 2017-05-31 | 烽火通信科技股份有限公司 | 一种适用于多点互联的高速串行总线结构及其通信方法 |
CN107171921A (zh) * | 2017-04-07 | 2017-09-15 | 惠州市天泽盈丰物联网科技股份有限公司 | 一种基于rs485网络的实时通信方法 |
CN110674065A (zh) * | 2019-10-09 | 2020-01-10 | 上海钧正网络科技有限公司 | 一种在总线上的竞争仲裁方法和系统 |
CN111488307A (zh) * | 2019-01-28 | 2020-08-04 | 牟宇辰 | 多处理器串行通信方法、装置、电子终端及存储介质 |
-
2022
- 2022-11-01 WO PCT/CN2022/128862 patent/WO2024092480A1/zh unknown
- 2022-11-01 CN CN202280091460.2A patent/CN118679470A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006271A (en) * | 1998-02-27 | 1999-12-21 | 3Com Corporation | Method and protocol for complete collision avoidance contention resolution in local area networks |
JP2011151769A (ja) * | 2009-12-22 | 2011-08-04 | Alpine Electronics Inc | データ通信システム及びデータ通信方法 |
CN104794079A (zh) * | 2015-03-31 | 2015-07-22 | 华为技术有限公司 | 一种总线仲裁的方法、装置及系统 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
CN106776436A (zh) * | 2017-01-12 | 2017-05-31 | 烽火通信科技股份有限公司 | 一种适用于多点互联的高速串行总线结构及其通信方法 |
CN107171921A (zh) * | 2017-04-07 | 2017-09-15 | 惠州市天泽盈丰物联网科技股份有限公司 | 一种基于rs485网络的实时通信方法 |
CN111488307A (zh) * | 2019-01-28 | 2020-08-04 | 牟宇辰 | 多处理器串行通信方法、装置、电子终端及存储介质 |
CN110674065A (zh) * | 2019-10-09 | 2020-01-10 | 上海钧正网络科技有限公司 | 一种在总线上的竞争仲裁方法和系统 |
Non-Patent Citations (1)
Title |
---|
CHANGFENG QIU: "Key Technology Research of Network Measurement System on RS485", INFORMATION & TECHNOLOGY, CHINA MASTER’S THESES FULL-TEX DATABASE, 1 June 2006 (2006-06-01), XP093169055 * |
Also Published As
Publication number | Publication date |
---|---|
CN118679470A (zh) | 2024-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10007628B2 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
EP3138015B1 (en) | Sensors global bus | |
US20190146944A1 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
KR102445344B1 (ko) | 시리얼 버스를 위한 수신 클록 캘리브레이션 | |
US11080220B2 (en) | System on chip having semaphore function and method for implementing semaphore function | |
EP3887963B1 (en) | Secure digital (sd) direct command for improving throughput with a reduced memory footprint | |
EP3847554A1 (en) | Mixed-mode radio frequency front-end interface | |
KR20160077189A (ko) | 다수의 슬레이브 디바이스 식별자들을 갖는 카메라 제어 슬레이브 디바이스들 | |
US10417172B2 (en) | Sensors global bus | |
CN110908938B (zh) | Sram控制器及控制方法 | |
US10733121B2 (en) | Latency optimized I3C virtual GPIO with configurable operating mode and device skip | |
WO2022143295A1 (zh) | 固件升级方法和相关设备 | |
CN112463651A (zh) | Qspi控制器,图像处理器及闪存访问方法 | |
US9921981B2 (en) | Method to minimize the number of IRQ lines from peripherals to one wire | |
WO2024092480A1 (zh) | 通信方法、设备及系统 | |
US20130311699A1 (en) | Operations using direct memory access | |
JP2008513886A (ja) | バスの送信チャネル上の帯域幅を割り振る方法および装置 | |
TW202334836A (zh) | 利用曼徹斯特編碼的單線雙向匯流排訊號傳遞 | |
WO2019070361A1 (en) | MULTI-LINE BUS WITH DYNAMIC ADJUSTMENT SHARED BY MULTIPROTOCOL DEVICES | |
CN117997667A (zh) | 通信方法、设备及系统 | |
JP2000305893A (ja) | Pciバス互換性を有するマスターおよびアービターと仲裁方法 | |
CN116225994B (zh) | 基于FlexSPI ARM与FPGA的高速通信方法 | |
KR100214302B1 (ko) | 디. 에스.피용 디.엠.에이의 고속 데이타 처리방법 | |
WO2019040360A1 (en) | GLOBAL SENSOR BUS | |
CN115996370A (zh) | 数据传输方法、装置、设备、存储介质及程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22963799 Country of ref document: EP Kind code of ref document: A1 |