U.S. patent application number 13/655791 was filed with the patent office on 2014-04-24 for fast syncing method of handling data.
This patent application is currently assigned to HAMILTON SUNDSTRAND CORPORATION. The applicant listed for this patent is HAMILTONN SUNDSTRAND CORPORATION. Invention is credited to Paul J. Leblanc.
Application Number | 20140112411 13/655791 |
Document ID | / |
Family ID | 49679843 |
Filed Date | 2014-04-24 |
United States Patent
Application |
20140112411 |
Kind Code |
A1 |
Leblanc; Paul J. |
April 24, 2014 |
Fast Syncing Method of Handling Data
Abstract
A method of syncing a serial data stream includes the step of
providing a data stream having frames and sub-frames. Each
sub-frame is provided with an expected SYNC Word, and there is an
expected offset between the SYNC Words in each sub-frame. The data
is sent to a plurality of sync modules. Each sync module searches
for an expected and different one of the SYNC Words. The sync
modules identify an expected SYNC Word, then look for a different
one of the SYNC Words at said expected offset from its expected
SYNC Word to verify that it has properly identified a SYNC
Word.
Inventors: |
Leblanc; Paul J.;
(Thomaston, CT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
HAMILTONN SUNDSTRAND CORPORATION |
Windsor Locks |
CT |
US |
|
|
Assignee: |
HAMILTON SUNDSTRAND
CORPORATION
Windsor Locks
CT
|
Family ID: |
49679843 |
Appl. No.: |
13/655791 |
Filed: |
October 19, 2012 |
Current U.S.
Class: |
375/295 ;
375/316; 375/354 |
Current CPC
Class: |
H04J 3/0608
20130101 |
Class at
Publication: |
375/295 ;
375/354; 375/316 |
International
Class: |
H04L 7/00 20060101
H04L007/00 |
Claims
1. A method of syncing a serial data stream comprising the steps
of: providing a data stream including frames and sub-frames with
each said sub-frame being provided with an expected SYNC Word, and
there being an expected offset between said SYNC Words in each said
plural sub-frame; sending said data to a plurality of sync modules
with each of said sync modules searching for an expected and
different one of said SYNC Words, and each said module identifying
its expected SYNC Word, then looking for a different one of said
SYNC Words at said expected offset from its expected SYNC Word to
verify that it has properly identified the SYNC Word.
2. The method as set forth in claim 1, wherein said SYNC Words are
offset by a pre-determined time.
3. The method of claim 1, wherein there are at least four said
sub-frames in each frame, and each of said sub-frames being
provided with a SYNC Word, and there being an individual one of
said sync modules for each of said SYNC Words.
4. The method as set forth in claim 1, wherein the data is
generated on an aircraft, and sent to a controller, downstream of
said sync models.
5. The method of claim 1, wherein a sync controller receives a
signal from any one of said sync modules which has synchronized the
SYNC Words in at least a plurality of said sub-frames, and said
sync control module relying upon said any one of said sync modules
which has synchronized the date stream to synchronize the data
stream.
6. A system comprising: a component for generating a serial data
stream, said data stream passing into a sync system, and then to a
controller; the data stream including frames and sub-frames with
each said sub-frame provided with an expected SYNC Word, and there
being an expected offset between said SYNC Words in each said
plural sub-frame; and said sync system including a plurality of
sync modules with each of said sync modules searching for an
expected and different one of said SYNC Words, and each said module
identifying its expected SYNC Word, then looking for a different
one of said SYNC Words at said expected offset from its expected
SYNC Word to verify that it has properly identified with a SYNC
Word.
7. The system as set forth in claim 6, wherein said SYNC Words are
offset by a pre-determined time.
8. The system as set forth in claim 6, wherein there are at least
four said sub-frames in each frame, and each of said sub-frames
being provided with a SYNC Word, and there being an individual one
of said sync modules for each of said SYNC Words.
9. The system as set forth in claim 6, wherein the data is
generated on an aircraft, and sent to a controller, downstream of
said sync models.
10. The system as set forth in claim 6, wherein a sync controller
receives a signal from any one of said sync modules which has
synchronized the SYNC Words in at least a plurality of said
sub-frames, and said sync control module relying upon said any one
of said sync modules which has synchronized the date stream to
synchronize the data stream.
Description
BACKGROUND
[0001] This application relates to a way of identifying SYNC Words
in each of a plurality of sub-frames of information in a data
stream.
[0002] Modern systems are creating increasingly high volumes of
data. In general, data will often come in a continuous serial data
stream. Within the data stream, there are SYNC Words which can be
utilized to identify a start point of a sub-frame of information.
As an example, in one known system, a frame of data may come with
four sub-frames of information. To properly evaluate or utilize
this data, a controller must identify a start point for each
sub-frame within the data stream.
[0003] It is known to insert expected SYNC Words within sub-frames
in the frame. A SYNC word is generally known in the art to be a
preamble that is used to synchronize a transmission by indicating
the start of data. A controller then looks for an expected SYNC
Word, and can identify a beginning point of each sub-frame.
[0004] However, due to the binary nature of the data, within any
one sub-frame of information it is possible for there to be plural
occurrences of the expected SYNC Word. The random generation of a
combination that would equate to a SYNC Word by otherwise generated
data is not only possible, it becomes probable with very high flow
of data.
[0005] Modern systems are relatively slow to react to a mistaken
identification of a SYNC Word.
SUMMARY
[0006] A method of syncing a serial data stream includes the step
of providing a data stream having frames and sub-frames. Each
sub-frame is provided with an expected SYNC Word, and there is an
expected offset between the SYNC Words in each sub-frame. The data
is sent to a plurality of sync modules. Each sync module searches
for an expected and different one of the SYNC Words. The sync
modules identify an expected SYNC Word, then look for a different
one of the SYNC Words at said expected offset from its expected
SYNC Word to verify that it has properly identified a SYNC
Word.
[0007] These and other features of this application may be best
understood from the following drawings and specification, the
following of which is a brief description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 schematically shows a serial data stream.
[0009] FIG. 2 shows a detection module.
[0010] FIG. 3 is a flow chart.
DETAILED DESCRIPTION
[0011] FIG. 1 shows a data generating system 20 sending a data
stream 21 toward a controller/recorder 23. As shown, a frame of
information 22 includes sub-frames 24, 26, 28 and 30. Each of the
sub-frames includes a SYNC Word 32, 34, 36, and 38. The SYNC Words
32-38 are known, and expected, and provide the controller/recorder
23 with an identification of when each sub-frame begins. Without
identifying the location of a SYNC Word, it is impossible to
identify where a particular piece of information within the data
stream 21 begins and ends.
[0012] However, as mentioned above, it is possible within any one
of the sub-frames, say sub-frame 24, that another Word, for example
the one identified at 40, could be identical to any one of the SYNC
Words 32, 34, 36, and 38.
[0013] FIG. 2 shows a system for quickly and more accurately
identifying the SYNC Words, and thus being able to sync the data
stream. It is known that there is a predetermined period of time
between the expected arrival of each of the SYNC Words 32, 34, 36,
and 38. In one system having four sub-frames, there is one second
between the arrivals of each SYNC Word.
[0014] As shown in FIG. 2, a sync system 19 is included, and has
four sync modules 124, 126, 128, and 130. Generally, the sync
system 19 may be located on a common component where the data
stream 21 is generated. As an example, this may all occur on an
aircraft.
[0015] Each module receives the data stream 21. The four modules
124, 126, 128, and 130 each begin by looking for an individual one
of the SYNC Words 32, 34, 36, and 38, as shown in FIG. 1. That is,
the sync module 124 would first look for the SYNC Word 32, the sync
module 126 first looks for the SYNC Word 34, the sync module 128
first looks for the SYNC Word 36 and sync module 130 first looks
for SYNC Word 38.
[0016] Now, the sync module 126, for example, identifies plural
occurrences of the SYNC Word 34 in the data stream 21. It will look
at these individually, and look to see whether the next expected
SYNC Word, 36 in this example, occurs at one second after each
identified SYNC Word 34.
[0017] While it is probable that plural occurrences of any one of
the SYNC Words could occur within the data stream 21, it is also
likely that plural occurrences will not occur for all of the SYNC
Words. Since the several sync modules 124, 126, 128 and 130 are
each looking for individual ones of the SYNC Words, it is thus
likely that syncing will occur more quickly by looking for plural
ones of the SYNC Words in parallel.
[0018] Once any one of the modules 124, 126, 128 and 130 have
properly synced all four of the SYNC Words, a signal or flag can be
sent to a control module 132. As explained below, proper syncing is
identified once all SYNC Words have been detected in the correct
order and data location. It is also to be appreciated that each
module 124-130 starts searching for a different SYNC word for an
entire sub-frame of data. The control module 132 communicates with
the microprocessor 23 (controller/recorder) and memory 123. The
modules 124, 126, 128 and 130 and control module 132 are all
provided as part of a field programmable gate array, in one
embodiment.
[0019] While this system can be utilized for any number of
applications, it is particularly disclosed for use with a flight
data recorder for use in an aircraft. In such a system the
component that is the data generator 20 is the aircraft.
[0020] FIG. 3 is a flow chart of the method of this invention. The
method is performed on the field programmable gate array and
includes a processor having, in one non-limiting embodiment,
pre-programmed instructions to synchronize the data stream and
output the information to the sync control module 132. At start
200, sync module 126 stores the second SYNC Word (34) at step 202.
If no occurrences are found, then at step 204 the system returns to
the start point 200. However, if the SYNC Word 2 (34) is found,
then at 206 the method looks for the SYNC Word 3 (36) at the
expected offset (one second in this example).
[0021] Prior to finding SYNC word 2, the serial data stream has no
word boundaries and all possible 12-bit combinations are examined
for SYNC detection. After finding the SYNC word 2, the SYNC module
establishes a 12 bit word boundary at step 208 to collect and
compare future SYNC words at the one second boundaries.
[0022] If the SYNC Word 3 (36) is found at step 210, then the
method looks for the SYNC Word 4 (38) at step 212. If step 210 does
not identify SYNC Word 3 at the expected offset than it returns to
start at 200.
[0023] If the SYNC Word 4 (38) is found at step at 214, then the
method moves to point A at step 218. If it does not, then it clears
the sync output at step 216 and returns to start 200.
[0024] From step 218 the method then looks for first SYNC Word (32)
at step 220. If the SYNC Word is found at 222, than all four SYNC
Words have been found in the expected offset, and the sync output
is set at step 224. However, the module returns to looking for the
second SYNC Word at step 226, verifies it step 228, and returns to
start at step 230.
[0025] Once any of the sync modules has fully synchronized the data
stream, the sync controller 132 relies upon the synchronization
provided by that one sync module.
[0026] While this flow chart explains the operation of the module
126, the other modules 124, 128, and 130 all operate in a similar
fashion, however, each beginning with their individual and
different SYNC Words.
[0027] The SYNC Control Module 132 monitors the SYNC FLAG signal
from each of the four SYNC modules. After a SYNC Module has
acquired all four SYNC words, it will set its SYNC FLAG signal
active and begin to send valid data words (WRITE DATA) to the SYNC
Control Module as they are acquired. The SYNC Control Module will
accept 12 bit-data words from appropriate SYNC module using the
WRITE STROBE as a flag for when valid data word is present. After
at least one SYNC Module has set its' SYNC Flag active, the SYNC
Control Module can word align the other SYNC Modules to any SYNC
word by setting the appropriate WORD ALIGN STOBE at the correct
time. The SYNC Control Module also writes the WRITE DATA to a
SYNCHRONOUS RAM 132 and alerts the MICROPROCESSOR 23 when a
complete SUB-FRAME of data resides in SYNCHRONOUS SRAM.
[0028] Although an embodiment of this invention has been disclosed,
a worker of ordinary skill in this art would recognize that certain
modifications would come within the scope of this invention. For
that reason, the following claims should be studied to determine
the true scope and content of this invention.
* * * * *