System and method for synchronization with read access

By receiving a large number of read command transactions in the second subsystem of the sensor system for synchronization, the problem of sensor data reading and detection is solved, real-time data reading and synchronization is realized, and data loss is avoided.

CN120104367APending Publication Date: 2025-06-06ROBERT BOSCH GMBH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411789208.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-06
Filing Date
2024-12-06
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

When reading sensor data, due to the different beat frequencies of the host and sensor, the reading and detection of sensor data are not synchronized, resulting in data loss.

Method used

By receiving a large number of read command transactions in the second subsystem of the system, synchronizing using these transactions enables simple synchronization of the first subsystem and the second subsystem without hardware overhead.

Benefits of technology

It realizes simplifying the read synchronization of sensor data without increasing hardware overhead, avoiding data loss, and improving the real-time and availability of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120104367A_ABST
    Figure CN120104367A_ABST
Patent Text Reader

Abstract

The invention relates to a method and a device for reading command transactions of a system (1000; a method (5000) for synchronizing a system (1000; 2000), the method comprising: performing synchronization via the system (1000; 1100) of a first subsystem (1100; 2100) and a second subsystem (1200; 2200) of the system, an interface between a second subsystem (1200; 2200), a number of read command transactions being received (5050) in the second subsystem (1200; 2200) is configured to transmit read commands to the first subsystem (1100; 2200) based on the plurality of read command transactions. 2100) and the second subsystem (1200; 2200) of the motor vehicle. The invention also relates to a corresponding system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a system and a method for synchronization by means of read access, in particular when reading out sensor data via an interface between sensors and / or between a sensor and a host. Background Art

[0002] The data detected by one or more sensors can be collected according to common standards, such as I 2 C standard, I3C standard or SPI standard (serial peripheral interface). These sensor data can be read out from the memory of the sensor, for example, in blocks. In order to avoid the loss of sensor data, as shown in FIG. Figure 3 As described by way of example, the sensor data can advantageously be read out before they are overwritten.

[0003] The sensor data can also be read out as samples, for example, directly after each measurement, for example by means of a corresponding sensor terminal trigger. This can be advantageous if the sensor data must be available and / or processed quickly or substantially in real time, for example due to applications requiring low latency.

[0004] However, the tick frequency of the host and / or one or more sensors may be different. The host and / or one or more sensors may, for example, operate with different internally generated tick frequencies. The tick frequency may vary during operation depending on the operating temperature of the corresponding sensor. During operation, the operating temperatures of different sensors may be different and / or vary differently.

[0005] When reading out the sensor data, it may therefore be necessary to synchronize the reading out of the sensor data with the acquisition of the sensor data in order to be able to optimally utilize the available sensor data.

[0006] Conventional methods and systems for synchronizing sensors may utilize signals transmitted via dedicated wires between a host and / or one or more sensors. 2 The protocols of the I3C and I3C standards support synchronization, for example, via a two-level serial interface.

[0007] DE 10 2012 203 968 A1 discloses a sensor for receiving measured values ​​and outputting data samples, the sensor having at least one first register for storing a sensor time, the sensor time containing time information about a phase and / or a period of a data sample, wherein the first register can be read out externally. The sensor has at least one second register, the second register can be written externally, and the phase and / or the period of the data sample in the sensor can be set by means of the second register.

[0008] However, such an implementation may be complex and therefore also cost-intensive. It would therefore be desirable to provide a system that enables simplified synchronization of the readout of sensor data by a host and / or one or more sensors. Summary of the invention

[0009] The present invention provides a method and a system for synchronization by means of read access.

[0010] The subject of the expanded technical solution is a preferred embodiment.

[0011] According to a first aspect, the invention relates to a method for A method for synchronizing a system. The method includes: receiving a large number of read command transactions in a second subsystem of the system via an interface between a first subsystem and a second subsystem of the system. The second subsystem is configured to synchronize the first subsystem and the second subsystem based on the large number of read command transactions. This enables simple synchronization without hardware overhead.

