sensor module

By generating a timing signal shorter than the external trigger signal through the timer and processing components in the sensor module, the problem of data sampling time being out of sync with the main computer time is solved, and higher precision data sampling and output are achieved.

CN122448191APending Publication Date: 2026-07-24SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SEIKO EPSON CORP
Filing Date
2026-01-21
Publication Date
2026-07-24

Smart Images

  • Figure CN122448191A_ABST
    Figure CN122448191A_ABST
Patent Text Reader

Abstract

A sensor module includes a sensor device, a first timer that counts a first time that is a period of a trigger signal input from the outside, a trigger processing section that determines a second time shorter than the first time based on a count value of the first time counted by the first timer, generates a timing signal every time the second time elapses in synchronization with the trigger signal, and a sampling processing section that performs an operation process on a signal output from the sensor device in synchronization with the timing signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to sensor modules. Background Technology

[0002] Patent document 1 describes a synchronization control system, which includes an inertial measurement device and a main computer. The main computer sends a synchronization trigger signal to the inertial measurement device. Based on the sending time of the synchronization trigger signal, the sampling time of the 6-axis sensor data is calculated, so that the sampling time of the 6-axis sensor data is synchronized with the time information of the main computer.

[0003] Patent Document 1: Japanese Patent Application Publication No. 2015-76805

[0004] However, in the synchronization control system described in Patent Document 1, the data output period of the synchronization trigger signal of the inertial measurement device cannot be shorter than the period of the synchronization trigger signal. Summary of the Invention

[0005] One embodiment of the sensor module involved in this invention includes: Sensor devices; The first timer counts the first time of one cycle of the trigger signal, which is input from the outside. The trigger processing unit determines a second time shorter than the first time based on the count value of the first time counted by the first timer, and generates a timing signal synchronously with the trigger signal each time the second time elapses; and The sampling and processing unit samples the signal output from the sensor device synchronously with the timing signal and performs calculations on it. Attached Figure Description

[0006] Figure 1 This is a diagram showing the configuration of the sensor module according to the first embodiment.

[0007] Figure 2 This is a diagram showing an example of the configuration of an angular velocity sensor.

[0008] Figure 3 This is a diagram showing an example of the configuration of a 6DoF sensor.

[0009] Figure 4 This is a timing diagram illustrating an example of the operation of the sensor module according to the first embodiment.

[0010] Figure 5 This is a timing diagram illustrating an example of the operation of the sensor module according to the first embodiment.

[0011] Figure 6 This is a diagram illustrating an example of calculating the timeout value of the second timer.

[0012] Figure 7 This is a diagram showing a sequence of examples of the timeout values ​​for the second timer.

[0013] Figure 8 This is a diagram showing the configuration of the sensor module according to the second embodiment.

[0014] Figure 9 This is a diagram illustrating an example of calculating the count value of the first timer at the end of the second time period.

[0015] Figure 10 This is a diagram showing a sequence of timeout values ​​for the first timer at the end of the second time period.

[0016] Figure 11 This is a diagram illustrating an example of a composite navigation system assembled with sensor modules.

[0017] Explanation of reference numerals in the attached figures

[0018] 1…Sensor module, 2…GNSS receiver, 3…Combined navigation processing unit, 10…Angular velocity, 11…Angular velocity sensor element, 12…Processing circuit, 20, 20a, 20b…6DoF sensor, 21, 22, 23…Angular velocity sensor element, 24, 25, 26…Acceleration sensor element, 27…Processing circuit, 30…Processing device, 31…Processing unit, 32a…First timer, 32b…Second timer, 32c…Third timer, 33…Storage unit, 34…Communication interface circuit, 35…Oscillation circuit, 121…Detection circuit, 122…Interface circuit, 271…Detection circuit, 272…Interface circuit, 311…Trigger processing unit, 312…Sampling processing unit, 331…ROM, 332…RAM, 333…Register. Detailed Implementation

[0019] Hereinafter, suitable embodiments of the present invention will be described in detail with the aid of accompanying drawings. Furthermore, the embodiments described below are not intended to unduly limit the scope of the invention as defined in the claims. Additionally, the configurations described below are not limited to all essential components of the present invention.

[0020] 1. First Implementation Method

[0021] 1-1. Composition of the sensor module

[0022] Figure 1 This is a diagram illustrating the configuration of the sensor module according to the first embodiment. Figure 1As shown, the sensor module 1 of the first embodiment includes an angular velocity sensor 10, 6DoF sensors 20a and 20b, and a processing device 30. In the sensor module 1, mutually orthogonal X-axis, Y-axis, and Z-axis are defined, for example, when mounted on a moving body such as a car. For example, the sensor module 1 is mounted on the moving body with the X-axis pointing towards the direction of travel of the moving body, the Y-axis pointing towards the lateral direction of the moving body, and the Z-axis pointing towards the downward direction of the moving body.

[0023] The angular velocity sensor 10 is a sensor device for detecting angular velocity. The detection axis of the angular velocity sensor 10 is mounted on the sensor module 1, for example, in a direction along the Z-axis. That is, the angular velocity sensor 10 detects the angular velocity about the Z-axis.

[0024] Figure 2 This is a diagram showing an example of the configuration of the angular velocity sensor 10. (As shown...) Figure 2 As shown, the angular velocity sensor 10 includes an angular velocity sensor element 11 and a processing circuit 12. For example, the angular velocity sensor 10 may be a device that houses a printed circuit board in a package on which the angular velocity sensor element 11 and the processing circuit 12 are mounted. The processing circuit 12 may, for example, be an IC chip implemented by a semiconductor. IC is short for Integrated Circuit.

[0025] Angular velocity sensor element 11, for example, is an element made of crystal, which detects the angular velocity about the Z-axis.

[0026] The processing circuit 12 performs angular velocity detection processing on the signal output from the angular velocity sensor element 11 and outputs the detection signal SD1 obtained through the detection processing. The processing circuit 12 includes: a detection circuit 121, which performs angular velocity detection processing on the signal output from the angular velocity sensor element 11; and an interface circuit 122, which outputs the detection signal SD1 obtained through the detection processing of the detection circuit 121.

