WO2021081806A1 - 时间同步方法、装置、系统和可移动平台 - Google Patents

时间同步方法、装置、系统和可移动平台 Download PDF

Info

Publication number
WO2021081806A1
WO2021081806A1 PCT/CN2019/114349 CN2019114349W WO2021081806A1 WO 2021081806 A1 WO2021081806 A1 WO 2021081806A1 CN 2019114349 W CN2019114349 W CN 2019114349W WO 2021081806 A1 WO2021081806 A1 WO 2021081806A1
Authority
WO
WIPO (PCT)
Prior art keywords
chip
time
auxiliary
data packet
single bus
Prior art date
Application number
PCT/CN2019/114349
Other languages
English (en)
French (fr)
Inventor
高明明
杨康
唐彦琴
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN201980031709.9A priority Critical patent/CN112119366A/zh
Priority to PCT/CN2019/114349 priority patent/WO2021081806A1/zh
Publication of WO2021081806A1 publication Critical patent/WO2021081806A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data

Definitions

  • This application relates to the field of data processing, and in particular to a method, device, system and movable platform for time synchronization between multiple chips.
  • This application provides a time synchronization method, device, system, and movable platform, which can implement time synchronization between multiple chips.
  • a method for time synchronization between multiple chips includes a main chip and at least one auxiliary chip.
  • the main chip communicates with the at least one auxiliary chip via a single bus.
  • Each auxiliary chip is connected, and the method includes: the main chip communicates with the at least one auxiliary chip according to a preset arrangement order through the single bus; the at least one auxiliary chip communicates with the main chip according to the relationship between the main chip and the main chip. Perform time synchronization operations on the information obtained in the inter-communication.
  • a method for time synchronization between multiple chips includes a main chip and at least one auxiliary chip.
  • the main chip communicates with the at least one auxiliary chip via a single bus.
  • Each auxiliary chip is connected, and the method includes: the main chip communicates with the at least one auxiliary chip according to a preset arrangement sequence through the single bus, so as to synchronize the time of the multiple chips.
  • the use of a single bus to connect multiple chips can save the connection between the chips and the chip and the sensor assembly; in addition, one main chip and at least one auxiliary chip are provided in the multiple chips, and the main chip is time-multiplexed , Respectively communicate with at least one auxiliary chip according to the preset arrangement sequence, so that at least one auxiliary chip performs time synchronization according to the information obtained in the communication.
  • This method can be applied to the scene of multi-chip and multi-sensor time stamp synchronization. In the field of machine vision, it ensures the synchronization of sensor data sampling time, which is convenient for subsequent algorithm fusion.
  • a time synchronization device is provided.
  • the time synchronization device is connected to multiple chips via a single bus, and the time synchronization device is configured to communicate with multiple auxiliary chips in a preset arrangement sequence, In order to synchronize the time of the multiple chips.
  • a time synchronization system including multiple chips, the multiple chips including a main chip and at least one auxiliary chip, and the main chip communicates with each auxiliary chip of the at least one auxiliary chip through a single bus.
  • Chip connection the main chip is used to communicate with the at least one auxiliary chip in a preset arrangement order through the single bus; the auxiliary chip is used to communicate with the at least one auxiliary chip according to the communication with the main chip Information, perform time synchronization operations.
  • a movable platform including: a body; a power system provided in the body, and the power system is used to provide power to the movable platform; the first aspect or any possibility of the first aspect The time synchronization system in the implementation mode.
  • FIG. 1 is a schematic flowchart of a method for time synchronization between multiple chips according to an embodiment of the present application.
  • FIG. 2 is a schematic diagram of an application scenario of a method for time synchronization between multiple chips according to an embodiment of the present application.
  • FIG. 3 is a schematic block diagram of multiple chips in an embodiment of the present application.
  • FIG. 4 is another schematic block diagram of multiple chips in an embodiment of the present application.
  • FIG. 5 is a schematic diagram of the communication time between the main chip and the auxiliary chip in an embodiment of the present application.
  • Fig. 6 is another time schematic diagram of communication between the main chip and the auxiliary chip in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of communication between the main chip and the first auxiliary chip in an embodiment of the present application.
  • Fig. 8 is a schematic block diagram of a movable platform according to an embodiment of the present application.
  • CAN Controller Area Network
  • the software implementation process involves inter-chip communication. Communication, communication involves the processing of interrupts, interrupts have priority, resulting in greater software jitter during processing; and, if a single bus solution is adopted, the delay jitter will be greater.
  • the embodiment of the present application proposes a time synchronization method between multiple chips, which can solve the above-mentioned problem.
  • FIG. 1 shows a schematic flowchart of a method 100 for time synchronization between multiple chips according to an embodiment of the present application.
  • the method 100 of the embodiment of the present application is applicable to an application scenario of multiple chips.
  • the multiple chips can be connected by a single bus, and the number of the multiple chips can be set according to actual applications.
  • FIG. 2 shows a schematic diagram of an application scenario of an embodiment of the present application.
  • the application scenario is referred to as a sensor system here.
  • three chips are used as an example for description, and the three chips They are called integrated circuit (IC) IC 0, IC1, and IC2; the “camera” in Figure 2 can represent an image acquisition sensor.
  • IC integrated circuit
  • the camera is taken as an example, and the box in Figure 2
  • the camera can represent one or a group of cameras, for example, the camera in each box can represent a group of cameras including 8 cameras; the "lidar" in Figure 2 is similar to the camera, and shows that the sensor connected to the chip can be For many types of sensors.
  • the motion system can achieve precise control, for example, path planning can be implemented to be applied to robot navigation, then it can be seen that in the system shown in Figure 2, there are multiple Relatively independent processors (such as IC0, IC1, and IC2); and there may be deviations in the working clock between the chips, which may cause the system to power up and reset the time to not be absolutely the same; the software initialization time is also completely different, If it is a completely independent IC system, then after a long time of work, the cumulative error will become larger and larger, which will cause the sampling time of each sensor to be completely different, there is no correlation, or even control failure.
  • Relatively independent processors such as IC0, IC1, and IC2
  • an embodiment of the present application proposes a method 100 for time synchronization between multiple chips, which is applied to a system including multiple chips.
  • a method 100 for time synchronization between multiple chips can be used in the sensor system shown in FIG. 2 above. They can be connected to each other through a single bus.
  • FIG. 3 shows a schematic block diagram of multiple chips in an embodiment of the present application.
  • the method 100 of the embodiment of the present application is applied to a scenario that includes multiple chips.
  • the system includes multiple chips, the multiple chips include a main chip 210 and at least one auxiliary chip 220, the main chip 210 and each of the at least one auxiliary chip 220 through a single bus connection.
  • the at least one auxiliary chip 220 may refer to one or more auxiliary chips.
  • three auxiliary chips are included as an example for illustration, which are represented as auxiliary chip 221, auxiliary chip 222, and auxiliary chip 223 respectively.
  • the application embodiment is not limited to this.
  • the method 100 includes: S110, the main chip communicates with the at least one auxiliary chip according to a preset arrangement order through the single bus; S120, the at least one auxiliary chip communicates with the main chip according to Perform time synchronization operations on the information obtained in the communication.
  • the multiple chips in the embodiments of the present application may include one or more types of chips, that is, the types of the multiple chips may be the same or different.
  • the multiple chips may include at least one of the following types: a digital signal processing (Digital Signal Processor, DSP) chip, a radar chip, or a vision chip, but the embodiment of the present application is not limited thereto.
  • DSP Digital Signal Processor
  • the main chip in the embodiment of the present application may be any one of the multiple chips.
  • the main chip 210 shown in FIG. 3 may correspond to any one of the three chips IC0, IC1, and IC2 in FIG. 2, and the remaining two are auxiliary chips.
  • the method 100 may further include: determining a master chip among the multiple chips.
  • determining a master chip among the multiple chips There are many ways to determine the main chip among multiple chips.
  • the first chip of the multiple chips is determined as the main chip as an example for description.
  • the first chip may be multiple chips. Any one of the two chips.
  • the determining that the first chip of the plurality of chips is the master chip may include: if the chip corresponding to the preset identifier in the plurality of chips is the first chip, determining the first chip as the master chip main chip.
  • there can be software communication between chips such as using an integrated circuit bus (Inter-Integrated Circuit, iic) or CAN bus, which can be determined by means of system power-on initialization and software identification of the hardware identifier (ID) main chip.
  • iic itself recognizes different devices through different IDs. You can specify a certain ID in the program by default, that is, a preset identification, then the chip corresponding to the ID is the main chip, and correspondingly, the other chips are the auxiliary chips.
  • determining that the first chip of the multiple chips is the master chip may also include: the multiple chips receiving instruction information sent by the target device, the instruction information indicating that the first chip of the multiple chips is The main chip, the target device is connected to the multiple chips; according to the instruction information, the first chip of the multiple chips is determined as the main chip.
  • the multiple chips may communicate with any target device, and the target device designates the main chip.
  • multiple ICs communicate with a third-party IC, so that the third-party IC can designate a certain chip as the main chip, and other chips as auxiliary chips.
  • the first chip among the multiple chips is determined to be the main chip, it can also be determined by software programming the firmware automatically. For example, as shown in Figure 2, it can be automatically specified when programming the firmware.
  • IC0 is the main chip, and the other chips are auxiliary chips.
  • the method 100 further includes: The first chip is changed to the second chip in the plurality of chips.
  • the second chip may be any chip other than the first chip among the plurality of chips.
  • another chip can also be selected as the main chip.
  • the way of instructions can also be specified by a third-party target device, or it can be automatically specified by software programming and firmware. For the sake of brevity, it will not be repeated here.
  • the main chip is connected to each auxiliary chip through a single bus.
  • the single bus solves the communication problem between multiple chips and connects all related components.
  • the main chip can be directly connected to the auxiliary chip through a single bus.
  • the main chip is IC0
  • the auxiliary chips are IC1 and IC2
  • IC0 is connected to the auxiliary chip through a single bus.
  • IC1 and IC2 are connected.
  • the main chip can also be connected to one or more intermediate devices through the single bus, and the intermediate device is then connected to a certain auxiliary chip through the single bus.
  • Fig. 4 shows another schematic block diagram of multiple chips in an embodiment of the present application. Assuming that the main chip is IC0, then the auxiliary chips are IC1 and IC2. As shown in Fig. 4, the IC0 is connected to the intermediate device A through a single bus. , The intermediate device A is connected to two intermediate devices B through a single bus, and the two intermediate devices B are respectively connected to IC1 and IC2 through a single bus.
  • the intermediate device in the embodiment of the present application may be a relay or other devices; and in the case of including multiple intermediate devices, the multiple intermediate devices may be the same device or different devices The embodiments of the present application are not limited to this.
  • the main chip 210 communicates with the at least one auxiliary chip 220 through the single bus in a preset arrangement sequence, that is, time division multiplexing is adopted. In this way, the communication between the main chip and the auxiliary chip is realized one by one.
  • the method 100 further includes: determining a preset arrangement sequence of the at least one auxiliary chip 220.
  • the main chip 210 determines the preset arrangement sequence for communicating with the at least one auxiliary chip 220; the main chip 210 sends the preset arrangement sequence to the at least one auxiliary chip 220 through the single bus, for example, the The main chip 210 may broadcast the preset arrangement sequence to the at least one auxiliary chip 220 by broadcasting.
  • the main chip 210 determining the preset arrangement sequence for communicating with the at least one auxiliary chip 220 may include: the main chip 210 determines a serial number for each auxiliary chip, and the serial number may indicate the order of each auxiliary chip. That is, the main chip will communicate with each auxiliary chip in sequence in the order of numbers. For example, if the numbering starts from 1, then the slave chip numbered 1 means: the master chip will communicate with the slave chip numbered 1 first; the slave chip numbered 2 means: the master chip will communicate with the slave chip numbered second The auxiliary chip numbered 2 communicates, and so on.
  • the S110 may specifically include: in the first time period, the main chip communicates with the first auxiliary chip through the single bus; in the second time period, the main chip passes the single bus The bus communicates with the second auxiliary chip, wherein the first time period is before the second time period, and the first time period does not overlap with the second time period.
  • the communication time between the main chip and each auxiliary chip may be equal or unequal, that is, the first time period may be equal to or not equal to the second time period; in addition, the main chip and each auxiliary chip
  • the length of the communication time can be set according to actual applications, that is, the length of the first time period or the length of the second time period can be set according to the actual situation, and can be set to any value.
  • the communication time between the main chip and each auxiliary chip can be set to 5ms, that is, the first time period is equal to the length of the second time period, and both are equal to 5ms.
  • the communication time periods of the main chip 210 and the at least one auxiliary chip 220 do not overlap, that is, the first time period and the second time period do not overlap.
  • the first auxiliary chip is adjacent to the second auxiliary chip, that is, the second auxiliary chip is the one after the first auxiliary chip, and there is no other auxiliary chip between the two.
  • the time interval between the end time of the first time period and the start time of the second time period may be equal to or greater than zero; if the time interval is greater than zero, then within the time interval, the main chip is not connected to the at least one
  • the auxiliary chip communicates.
  • the main chip can be in an idle state, or the main chip can also handle other services.
  • the main chip 210 respectively communicates with the at least one auxiliary chip 220 according to a preset arrangement sequence in S110.
  • the at least one auxiliary chip 220 can communicate with the main chip 210 according to the The information acquired in the inter-communication, time synchronization operation is performed to achieve the goal of time synchronization between multiple chips.
  • FIG. 5 and 6 respectively show schematic diagrams of communication between the main chip and the auxiliary chip in an embodiment of the present application in different ways.
  • a cycle is taken as an example here. According to the number of auxiliary chips, the cycle is divided into eight 5ms durations here.
  • the main chip 210 sends a preset arrangement sequence to each auxiliary chip.
  • the main chip 210 can send to three auxiliary chips by broadcasting. (tx)
  • the preset arrangement order correspondingly, the three auxiliary chips receive the preset arrangement order.
  • the actual communication time may only occupy a part of it, and the actual communication part may be located at any position, where the actual communication time may include the main chip 210 broadcasting and sending the preset arrangement Order, and the three auxiliary chips receive the preset arrangement order.
  • the total duration of actual communication may be 0.6ms, and the actual communication of 0.6ms can occur anywhere in the first 5ms duration range, and within the 5ms duration range, except for 0.6ms, the main chip There is no communication with the auxiliary chip, for example, they may all be in an idle state, but the embodiment of the present application is not limited to this.
  • no communication is performed between the main chip 210 and the three auxiliary chips, for example, they may all be in an idle state.
  • the main chip 210 first communicates with the auxiliary chip 221 according to the preset arrangement sequence, so that the auxiliary chip 221 executes according to the information obtained by the communication. Time synchronization.
  • the actual communication time may be less than 5ms, that is, the actual communication time may only account for a part of it.
  • the actual communication time may be 2ms, then the actual communication of 2ms may occur in Any position in the first 5ms duration range, and within the 5ms duration range, except for 2ms, no communication is carried out between the main chip and the auxiliary chip. For example, they can all be in the idle state, but the implementation of this application Examples are not limited to this.
  • the main chip 210 communicates with the auxiliary chip 222 according to the preset arrangement sequence, so that the auxiliary chip 222 executes according to the information obtained by the communication.
  • Time synchronization This process is similar to the third 5ms duration, and will not be repeated here for brevity.
  • the main chip 210 communicates with the auxiliary chip 223 according to the preset arrangement sequence, so that the auxiliary chip 223 executes according to the information obtained by the communication.
  • Time synchronization This process is similar to the third 5ms duration, and will not be repeated here for brevity.
  • the main chip 210 completes the communication with all the auxiliary chips, so that each auxiliary chip can perform time synchronization with the main chip, that is, each auxiliary chip will The time is set to be synchronized with the main chip, that is, the time synchronization of all chips is realized.
  • the cycle similar to Figure 5 and Figure 6 can be executed once or multiple times.
  • the cycle can be cycled between multiple chips, and time synchronization can be repeated to achieve the purpose of high-precision time synchronization.
  • the embodiments of the present application are not limited to this.
  • the process of communicating between the main chip and any auxiliary chip so that the auxiliary chip and the main chip are time synchronized can be performed in various ways.
  • the first auxiliary chip may be the auxiliary chip 221 as shown in FIG. 3, and correspondingly, the first time period
  • the period may refer to the third 5ms time as shown in FIGS. 5 and 6; or, the first auxiliary chip may be the auxiliary chip 222 as shown in FIG. 3.
  • the first time period may refer to FIGS. 5 and 6
  • the fifth 5ms time shown in FIG. 6; or, the first auxiliary chip may be the auxiliary chip 223 shown in FIG. 3.
  • the first time period may refer to the seventh time period shown in FIGS. 5 and 6 5ms time.
  • the main chip communicates with the first auxiliary chip, and the first auxiliary chip performs time synchronization according to information acquired in the communication with the main chip.
  • performing time synchronization may include: determining the time difference between the first auxiliary chip and the main chip. After determining the time difference between the first auxiliary chip and the main chip, the time of the first auxiliary chip can be adjusted accordingly.
  • the clock or time stamp of the first auxiliary chip can be adjusted to make the time of the first auxiliary chip Same as the main chip; or, after the first auxiliary chip calculates the time difference with the main chip, the clock or time stamp of the first auxiliary chip may not be adjusted, but the time difference will be used reasonably when processing data
  • the time difference is offset, or the time difference is compensated, so that the time of the first auxiliary chip is consistent with the time of the main chip, and the embodiment of the present application is not limited to this.
  • the first auxiliary chip may determine the time difference with the main chip in various ways.
  • the first auxiliary chip and the main chip adopt the method of the 1588 protocol in communication to perform compensation and deviation calculation, but the embodiment of the present application is not limited to this.
  • FIG. 7 shows a schematic diagram of the communication time between the main chip and the first auxiliary chip.
  • the main chip time indicates the time measured by the main chip
  • the auxiliary chip time indicates the time measured by the first auxiliary chip. .
  • the main chip communicates with the first auxiliary chip via a single bus, which may specifically include: in the first time period, the main chip transmits to the first auxiliary chip via the single bus
  • the first data packet, the sending time of the first data packet is the first time t1 of the time of the master chip; the first slave chip receives the first data packet, and the receiving time of the first data packet is the first slave chip
  • the third time t3: the main chip receives the second data packet, and the receiving time of the second data packet is the fourth time t4 of the main chip time.
  • the first time t1 is the transmission time of the first data packet, which is the time of the master chip
  • the second time t2 is the reception time of the second data packet, which is the time of the first slave chip
  • the third time t3 is the sending time of the second data packet, which is the time of the first slave chip
  • the fourth time t4 is the receiving time of the second data packet, which is the time of the master chip.
  • the first auxiliary chip may determine the time difference with the main chip according to the first time t1, the second time t2, the third time t3, and the fourth time t4.
  • the first time t1 and the third time t3 are the time of the main chip, therefore, the main chip can send the first time t1 and the third time t3 to the first auxiliary chip.
  • the master chip may carry a time stamp on the first data packet and indicate the first time t1 through the time stamp; or, the master chip may also communicate to the first slave via the single bus during the first time period.
  • the chip sends another data packet, and the data includes the first time t1 and/or the third time t3; or, as shown in FIG.
  • the first auxiliary chip sends a third data packet and/or a fourth data packet, the third data packet includes the first time t1, and the fourth data packet includes the third time t3, but the embodiment of the present application is not limited to this .
  • the time difference between the first time t1 and the second time t2 is ⁇ t1, which includes the transmission time of the first data packet, and the main chip and the first data packet.
  • the time difference with the first auxiliary chip Therefore, if the transmission time of the first data packet and the second data are equal, it can be determined that the time difference ⁇ t between the first auxiliary chip and the main chip can be calculated by the following formula 1:
  • the calculated time difference ⁇ t is a positive number, it means that the time of the first auxiliary chip is later than the time of the main chip; if the calculated time difference ⁇ t is a negative number, it means that the time of the first auxiliary chip is earlier than the time of the main chip.
  • the transmission time of the first data packet is the same as the transmission time of the second data packet; in order to make the transmission time of the first data packet the same as the transmission time of the second data packet.
  • the transmission time of the two data packets is the same, and the following settings can be considered.
  • the length of the first data packet and the length of the second data packet are set to be equal. For example, if the length of the first data packet sent by the master chip to the first slave chip is 15 bytes, the length of the second data packet sent by the first slave chip to the master chip is also set to 15 bytes.
  • the transmission protocol of the first data packet sent by the main chip is consistent with the transmission protocol of the second data packet sent by the first auxiliary chip, or is completely equivalent.
  • the serial port baud rate is 115200, so that the data interaction between the main chip and the first auxiliary chip is completely equal.
  • the transmission path through which the first data and the second data are transmitted between the main chip and the first auxiliary chip is the same, so that the transmission time of the first data packet is the same as the transmission time of the second data packet.
  • the master can also be determined when the transmission time of the first data packet or the transmission time of the second data packet is known.
  • the time difference between the chip and the first auxiliary chip is not limited to this in the embodiment of the present application.
  • the method for time synchronization between multiple chips in the embodiment of the present application can save the wiring between the chips and between the chips and the sensor components by using a single bus to connect multiple chips.
  • the extra physical connection lines can be used for redundant design (for example, a ready-made programmable gate array (Field Programmable Gate Array, FPGA)); in addition, a main chip and at least one auxiliary chip are set in multiple chips, and the main chip passes time
  • the multiplexing method communicates with at least one auxiliary chip according to a preset arrangement sequence, so that at least one auxiliary chip performs time synchronization according to the information obtained in the communication. This method can be applied to the time stamp synchronization of multi-chips and multi-sensors. Scenarios are mainly used in the field of machine vision to ensure the synchronization of sensor data sampling time and facilitate subsequent algorithm fusion.
  • FIG. 8 shows a schematic block diagram of a movable platform 300 according to an embodiment of the present application.
  • the movable platform 300 includes: a body 310; a power system 320, which is provided in the body 310, for providing power to the movable platform 300; and a time synchronization system 330, which is provided in the body 310, Can be used for image processing.
  • the time synchronization system 330 may be the time synchronization system shown in FIG. 3 in an embodiment of the application, and the time synchronization system 330 may include a main chip 210 and at least one auxiliary chip 220.
  • the time synchronization system 330 may also include an image acquisition device for acquiring images; the time synchronization system 330 may also include an image processing device for processing the image.
  • the image acquisition device maliciously includes a photographing device (for example, a camera, a video camera, etc.) or a visual sensor (for example, a monocular camera or a dual/multi-lens camera, etc.).
  • the movable platform 300 in the embodiment of the present invention can refer to any movable device that can be moved in any suitable environment, for example, in the air (for example, a fixed-wing aircraft, a rotary-wing aircraft, or a fixed-wing aircraft or a rotary-wing aircraft without a fixed-wing aircraft or a rotary-wing aircraft.
  • Aircraft without rotors underwater (for example, ships or submarines), on land (for example, cars or trains), space (for example, space planes, satellites, or probes), and any combination of the above various environments.
  • the movable device may be an airplane, such as an unmanned aerial vehicle (UAV).
  • UAV unmanned aerial vehicle
  • the body 310 may also be referred to as a body.
  • the body may include a center frame and one or more arms connected to the center frame, and the one or more arms extend radially from the center frame.
  • the tripod is connected to the fuselage and is used to support the UAV during landing.
  • the power system 320 may include an electronic governor (referred to as an ESC for short), one or more propellers, and one or more motors corresponding to the one or more propellers, where the motors are connected between the electronic governor and the propellers, The motor and the propeller are arranged on the corresponding arms; the electronic governor is used to receive the driving signal generated by the flight controller, and provide a driving current to the motor according to the driving signal to control the rotation speed of the motor.
  • the motor is used to drive the propeller to rotate to provide power for the flight of the UAV, which enables the UAV to achieve one or more degrees of freedom of movement.
  • the motor may be a DC motor or an AC motor.
  • the motor can be a brushless motor or a brush motor.
  • each embodiment of the present application may be implemented based on a memory and a processor, each memory is used to store instructions for executing the method of each embodiment of the present application, and the processor executes the foregoing instructions, so that the device executes each embodiment of the present application. Methods.
  • processors mentioned in the embodiment of this application may be a central processing unit (Central Processing Unit, CPU), or other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), and application-specific integrated circuits (Central Processing Unit, CPU).
  • CPU Central Processing Unit
  • DSPs Digital Signal Processors
  • CPU Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory mentioned in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDR SDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Enhanced Synchronous Dynamic Random Access Memory
  • Synchronous Link Dynamic Random Access Memory Synchronous Link Dynamic Random Access Memory
  • DR RAM Direct Rambus RAM
  • the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component
  • the memory storage module
  • the embodiments of the present application also provide a computer-readable storage medium on which instructions are stored, and when the instructions are run on a computer, the computer executes the methods of the foregoing method embodiments.
  • An embodiment of the present application also provides a computing device, which includes the above-mentioned computer-readable storage medium.
  • the embodiments of the present application can be applied to aircraft, especially in the field of unmanned aerial vehicles.
  • circuits, sub-circuits, and sub-units in each embodiment of the present application is only illustrative. A person of ordinary skill in the art may realize that the circuits, sub-circuits, and sub-units of the examples described in the embodiments disclosed herein can be further divided or combined.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • Computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • computer instructions can be transmitted from a website, computer, server, or data center through a cable (such as Coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) transmission to another website, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media. Available media can be magnetic media (for example, floppy disks, hard drives, tapes), optical media (for example, high-density digital video discs (Digital Video Disc, DVD)), or semiconductor media (for example, solid state disks (Solid State Disk, SSD)) )Wait.
  • each embodiment of the present application is described by taking a total bit width of 16 bits as an example, and each embodiment of the present application may be applicable to other bit widths.
  • one embodiment or “an embodiment” mentioned throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the present application. Therefore, the appearances of "in one embodiment” or “in an embodiment” in various places throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner.
  • the size of the sequence number of the above-mentioned processes does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not correspond to the embodiments of the present application.
  • the implementation process constitutes any limitation.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B based on A does not mean that B is determined only based on A, and B can also be determined based on A and/or other information.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种用于多个芯片之间的时间同步方法、装置、系统和可移动平台。所述多个芯片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,所述方法包括:所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信;所述至少一个辅芯片根据与所述主芯片之间的通信中获取的信息,执行时间同步操作。本申请实施例提供的用于多个芯片之间的时间同步方法、装置、系统和可移动平台,可以实现多个芯片之间的时间同步。