[0012] According to an embodiment, the method comprises determining a read cycle of the interface which elapses between two read command transactions for calculating a waiting time between the end of a sampling phase of the second subsystem and the beginning of a directly following sampling phase.

[0013] According to an embodiment, the method comprises determining an average value of a plurality of read cycles of the interface which elapse between two read command transactions for calculating a waiting time between the end of a sampling phase of the second subsystem and the start of a directly following sampling phase.

[0014] According to an extended technical solution, the method includes: resetting a counter configured to count from 1 to a threshold value N until the sampling period ends, so that the waiting time corresponds to the difference between the reading period and the sampling phase.

[0015] According to an extended technical solution, the method includes: resetting a counter configured to count from 1 to a threshold N until the sampling period ends, so that the waiting time is equivalent to the difference between the average value of the reading period and the sampling phase.

[0016] According to an extended technical solution, the method includes: adapting a clock generator of the second subsystem based on a large number of read command transactions.

[0017] According to an extended technical solution, the method comprises: adapting the time between the end of the sampling phase and the start of the following read command transaction.

[0018] According to a second aspect, the present invention relates to a system having a device for receiving a large number of read command transactions in a second subsystem of the system via an interface between the first subsystem and the second subsystem of the system, wherein the second subsystem is configured to synchronize the first subsystem and the second subsystem based on the large number of read command transactions.

[0019] According to an extended technical solution, the system includes a device configured to execute the above method.

[0020] According to one embodiment, the first subsystem is a sensor which preferably comprises an inertial measurement unit, and the second subsystem is a sensor which preferably comprises a magnetometer. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The accompanying drawings show:

[0022] Figure 1 is a schematic diagram of an exemplary system having two sensors and a host configured to synchronize readout of sensor data between the sensors and / or between the host and at least one sensor according to an embodiment;

[0023] Figure 2 is a schematic diagram of an exemplary architecture having two integrated sensors configured for synchronizing readout of sensor data according to one embodiment;

[0024] Figure 3 It is a schematic diagram of a conventional process of reading out sensor data via an interface without synchronization, with sample loss during reading;

[0025] Figure 4 is a schematic diagram of an exemplary process for synchronously reading out sensor data via an interface according to one embodiment;

[0026] Figure 5 is a schematic diagram of an exemplary method for synchronizing sensor data readout via an interface according to one embodiment.

[0027] In all figures, identical or functionally identical elements and systems are marked with the same reference symbols. The numbering of the method steps is for the sake of clarity and should not generally imply a specific time sequence. In particular, multiple method steps can also be performed simultaneously. DETAILED DESCRIPTION

[0028] Figure 1 A schematic diagram of an exemplary system 1000 according to one embodiment is shown, having two sensors 1100 and 1200 and a host 1300, the host being configured to synchronize the reading of sensor data between the sensors 1100 and 1200 and / or between the host 1300 and at least one of the sensors 1100 and 1200. The system may also include only two sensors 1100 and 1200, or only one of the sensors 1100 and 1200 and the host 1300.

[0029] The sensor 1100 may be, for example, an inertial measurement unit. The sensor 1200 may be, for example, a magnetometer.

[0030] The sensor 1100 may, for example, include a front end 1111 for an acceleration sensor and a front end 1121 for a gyroscope. The two front ends 1111 and 1121 may obtain a beat signal from a unique central beat generator 1112 of the sensor 1100. The acceleration sensor and the gyroscope (not shown) may be implemented without their own beat generator. In other words, the acceleration sensor and the gyroscope may be driven automatically and synchronously by the beat.

[0031] The clock generator 1112 may be configured to determine a sampling rate at which sensor data in the form of samples are detected by the sensor 1100 , for example via the front ends 1111 and 1121 . The clock generator 1112 may be coupled to a secondary interface 1113 of the sensor 1100 .