[0027] The detection circuit 121 acquires the signal output from the angular velocity sensor element 11 at a predetermined period, performs predetermined calculations, and generates a detection signal SD1. Additionally, each time the detection signal SD1 is generated, the detection circuit 121 generates a data ready signal DRDY1 to notify the detection signal SD1 that preparation for the detection signal SD1 is complete. The detection signal SD1 is output to the interface circuit 122, and the data ready signal DRDY1 is output to the processing device 30.

[0028] The interface circuit 122 acquires the detection signal SD1 output from the detection circuit 121 according to the read command input from the processing device 30, and outputs the acquired detection signal SD1 to the processing device 30.

[0029] Back Figure 1The 6DoF sensors 20a and 20b are sensor devices that detect 3-axis angular velocity and 3-axis acceleration, respectively. The 6DoF sensors 20a and 20b are mounted on sensor module 1 with three detection axes along the X-axis, Y-axis, and Z-axis. That is, the 6DoF sensors 20a and 20b detect the angular velocity about the X-axis, the angular velocity about the Y-axis, the angular velocity about the Z-axis, the acceleration in the X-axis direction, the acceleration in the Y-axis direction, and the acceleration in the Z-axis direction. The 6DoF sensors 20a and 20b have the same configuration, and hereinafter, they will be referred to as "6DoF sensor 20" unless distinction is made between them. However, when distinguishing between 6DoF sensors 20a and 20b, "a" or "b" will be appended to the various names.

[0030] Figure 3 This is a diagram showing an example of the configuration of a 6DoF sensor 20. (As shown...) Figure 3 As shown, the 6DoF sensor 20 includes angular velocity sensor elements 21, 22, and 23, accelerometer sensor elements 24, 25, and 26, and processing circuitry 27. For example, the 6DoF sensor 20 can also be a silicon MEMS sensor that houses a silicon substrate with the angular velocity sensor elements 21, 22, and 23, the accelerometer sensor elements 24, 25, and 26, and the processing circuitry 27 formed therein in a package. MEMS is short for Micro Electro Mechanical Systems.

[0031] Angular velocity sensor element 21 is used to detect the angular velocity about the X-axis. Angular velocity sensor element 22 is used to detect the angular velocity about the Y-axis. Angular velocity sensor element 23 is used to detect the angular velocity about the Z-axis.

[0032] Accelerometer element 24 is used to detect acceleration in the X-axis direction. Accelerometer element 25 is used to detect acceleration in the Y-axis direction. Accelerometer element 26 is used to detect acceleration in the Z-axis direction.

[0033] The processing circuit 27 performs angular velocity detection processing on the signals output from angular velocity sensor elements 21, 22, and 23, respectively, and performs acceleration detection processing on the signals output from accelerometer elements 24, 25, and 26, respectively, and outputs the detection signal SD2 obtained through these detection processes. The processing circuit 27 includes: a detection circuit 271, which performs angular velocity detection processing on the signals output from angular velocity sensor elements 21, 22, and 23, respectively, and performs acceleration detection processing on the signals output from accelerometer elements 24, 25, and 26, respectively; and an interface circuit 272, which outputs the detection signal SD2 obtained through the detection processing of the detection circuit 271.

[0034] The detection circuit 271 acquires signals output from angular velocity sensor elements 21, 22, 23 and accelerometer elements 24, 25, 26 at predetermined intervals, performs predetermined calculations, and generates a detection signal SD2. The detection signal SD2 includes an X-axis angular velocity detection signal obtained based on the output signal of angular velocity sensor element 21, a Y-axis angular velocity detection signal obtained based on the output signal of angular velocity sensor element 22, and a Z-axis angular velocity detection signal obtained based on the output signal of angular velocity sensor element 23. Furthermore, the detection signal SD2 includes an X-axis acceleration detection signal obtained based on the output signal of accelerometer element 24, a Y-axis acceleration detection signal obtained based on the output signal of accelerometer element 25, and a Z-axis acceleration detection signal obtained based on the output signal of accelerometer element 26. Additionally, whenever the generation of the detection signal SD2 is completed, the detection circuit 271 generates a data ready signal DRDY2, notifying the detection signal SD2 of its readiness. The detection signal SD2 is output to the interface circuit 272, and the data ready signal DRDY2 is output to the processing device 30.

[0035] The interface circuit 272 acquires the detection signal SD2 output from the detection circuit 271 according to the read command input from the processing device 30, and outputs the acquired detection signal SD2 to the processing device 30.

[0036] Back Figure 1 The processing device 30 communicates with the angular velocity sensor 10 and the 6DoF sensors 20a and 20b to acquire detection signals SD1, SD2a, and SD2b. The processing device 30 acts as the master controller relative to the angular velocity sensor 10 and the 6DoF sensors 20a and 20b. Communication between the processing device 30 and the angular velocity sensor 10 and the 6DoF sensors 20a and 20b can be based on communication standards such as SPI and I2C, or it can be based on a developed communication standard, or a modified or altered communication standard. SPI stands for Serial Peripheral Interface. I2C stands for Inter-Integrated Circuit.

[0037] The processing device 30 can be implemented, for example, by a processor such as an MCU (Micro Controller Unit). Alternatively, the processing device 30 can also be implemented by an ASIC (Application Specific Integrated Circuit) based on automatic configuration and routing, such as a gate array.

[0038] The processing device 30 samples the detection signal SD1 output from the angular velocity sensor 10, the detection signal SD2a output from the 6DoF sensor 20a, and the detection signal SD2b output from the 6DoF sensor 20b, and outputs measurement data DT based on the detection signals SD1, SD2a, and SD2b. Specifically, when the processing device 30 receives the data ready signal DRDY1 from the angular velocity sensor 10, it outputs a readout command for the detection signal SD1 to the angular velocity sensor 10 and reads the detection signal SD1, thereby sampling the detection signal SD1. Similarly, when the processing device 30 receives the data ready signal DRDY2a from the 6DoF sensor 20a, it outputs a readout command for the detection signal SD2a to the 6DoF sensor 20a and reads the detection signal SD2a, thereby sampling the detection signal SD2a. In addition, when the processing device 30 receives the data ready signal DRDY2b from the 6DoF sensor 20b, it outputs a readout command for the detection signal SD2b to the 6DoF sensor 20b and reads out the detection signal SD2b, thereby sampling the detection signal SD2b.