Description

时间同步方法、装置、系统和可移动平台
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及数据处理领域,尤其涉及一种用于多个芯片之间的时间同步方法、装置、系统和可移动平台。
背景技术
机器视觉的应用场景越来越广,为了确保工作稳定,控制精确,使用的传感器的种类以及数量越来越多,主要有相机(camera)、激光雷达、毫米波雷达以及惯性测量装置(Inertial Measurement Unit,IMU)等。根据不同的应用,有的系统会使用多个camera以及雷达以实现360度视野的监控,对应在算法上需要将多个传感器采样的数据进行数据融合,而在融合的过程中,各个传感器数据采样的时刻非常重要;此外,由于传感器组件很多,为了降低安装、维护的复杂度,同时不降低系统的稳定性,系统上通常都要求有线连接越少越好,因此基于上述两点,需要解决多芯片的时戳同步的问题。
发明内容
本申请提供了一种时间同步方法、装置、系统和可移动平台,可以实现多个芯片之间的时间同步。
第一方面,提供了一种用于多个芯片之间的时间同步方法,所述多个芯片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,所述方法包括:所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信;所述至少一个辅芯片根据与所述主芯片之间的通信中获取的信息,执行时间同步操作。
第二方面,提供了一种用于多个芯片之间的时间同步方法,所述多个芯 片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,所述方法包括:所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信,以使得所述多个芯片的时间同步。
通过上述技术方案,使用单总线连接多芯片,可以节省芯片间、芯片与传感器组件的连线;另外,在多个芯片中设置一个主芯片和至少一个辅芯片,主芯片通过时间复用的方式,按照预设排列顺序分别与至少一个辅芯片进行通信,以便于至少一个辅芯片根据通信中获得的信息进行时间同步,该方法可以应用于多芯片、多传感器的时戳同步的场景,主要用于机器视觉领域,确保传感器数据采样时间上的同步,便于后续的算法融合。
第三方面,提供了一种时间同步装置,所述时间同步装置与多个芯片通过单总线连接,所述时间同步装置,用于按照预设排列顺序,与多个所述辅芯片进行通信,以使得所述多个芯片的时间同步。
第四方面,提供了一种时间同步系统,包括多个芯片,所述多个芯片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,所述主芯片用于通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信;所述辅芯片用于根据与所述主芯片之间的通信中获取的信息,执行时间同步操作。
第五方面,提供了一种可移动平台,包括:机体;动力系统,设于所述机体,所述动力系统用于为所述可移动平台提供动力;第一方面或第一方面的任意可能的实现方式中的时间同步系统。
附图说明
图1是本申请实施例的用于多个芯片之间的时间同步方法的示意性流程图。
图2是本申请实施例的用于多个芯片之间的时间同步方法的应用场景的示意图。
图3是本申请实施例的多个芯片的示意性框图。
图4是本申请实施例的多个芯片的另一示意性框图。
图5是本申请实施例的主芯片和辅芯片之间进行通信的时间示意图。
图6是本申请实施例的主芯片和辅芯片之间进行通信的另一时间示意 图。
图7是本申请实施例的主芯片和第一辅芯片之间进行通信的示意图。
图8是本申请实施例的可移动平台的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
在现有技术中,通常考虑使用软件以实现多芯片的时戳同步的功能,例如可以使用控制器局域网络(Controller Area Network,CAN)总线,但软件在实现过程中,涉及到芯片之间的通信,通信涉及到中断的处理,中断存在优先级,导致软件在处理过程中抖动较大;并且,如果采取单总线方案,那么延时抖动就更大。
另外,如果多个芯片之间采用多总线的连接方式,如果传感器组件较多,那么连接线线较多,安装和维护相对复杂。
因此,本申请实施例提出了一种用于多个芯片之间的时间同步方法,能够解决上述问题。
图1示出了本申请实施例的用于多个芯片之间的时间同步方法100的示意性流程图。本申请实施例的方法100适用于多个芯片的应用场景,该多个芯片之间可以通过单总线连接,并且该多个芯片的个数可以根据实际应用进行设置。具体地,图2示出了本申请实施例的应用场景的示意图,如图2所示,这里将该应用场景称为传感器系统,这里以三个芯片为例进行说明,并将该三个芯片分别称为集成电路(integrated circuit,IC)IC 0、IC1和IC2;图2中的“相机(camera)”可以表示图像采集传感器,这里以camera为例,并且图2中的一个方框中的camera可以表示一个或者一组camera,例如,每个方框中的camera可以表示包括8个camera的一组camera;图2中的“激光雷达”与camera类似,并且说明了与芯片连接的传感器可以为多种类型的传感器。
假设图2的传感器系统安装在一个运动系统上,运动系统可以实现精密的控制,例如可以实现路径规划,以应用于机器人的导航,那么可以看出在 图2所示的系统中,存在多个相对独立的处理器(例如IC0、IC1和IC2);并且芯片之间的工作时钟可能会有偏差,进而导致系统上电、复位的时间做不到绝对相同;软件初始化的时刻也完全不相同,如果是完全独立的几个IC系统,那么长时间工作后,累积误差会越来越大,进而导致各个传感器采样时间完全不同,没有相关性,甚至会导致控制失败。
因此,本申请实施例提出了一种用于多个芯片之间的时间同步方法100,应用于包括多个芯片的系统,例如,可以用于上述图2所示的传感器系统,该多个芯片之间可以通过单总线相互连接。
具体地,图3示出了本申请实施例的多个芯片的示意性框图,如图3所示,本申请实施例的方法100应用于包括多个芯片的场景中,可以将该多个芯片看作一个时间同步系统,该系统中包括多个芯片,该多个芯片包括一个主芯片210和至少一个辅芯片220,该主芯片210通过单总线与该至少一个辅芯片220中每个辅芯片连接。应理解,该至少一个辅芯片220可以指一个或者多个辅芯片,图3中以包括3个辅芯片为例进行说明,这里分别表示为辅芯片221、辅芯片222和辅芯片223,但本申请实施例并不限于此。
如图1所示,该方法100包括:S110,该主芯片通过该单总线,按照预设排列顺序分别与该至少一个辅芯片进行通信;S120,该至少一个辅芯片根据与该主芯片之间的通信中获取的信息,执行时间同步操作。
应理解,本申请实施例中的多个芯片中可以包括一种或者多种类型的芯片,即该多个芯片的类型可以相同,也可以不同。例如,该多个芯片可以包括以下类型中的至少一个:数字信号处理(Digital Signal Processor,DSP)芯片、雷达芯片或视觉芯片,但本申请实施例并不限于此。
本申请实施例中的主芯片可以为该多个芯片中的任意一个芯片。例如,如图3所示的主芯片210可以对应为图2中的IC0、IC1和IC2三个芯片中的任意一个,那么其余两个即为辅芯片。
具体地,该方法100还可以包括:在该多个芯片中的确定主芯片。在多个芯片中确定主芯片的方式有很多,下面结合几个具体的实施例,以将该多个芯片中的第一芯片确定为该主芯片为例进行说明,该第一芯片可以为多个芯片中的任意一个芯片。
例如,该将该多个芯片中的第一芯片确定为该主芯片,可以包括:若在该多个芯片中与预设标识对应的芯片为该第一芯片,将该第一芯片确定为该 主芯片。具体地,芯片之间可以有软件的通信,比如使用集成电路总线(Inter-Integrated Circuit,iic)或者CAN总线,可以通过系统上电初始化、软件识别硬件的标识符(Identifier,ID)的方式确定主芯片。例如,iic本身通过不同的ID识别不同的器件,可以在程序中默认指定某个ID,也就是预设标识,那么该ID对应的芯片则为主芯片,对应的,其他芯片即为辅芯片。
再例如,该将该多个芯片中的第一芯片确定为该主芯片,还可以包括:该多个芯片接收目标设备发送的指示信息,该指示信息指示该多个芯片中的第一芯片为该主芯片,该目标设备与该多个芯片连接;根据该指示信息,将该多个芯片中的第一芯片确定为该主芯片。具体地,该多个芯片可能与任意的目标设备通信,由该目标设备指定该主芯片。例如,多个IC之间均与某个第三方IC通信,这样第三方IC可以指定某个芯片为主芯片,而其他芯片则为辅芯片。
再例如,该将该多个芯片中的第一芯片确定为该主芯片,还可以通过软件烧写固件自动指定的方式确定,例如,如图2所示,可以在烧写固件时自动指定其中的IC0是主芯片,其他芯片是辅芯片。
可选地,假设将该多个芯片中的第一芯片确定为该主芯片之后,当前的主芯片发生故障,也就是该第一芯片发生故障,那么该方法100还包括:将该主芯片由该第一芯片改为该多个芯片中的第二芯片。具体地,该第二芯片可以为该多个芯片中除了第一芯片以外的任意一个芯片,这样,在当前的主芯片发生故障的情况下,还可以选择其他芯片作为主芯片。其中,将多个芯片中的第二芯片选择为新的主芯片的方式也可以有多种,例如,可以与上述选择第一芯片作为主芯片的可能的方式类似,即也可以采用预设标识指示的方式,也可以采用第三方的目标设备指定的方式,或者,也可以采用软件烧写固件自动指定的方式,为了简洁,在此不再赘述。
在本申请实施例中,主芯片通过单总线与每个辅芯片连接,单总线解决了多个芯片之间的通信问题,连接了所有的相关部件。其中,对于任意一个辅芯片,该主芯片可以通过单总线直接与该辅芯片连接,例如,如图2所示,假设主芯片为IC0,那么辅芯片为IC1和IC2,IC0通过单总线分别与IC1和IC2连接。
或者,对于远距离传输,主芯片还可以通过该单总线与一个或者多个中间器件连接,该中间器件再通过该单总线与某个辅芯片连接。图4示出了本 申请实施例的多个芯片的另一示意性框图,假设主芯片为IC0,那么辅芯片为IC1和IC2,如图4所示,该IC0通过单总线与中间器件A连接,中间器件A通过单总线与两个中间器件B连接,两个中间器件B通过单总线分别与IC1和IC2连接。可选地,本申请实施例中的该中间器件可以为继电器,或者也可以为其他器件;并且在包括多个中间器件的情况下,该多个中间器件可以为相同器件也可以为不同的器件,本申请实施例并不限于此。
如图1和图3所示,在该方法100中的S110中,该主芯片210通过该单总线,按照预设排列顺序分别与该至少一个辅芯片220进行通信,也就是说,采取时分复用的方式,实现主芯片与辅芯片的逐一通信。对应的,在该S110之前,该方法100还包括:确定该至少一个辅芯片220的预设排列顺序。具体地,该主芯片210确定与该至少一个辅芯片220进行通信的该预设排列顺序;该主芯片210通过该单总线,向该至少一个辅芯片220发送该预设排列顺序,例如,该主芯片210可以通过广播的方式,向该至少一个辅芯片220广播该预设排列顺序。
应理解,该主芯片210确定与该至少一个辅芯片220进行通信的预设排列顺序可以包括:该主芯片210为每个辅芯片确定一个编号,该编号可以表示每个辅芯片的顺序,也就是主芯片会按照编号的顺序,依次与各个辅芯片进行通信。例如,假设编号从1开始,那么编号为1的辅芯片表示:主芯片会第一个与该编号为1的辅芯片进行通信;编号为2的辅芯片表示:主芯片会第二个与该编号为2的辅芯片进行通信,依次类推。
为了便于说明,这里以至少一个辅芯片中的任意两个辅芯片为例,这里将他们称为第一辅芯片和第二辅芯片,假设在该预设排列顺序中,该第一辅芯片位于第二辅芯片之前,那么该S110具体可以包括:在第一时间段内,该主芯片通过该单总线,与该第一辅芯片进行通信;在第二时间段内,该主芯片通过该单总线,与该第二辅芯片进行通信,其中,该第一时间段位于该第二时间段之前,且该第一时间段与该第二时间段不重叠。
可选地,主芯片与每个辅芯片通信的时间可以相等,也可以不相等,也就是说,第一时间段可以等于或者不等于该第二时间段;另外,主芯片与每个辅芯片通信的时间的长度可以根据实际应用进行设置,即第一时间段的长度或者第二时间段的长度可以根据实际情况进行设置,并可以设置为任意值。例如,主芯片与每个辅芯片通信的时间可以均设置为5ms,即第一时间 段等于第二时间段的长度,都等于5ms。
在本申请实施例中,主芯片210与至少一个辅芯片220的通信时间段均不重叠,即第一时间段与第二时间段不重叠。例如,假设在该预设排列顺序中,该第一辅芯片与该第二辅芯片相邻,也就是说第一辅芯片之后的一个就是第二辅芯片,二者之间没有其他辅芯片,那么第一时间段的结束时刻与该第二时间段的开始时刻之间的时间间隔可以等于或者大于零;如果该时间间隔大于零,那么在该时间间隔内,该主芯片不与该至少一个辅芯片进行通信,例如,该主芯片可以处于空闲状态,或者该主芯片也可以处理其他业务。
在本申请实施例中,主芯片210在S110中按照预设排列顺序分别与该至少一个辅芯片220进行通信,对应的,在S120中,该至少一个辅芯片220可以根据与该主芯片210之间的通信中获取的信息,执行时间同步操作,以使得多个芯片之间达到时间同步的目标。
下面将结合附图,详细描述本申请实施例的方法100采用的时分复用的方式。
图5和图6分别以不同的方式示出了本申请实施例的主芯片和辅芯片之间进行通信的示意图,以图3中的主芯片210和3个辅芯片为例,并且假设三个辅芯片的预设排列顺序为:辅芯片221是第一个,辅芯片222是第二个,辅芯片223是第三个。另外,这里以一个周期为例,根据辅芯片的个数,这里将该周期分为8个5ms的时长。
如图5和图6所示,在该周期的第一个5ms时长内,主芯片210向各个辅芯片发送预设排列顺序,例如,该主芯片210可以通过广播的方式向3个辅芯片发送(tx)预设排列顺序,对应的,三个辅芯片接收该预设排列顺序。
可选地,该第一段5ms时间内,实际的通信时间可能只占其中一部分,并且,该实际通信的部分可以位于任意位置,其中,该实际通信时间可以包括主芯片210广播发送预设排列顺序,以及三个辅芯片接收该预设排列顺序。例如,实际通信的总时长可能为0.6ms,该0.6ms的实际通信可以发生在第一个5ms时长范围的任意位置,并且,在该5ms时长范围内,除了者0.6ms以外的时间,主芯片和辅芯片之间不进行通信,例如,它们可以均处于空闲态,但本申请实施例并不限于此。
如图5和图6所示,在该周期的第二个5ms时长内,主芯片210和三个辅芯片之间不进行通信,例如,它们可以均处于空闲态。
如图5和图6所示,在该周期的第三个5ms时长内,主芯片210根据预设排列顺序,首先与辅芯片221进行通信,以便于该辅芯片221根据通信获取的信息,执行时间同步。
可选地,在该第三个5ms时间段内,实际通信时间可能小于5ms,即实际的通信时间可能只占其中一部分,例如,实际通信时间可能为2ms,那么该2ms的实际通信可以发生在第一个5ms时长范围的任意位置,并且,在该5ms时长范围内,除了者2ms以外的时间,主芯片和辅芯片之间不进行通信,例如,它们可以均处于空闲态,但本申请实施例并不限于此。
如图5和图6所示,在该周期的第四个5ms时长内,与第二个5ms时长类似,主芯片210和三个辅芯片之间不进行通信,例如,它们可以均处于空闲态。
如图5和图6所示,在该周期的第五个5ms时长内,主芯片210根据预设排列顺序,再与辅芯片222进行通信,以便于该辅芯片222根据通信获取的信息,执行时间同步。该过程与第三个5ms时长类似,为了简洁,在此不再赘述。
如图5和图6所示,在该周期的第六个5ms时长内,与第二个和第四个5ms时长类似,主芯片210和三个辅芯片之间不进行通信,例如,它们可以均处于空闲态。
如图5和图6所示,在该周期的第七个5ms时长内,主芯片210根据预设排列顺序,再与辅芯片223进行通信,以便于该辅芯片223根据通信获取的信息,执行时间同步。该过程与第三个5ms时长类似,为了简洁,在此不再赘述。
如图5和图6所示,在该周期的第八个5ms时长内,与第二个、第四个和第六个5ms时长类似,主芯片210和三个辅芯片之间不进行通信,例如,它们可以均处于空闲态。
在上述8个5ms时间结束之后,也就是一个周期结束之后,主芯片210完成与全部辅芯片的通信,以使得每个辅芯片都可以与主芯片进行时间同步,也就是每个辅芯片都将时间设置为与主芯片同步,即实现全部芯片的时间同步。在多个芯片之间,类似图5和图6的这种周期可以执行一次或者多次,例如,多个芯片之间可以循环该周期,反复进行时间同步,已达到高精度时间同步的目的,但本申请实施例并不限于此。
应理解,对于主芯片与任意一个辅芯片进行通信,以使得该辅芯片与主芯片时间同步的过程,可以通过各种方式进行。为了便于说明,这里以在第一时间段内,主芯片与第一辅芯片进行通信为例,例如,该第一辅芯片可以为如图3所示的辅芯片221,对应的,第一时间段可以指如图5和图6所示的第三个5ms时间;或者,该第一辅芯片可以为如图3所示的辅芯片222,对应的,第一时间段可以指如图5和图6所示的第五个5ms时间;或者,该第一辅芯片可以为如图3所示的辅芯片223,对应的,第一时间段可以指如图5和图6所示的第七个5ms时间。
具体地,在该第一时间段内,主芯片与第一辅芯片进行通信,该第一辅芯片根据与该主芯片之间的通信中获取的信息,执行时间同步。其中,执行时间同步可以包括:第一辅芯片确定与该主芯片之间的时间差。第一辅芯片在确定了与主芯片之间的时间差之后,可以对应调整该第一辅芯片的时间,例如,可以调整该第一辅芯片的时钟或者时间戳,以使得第一辅芯片的时间与主芯片的相同;或者,该第一辅芯片计算出与主芯片之间的时间差之后,也可以不调整该第一辅芯片的时钟或者时间戳,但是在处理数据时,会合理使用该时间差,例如,抵消该时间差,或者说对该时间差进行补偿,以使得该第一辅芯片的时间与主芯片的时间之间保持一致,本申请实施例并不限于此。
应理解,该第一辅芯片可以通过多种方式确定与主芯片之间的时间差。例如,该第一辅芯片和主芯片在第一时间段内,采取通信中的1588协议的方法,以进行补偿和偏差计算,但本申请实施例并不限于此。具体地,图7示出了主芯片和第一辅芯片之间进行通信的时间示意图,如图7所示,主芯片时间表示主芯片测量的时间,辅芯片时间表示第一辅芯片测量的时间。该在第一时间段内,该主芯片通过单总线,与该第一辅芯片进行通信,可以具体包括:在该第一时间段内,该主芯片通过该单总线向该第一辅芯片发送第一数据包,该第一数据包的发送时刻为该主芯片时间的第一时刻t1;该第一辅芯片接收该第一数据包,该第一数据包的接收时刻为该第一辅芯片时间的第二时刻t2;在该第一时间段内,该第一辅芯片通过该单总线向该主芯片发送第二数据包,该第二数据包的发送时刻为该第一辅芯片时间的第三时刻t3;该主芯片接收该第二数据包,该第二数据包的接收时刻为该主芯片时间的第四时刻t4。
应理解,第一时刻t1为第一数据包的发送时刻,该发送时刻为主芯片的时间;第二时刻t2为第二数据包的接收时刻,该接收时刻为第一辅芯片的时间;第三时刻t3为第二数据包的发送时刻,该发送时刻为第一辅芯片的时间;第四时刻t4为第二数据包的接收时刻,该接收时刻为主芯片的时间。
可选地,第一辅芯片可以根据上述第一时刻t1、该第二时刻t2、该第三时刻t3和该第四时刻t4,确定与该主芯片之间的时间差。其中,第一时刻t1和第三时刻t3是主芯片的时刻,因此,该主芯片可以向第一辅芯片发送该第一时刻t1和第三时刻t3。例如,主芯片可以通过在第一数据包上携带时间戳,通过该时间戳指示第一时刻t1;或者,该主芯片还可以在该第一时间段内,通过该单总线向该第一辅芯片发送另一数据包,该数据包括该第一时刻t1和/或第三时刻t3;或者,如图7所示,该主芯片还可以在该第一时间段内,通过该单总线向该第一辅芯片发送第三数据包和/或第四数据包,该第三数据包包括该第一时刻t1,该第四数据包包括该第三时刻t3,但本申请实施例并不限于此。
应理解,如图7所示,对于第一数据包的传输过程,第一时刻t1和第二时刻t2之间的时间差为Δt1,该Δt1包括第一数据包的传输时间,以及主芯片与第一辅芯片之间的时间差;类似的,对于第二数据包的传输过程,第三时刻t3和第四时刻t4之间的时间差为Δt2,该Δt2包括第二数据包的传输时间,以及主芯片与第一辅芯片之间的时间差。因此,若第一数据包与第二数据的传输时间相等,那么可以确定出第一辅芯片与主芯片之间的时间差Δt可以通过下面的公式1进行计算:
Figure PCTCN2019114349-appb-000001
若计算时间差Δt为正数,表示第一辅芯片的时间晚于主芯片时间;若计算时间差Δt为负数,表示第一辅芯片的时间早于主芯片时间。
可选地,为了确保主芯片与第一辅芯片之间时间差的确定精度,上述假设第一数据包的传输时间与第二数据包的传输时间相同;为了使得第一数据包的传输时间与第二数据包的传输时间相同,可以考虑以下几方面的设置。
一、该第一数据包的长度与该第二数据包的长度设置为相等。例如,主芯片向第一辅芯片发送的第一数据包的长度为15个byte,那么第一辅芯片向主芯片发送的第二数据包的长度也设置为15个byte。
二、该主芯片发送该第一数据包的传输协议与该第一辅芯片发送该第二数据包的传输协议一致,或者说完全对等的。例如均使用串口波特率115200,以使得主芯片与第一辅芯片之间的数据交互是完全对等的。
三、该主芯片与该第一辅芯片之间传输该第一数据和该第二数据经过的传输路径相同,以使得第一数据包的传输时间与第二数据包的传输时间相同。
可选地,若第一数据包的传输时间与第二数据包的传输时间不相同,那么在已知第一数据包的传输时间或者第二数据包的传输时间的情况下,也可以确定主芯片与第一辅芯片之间的时间差,本申请实施例并不限于此。
因此,本申请实施例的用于多个芯片之间的时间同步方法,通过使用单总线连接多芯片,可以节省芯片间、芯片与传感器组件的连线,此外如果系统中有多种线,那么多出的物理连接线可以用于冗余设计(例如现成可编程门阵列(Field Programmable Gate Array,FPGA));另外,在多个芯片中设置一个主芯片和至少一个辅芯片,主芯片通过时间复用的方式,按照预设排列顺序分别与至少一个辅芯片进行通信,以便于至少一个辅芯片根据通信中获得的信息进行时间同步,该方法可以应用于多芯片、多传感器的时戳同步的场景,主要用于机器视觉领域,确保传感器数据采样时间上的同步,便于后续的算法融合。
可选的,本申请实施例还提出了一种可移动平台。具体地,图8示出了本申请实施例的可移动平台300的示意性框图。如图8所示,该可移动平台300包括:机体310;动力系统320,设于该机体310内,用于为该可移动平台300提供动力;时间同步系统330,设置于该机体310内,可以用于图像处理。例如,该时间同步系统330可以为本申请实施例的图3所示的时间同步系统,该时间同步系统330可以包括主芯片210和至少一个辅芯片220,为了简洁,在此不再赘述。再例如,该时间同步系统330还可以包括图像采集装置,用于采集图像;该时间同步系统330还可以包括图像处理装置,用于对该图像进行处理。其中,所述图像采集装置恶意包括拍摄设备(例如,相机、摄像机等)或视觉传感器(例如,单目摄像头或双/多目摄像头等)。
本发明实施例中的可移动平台300可以指任意可移动设备,该可移动设备可以在任何合适的环境下移动,例如,空气中(例如,定翼飞机、旋翼飞机,或既没有定翼也没有旋翼的飞机)、水中(例如,轮船或潜水艇)、陆 地上(例如,汽车或火车)、太空(例如,太空飞机、卫星或探测器),以及以上各种环境的任何组合。该可移动设备可以是飞机,例如无人机(Unmanned Aerial Vehicle,UAV)。
机体310也可以称为机身,该机身可以包括中心架以及与中心架连接的一个或多个机臂,一个或多个机臂呈辐射状从中心架延伸出。脚架与机身连接,用于在UAV着陆时起支撑作用。
动力系统320可以包括电子调速器(简称为电调)、一个或多个螺旋桨以及与一个或多个螺旋桨相对应的一个或多个电机,其中电机连接在电子调速器与螺旋桨之间,电机和螺旋桨设置在对应的机臂上;电子调速器用于接收飞行控制器产生的驱动信号,并根据驱动信号提供驱动电流给电机,以控制电机的转速。电机用于驱动螺旋桨旋转,从而为UAV的飞行提供动力,该动力使得UAV能够实现一个或多个自由度的运动。应理解,电机可以是直流电机,也可以交流电机。另外,电机可以是无刷电机,也可以有刷电机。
应理解,本申请各实施例的装置可以基于存储器和处理器实现,各存储器用于存储用于执行本申请个实施例的方法的指令,处理器执行上述指令,使得装置执行本申请各实施例的方法。
应理解,本申请实施例中提及的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存 取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行上述各方法实施例的方法。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存储介质。
本申请实施例可以应用在飞行器,尤其是无人机领域。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介 质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
应理解,本申请各实施例均是以总位宽为16位(bit)为例进行说明的,本申请各实施例可以适用于其他的位宽。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅 是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (69)

  1. 一种用于多个芯片之间的时间同步方法,其特征在于,所述多个芯片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,所述方法包括:
    所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信;
    所述至少一个辅芯片根据与所述主芯片之间的通信中获取的信息,执行时间同步操作。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述主芯片确定与所述至少一个辅芯片进行通信的所述预设排列顺序;
    所述主芯片通过所述单总线,向所述至少一个辅芯片发送所述预设排列顺序。
  3. 根据权利要求1或2所述的方法,其特征在于,所述预设排列顺序包括:所述至少一个辅芯片中的第一辅芯片位于第二辅芯片之前,
    所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信,包括:
    在第一时间段内,所述主芯片通过所述单总线,与所述第一辅芯片进行通信;
    在第二时间段内,所述主芯片通过所述单总线,与所述第二辅芯片进行通信,其中,所述第一时间段位于所述第二时间段之前,且所述第一时间段与所述第二时间段不重叠。
  4. 根据权利要求3所述的方法,其特征在于,所述至少一个辅芯片根据与所述主芯片之间的通信中获取的信息,执行时间同步操作,包括:
    在所述第一时间段内,所述第一辅芯片根据与所述主芯片之间的通信中获取的信息,确定与所述主芯片之间的时间差。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    所述第一辅芯片根据所述时间差,将时间调整为与所述主芯片时间同步。
  6. 根据权利要求4或5所述的方法,其特征在于,所述在第一时间段内,所述主芯片通过所述单总线,与所述第一辅芯片进行通信,包括:
    在所述第一时间段内,所述主芯片通过所述单总线向所述第一辅芯片发送第一数据包,所述第一数据包的发送时刻为所述主芯片时间的第一时刻;
    所述第一辅芯片接收所述第一数据包,所述第一数据包的接收时刻为所述第一辅芯片时间的第二时刻;
    在所述第一时间段内,所述第一辅芯片通过所述单总线向所述主芯片发送第二数据包,所述第二数据包的发送时刻为所述第一辅芯片时间的第三时刻;
    所述主芯片接收所述第二数据包,所述第二数据包的接收时刻为所述主芯片时间的第四时刻。
  7. 根据权利要求6所述的方法,其特征在于,所述第一辅芯片根据与所述主芯片之间的通信中获取的信息,确定与所述主芯片之间的时间差,包括:
    所述第一辅芯片根据所述第一时刻、所述第二时刻、所述第三时刻和所述第四时刻,确定与所述主芯片之间的时间差。
  8. 根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
    所述主芯片在所述第一时间段内,通过所述单总线向所述第一辅芯片发送第三数据包和第四数据包,所述第三数据包包括所述第一时刻,所述第四数据包包括所述第三时刻。
  9. 根据权利要求6至8中任一项所述的方法,其特征在于,所述第一数据包的长度与所述第二数据包的长度相等。
  10. 根据权利要求6至9中任一项所述的方法,其特征在于,所述主芯片发送所述第一数据包的传输协议与所述第一辅芯片发送所述第二数据包的传输协议一致。
  11. 根据权利要求6至9中任一项所述的方法,其特征在于,所述主芯片与所述第一辅芯片之间传输所述第一数据和所述第二数据经过的传输路径相同。
  12. 根据权利要求3至11中任一项所述的方法,其特征在于,所述第一时间段的时长与所述第二时间段的时长相等。
  13. 根据权利要求3至12中任一项所述的方法,其特征在于,在所述预设排列顺序中,所述第一辅芯片与所述第二辅芯片相邻,
    所述第一时间段的结束时刻与所述第二时间段的开始时刻之间的时间 间隔大于零,在所述时间间隔内,所述主芯片不与所述至少一个辅芯片进行通信。
  14. 根据权利要求1至13中任一项所述的方法,其特征在于,所述主芯片通过所述单总线与中间器件连接,所述中间器件通过所述单总线与所述至少一个辅芯片中的任一辅芯片连接。
  15. 根据权利要求14所述的方法,其特征在于,所述中间器件为继电器。
  16. 根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
    将所述多个芯片中的第一芯片确定为所述主芯片。
  17. 根据权利要求16所述的方法,其特征在于,所述将所述多个芯片中的第一芯片确定为所述主芯片,包括:
    若在所述多个芯片中与预设标识对应的芯片为所述第一芯片,将所述第一芯片确定为所述主芯片。
  18. 根据权利要求16所述的方法,其特征在于,所述将所述多个芯片中的第一芯片确定为所述主芯片,包括:
    所述多个芯片接收目标设备发送的指示信息,所述指示信息指示所述多个芯片中的第一芯片为所述主芯片,所述目标设备与所述多个芯片连接;
    根据所述指示信息,将所述多个芯片中的第一芯片确定为所述主芯片。
  19. 根据权利要求16至18中任一项所述的方法,其特征在于,在将所述多个芯片中的第一芯片确定为所述主芯片之后,所述方法还包括:
    若所述第一芯片发生故障,将所述主芯片由所述第一芯片改为所述多个芯片中的第二芯片。
  20. 根据权利要求1至19中任一项所述的方法,其特征在于,所述多个芯片包括数字信号处理DSP芯片、雷达芯片或视觉芯片中的至少一个。
  21. 一种用于多个芯片之间的时间同步方法,其特征在于,所述多个芯片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,所述方法包括:
    所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信,以使得所述多个芯片的时间同步。
  22. 根据权利要求21所述的方法,其特征在于,所述方法还包括:
    所述主芯片确定与所述至少一个辅芯片进行通信的所述预设排列顺序;
    所述主芯片通过所述单总线,向所述至少一个辅芯片发送所述预设排列顺序。
  23. 根据权利要求22所述的方法,其特征在于,所述主芯片通过所述单总线,向所述至少一个辅芯片发送所述预设排列顺序,包括:
    所述主芯片通过所述单总线,向所述每个辅芯片广播发送所述预设排列顺序。
  24. 根据权利要求21至23中任一项所述的方法,其特征在于,所述预设排列顺序包括:所述至少一个辅芯片中的第一辅芯片位于第二辅芯片之前,
    所述主芯片通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信,包括:
    在第一时间段内,所述主芯片通过所述单总线,与所述第一辅芯片进行通信;
    在第二时间段内,所述主芯片通过所述单总线,与所述第二辅芯片进行通信,其中,所述第一时间段位于所述第二时间段之前,且所述第一时间段与所述第二时间段不重叠。
  25. 根据权利要求24所述的方法,其特征在于,所述在第一时间段内,所述主芯片通过所述单总线,与所述第一辅芯片进行通信,包括:
    在所述第一时间段内,所述主芯片通过所述单总线向所述第一辅芯片发送第一数据包,所述第一数据包的发送时刻为所述主芯片时间的第一时刻,所述第一数据包的接收时刻为所述第一辅芯片时间的第二时刻;
    在所述第一时间段内,所述主芯片通过所述单总线接收所述第一辅芯片发送的第二数据包,所述第二数据包的发送时刻为所述第一辅芯片时间的第三时刻,所述第二数据包的接收时刻为所述主芯片时间的第四时刻,所述第一时刻、所述第二时刻、所述第三时刻和所述第四时刻用于所述第一辅芯片确定与所述主芯片之间的时间差。
  26. 根据权利要求25所述的方法,其特征在于,所述方法还包括:
    所述主芯片在所述第一时间段内,通过所述单总线向所述第一辅芯片发送第三数据包和第四数据包,所述第三数据包包括所述第一时刻,所述第四数据包包括所述第三时刻。
  27. 根据权利要求25或26所述的方法,其特征在于,所述第一数据包的长度与所述第二数据包的长度相等。
  28. 根据权利要求25至27中任一项所述的方法,其特征在于,所述主芯片发送所述第一数据包的传输协议与所述第一辅芯片发送所述第二数据包的传输协议一致。
  29. 根据权利要求25至28中任一项所述的方法,其特征在于,所述主芯片与所述第一辅芯片之间传输所述第一数据和所述第二数据经过的传输路径相同。
  30. 根据权利要求23至29中任一项所述的方法,其特征在于,所述第一时间段的时长与所述第二时间段的时长相等。
  31. 根据权利要求23至30中任一项所述的方法,其特征在于,在所述预设排列顺序中,所述第一辅芯片与所述第二辅芯片相邻,
    所述第一时间段的结束时刻与所述第二时间段的开始时刻之间的时间间隔大于零,在所述时间间隔内,所述主芯片不与所述至少一个辅芯片进行时间同步。
  32. 根据权利要求21至31中任一项所述的方法,其特征在于,所述多个芯片包括数字信号处理DSP芯片、雷达芯片或视觉芯片中的至少一个。
  33. 根据权利要求21至32中任一项所述的方法,其特征在于,所述主芯片通过所述单总线与中间器件连接,所述中间器件通过所述单总线与所述至少一个辅芯片中的任一辅芯片连接。
  34. 根据权利要求33所述的方法,其特征在于,所述中间器件为继电器。
  35. 一种时间同步装置,其特征在于,所述时间同步装置与多个芯片通过单总线连接,
    所述时间同步装置,用于按照预设排列顺序,与多个所述辅芯片进行通信,以使得所述多个芯片的时间同步。
  36. 根据权利要求35所述的时间同步装置,其特征在于,所述时间同步装置还用于:
    确定与所述至少一个辅芯片进行通信的所述预设排列顺序;
    通过所述单总线,向所述至少一个辅芯片发送所述预设排列顺序。
  37. 根据权利要求36所述的时间同步装置,其特征在于,所述时间同 步装置用于:
    通过所述单总线,向所述每个辅芯片广播发送所述预设排列顺序。
  38. 根据权利要求35至37中任一项所述的时间同步装置,其特征在于,所述预设排列顺序包括:所述至少一个辅芯片中的第一辅芯片位于第二辅芯片之前,
    所述时间同步装置还用于:
    在第一时间段内,通过所述单总线,与所述第一辅芯片进行通信;
    在第二时间段内,通过所述单总线,与所述第二辅芯片进行通信,其中,所述第一时间段位于所述第二时间段之前,且所述第一时间段与所述第二时间段不重叠。
  39. 根据权利要求38所述的时间同步装置,其特征在于,所述时间同步装置用于:
    在所述第一时间段内,通过所述单总线向所述第一辅芯片发送第一数据包,所述第一数据包的发送时刻为所述时间同步装置时间的第一时刻,所述第一数据包的接收时刻为所述第一辅芯片时间的第二时刻;
    在所述第一时间段内,通过所述单总线接收所述第一辅芯片发送的第二数据包,所述第二数据包的发送时刻为所述第一辅芯片时间的第三时刻,所述第二数据包的接收时刻为所述时间同步装置时间的第四时刻,所述第一时刻、所述第二时刻、所述第三时刻和所述第四时刻用于所述第一辅芯片确定与所述时间同步装置之间的时间差。
  40. 根据权利要求39所述的时间同步装置,其特征在于,所述时间同步装置还用于:
    在所述第一时间段内,通过所述单总线向所述第一辅芯片发送第三数据包和第四数据包,所述第三数据包包括所述第一时刻,所述第四数据包包括所述第三时刻。
  41. 根据权利要求39或40所述的时间同步装置,其特征在于,所述第一数据包的长度与所述第二数据包的长度相等。
  42. 根据权利要求39至41中任一项所述的时间同步装置,其特征在于,所述时间同步装置发送所述第一数据包的传输协议与所述第一辅芯片发送所述第二数据包的传输协议一致。
  43. 根据权利要求39至42中任一项所述的时间同步装置,其特征在于, 所述时间同步装置与所述第一辅芯片之间传输所述第一数据和所述第二数据经过的传输路径相同。
  44. 根据权利要求37至43中任一项所述的时间同步装置,其特征在于,所述第一时间段的时长与所述第二时间段的时长相等。
  45. 根据权利要求37至44中任一项所述的时间同步装置,其特征在于,在所述预设排列顺序中,所述第一辅芯片与所述第二辅芯片相邻,
    所述第一时间段的结束时刻与所述第二时间段的开始时刻之间的时间间隔大于零,在所述时间间隔内,所述时间同步装置不与所述至少一个辅芯片进行时间同步。
  46. 根据权利要求35至45中任一项所述的时间同步装置,其特征在于,所述多个芯片包括数字信号处理DSP芯片、雷达芯片或视觉芯片中的至少一个。
  47. 根据权利要求35至46中任一项所述的时间同步装置,其特征在于,所述时间同步装置通过所述单总线与中间器件连接,所述中间器件通过所述单总线与所述至少一个辅芯片中的任一辅芯片连接。
  48. 根据权利要求47所述的时间同步装置,其特征在于,所述中间器件为继电器。
  49. 一种时间同步系统,其特征在于,包括多个芯片,所述多个芯片包括一个主芯片和至少一个辅芯片,所述主芯片通过单总线与所述至少一个辅芯片中每个辅芯片连接,
    所述主芯片用于通过所述单总线,按照预设排列顺序分别与所述至少一个辅芯片进行通信;
    所述辅芯片用于根据与所述主芯片之间的通信中获取的信息,执行时间同步操作。
  50. 根据权利要求49所述的时间同步系统,其特征在于,所述主芯片还用于:
    确定与所述至少一个辅芯片进行通信的所述预设排列顺序;
    通过所述单总线,向所述至少一个辅芯片发送所述预设排列顺序。
  51. 根据权利要求49或50所述的时间同步系统,其特征在于,所述预设排列顺序包括:所述至少一个辅芯片中的第一辅芯片位于第二辅芯片之前,
    所述主芯片还用于:
    在第一时间段内,通过所述单总线,与所述第一辅芯片进行通信;
    在第二时间段内,通过所述单总线,与所述第二辅芯片进行通信,其中,所述第一时间段位于所述第二时间段之前,且所述第一时间段与所述第二时间段不重叠。
  52. 根据权利要求51所述的时间同步系统,其特征在于,所述至少一个辅芯还用于:
    在所述第一时间段内,根据与所述主芯片之间的通信中获取的信息,确定与所述主芯片之间的时间差。
  53. 根据权利要求52所述的时间同步系统,其特征在于,所述第一辅芯片还用于:
    根据所述时间差,将时间调整为与所述主芯片时间同步。
  54. 根据权利要求52或53所述的时间同步系统,其特征在于,所述主芯片还用于:
    在所述第一时间段内,通过所述单总线向所述第一辅芯片发送第一数据包,所述第一数据包的发送时刻为所述主芯片时间的第一时刻;
    所述第一辅芯片还用于:
    接收所述第一数据包,所述第一数据包的接收时刻为所述第一辅芯片时间的第二时刻,
    在所述第一时间段内,通过所述单总线向所述主芯片发送第二数据包,所述第二数据包的发送时刻为所述第一辅芯片时间的第三时刻;
    所述主芯片还用于:
    接收所述第二数据包,所述第二数据包的接收时刻为所述主芯片时间的第四时刻。
  55. 根据权利要求54所述的时间同步系统,其特征在于,所述第一辅芯片还用于:
    根据所述第一时刻、所述第二时刻、所述第三时刻和所述第四时刻,确定与所述主芯片之间的时间差。
  56. 根据权利要求54或55所述的时间同步系统,其特征在于,所述主芯片还用于:
    在所述第一时间段内,通过所述单总线向所述第一辅芯片发送第三数据 包和第四数据包,所述第三数据包包括所述第一时刻,所述第四数据包包括所述第三时刻。
  57. 根据权利要求54至56中任一项所述的时间同步系统,其特征在于,所述第一数据包的长度与所述第二数据包的长度相等。
  58. 根据权利要求54至57中任一项所述的时间同步系统,其特征在于,所述主芯片发送所述第一数据包的传输协议与所述第一辅芯片发送所述第二数据包的传输协议一致。
  59. 根据权利要求54至57中任一项所述的时间同步系统,其特征在于,所述主芯片与所述第一辅芯片之间传输所述第一数据和所述第二数据经过的传输路径相同。
  60. 根据权利要求51至59中任一项所述的时间同步系统,其特征在于,所述第一时间段的时长与所述第二时间段的时长相等。
  61. 根据权利要求51至60中任一项所述的时间同步系统,其特征在于,在所述预设排列顺序中,所述第一辅芯片与所述第二辅芯片相邻,
    所述第一时间段的结束时刻与所述第二时间段的开始时刻之间的时间间隔大于零,在所述时间间隔内,所述主芯片不与所述至少一个辅芯片进行通信。
  62. 根据权利要求49至61中任一项所述的时间同步系统,其特征在于,所述主芯片通过所述单总线与中间器件连接,所述中间器件通过所述单总线与所述至少一个辅芯片中的任一辅芯片连接。
  63. 根据权利要求62所述的时间同步系统,其特征在于,所述中间器件为继电器。
  64. 根据权利要求49至63中任一项所述的时间同步系统,其特征在于,所述多个芯片中的第一芯片为所述主芯片。
  65. 根据权利要求64所述的时间同步系统,其特征在于,若在所述多个芯片中与预设标识对应的芯片为所述第一芯片,所述第一芯片为所述主芯片。
  66. 根据权利要求64所述的时间同步系统,其特征在于,所述多个芯片还用于:
    接收目标设备发送的指示信息,所述指示信息指示所述多个芯片中的第一芯片为所述主芯片,所述目标设备与所述多个芯片连接。
  67. 根据权利要求64至66中任一项所述的时间同步系统,其特征在于,若所述多个芯片中的第一芯片为所述主芯片,且所述第一芯片发生故障,所述主芯片由所述第一芯片变为所述多个芯片中的第二芯片。
  68. 根据权利要求49至67中任一项所述的时间同步系统,其特征在于,所述多个芯片包括数字信号处理DSP芯片、雷达芯片或视觉芯片中的至少一个。
  69. 一种可移动平台,其特征在于,包括:
    机体;
    动力系统,设于所述机体,所述动力系统用于为所述可移动平台提供动力;
    如权利要求49至68中任一项所述的时间同步系统。