[0032] The secondary interface 1113 may be configured to synchronize a sensor, such as the sensor 1200, by means of a read access, as described in detail below. The secondary interface 1113 may be coupled to the primary interface 1211 of the sensor 1200. The secondary interface 1113 may be coupled to a unit 1122 for fusing sensor data.

[0033] The unit for fusing sensor data 1122 may be coupled to the front ends 1111 and 1121 and may optionally be included in the sensor 1100 . The unit for fusing sensor data 1122 may be coupled to the host interface 1123 .

[0034] Instead of or in addition to the secondary interface 1113 of the sensor 1100, the primary interface 1123 may be configured to synchronize a sensor, such as the sensor 1200, by means of a read access. The primary interface 1123 may be coupled to the host 1300. Instead of or in addition to the secondary interface 1113 of the sensor 1100 and / or the primary interface 1123 of the sensor 1100, the host may be configured to synchronize a sensor, such as the sensor 1100 and / or the sensor 1200.

[0035] The sensor 1200 may include its own beat generator 1212, which can be used to drive the sensor 1200 and detect sensor data. The beat generator 1212 can be used to synchronize the sensor 1200 via the main interface 1211 of the sensor 1200 by means of read access. The beat generator 1212 can be configured to determine a sampling rate, and the sensor data in the form of samples is detected by the sensor 1200 according to the sampling rate. The beat generator 1212 can be coupled to the main interface 1211. The beat generator 1212 can be coupled to the front end 1213 of the magnetometer. The front end 1213 can be coupled to the main interface 1211.

[0036] Figure 2 A schematic diagram of an exemplary architecture 2000 is shown, according to one embodiment, with two integrated sensors 2100 and 2200 configured to synchronize the readout of sensor data. Sensors 2100 and 2200 may be, for example, equivalent to Figure 1 The inertial measurement unit and magnetometer in the embodiment of the present invention are shown in FIG. 21. Sensors 2100 and 2200 are formed and / or integrated on substrate 2300 in form 2400. Architecture 2000 may be a single chip system or a wafer level chip package.

[0037] refer to Figure 1 and 2 The described system is described without limiting the generality as a system in which a magnetometer 1200 or 2200 is connected to an inertial measurement unit (IMU) 1100 or 2100. However, the same principles also apply to other systems according to the invention with other sensor combinations.

[0038] In this example, the sensor data of the three sensors in the inertial measurement unit 1100 or 2100 can be fused. For example, the so-called game rotation vector (Game Rotation Vector), i.e., information about orientation and movement in space, can be generated from the acceleration data sensor data, the rotation speed sensor data, and the sensor data of the magnetometer 1200 or 2200, and the vector can be conveyed to the host as spatial position and orientation data. This processing can also occur in other systems outside the inertial measurement unit 1100 or 2100, for example in the host 1300. Depending on the computing capacity, the sensor data can be processed directly in the inertial measurement unit 1100 and 2100 during processing, and can also be read out without being in blocks.

[0039] The sensor data may be detected by the sensor in the form of a single sample. The sensor detects samples at a certain frequency. The sampling rate is also called the output data rate (ODR) and may be determined by a beat generator. The sampling rate may be generated by an oscillator. The frequency of the oscillator may be in a fixed proportional relationship with the sampling rate and / or the output data rate. In one example, a counter may count from 1 to a threshold value N in each oscillation beat. When the threshold value is reached, a new cycle may be started in the sensor and the counter may be reset, for example, to 0.

[0040] Due to oscillator inaccuracies, for example due to temperature changes, due to tolerances and / or deviations during manufacturing, due to natural decay occurring during aging and / or increased operating time, etc., the actual sampling rate may often lie in a range between + / -5% or even + / -10% of the predetermined sampling rate.

[0041] As reference Figure 3 As shown, the unsynchronized sensor has a sampling phase 3133 samples were detected at the actual sampling rate during the period (see Figure 3 ) may be lost when reading out sensor data, because the sensor data is assigned to a read command transaction t of the interface. read command transaction When (see Figure 3 ), sample 3133 is skipped. It is therefore desirable to synchronize the actual sampling rate with the preset sampling rate, so that, for example, sensor data can be read out without data loss.