[0039] Furthermore, communication between the processing unit 30 and the angular velocity sensor 10 and the 6DoF sensors 20a and 20b can also be based on the UART communication specification. UART is short for Universal Asynchronous Receiver Transmitter. In this case, the processing unit 30 samples the detection signal SD1 output from the angular velocity sensor 10 synchronously with the data ready signal DRDY1. Additionally, the processing unit 30 samples the detection signal SD2a output from the 6DoF sensor 20a synchronously with the data ready signal DRDY2a. Furthermore, the processing unit 30 samples the detection signal SD2b output from the 6DoF sensor 20b synchronously with the data ready signal DRDY2b.

[0040] like Figure 1 As shown, the processing device 30 includes a processing unit 31, a first timer 32a, a second timer 32b, a third timer 32c, a storage unit 33, a communication interface circuit 34, and an oscillation circuit 35.

[0041] The oscillation circuit 35 outputs a clock signal CLK. The oscillation circuit 35 can be, for example, a crystal oscillator circuit or an LC oscillator circuit. The frequency of the clock signal CLK is, for example, several MHz, and it is supplied to various parts of the processing device 30.

[0042] The storage unit 33 includes a ROM 331, a RAM 332, and a register 333. ROM is short for Read Only Memory, and RAM is short for Random Access Memory. ROM 331 stores various programs or pre-defined data. RAM 332 is used as the operating area of ​​the processing unit 31, storing programs or data read from ROM 331, and data temporarily generated by the processing unit 31. Register 333 stores various setting data of the processing unit 31, various flag data generated by the processing unit 31, etc.

[0043] The first timer 32a counts a first time T1 for one cycle of the trigger signal TRG, which is an external input from the sensor module 1. Specifically, the first timer 32a counts the number of pulses of the clock signal CLK contained within one cycle of the trigger signal TRG synchronously with the trigger signal TRG, and repeatedly outputs a count value CT1. The frequency of the trigger signal TRG is, for example, in the range of 1 Hz to 1 kHz, and the first time T1 is in the range of 1 millisecond to 1 second. The count value CT1 of the first timer 32a is output to the processing unit 31.

[0044] The second timer 32b, synchronized with the trigger signal TRG, repeatedly counts the pulses of the clock signal CLK by comparing the second time T2, which is shorter than the first time T1. Specifically, the second timer 32b starts counting the pulses of the clock signal CLK synchronously with the trigger signal TRG. Then, whenever the count value CT2 matches the timeout value corresponding to the count value of the second time T2, the second timer 32b resets the count value CT2 and repeatedly counts the second time T2. The timeout value of the second timer 32b is preset in register 333. The second time T2 is equivalent to the sampling period of the sampling processing unit 312 described later. The count value CT2 of the second timer 32b is output to the processing unit 3.

[0045] The third timer 32c counts in sync with the timing signal TMG generated by the trigger processing unit 311 (described later) compared to the third time T3, which is shorter than the second time T2. Specifically, the third timer 32c starts counting for the third time T3 at the same timing as the start of the counting for the second time T2 performed by the second timer 32b. Then, whenever the count value CT3 matches the timeout value corresponding to the count value for the third time T3, the third timer 32c resets the count value CT3, and then repeatedly performs the operation of starting the counting for the third time T3 at the timing when the second timer 32b starts counting for the second time T2. The timeout value of the third timer 32c is preset in register 333. The third time T3 corresponds to the time from the start of sampling processing by the sampling processing unit 312 (described later) to the output of the data ready signal DRDY. The count value CT3 of the third timer 32c is output to the processing unit 31.

[0046] The processing unit 31 performs various operations on the detection signals SD1, SD2a, and SD2b synchronously with the clock signal CLK to generate measurement data DT. In addition, the processing unit 31 performs various controls on the first timer 32a, the second timer 32b, the third timer 32c, the storage unit 33, and the communication interface circuit 34.

[0047] The processing unit 31 includes a trigger processing unit 311 and a sampling processing unit 312. The processing unit 31 functions as the trigger processing unit 311 and the sampling processing unit 312 by executing a program (not shown) stored in the ROM 331. Alternatively, the trigger processing unit 311 and the sampling processing unit 312 can also be implemented in hardware.

[0048] The trigger processing unit 311 determines the second time T2 based on the count value CT1 of the first time T1 counted by the first timer 32a, and generates a timing signal TMG synchronously with the trigger signal TRG each time the second time T2 elapses. Specifically, the trigger processing unit 311 generates the timing signal TMG each time the second timer 32b counts the second time T2, and outputs the timing signal TMG to the sampling processing unit 312.

[0049] The sampling processing unit 312, in sync with the timing signal TMG generated by the trigger processing unit 311, samples and processes the detection signal SD1 output from the angular velocity sensor 10, the detection signal SD2a output from the 6DoF sensor 20a, and the detection signal SD2b output from the 6DoF sensor 20b. That is, the sampling processing unit 312 samples and processes the detection signals SD1, SD2a, and SD2b according to the period of the timing signal TMG. Hereinafter, the sampling and processing of the detection signals SD1, SD2a, and SD2b by the sampling processing unit 312 will sometimes be referred to as "sampling processing".

[0050] The sampling processing unit 312 performs various calculations on the detection signals SD1, SD2a, and SD2b to generate measurement data DT. For example, the angular velocity sensor element 11 of the angular velocity sensor 10 is made of crystal, a material with high Q value and excellent temperature characteristics, while the angular velocity sensor elements 23 of the 6DoF sensors 20a and 20b are formed using MEMS technology. Therefore, the detection accuracy of the Z-axis angular velocity of the angular velocity sensor 10 is higher than that of the 6DoF sensors 20a and 20b. Thus, the sampling processing unit 312 uses the detection signal SD1 instead of the Z-axis angular velocity detection signals contained in the detection signals SD2a and SD2b to generate the measurement data DT.