PCT/CN2019/114349 2019-10-30 2019-10-30 时间同步方法、装置、系统和可移动平台 WO2021081806A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980031709.9A CN112119366A (zh) 2019-10-30 2019-10-30 时间同步方法、装置、系统和可移动平台
PCT/CN2019/114349 WO2021081806A1 (zh) 2019-10-30 2019-10-30 时间同步方法、装置、系统和可移动平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/114349 WO2021081806A1 (zh) 2019-10-30 2019-10-30 时间同步方法、装置、系统和可移动平台

Publications (1)

Publication Number Publication Date
WO2021081806A1 true WO2021081806A1 (zh) 2021-05-06

Family

ID=73798874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/114349 WO2021081806A1 (zh) 2019-10-30 2019-10-30 时间同步方法、装置、系统和可移动平台

Country Status (2)

Country Link
CN (1) CN112119366A (zh)
WO (1) WO2021081806A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839767A (zh) * 2021-09-13 2021-12-24 许昌许继软件技术有限公司 一种多片fpga系统及其时戳同步方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110148850A1 (en) * 2009-12-18 2011-06-23 Oki Semiconductor Co., Ltd. Synchronous processing system and semiconductor integrated circuit
CN102143571A (zh) * 2010-02-02 2011-08-03 华为技术有限公司 时间同步方法、dsl设备和宽带接入网络系统
CN103516506A (zh) * 2012-06-27 2014-01-15 美国博通公司 多芯片同步系统
CN104270238A (zh) * 2009-09-30 2015-01-07 华为技术有限公司 时间同步方法、装置和系统
CN104731736A (zh) * 2015-03-27 2015-06-24 深圳怡化电脑股份有限公司 一种时间同步装置、方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957803B (zh) * 2010-09-21 2012-12-26 昆山芯视讯电子科技有限公司 多芯片自动同步和相移的方法
US9792247B2 (en) * 2014-07-18 2017-10-17 Qualcomm Incorporated Systems and methods for chip to chip communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270238A (zh) * 2009-09-30 2015-01-07 华为技术有限公司 时间同步方法、装置和系统
US20110148850A1 (en) * 2009-12-18 2011-06-23 Oki Semiconductor Co., Ltd. Synchronous processing system and semiconductor integrated circuit
CN102143571A (zh) * 2010-02-02 2011-08-03 华为技术有限公司 时间同步方法、dsl设备和宽带接入网络系统
CN103516506A (zh) * 2012-06-27 2014-01-15 美国博通公司 多芯片同步系统
CN104731736A (zh) * 2015-03-27 2015-06-24 深圳怡化电脑股份有限公司 一种时间同步装置、方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839767A (zh) * 2021-09-13 2021-12-24 许昌许继软件技术有限公司 一种多片fpga系统及其时戳同步方法

