2.2. Description of the Cable-Less Storage Seismograph
The time synchronization platform designed in this paper is mainly for the new generation of nodal cable-less storage seismograph GEIWSR-III developed by Jilin University. The characteristics of the seismograph should be fully considered when designing time synchronization. The structural block diagram of GEIWSR-III is shown in
Figure 3.
GEIWSR-III is mainly composed of a 5-Hz moving coil type geophone, a data recording unit, a power management unit, and a wireless monitoring unit. The geophone used in the GEIWSR-III is a moving coil velocity-type geophone with a natural frequency of 5 Hz. It has the sensitivity with 30 V/m/s and a wide, stable frequency band from 5 Hz to 200 Hz. In addition, it weighs only 80 g, which greatly improves the portability of the instrument. The data recording unit is the main time- synchronization platform, which includes the MCU, a data acquisition unit, a GPS positioning unit, an SD card storage unit, a wired Ethernet data download unit, and the status indication unit. In addition, the node also includes a power management module to provide a high-efficiency power supply for the entire system. The wireless monitoring unit equips a low-power ZigBee in each sensor node. It serves as a data quality monitoring system to provide status information of the node for users in a timely manner, which greatly improves exploration efficiency.
The time-synchronization system should complete the synchronization task among the nodes on the premise of not interfering with the normal acquisition work. The control center and each sensor node adopt the wireless multi-hop communication system to realize seismic data acquisition tasks. The time synchronization system is applied in the actual workflow of each node in the high-density seismic exploration environment. However, the actual working process of this system is more complicated. This article only discusses the links that are closely related to clock synchronization. The simplified system working flowchart is shown in
Figure 4. After the system is powered on, the control center calls the station first and the wireless monitoring system of each sensor node responds to its own address number immediately. When a faulty node emerges, manually troubleshooting or repair is required. According to the survey line arrangement, the control center re-addresses each sensor node. After the sensor node receives its new address, it performs self-tests, and then sends the self-test parameter to the control center. When receiving the parameters of each node, the control center judges whether the node is normal. If normal, it configures the acquisition parameters for each node and starts the acquisition task. Otherwise, it will perform troubleshooting and repair manually. When the collection task is over, the control center sends the stop collection instruction and shutdown instruction. After receiving the instruction, each node executes the stop collection task and the shutdown process, and then the collection task ends. The acquisition process of GEIWSR-III can meet the basic exploration requirements, but the single acquisition time cannot be too long. Otherwise, the time deviation between the sensor nodes will continue to accumulate, which will cause the asynchronous data to affect the data processing and interpretation. Thus, the time-synchronization problem of the GEIWSR-III has greatly limited the efficiency of seismic exploration. If the time-synchronization can be performed, it can realize long-term continuous acquisition, even for dozens of days.
2.3. Time-Synchronization Method
It can be seen from
Figure 4 that the time synchronization system should be established during the data acquisition task. Therefore, the data collection workflow and hardware architecture of the system should be analyzed in detail. Based on the GEIWSR-III hardware units and its workflow, we designed a multi-node time synchronization system based on GPS and crystal oscillator. The overall architecture of the time-synchronization system is shown in
Figure 5. The MCU with UCOS-III operating system is responsible for maintaining and managing the normal operation of the system. High precision crystal oscillator provides time service and a standard time reference for ADC and DAC. When the system is turned on, it performs a self-test. The MCU controls the DAC to complete the short-circuit noise test, harmonic distortion test, and geophone impedance test. When the self-test is completed, the node starts to complete the acquisition of seismic data. When the data reaches the size of the data buffer, the MCU writes the seismic data to a file and then stores it in a large-capacity SD card in the form of a file block. Apparently, the seismic data file is also transmitted in the file format through the built-in FTP server in the MCU when the seismic data is acquired via the Ethernet.
Generally, GPS-disciplined ADC for high-precision time stamping is used to a data acquisition unit that synchronously samples multiple channels in a manner [
22]. However, this method is usually applied to keep GPS turned on continuously. This method may not be applicable in long-term high-density seismic surveys. In this paper, a GPS file is used to record the exact time and the number of sampling points to time stamp the seismic data accurately. As shown in
Figure 5, the seismic data file and the GPS time and data-point file are recorded in the data acquisition process at the same time. After the seismic data is collected, the server updates and marks the seismic data according to the GPS time and data-point file, and then performs multi-node seismic data files in the time-sharing interception, so as to achieve the purpose of time synchronization of multiple nodes.
The crystal oscillator provides counting reference for ADC during data acquisition. The data acquisition unit adopts a high-resolution 32-bit ADC named ADS1282. ADS1282 has a data-ready output pin DRDY, that is, MCU read the data on DRDY falling edge. We connect DRDY to the interrupt pin of the MCU. When the data is ready, the interrupt is generated, and then AD outputs the 32-bit data to MCU. The SYNC input pin and the SYNC command are the two sources for synchronization in the ADS1282. In actual application, we use the continuous-sync mode for synchronization with the SYNC command source.
Figure 6 shows the timing for continuous-sync mode. In continuous-sync mode, there is a continuous clock (System Clock) applied to the SYNC pin with a frequency equal to the integer multiple of the output data rate.
When SYNC is applied, the device can run freely only if the period matches an integer multiple of the output data rate; otherwise, the device will resynchronize. Thus, the accuracy of AD conversion synchronization depends on the accuracy of the system clock. The system clock of ADC and DAC mainly rely on the crystal oscillator. Considering the energy-efficient design of the instrument, it is necessary to take the travel time accuracy and power consumption into consideration when selecting a crystal oscillator. The crystal oscillator is mainly divided into a voltage-controlled crystal oscillator (VCXO), a temperature-compensated crystal oscillator (TCXO), and an oven-controlled crystal oscillator (OCXO) [
23]. The parameters are shown in
Table 1.
As can be seen from
Table 1, the main parameter items of various types of crystal oscillators are different. In the seismic survey, the frequency deviation is required to be as low as possible under the influence of temperature due to the complex environment. Of course, the start and stop operation of the instruments in the field needs a quick response of the crystal oscillator. In addition, the lower the power consumption of the crystal, the better the energy-efficient design. VCXO is a kind of crystal oscillator that can change the output frequency by adjusting the applied voltage. It is mainly used for phase-locked loop (PLL) or frequency trimming application [
24]. However, its frequency shift is greatly affected by temperature; it is not suitable for the time service of this seismograph. The OCXO integrates a temperature control device. Thus, its power consumption is higher than that of VCXO and TCXO. Furthermore, the OCXO needs to be preheated. A large frequency offset will occur during the preheating process, which will cause a timing deviation. Therefore, we use the TCXO as the high-precision clock source for ADC and DAC. The working clock of ADC and DAC is 4.096 MHz. Due to the manufacturing process and other reasons, it is difficult to have a relatively low-frequency drift for a low-frequency crystal. In order to obtain a crystal with high reliability, low drift, and low power consumption, the XTAL OSC TCXO 16.3840 MHZ SNWV is selected as the time source. It has excellent frequency stability over temperature, low supply voltage, and highly reliable characteristics. In order to obtain an output of 4.096 MHz, we have designed a divide-by-four frequency divider for dividing the clock source. However, the signal output by the high-frequency crystal is a clipped sinewave. Thus, a circuit which performs clipped sinewave to CMOS signal is placed before the frequency divider.
In the acquisition task, the MCU places the data collected by the AD into the FIFO, and whenever the FIFO is stored to a certain capacity, the MCU reads the seismic data from the FIFO and stores it into the SD card in the form of data block files. After obtaining valid GPS information for the first time after the instrument is turned on, the GPS time information obtained at this time is used as a file name to establish the folder name and the file name for the seismic data. The folder name and the file name format are shown in
Figure 7. We can see that the time corresponding to the first seismic data point is the UTC time given by the seismic data file name.
In this way, the first data of the first file is marked by the file name. The number of file blocks is increasing with the continuous collection of the sensor node. A new folder is created for data files only when one day has passed. Since the seismic data block size is set according to the specific data points, when collecting at a certain sampling rate, a data file index is established according to the folder directory and the file name. Thus, each seismic data point is time-stamped. For the synchronization of seismic data of multiple sensor nodes in a high-density seismic array, all the data can be aligned as long as searching the sampling point corresponding to the precise moment. However, due to the frequency tolerance of each crystal, frequency shift by temperature, and changes in different operating states, the crystal oscillator would have a frequency drift after a long period of operation. It has resulted in asynchrony between the multiple sensor nodes, which caused problems in data interpretation. The sensor node uses an active crystal oscillator whose frequency is 16.384 MHz ± 0.2 PPM. The maximum deviation
can be calculated as
therefore, the cumulative time error
of any two nodes in the time period T can be expressed as follows:
where
is the nominal oscillation frequency of the crystal. When the sensor node collects seismic data at the sampling rate of
. The time required for each data point difference can be calculated as follows:
There are five sampling frequency settings for the ADC of the acquisition node involved in this paper, which are 250, 500, 1000, 2000, and 4000 sps. When calculated at 4000 sps, the time required for a data point difference is 625 s. There may not be such a large error in the same time period because the calculations are based on the maximum error. However, the error of the data points may not be neglected as time accumulates.
In order to ensure that the data points are strictly aligned at the same time, this paper proposes the T3I method to reduce the data point errors generated by all nodes. This method aligns the seismic data by GPS time shot in a data stream with a basic time stamp. The GPS time snapshot is aligned when ensuring that the data collected by multiple nodes does not differ from the time period of one data point. Then, the data is truncated according to the GPS time snapshot in the data stream after the seismic data is collected. Due to the high time accuracy of GPS, it ensures that the seismic data required for each segment is strictly aligned. The key to this method is to choose a reasonable time to record the GPS time snapshot.
The node uses the NEO-M8N GPS receiver, which delivers high sensitivity and minimal acquisition times when maintaining low system power. This makes it perfectly suited for high-density seismic surveys with complex environments (some places with weak GPS signal) for long periods. Protocols and interfaces of the NEO-M8N mainly include the UBX with a binary format and NMEA 0183 with ASCII format [
25]. In UBX format, GPS is defined by week number and seconds-of-week. This protocol uses 8-bit binary data, a low-overhead checksum algorithm, and a 2-stage message identifier (Class and Message ID), which transmit fewer bytes when getting valid information compared to the NMEA format. The UBX protocol is selected as the message output format to transmit GNSS data to GEIWSR-III.
According to the launch strategy, the time synchronization operation designed in this paper is divided into periodic synchronization at a certain time interval, continuous-time synchronization, and forced time synchronization. Periodic synchronization at a certain time interval starts the time-synchronization operation at a specified sampling point interval. This requires setting a counter and takes a snapshot of the GPS time and the amount of ADC data points when the sampling points meet a certain number. Then we use this snapshot to align the data later. When encountering a failure of the current GPS timing, we use the continuous-time synchronization mode, which continuously monitors the GPS timing and performs the GPS time snapshot operation as soon as the timing is successful. Forced time synchronization uses the wireless monitoring system of the node for time synchronization. When the node receives the mandatory GPS time snapshot event instruction, it searches for timing information immediately. If the timing is successful, it executes the GPS time snapshot and returns a success message to the control center. If the timing fails, it returns a GPS time snapshot failure message and then enters continuous synchronization mode.
GEIWSR-III generally only takes periodic synchronization at a certain time interval mode when in a fine GPS signal. However, setting GPS to continuous mode consumes a lot of energy. We propose a low-power solution based on the GPS operating mode. After the GPS provides time service, it sleeps. When it is the time that the GPS provides time service, it wakes the GPS. The sleep and wake of GPS are realized by the MCU sending UBX instructions to GPS.
Figure 8 shows the working state of GPS in power save mode and continuous working mode.
In power save mode, the GPS wake-up operation must be completed before GPS provides time service in order not to miss a sampling point. The time relationship is shown as follows:
where
is the GPS sleep time,
is the cold start time. In general,
is about 2 s. The average power consumption is about 20 mW in GPS sleep mode, and the average power consumption is about 75 mW in GPS continuous mode. Thus, the power save mode would save 73% of the total energy compared to the continuous mode in a time service cycle.
As shown in
Figure 9, the entire acquisition and time-synchronization workflow of the seismograph is divided into five phases:
GPS positioning: The node performs a self-test immediately after the system is powered on. When the self-test is completed, it immediately enters the GPS positioning task. After the valid GPS information is obtained for the first time, the GPS time information is extracted as the time-synchronization folder name and time-synchronization file name.
Record seismic data: The seismic data FIFO size is set to 4 kbytes. The FIFO size is detected and written to the SD card at one time when the FIFO is full. If the node collects at a sampling rate of 1000 sps and each data point occupies 4 bytes, then the amount of data generated per second is 4 kbytes. That is, an SD card data-write operation will be performed every second.
Trigger synchronization time: The setting of this time is given by Equation (4). Set a variable to count the number of FIFO writes. When the count reaches the trigger time, it notifies the GPS serial data output interrupt and PPS interrupt to start time-synchronization.
Time synchronization: The ADC generates an interrupt through the DRDY pin. When a DRDY interrupt occurs, a data point is the output. A variable is set to count the number of data points. When a time synchronization event occurs, the amount of data point generated by the ADC, and the accurate GPS time is stored as a time-sync file in the SD card.
Close file: When the detected seismic data file size reaches the set block size, close the current data file and create the next data file. At the same time, the ADC count is cleared and the counter is started again, and so on, until the end of the acquisition task.
Calculating the local time from GPS time to UTC time mainly uses two parameters, GPS week number and GPS milliseconds time of the week [
26]. In order to record the synchronization information accurately, we have designed a 1-s time series, which is between the output time information of the mm second pulse and the output time information of the (mm + 1000) second pulse, as shown in
Figure 10.
in the time series is the point of time when encountering GPS serial data output interrupt, and is the point of time when a PPS interrupt event is encountered. Since the rising edge of the 1 PPS pulse of the GPS receiver is the starting point of the second and the time series length is 1 s if the GPS serial interruption time corresponds to , then the recorded time is .
According to the time series, the reasonable workflows in the GPS serial interrupt (corresponding to
) and PPS interrupt (corresponding to
) service programs are shown in
Figure 11.
The function of workflows is used to ensure that the same PPS interruption corresponds to the same GPS information on the premise of not affecting the main program to record seismic data. In GPS serial interruption, UBX packet is received and parsed for every second. After obtaining GPS information and parsing the UBX packet, it will detect the valid bit until the GPS data is valid. If GPS serial interruption checks the snapshot event from the main program at this time, it records the time series (nn, mm + 1000) as the current real-time GPS time. When the PPS interrupt service function detects that the serial interrupt has obtained valid GPS information, it sets the time synchronization valid bit to notify the main program that a snapshot event has been performed. In this way, the GEIWSR-III completes time synchronization for high-density seismic array surveys.