[0051] Specifically, the sampling processing unit 312 performs various correction operations or filtering processes on the detection signals SD1, SD2a, and SD2b, such as temperature correction, sensitivity correction, offset correction, and alignment correction. Furthermore, the sampling processing unit 312 performs synthesis processing on the corrected detection signals SD2a and SD2b. That is, the sampling processing unit 312 synthesizes the X-axis angular velocity detection signal contained in the corrected detection signal SD2a and the X-axis angular velocity detection signal contained in the corrected detection signal SD2b, and synthesizes the Y-axis angular velocity detection signal contained in the corrected detection signal SD2a and the Y-axis angular velocity detection signal contained in the corrected detection signal SD2b. Furthermore, the sampling processing unit 312 synthesizes the X-axis acceleration detection signal contained in the corrected detection signal SD2a and the X-axis acceleration detection signal contained in the corrected detection signal SD2b; it also synthesizes the Y-axis acceleration detection signal contained in the corrected detection signal SD2a and the Y-axis acceleration detection signal contained in the corrected detection signal SD2b; and it synthesizes the Z-axis acceleration detection signal contained in the corrected detection signal SD2a and the Z-axis acceleration detection signal contained in the corrected detection signal SD2b. The synthesis processing can be, for example, averaging. Through the synthesis processing, random noise can be reduced to 1 / √2.

[0052] Then, the sampling processing unit 312 generates measurement data DT, which includes the synthesized X-axis angular velocity detection signal, the synthesized Y-axis angular velocity detection signal, the Z-axis angular velocity detection signal as the corrected detection signal SD1, the synthesized X-axis acceleration detection signal, the synthesized Y-axis acceleration detection signal, and the synthesized Z-axis acceleration detection signal. Additionally, the sampling processing unit 312 can perform known calculations on these three-axis angular velocity detection signals and three-axis acceleration detection signals to generate measurement data DT including the position, attitude, and velocity of the sensor module 1.

[0053] Furthermore, whenever the sampling processing unit 312 completes the generation of measurement data DT, it generates a data ready signal DRDY notifying that the preparation of the measurement data DT is complete, and outputs it to an external device. The sampling processing unit 312 may also output the data ready signal DRDY with a period shorter than the first time T1. In this embodiment, the sampling processing unit 312 outputs the data ready signal DRDY after the third timer 32c finishes counting for the third time T3. Specifically, when the third timer 32c finishes counting for the third time T3, the sampling processing unit 312 outputs the data ready signal DRDY if the calculation process for generating the measurement data DT has been completed. Alternatively, when the third timer 32c finishes counting for the third time T3, the sampling processing unit 312 outputs the data ready signal DRDY after the calculation process for generating the measurement data DT has been completed, even if the calculation process has not yet been completed.

[0054] The communication interface circuit 34 is a circuit that performs interface processing between the sensor module 1 and an external device (not shown). For example, the communication interface circuit 34 outputs the measurement data DT generated by the processing unit 31 to the external device. Communication between the sensor module 1 and the external device can be based on communication standards such as SPI or I2C, or it can be based on a communication standard developed from any of these communication standards, or a partially improved or modified communication standard.

[0055] For example, the external device can write various setting data of the processing unit 31 into the register 333 or read various flag data stored in the register 333 via the communication interface circuit 34. In addition, when the external device receives the input data ready signal DRDY, it can send a read command for the measurement data DT to the sensor module 1 and read the measurement data DT via the communication interface circuit 34.

[0056] 1-2. Timing of sensor module operation

[0057] Figure 4 and Figure 5 This is a timing diagram illustrating an example of the operation of sensor module 1. Figure 4 This is a timing diagram before and after the first trigger signal TRG is input. Figure 5 This is a timing diagram showing the sequence before and after the second trigger signal TRG is input. Figure 4 and Figure 5 For example, the first time T1, which is the length of one cycle of the trigger signal TRG, is 1 second; the second time T2, which is the sampling cycle of the sampling processing unit 312, is 250 microseconds; and the third time T3 is 200 microseconds. In this case, when the period of the clock signal CLK is accurately set to 6.25 nanoseconds, the count value corresponding to the first time T1 (1 second) is 160000000, the count value corresponding to the second time T2 (250 microseconds) is 40000, and the count value corresponding to the third time T3 is 32000. Therefore, the count value of 40000 corresponding to the second time T2 is set as the timeout value of the second timer 32b, and the count value of 32000 corresponding to the third time T3 is set as the timeout value of the third timer 32c.

[0058] like Figure 4 As shown, at time t1, when the first trigger signal TRG is input, the first timer 32a, the second timer 32b, and the third timer 32c begin counting. Therefore, after time t1, the count values ​​CT1, CT2, and CT3 increase from 0.

[0059] Additionally, at time t1, the sampling processing unit 312 begins sampling processing. For example, the angular velocity sensor 10 outputs a data ready signal DRDY1 with a period of 100 microseconds, and the 6DoF sensors 20a and 20b output data ready signals DRDY2a and DRDY2b with a period of 150 microseconds. Whenever the data ready signals DRDY1, DRDY2a, and DRDY2b are input, the processing unit 31 acquires the detection signals SD1, SD2a, and SD2b respectively and stores them in RAM 332 or register 333. The sampling processing unit 312 samples the detection signals SD1, SD2a, and SD2b stored in RAM 332 or register 333 and begins computational processing. Therefore, the sampling processing unit 312 samples the detection signals SD1, SD2a, and SD2b at time t1 or the previous detection signal SD1, SD2a, and SD2b for computational processing.