Also Published As

Publication number Publication date
CN112119366A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
US11809177B2 (en) System having a plurality of unmanned aerial vehicles and a method of controlling a plurality of unmanned aerial vehicles
US20230144408A1 (en) Autonomous Aerial Vehicle Hardware Configuration
US10852723B2 (en) Unmanned aerial vehicle swarm photography
WO2018103017A1 (zh) 无人机的控制方法及无人机
CN108780321B (zh) 用于设备姿态调整的方法、设备、系统和计算机可读存储介质
WO2020019331A1 (zh) 气压计的高度测量补偿方法以及无人机
WO2020019106A1 (zh) 云台和无人机控制方法、云台及无人机
CN108924383A (zh) 一种车载多传感器同步触发装置及其触发方法
WO2021081806A1 (zh) 时间同步方法、装置、系统和可移动平台
US20220248359A1 (en) Aircraft time synchronization system and method
WO2019113885A1 (zh) 核间通信方法、处理器和多处理器通信系统
WO2021259253A1 (zh) 一种轨迹跟踪方法及无人机
WO2021081774A1 (zh) 一种参数优化方法、装置及控制设备、飞行器
JP2017212528A (ja) 撮像システム、撮像制御方法、撮像制御システム、移動体、制御方法、及びプログラム
CN110134133A (zh) 一种多旋翼自动控制无人机系统
WO2020237529A1 (zh) 一种无人机的飞行控制方法、设备及无人机
WO2020107195A1 (zh) 一种信息同步方法、无人机、负载设备、系统及存储介质
US20200349104A1 (en) Chip, processor, computer system and movable device
US20200354069A1 (en) Devices and systems utilizing a single chip for control of device movement
WO2020238966A1 (zh) 一种参考航点数据的传输方法、装置及无人机
WO2020113370A1 (zh) 一种飞行器、数据处理系统及针对飞行器的数据处理方法
WO2020037542A1 (zh) 数据指令处理方法、存储芯片、存储系统和可移动平台
WO2020062255A1 (zh) 拍摄控制方法和无人机
CN110906922A (zh) 无人机位姿信息的确定方法及装置、存储介质、终端
WO2021237500A1 (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: 19951047

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19951047

Country of ref document: EP

Kind code of ref document: A1