[0042] In order to synchronize the actual sampling rate with the preset sampling rate, in a conventional system, the first subsystem (eg Figure 1 The sensor 1100 in FIG. 100 may transmit synchronization messages to a second subsystem (eg, Figure 1The time elapsed between two synchronization messages is then determined by means of the aforementioned counter or by means of another counter operating in a fixed ratio, and based on this time, for example, a threshold value N of the aforementioned counter is determined and set. When the threshold value is exceeded, the time point at which new data is provided to the first subsystem is reached.

[0043] According to one embodiment of the invention, synchronization can be performed without synchronization messages and / or not exclusively with synchronization messages, but with the aid of or at least partially with the aid of read command transactions that are required anyway via the interface between the first and second subsystems. The time t that has elapsed between two read command transactions is determined with the aid of the aforementioned counter or with the aid of another counter that operates in a fixed ratio. read period , and based on this time, for example, a threshold value N of the aforementioned counter is determined and set. When the threshold value is exceeded, the time point at which new data is provided to the first subsystem is reached.

[0044] In other words, if the first subsystem wants to read data, the second subsystem must provide the data. The second subsystem uses its own clock generator to predict the time of the next read access and accordingly starts internal processes that lead to the timely filling of the data register.

[0045] Figure 4 A schematic diagram shows a synchronized sequence for reading out sensor data via an interface according to one specific embodiment.

[0046] By sensor (see Figure 4 Above) obtained, in two read command transactions t read command transaction The interface read cycle t elapsed between read period is used to determine and adapt the previous sampling stage t sampling phase The end of and directly following sampling phase t sampling phase The waiting time t between the start of ODR waiting time , so that the sensor and the read command transaction t read command transaction Run synchronously. In the previous sampling phase t sampling phase The end of and directly following sampling phase t sampling phase The waiting time t between the start of ODR waiting time Basically, it can be determined according to the following relationship:

[0047] t ODR waiting time =t read period -t sampling phase

[0048] exist Figure 4 In the example shown, the sensor performs duty-cycling, that is, the sensor is not operated continuously, but only during the sampling period t of the sensor.ODR period is active during a portion of the time elapsed between two detection phases.

[0049] In order to improve the real-time capability of the system, for example, and to determine and set t according to the above relationship ODR waiting time , the sample to be detected can be detected within the sampling period t of the sensor ODR period The time between filling the data register in the sensor and reading the sensor data via the interface can be made t data read to read delay Minimize, so that it is basically applicable to t data read to read delay = 0. However, preferably, t data read to read delay It may be slightly greater than 0, such as to be able to intercept possible fluctuations in the sampling and read command rates.

[0050] Interface read command transaction t read command transaction It should preferably be carried out synchronously, in particular without jitter, ie without any fluctuations in the clock or frequency. The read command transaction can preferably not be generated in the microcontroller, but preferably directly in the hardware of the system, for example in an application-specific integrated circuit (ASIC), in which the execution time of the instruction can be precisely determined.

[0051] Alternatively or additionally, the average value of the differences between the last n read command transactions may also be used. <t read period >, to determine the previous sampling stage t sampling phase The end of and directly following sampling phase t sampling phase The waiting time t between the start of ODR waiting time , t ODR waiting time = <t read period >-t sampling phase On the side of the sensor to be synchronized, the necessary adaptation of the counter can be ascertained, for example, as a function of the time difference between two successive read command transactions and / or of an average value of the last n read command transactions.

[0052] You can use an IIR (infinite impulse response) low-pass filter or a FIR (finite impulse response) low-pass filter to read the cycle t read period The use of IIR low-pass filters and / or FIR low-pass filters is technically simple and cost-effective.

[0053] The low-pass filter may preferably have a cut-off frequency of 5 Hz or less to compensate for the read cycle tread period In order to be able to follow rapid temperature changes and reach the reading cycle t read period The cut-off frequency can be 0.2 Hz or lower with an accuracy of about 0.1%. read period The fluctuation of can be 20% at 120K, i.e. 0.17% per Kelvin. With a maximum temperature change of 5K per second this gives a fluctuation of 0.85% per second. With a desired accuracy of 0.1 to 0.5%, the cutoff frequency should be 1.7 to 8.5 Hz.

[0054] Therefore, in the previous sampling stage t sampling phase The end of and directly following sampling phase t sampling phase The waiting time t between the start of ODR waiting time It can be introduced in t data read to read delay In the case of , it is basically determined according to the following relationship:

[0055] t ODR waiting time =t read period -t sampling phase +Δt data read to read delay Among them, Δt data read to read delay refers to the sampling stage t sampling phase The end and read command transaction t read command transaction The difference between the actual value of the time period between the start of the period and the expected value of this time period.

[0056] In alternative or supplementary examples, further adaptations may be performed or further aspects may be considered. For example, in the previous sampling phase t sampling phase The end of and directly following sampling phase t sampling phase The waiting time t between the start of ODR waiting time Negative values ​​are not allowed. By limiting each sampling period t ODR period The respective maximum possible adaptation and / or by means of the above-mentioned low-pass filtering, in particular an initial synchronization which may be carried out, for example, after the system is switched on, can last for a plurality of sampling periods.

[0057] Instead of or in addition to the adaptation of the counter of the subsystem, the clock generator of the subsystem can also be adapted to achieve the above-mentioned synchronization. The adaptation of the clock generator may result in that all processes in the subsystem and / or in the coupled system that are clock-driven by the clock generator are corrected in the same way. Therefore, for example, when the subsystem is configured to run at a maximum (or minimum) of 400 Hz, but the subsystem is designed to run at, for example, 440 Hz (360 Hz) (for example, via an interface requirement), it is possible to enable the subsystem to run at an increased clock rate. The corresponding positive (negative) acceleration of the clock generator of the subsystem can enable the subsystem to run at, for example, 440 Hz (360 Hz).

[0058] Figure 5 A schematic diagram is shown of an exemplary method 5000 for synchronizing sensor data via an interface according to one embodiment.

[0059] The method 5000 includes receiving 5050 a large number of read command transactions in a second subsystem of the system via an interface between the first subsystem and the second subsystem of the system, wherein the second subsystem is configured to synchronize the first subsystem and the second subsystem based on the large number of read command transactions.

[0060] Receiving 5050 the plurality of read command transactions may be performed in a first operating mode of the second subsystem. The method may include determining 5100 whether the first operating mode corresponds to an operating mode in which synchronization of the first subsystem with the second subsystem is activated or not.

[0061] Based on a large number of read command transactions, the method may include determining a read cycle t of the 5150 interface. read period Whether it is within a range having a predetermined upper boundary and / or a predetermined lower boundary. The determination 5150 may be performed in response to "determining that the first operating mode corresponds to an operating mode in which synchronization of the first subsystem and the second subsystem is activated."

[0062] Based on a large number of read command transactions, the method may include: determining 5200 for the preceding sampling phase t sampling phase The end of the second sampling phase t sampling phase The waiting time t between the start of ODR waiting time The filter that performs filtering 5250 is activated or inactivated. The determination 5200 may be responsive to "determining the read cycle t of the interface read period is within a range having a predetermined upper boundary and / or a predetermined lower boundary".

[0063] The method may include waiting for a time t ODR waiting time Filter 5250.

[0064] The method includes calculating 5300 a preceding sampling phase t based on a large number of read command transactions. sampling phase The end of the second sampling phase t sampling phase The waiting time between the start of ODR Calculation 5300 may include calculating the read cycle t based on a large number of read command transactions. read period The calculation 5300 may be performed in response to "the filter used for filtering 5250 is not activated". The calculation 5300 may be performed in response to "determining the read cycle t of the interface read period is not within a range having a predetermined upper boundary and / or a predetermined lower boundary".

[0065] The method may include determining 5350 a waiting time t ODR waiting time is negative.

[0066] The method may include performing a sampling phase t sampling phase The adapter 5400 may respond to "determine 5350 the waiting time t ODR waiting time is not negative".

[0067] The method may include using 5450 a predetermined waiting time t ODR waiting time . Predetermined waiting time t ODR waiting time The use 5450 may be performed in response to "determining that the first operating mode corresponds to an operating mode in which synchronization of the first subsystem and the second subsystem is not activated." Predetermined waiting time t ODR waiting time The use of 5450 can also respond to "determine the waiting time t ODR waiting time is negative".

[0068] The method includes: resetting 5500 is configured to be used for sampling period t ODR period The counter counts from 1 to the threshold N during the reset 5500. The reset 5500 can be calculated by using the waiting time t ODR waiting time or by using a predetermined waiting time t ODR waiting time To carry out.

[0069] The method includes ending 5550 the method or continuing the method (step 5050).

Claims

1. A method for using a read command transaction (t readcomMandtransaction ) A method (5000) for synchronizing a system (1000; 2000), the method comprising: A large number of read command transactions are received (5050) in the second subsystem (1200; 2200) of the system (1000; 2000) via an interface between a first subsystem (1100; 2100) and a second subsystem (1200; 2200) of the system (1000; 2000), wherein the second subsystem (1200; 2200) is configured to synchronize the first subsystem (1100; 2100) and the second subsystem (1200; 2200) based on the large number of read command transactions.

2. The method (5000) according to claim 1, comprising: Determines the read cycle (t r2adperiod ), used to calculate a sampling phase (t samplingphase ) and the start of the directly following sampling phase (t ODRwaitingtine ).

3. The method (5000) according to claim 1, comprising: Determine the number of read cycles (t readperiod ) is used to calculate a sampling phase (t samplingphase ) and the start of the directly following sampling phase (t ODRwaitingtime ).

4. The method (5000) according to claim 2, comprising: The pair is configured to count from 1 to the threshold N until the sampling period (t ODRperi0d ) is reset, so that the waiting time (t ODRwaitingtime ) corresponds to the read cycle (t readperiod ) and the sampling phase (t samplingphase ) between the two.

5. The method (5000) according to claim 3, comprising: The pair is configured to count from 1 to the threshold N until the sampling period (t ODRperiod ) terminates, the counter is reset so that the waiting time (t ODRwaitingtime ) corresponds to the read cycle (t readperiod ) and the average value of the sampling period (t samplingphase ) between the two.

6. The method (5000) according to any one of claims 1 to 3, comprising: Based on a large number of read command transactions (t readcommandtransaction ) adapts the beat generator (1212) of the second subsystem.

7. The method (5000) according to any one of claims 1 to 3, comprising: For the sampling phase (t samolingphase ) terminates and the next read command transaction (t readcommandtransaction ) to adapt the time between the start and end of the session.

8. A system (1000; 2000), comprising: For receiving (5050) a large number of read command transactions (t) in a second subsystem (1200) of the system (1000; 2000) via an interface (1113, 1211) between a first subsystem (1100; 2100) and a second subsystem (1200; 2200) of the system (1000; 2000) readcommandtransaction ) of a device (1211), wherein The second subsystem (1200; 2200) is configured to synchronize the first subsystem (1100; 2100) and the second subsystem (1200; 2200) based on the large number of read command transactions.

9. The system (1000; 2000) according to claim 8, comprising: A device configured to perform the method (5000) according to any one of claims 2 to 7.

10. System (1000; 2000), wherein The first subsystem (1100; 2100) is a sensor that preferably includes an inertial measurement unit, and the second subsystem (1200; 2300) is a sensor that preferably includes a magnetometer.

Citation Information

Patent Citations

  • Multi-channel sensor unit and associated operating procedure

    DE102012203968A1