[0060] Subsequently, at time t2, the third timer 32c ends its counting of the third time T3 and clears the count value CT3. At the time when the first trigger signal TRG is input, the count value of the first time T1 is unclear, and it is unclear whether the timeout value of the second timer 32b is appropriate. Therefore, the reliability of the measurement data DT generated by the sampling processing unit 312 is low. The third time T3 corresponds to the time from the start of sampling processing by the sampling processing unit 312 to the output of the data ready signal DRDY, but the reliability of the measurement data DT is low until the second trigger signal TRG is input. Therefore, even if the third timer 32c ends its counting of the third time T3, the sampling processing unit 312 will not output the data ready signal DRDY. That is, the data ready signal DRDY remains at a low level.

[0061] Then, at time t3, the second timer 32b ends the counting of the second time T2 and clears the count value CT2 to zero. In addition, at time t3, the second timer 32b and the third timer 32c start the next counting, and the sampling processing unit 312 starts the next sampling process.

[0062] After time t3, sensor module 1 repeatedly performs the same actions as during the period from time t1 to t3.

[0063] like Figure 5As shown, at time t11, the second timer 32b ends its counting of the second time T2, clearing the count value CT2 to zero. The period from time t11 to time t13 corresponds to the sampling process period immediately preceding the input of the second trigger signal TRG. The end of this period at time t13 is the moment the second trigger signal TRG is input, and the second timer 32b has no significance in counting the second time T2. Therefore, the second timer 32b is also used for counting the time until the start of the input enable period Tenable for the next trigger signal TRG. At time t11, the second timer 32b starts counting. For example, if the time until the start of the input enable period Tenable is 50 microseconds, 8000, which corresponds to a count value of 50 microseconds, is set as the timeout value of the second timer 32b.

[0064] Then, at time t12, the second timer 32b ends its count of the time up to the start of the input enable period (Tenable), clearing the count value CT2 to zero. The length of the input enable period (Tenable) is, for example, set to 400 microseconds.

[0065] Subsequently, at time t13, the third timer 32c ends the counting of the third time T3 and clears the count value CT3 to zero. In addition, the sampling processing unit 312 outputs the data ready signal DRDY.

[0066] Subsequently, at time t14 within the input allowed period Tenable, a second trigger signal TRG is input. The first timer 32a ends the counting of the first time T1 and clears the count value CT1 to zero. The count value CT1 of the first time T1 is a count value equivalent to the length of one cycle of the trigger signal TRG. The trigger processing unit 311 calculates the timeout value of the second time T2 from this count value CT1. Specifically, the trigger processing unit 311 divides the count value CT1 of the first time T1 by the number of sampling processes performed by the sampling processing unit 312 at the first time T1 to calculate the timeout value of the second time T2. For example, if the sampling processing unit 312 performs 4000 sampling processes during one cycle of the trigger signal TRG, the trigger processing unit 311 divides the count value CT1 of the first time T1 by 4000 to calculate the timeout value of the second time T2.

[0067] Furthermore, at time t14, the first timer 32a, the second timer 32b, and the third timer 32c begin counting. Therefore, after time t13, the count values ​​CT1, CT2, and CT3 begin to increase from 0.

[0068] Furthermore, if the trigger processing unit 311 receives the next trigger signal TRG during a period other than the input enable period (Tenable), it ignores the trigger signal TRG and outputs an error signal. This error signal is stored as an error flag in register 333, and external devices can identify the occurrence of an error by reading this error flag.

[0069] Subsequently, at time t15, the third timer 32c ends its counting of the third time T3, clearing the count value CT3 to zero. Additionally, the sampling processing unit 312 terminates its sampling process at time t15, when the third timer 32c ends its counting of the third time T3, and therefore outputs the data ready signal DRDY.

[0070] Then, at time t16, the second timer 32b ends the counting of the second time T2 and clears the count value CT2 to zero. In addition, at time t16, the second timer 32b and the third timer 32c start the next counting, and the sampling processing unit 312 starts the next sampling process.

[0071] Subsequently, at time t17, the third timer 32c ends its counting of the third time T3, clearing the count value CT3 to zero. Furthermore, the sampling processing unit 312 does not finish sampling processing at time t15, when the third timer 32c finishes counting of the third time T3, and therefore does not output the data ready signal DRDY. For example, if the processing unit 31 prioritizes processing other than sampling processing, such as interrupt processing, the end of sampling processing may sometimes be delayed.

[0072] Subsequently, at time t18, the sampling processing unit 312 ends the sampling processing and outputs the data ready signal DRDY. Thus, the sampling processing unit 312 did not end the sampling processing at time t17 when the third timer 32c ended the counting of the third time T3, and therefore did not output the data ready signal DRDY. Instead, it outputs the data ready signal DRDY after the sampling processing is completed.

[0073] Then, at time t19, the second timer 32b ends the counting of the second time T2 and clears the count value CT2 to zero. In addition, at time t19, the second timer 32b and the third timer 32c start the next counting, and the sampling processing unit 312 starts the next sampling process.

[0074] After time t19, sensor module 1 repeatedly performs the same actions as during the period from time t14 to t16 or from time t16 to t19.

[0075] 1-3. Sampling Period Setting Process

[0076] As in Figure 5As explained, the trigger processing unit 311 divides the count value CT1 of the first time T1 by the number of times the sampling processing unit 312 performs sampling processing at the first time T1 to calculate the timeout value of the second time T2. If the division value is an integer, it can be set as the timeout value. However, if the division value is not an integer, the decimal part of the division value becomes an error when set as the timeout value, and the measurement accuracy decreases. Therefore, if the division value is not an integer, at the first time T1, the timeout value of the second timer 32b in each sampling period is changed to make the average timeout equal to the division value. That is, the trigger processing unit 311 adjusts the timeout value of the second timer 32b based on the value obtained by dividing by the number of times the sampling processing unit 312 performs sampling processing at the first time T1.

[0077] For example, if the first time T1 is 1 second and the second time T2 is 250 microseconds, then... Figure 6 As shown, if the count value CT1 at the first time T1 is 160000000, then the count value CT2 at the second time T2 becomes 160000000 / 4000 = 40000. In this case, the timeout value of the second timer 32b is fixed at 40000.

