Time-Coding of Asynchronous Data Transmissions

Multiple data streams from a number of sensors can be reconstructed after transfer.

A method for providing a time code for multiple streams of simultaneously received data has been developed in order to allow reconstruction of the data after asynchronous transfer. It is often desirable to transmit data collected from a plurality of sensors. When the data is received, it is desirable that the original signal be reconstructed to have the same timing as the originally received data.

A Generic System capable of organizing data streams using the time-coding method described.
Asynchronous transfer mode (ATM) utilizes a shared, high-bandwidth transmission line. In ATM, data is packaged into 53-byte cells having a 5-byte header and a 48-byte data region. When data is transmitted via ATM, other data is inserted in the transmission stream and the timing of the transmitted data is not preserved. Additionally, data cells can be lost during transmission. If detected, various well-known error-correction techniques can be applied to make up for the lost data.

Previous means for capturing the time that a single data stream is received involve adding a time stamp to each cell transmitted over an ATM network. These methods do not allow time reconstruction of data received simultaneously from a plurality of data sources because they do not include a means for synchronizing data among the sources to indicate both the time received and the source.

This method transmits data of an asynchronous transfer mode network and reconstructs the data on receipt. The method includes synchronizing a system clock with a real-time clock. Digital data is collected from multiple sources at a system clock time. A sample counter provides a count for each system clock time. The digital data for each source is associated with the count. A data cell is composed from the digital data associated with at least one count and a source identifier. A data frame is created from the data cells from every source. A cell frame is created from a plurality of data frames, and a time frame is composed from a plurality of cell frames. A headsup cell including the count is transmitted before the time frame. A time/count cell including the count and the real time is transmitted with the associated time frame.

The figure shows a generic system capable of organizing data using this method. Data is received from a plurality of sensors labeled sensor 0 through sensor X. Analog to digital converters (ADC) 12 are labeled ADC 0 through ADC X with each ADC being joined to a corresponding sensor 10. A clock 14 is joined to provide a system clock signal to each ADC 12. Clock 14 is synchronized with a real-time clock 16 so that the system clock signal corresponds with an exact start time. Real-time clock 16 can be any highly accurate clock such as a quartz clock synchronized by receipt of a GPS signal or an atomic clock. Each ADC 12 is joined to an associated buffer 18 identified as buffer 0 through buffer X. The ADCs can be internally buffered.

Clock 14 is also joined to a sample counter 20 to count the samples. Sample counter 20 provides a full count, t_count, indicating the number of samples received. The least significant bits of this counter provide a partial count, c_count, which is used to align sets of data received at the same time. Sample counter 20 can be joined to real-time clock 16 to be reset at a certain time. In the alternative, the sample counter could roll over, reset after a certain number of samples, or be reset on command. Counter 20 is joined to buffers 18 to associate the lower bits of the count, c_count, with the sample. Buffers 18 provide the associated sample data and count as output data to multiplexer 22 to change the data from parallel data to sequential data.

The multiplexer 22 must be clocked at a faster rate than buffers 16 in order to sequence the data before the next sample arrives. Multiplexer 22 is joined to a data formatter 24. Data formatter 24 breaks sequential data from multiplexer 22 into data cells and inserts the proper timing information in accordance with this invention.

Sensors 10 receive analog data, which is converted into digital data by at least one ADC 12. The data is sampled at a rate of approximately 104.4 KHz. This digital data is associated with a sensor identifier during processing. At a predefined interval, a system clock 14 is synchronized with a real-time clock 16 to provide a system clock time. The system clock time is provided to each ADC 12 to trigger the ADC and collect the data at the trigger time. The system clock time is also provided to sample counter 20 having a full count, t_count, and a partial count, c_count. The sample counter 20 provides a count for each system clock time. The digital data from each ADC 12 is associated with the particular partial count associated with that system clock time.

Sixty-four channels of data are utilized. This can correspond to 64 sensors and ADCs. A data cell is composed by data formatter 24 from the digital data associated with the partial count and the sensor identifier. This data cell is a standard ATM cell having 53 bytes. The standard ATM cell includes 5 Bytes of header information that tells where the package should be directed and 48 bytes of data. This data cell can have 24 samples.

A standard ATM receiver is used to receive the data stream. The data can be processed as it is received or it can be held for processing at a later time.

This work was done by David J. Moretti of the Naval Undersea Warfare Center.NUWC-0006



This Brief includes a Technical Support Package (TSP).
Document cover
Time-Coding of Asynchronous Data Transmissions

(reference NUWC-0006) is currently available for download from the TSP library.

Don't have an account? Sign up here.