[0078] In contrast, if the count value CT1 at the first time T1 is 159999001, it becomes 159999001 / 4000 = 39999…3001. Since the remainder 3001 < 4000, the timeout value for the first sampling period is 39999. 3001 is carried over; adding the remainder 3001 to 3001 gives 3001 + 3001 = 6002 ≥ 4000, therefore the timeout value for the second sampling period is 39999 + 1 = 40000. 6002 - 4000 = 2002 is carried over; adding the remainder 3001 to 2002 gives 2002 + 3001 = 5003 ≥ 4000, therefore the timeout value for the third sampling period is 39999 + 1 = 40000. Figure 7 The table shows a sequence of timeout values ​​for the second timer 32b up to the thirteenth sampling period. (Example:) Figure 7 As shown, the timeout value for each sampling period is either 39999 or 40000.

[0079] In addition, such as Figure 6As shown, when the count value CT1 at the first time T1 is 160006151, it becomes 160006151 / 4000 = 40001…2151. Since the remainder 2151 < 4000, the timeout value for the first sampling period is 40001. 2151 is carried over, and adding the remainder 2151 to 2151 gives 2151 + 2151 = 4302 ≥ 4000. Therefore, the timeout value for the second sampling period is 40001 + 1 = 40002. 4302 - 4000 = 302 is carried over, and adding the remainder 2151 to 302 gives 302 + 2151 = 2453 < 4000. Therefore, the timeout value for the third sampling period is 40001. Thus, the timeout value for each sampling period is either 40001 or 40002.

[0080] 1-4. Effects

[0081] As explained above, in the sensor module 1 of the first embodiment, the trigger processing unit 311 synchronously generates a timing signal TMG with a period shorter than that of the trigger signal TRG, which is input from outside the sensor module 1. The sampling processing unit 312 samples and processes the detection signals SD1, SD2a, and SD2b output from the angular velocity sensor 10 and the 6DoF sensors 20a and 20b, respectively, based on the timing signal TMG, and outputs a data ready signal DRDY. Therefore, according to the sensor module 1 of the first embodiment, the measurement data DT obtained through processing and the data ready signal DRDY can be output synchronously with the trigger signal TRG with a period shorter than that of the trigger signal TRG.

[0082] Furthermore, according to the sensor module 1 of the first embodiment, the timeout value of the second timer 32b is adjusted based on the value obtained by dividing the count value of the first time T1 by the number of times the sampling processing unit 312 performs calculations at the first time T1, so that the measurement data DT can be output synchronously with the trigger signal TRG even when the division value is not an integer multiple.

[0083] Furthermore, according to the sensor module 1 of the first embodiment, by outputting a data ready signal DRDY after the third timer 32c finishes counting the third time T3, the data ready signal DRDY can be repeatedly output at a fixed timing. Specifically, according to the sensor module 1 of the first embodiment, when the third timer 32c finishes counting the third time T3, the data ready signal DRDY is output after the sampling processing unit 312 has finished its calculation processing, thereby enabling the data ready signal DRDY to be repeatedly output at a fixed timing according to when the third timer 32c finishes counting the third time T3. Furthermore, according to the sensor module 1 of the first embodiment, when the third timer 32c finishes counting the third time T3, if the sampling processing unit 312 has not finished its calculation processing, the data ready signal DRDY is output after the calculation processing has finished, thereby enabling the data ready signal DRDY to be output at the timing when the calculation processing ends, even if the calculation processing is delayed.

[0084] Furthermore, according to the sensor module 1 of the first embodiment, if the trigger processing unit 311 is input with the next trigger signal TRG during a period that is not an input permission period, it ignores the trigger signal TRG and outputs an error signal, thereby reducing the possibility of malfunction when an incorrect trigger signal TRG is input due to noise or the like, and is able to identify when an incorrect trigger signal TRG is input to an external device.

[0085] 2. Second Implementation Method

[0086] Hereinafter, regarding the second embodiment, the same reference numerals will be used to mark the same constituent elements as in the first embodiment, and descriptions that are repeated in the first embodiment will be omitted or simplified. The description will mainly focus on the contents that are different from the first embodiment.

[0087] Figure 8 This is a diagram showing the configuration of sensor module 1 according to the second embodiment. (As shown) Figure 8 As shown, the sensor module 1 in the second embodiment differs from that in the first embodiment in that the processing device 30 does not have a second timer 32b, and the trigger processing unit 311 generates a timing signal TMG based on the count value of the first timer 32a.

[0088] In the second embodiment, similarly to the first embodiment, the trigger processing unit 311 determines the second time T2 based on the count value CT1 of the first time T1 counted by the first timer 32a, synchronizes with the trigger signal TRG, and generates a timing signal TMG whenever the second time T2 elapses. However, in the second embodiment, the trigger processing unit 311 generates the timing signal TMG whenever the count value CT1 of the first timer 32a changes by an amount equivalent to the value of the second time T2, and outputs the timing signal TMG to the sampling processing unit 312.

[0089] Specifically, the trigger processing unit 311 divides the count value CT1 at the first time T1 by the number of times the sampling processing unit 312 performs sampling processing at the first time T1 to calculate the value corresponding to the second time T2. If the division value is an integer, the trigger processing unit 311 can generate a timing signal TMG whenever the amount of the division value changes. However, if the division value is not an integer, and the trigger processing unit 311 generates the timing signal TMG whenever the amount of the division value changes, the fractional part of the division value becomes an error, and the measurement accuracy will decrease. Therefore, when the division value is not an integer, at the first time T1, the value corresponding to the second time T2 in each sampling period is changed to make the average value corresponding to the second time T2 equal to the division value. That is, the trigger processing unit 311 adjusts the value corresponding to the second time T2 based on the value obtained by dividing by the number of times the sampling processing unit 312 performs sampling processing at the first time T1.

[0090] For example, if the first time T1 is 1 second and the second time T2 is 250 microseconds, then... Figure 9 As shown, if the count value CT1 at the first time T1 is 160000000, then the value at the second time T2 is equivalent to 160000000 / 4000 = 40000. In this case, the value of the second time T2 is fixed at 40000.

[0091] In contrast, when the count value CT1 at the first time T1 is 159999001, it becomes 159999001 / 4000 = 39999…3001. Since the remainder 3001 < 4000, the value corresponding to the second time in the first sampling period becomes 39999. Therefore, the trigger processing unit 311 generates a timing signal TMG when the count value CT1 of the first timer 32a changes from 0 to 39999. 3001 is carried over, and 3001 plus the remainder 3001 equals 3001 + 3001 = 6002 ≥ 4000. Therefore, the value corresponding to the second time in the second sampling period becomes 39999 + 1 = 40000. Therefore, the trigger processing unit 311 generates the timing signal TMG when the count value CT1 of the first timer 32a changes from 39999 to 40000 and becomes 79999. 6002-4000=2002 is carried over, and 2002 plus the remainder 3001 equals 2002+3001=5003≥4000. Therefore, in the third sampling period, the value corresponding to the second time becomes 39999+1=40000. Consequently, the trigger processing unit 311 generates a timing signal TMG when the count value CT1 of the first timer 32a changes from 79999 to 40000 and becomes 119999.

[0092] Figure 10 This displays a sequence of values ​​corresponding to the second time interval up to the thirteenth sampling period. (Example) Figure 10 As shown, in each sampling period, the value corresponding to the second time becomes 39999 or 40000. Whenever the count value CT1 changes to 39999 or 40000, the trigger processing unit 311 generates a timing signal TMG.

[0093] In addition, such as Figure 9As shown, when the count value CT1 at the first time T1 is 160006151, it becomes 160006151 / 4000 = 40001...2151. Since the remainder 2151 < 4000, the value corresponding to the second time in the first sampling period becomes 40001. Therefore, the trigger processing unit 311 generates a timing signal TMG when the count value CT1 of the first timer 32a changes from 0 to 40001. 2151 is carried over, and 2151 plus the remainder 2151 equals 2151 + 2151 = 4302 ≥ 4000. Therefore, the value corresponding to the second time in the second sampling period becomes 40001 + 1 = 40002. Therefore, the trigger processing unit 311 generates a timing signal TMG when the count value CT1 of the first timer 32a changes from 40001 to 40002 and becomes 80003. 4302 - 4000 = 302 is carried over. Adding the remainder 2151 to 302 gives 302 + 2151 = 2453 < 4000. Therefore, the value corresponding to the second time in the third sampling period becomes 40001. Consequently, the trigger processing unit 311 generates a timing signal TMG when the count value CT1 of the first timer 32a changes from 80003 to 40001 and becomes 120004. Thus, the value corresponding to the second time in each sampling period becomes either 40001 or 40002, and the trigger processing unit 311 generates the timing signal TMG whenever the count value CT1 changes to 40001 or 40002.

[0094] The other configurations of the sensor module 1 in the second embodiment are the same as those in the sensor module 1 of the first embodiment, so their description is omitted.

[0095] The sensor module 1 according to the second embodiment described above can achieve the same effect as the sensor module 1 of the first embodiment. Moreover, according to the sensor module 1 of the second embodiment, the second timer 32b is not required in the processing device 30, thus enabling the processing device 30 to be reduced in size or cost.

[0096] 3. Variations

[0097] This invention is not limited to this embodiment, and various modifications can be made within the scope of the spirit of this invention.

[0098] For example, the sensor module 1 in the above embodiment includes an angular velocity sensor 10 and 6DoF sensors 20a and 20b as three sensor devices. However, the number of sensor devices included in the sensor module 1 can be one, two, or four or more. In addition, the sensor devices included in the sensor module 1 may not be angular velocity sensors or 6DoF sensors. For example, they may be sensors that detect acceleration, angular acceleration, velocity, etc.

[0099] 4. Application Examples

[0100] The sensor module 1 of this embodiment can be used, for example, in a composite navigation system that uses both GNSS (Global Navigation Satellite System) and INS (Inertial Navigation System). Figure 11 The assembly is shown in the image. Figure 1 or Figure 8 This is an example of a composite navigation system with sensor module 1 shown. Figure 11 The composite navigation system shown includes a sensor module 1, a GNSS receiver 2, and a composite navigation computing unit 3, and is, for example, mounted on a mobile vehicle such as a car.

[0101] GNSS receiver 2 receives satellite signals transmitted from multiple satellites constituting part of the GNSS system via an antenna (not shown). Based on the received satellite signals, it performs positioning and outputs data such as position, velocity, and azimuth to the composite navigation processing unit 3. Additionally, GNSS receiver 2 outputs a 1PPS signal to sensor module 1. Examples of GNSS systems include GPS (Global Positioning System), QZSS (Quasi-Zenith Satellite System), EGNOS (European Geostationary Navigation Overlay Service), GLONASS (Global Navigation Satellite System), GALILEO, and BeiDou.

[0102] Sensor module 1 receives a 1PPS signal output from GNSS receiver 2 as a trigger signal TRG, and outputs a data ready signal DRDY with a period shorter than that of the trigger signal TRG to composite navigation computing unit 3.

[0103] Whenever the data ready signal DRDY is received, the composite navigation calculation unit 3 acquires the measurement data DT generated by the sensor module 1. Then, the composite navigation calculation unit 3 performs composite navigation calculations using the measurement data DT and the data output from the GNSS receiver 2 to calculate the position, velocity, attitude, azimuth, etc. of the moving body.

[0104] The above-described embodiments and variations are examples, and are not limited to these. For example, the various embodiments and variations can also be appropriately combined.

[0105] This invention includes configurations that are substantially the same as those described in the embodiments, such as configurations with the same function, method, and result, or configurations with the same purpose and effect. Additionally, this invention includes configurations with non-essential parts replaced in the configurations described in the embodiments. Furthermore, this invention includes configurations that can achieve the same effect as those described in the embodiments or that can accomplish the same purpose. Additionally, this invention includes configurations that incorporate known techniques into the configurations described in the embodiments.

[0106] The following content can be derived from the above implementation methods and variations.

[0107] One solution for the sensor module includes: Sensor devices; The first timer counts the first time of one cycle of the trigger signal, which is input from the outside. The trigger processing unit determines a second time shorter than the first time based on the count value of the first time counted by the first timer, and generates a timing signal synchronously with the trigger signal each time the second time elapses; and The sampling and processing unit samples the signal output from the sensor device synchronously with the timing signal and performs calculations on it.

[0108] This sensor module synchronously generates a timing signal with a period shorter than that of the externally input trigger signal. Based on the timing signal, the signal output from the sensor device is sampled and processed. Therefore, according to this sensor module, the data obtained through processing can be output synchronously with the trigger signal at a period shorter than that of the trigger signal.

[0109] According to one scheme of the sensor module, it could also be that... It has a second timer that repeatedly counts the second time in sync with the trigger signal. The trigger processing unit The timing signal is generated whenever the second timer counts the second time.

[0110] In one embodiment of the sensor module, it could also be that... The trigger processing unit The timeout value of the second timer is adjusted based on the value obtained by dividing the count value of the first timer (counted by the first timer) by the number of times the sampling processing unit performs the operation within the first time period.

[0111] According to this sensor module, even if the duration of one cycle of the trigger signal is not an integer multiple of the number of times the sampling processing unit performs calculations during one cycle of the trigger signal, data can still be output synchronously with the trigger signal.

[0112] In one embodiment of the sensor module, it could also be that... The trigger processing unit The timing signal is generated whenever the count value of the first timer changes by an amount equivalent to the value of the second time.

[0113] In one embodiment of the sensor module, it could also be that... The trigger processing unit The value corresponding to the second time is adjusted based on the value obtained by dividing the count value of the first time by the first timer by the number of times the sampling processing unit performs the operation within the first time.

[0114] According to this sensor module, even if the duration of one cycle of the trigger signal is not an integer multiple of the number of times the sampling processing unit performs calculations within one cycle of the trigger signal, data can still be output synchronously with the trigger signal.

[0115] According to one scheme of the sensor module, it could also be that... The system includes a third timer that counts a third time interval shorter than the second time interval in sync with the timing signal. The sampling processing unit After the third timer finishes counting for the third time period, a data ready signal is output.

[0116] According to this sensor module, it can repeatedly output data ready signals at fixed time intervals.

[0117] In one embodiment of the sensor module, it could also be that... The sampling processing unit When the third timer finishes counting for the third time, the data ready signal is output after the operation process has ended.

[0118] According to this sensor module, a data ready signal can be repeatedly output at a fixed time when the third timer finishes counting for the third time.

[0119] In one embodiment of the sensor module, it could also be that... The sampling processing unit When the third timer finishes counting for the third time, the data ready signal is output after the operation is completed, provided that the operation has not yet ended.

[0120] According to this sensor module, even if the timing for ending the computation process is delayed compared to the timing for the third timer to finish counting at the third time, a data ready signal can still be output according to the timing for ending the computation process.

[0121] In one embodiment of the sensor module, it could also be that... The trigger processing unit If the next trigger signal is input during a period that is not within the input allowed period, the trigger signal is ignored and an error signal is output.

[0122] According to this sensor module, the possibility of malfunction can be reduced when an incorrect trigger signal is input due to noise or other factors, and it can also identify when an incorrect trigger signal is input to an external device.

[0123] In one embodiment of the sensor module, it could also be that... The sampling processing unit outputs a data ready signal at a period shorter than the first time.

[0124] According to this sensor module, the data obtained through computation and the data ready signal can be output synchronously with the trigger signal at a period shorter than that of the trigger signal.

Claims

1. A sensor module, characterized in that, have: Sensor devices; The first timer counts the first time of one cycle of the trigger signal, which is input from the outside. The trigger processing unit determines a second time shorter than the first time based on the count value of the first time counted by the first timer, and generates a timing signal synchronously with the trigger signal whenever the second time has elapsed; as well as The sampling and processing unit samples the signal output from the sensor device synchronously with the timing signal and performs calculations on it.

2. The sensor module according to claim 1, wherein, The sensor module includes a second timer that repeatedly counts the second time interval in sync with the trigger signal. The trigger processing unit The timing signal is generated whenever the second timer counts the second time.

3. The sensor module according to claim 2, wherein, The trigger processing unit The timeout value of the second timer is adjusted based on the value obtained by dividing the count value of the first timer (counted by the first timer) by the number of times the sampling processing unit performs the operation within the first time period.

4. The sensor module according to claim 1, wherein, The trigger processing unit The timing signal is generated whenever the count value of the first timer changes by an amount equivalent to the value of the second time.

5. The sensor module according to claim 4, wherein, The trigger processing unit The value corresponding to the second time is adjusted based on the value obtained by dividing the count value of the first time by the first timer by the number of times the sampling processing unit performs the operation within the first time.

6. The sensor module according to claim 1, wherein, The sensor module includes a third timer that counts a third time interval shorter than the second time interval in sync with the timing signal. The sampling processing unit After the third timer finishes counting for the third time period, a data ready signal is output.

7. The sensor module according to claim 6, wherein, The sampling processing unit When the third timer finishes counting for the third time, the data ready signal is output after the operation process has ended.

8. The sensor module according to claim 6 or 7, wherein, The sampling processing unit When the third timer finishes counting for the third time, the data ready signal is output after the operation is completed, provided that the operation has not yet ended.

9. The sensor module according to claim 1, wherein, The trigger processing unit If the next trigger signal is input during a period that is not within the input allowed period, the trigger signal is ignored and an error signal is output.

10. The sensor module according to claim 1, wherein, The sampling processing unit outputs a data ready signal at a period shorter than the first time.

Citation Information

Patent Citations

  • Functional device, electronic apparatus, movable body, synchronous control system, operation method of functional device and synchronous control method

    JP2015076805A