GB2293949A - High speed serial data pattern recognition - Google Patents
High speed serial data pattern recognition Download PDFInfo
- Publication number
- GB2293949A GB2293949A GB9519551A GB9519551A GB2293949A GB 2293949 A GB2293949 A GB 2293949A GB 9519551 A GB9519551 A GB 9519551A GB 9519551 A GB9519551 A GB 9519551A GB 2293949 A GB2293949 A GB 2293949A
- Authority
- GB
- United Kingdom
- Prior art keywords
- state
- bit
- pattern
- data stream
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
- H04J3/0605—Special codes used as synchronising signal
- H04J3/0608—Detectors therefor, e.g. correlators, state machines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
In many applications, for example in a telecommunications system, it is necessary to identify a unique data sequence at a high speed serial data interface within one bit period of the complete sequence being received. This pattern recognition is often used in order to synchronise the receiver to the frame timing of an incoming data stream and thus identify the octet boundaries. It is usually required to react to this pattern within one data bit period at the interface in order to synchronise internal counters. A data stream pattern recognition apparatus recognises a predetermined pattern of sequential data within a data stream by an apparatus comprising a state machine having at least as many state units 0 - 15 connected in series as there are bits in the predetermined pattern 1111011000101000, the state machine transfers sequentially from state to state on receipt of each bit of the series. Transition between state 15 and 0 triggers a flag that indicates that the correct pattern has been received. <IMAGE>
Description
FAST SERIAL PATTERN RECOGNITION
In many applications, for example in a telecommunications system, it is necessary to identify a unique data sequence at a high speed serial data interface within one bit period of the complete sequence being received. This pattern recognition is often used in order to synchronise the receiver to the frame timing of an incoming data stream and thus identify the octet boundaries. It is usually required to react to this pattern within one data bit period at the interface in order to synchronise internal counters. A number of prior art solutions may be considered including using serial to parallel convertors and decoding the resultant "parallelised" data to identify the required bit pattern.However, the conversion and the subsequent decoding will often have serious timing problems that prevent the pattern being recognised within the desired time period.
As an example, for a 16 bit pattern, the state machine could be implemented as a 4 bit counter in which each count value represents a state requiring decodes of the count value to determine the current state and to determine the next state. Unfortunately all decodes take time, and with fast interfaces sufficient time is not available for this decode.
The proposed solution below has the merit of being fast and easily changed to recognise other patterns or, indeed, patterns of different lengths.
According to the present invention there is provided a data stream pattern recognition apparatus for recognising a predetermined pattern of sequential data within a data stream the apparatus comprising a state machine having at least as many state units connected in series as there are bits in the predetermined pattern, wherein on receipt of a data stream having a series of consecutive bits of the predetermined pattern, the state machine transfers sequentially from state to state on receipt of each bit of the series.
The present invention will now be described, by way of example, with reference to the accompanying figures in which:
Figure 1 shows a diagrammatic representation of the sequence of operations followed by a State Machine according to the present invention;
Figure 2 shows a State Element used in the state machine of Figure 1; and
Figure 3 shows a diagrammatic view of the State Elements of Figure 2 connected to form the State Machine of Figure 1.
The solution involves the implementation of a state machine which can change state for each serial data bit received.
When looking for a serial bit pattern the state machine monitors the incoming data for the first bit value expected (1 or 0). If this is received the state machine monitors the incoming line for the next data value expected (1 or 0). If the next bit is as expected the state machine moves to the next state and so on. If the value is not as expected the state machine moves back to an earlier state which may not necessarily be the very first state (this is dependent on the pattern expected).
The solution is to implement the state machine as a "one hot" form of state machine using individual storage elements to represent each state, that is there are 16 elements for a 16 bit pattern. This means that there is no decode required for the state, the only decoding required is to determine the value of the input data and the next state to be achieved.
Figure 1 illustrates such a state machine which is looking for the serial pattern 1111011000101000.
The numerals 0 to 15 around the circumference of Figure 1 represent the sequence numbers of the states and the arrows around the circumference represent the transitions from a first state to a second state which occurs when a correct bit is received at the first state. The numerals 0, 1 between the states represent the bit which should be received to cause the transition from the first to the second state.
The arrowed chords represent the paths to states which provide a possible sub-sequence where the next bit received is an incorrect bit for the correct transition.
Data bits received up to the point at which the incorrect data value was observed may represent data other than the expected pattern, but it is possible that some of the bits received preceding the failure may match part of the required pattern. For each bit check failure, all preceding bits are assessed to see if they match earlier portions of the expected pattern, starting with the first bit of that pattern. Thus, in the example if the pattern was 11110111, failing at state 7, it is recognised that the preceding 4 bits contain the value 111 preceded by a zero. The 111 could be the start of a new expected pattern. The fact that 11110 was received prior to this is ignored, and since 111 has been received it is used to initiate a re-start from state 3 in the state machine. Therefore, in this case, the state machine goes to state 3 to check if the next bit will also be a 1.
A transition between state 15 and 0 can only be the result of a correct pattern being received, so this transition can be used to trigger a flag that indicates that the correct pattem has been received.
Considering Figures 2 and 3, the state element (SE) works thus:
The decode function compares the retimed data received with the value expected for this state. If the value is matched then it indicates that the check was positive (state OK). The state
OK condition can only last for one clock period as data is only valid for one clock period. If the value is not matched then an "enabling pulse" (state invalid) of one clock period is made available and can be used to "re-start" any previous state. The decode function operates under two conditions.
a. The previous state is currently OK One of the other states is indicating an invalid state (re-start state). Note that it
is only possible for one State OK condition or one re-start condition to occur for
any given clock period.
The final SE state is retimed using a D-type, and is a pulse of width of 1 clock period, starting from the end of the last bit of the pattern to be checked.
The requisite number of state elements (SE) are connected as shown in Figure 3, each
having the clock and the data stream connected to the appropriate inputs.
The "state OK" and "state invalid" signals are connected to the "restart state" inputs as
shown in Figure 1 to initiate the correct sequence of transitions.
Claims (3)
1. A data stream pattern recognition apparatus for recognising a predetermined pattern of sequential data within a data stream, the apparatus comprising a state machine having at least as many state units connected in series as there are bits in the predetermined pattern, wherein on receipt of a data stream having a series of consecutive bits of the predetermined pattern, the state machine transfers sequentially from state to state on receipt of each bit of the series.
2. A data stream pattern recognition apparatus as claimed in Claim 1, wherein when a bit is received within the data stream which bit is not the next valid bit in the predetermined pattern, the state machine transfers to an earlier state which state is determined by a valid sequence of bits including at least the bit which is not the next valid bit and the immediately preceding bit or bits.
3. A data stream pattem recognition apparatus substantially as hereinbefore described, with reference to and as illustrated in the accompanying drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9519551A GB2293949B (en) | 1994-10-08 | 1995-09-25 | Fast serial pattern recognition |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9420307A GB9420307D0 (en) | 1994-10-08 | 1994-10-08 | Fast serial pattern recognition |
GB9519551A GB2293949B (en) | 1994-10-08 | 1995-09-25 | Fast serial pattern recognition |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9519551D0 GB9519551D0 (en) | 1995-11-29 |
GB2293949A true GB2293949A (en) | 1996-04-10 |
GB2293949B GB2293949B (en) | 1999-05-26 |
Family
ID=26305761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9519551A Expired - Fee Related GB2293949B (en) | 1994-10-08 | 1995-09-25 | Fast serial pattern recognition |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2293949B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943377A (en) * | 1996-03-04 | 1999-08-24 | Telefonaktiebolaget Lm Ericsson | Method and device for bit pattern detection |
WO2002063804A2 (en) * | 2000-12-28 | 2002-08-15 | Centillium Communications, Inc. | Scalable multi-channel frame aligner |
EP1519504A1 (en) * | 2003-09-29 | 2005-03-30 | CNX S.p.A. | Method and device implementing a serial SDH aligner |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2048617A (en) * | 1979-04-26 | 1980-12-10 | Philips Nv | Method of frame synchronisation of a digital tdm communication system and arrangement for performing the method |
US4524345A (en) * | 1983-02-14 | 1985-06-18 | Prime Computer, Inc. | Serial comparison flag detector |
EP0269974A2 (en) * | 1986-11-28 | 1988-06-08 | International Business Machines Corporation | Method and apparatus for detecting a predetermined bit pattern within a serial bit stream |
GB2241413A (en) * | 1990-02-23 | 1991-08-28 | Plessey Telecomm | Detecting a frame alignment word in a data stream |
US5301195A (en) * | 1991-03-29 | 1994-04-05 | Nec Corporation | Circuit for multiframe synchronization |
-
1995
- 1995-09-25 GB GB9519551A patent/GB2293949B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2048617A (en) * | 1979-04-26 | 1980-12-10 | Philips Nv | Method of frame synchronisation of a digital tdm communication system and arrangement for performing the method |
US4524345A (en) * | 1983-02-14 | 1985-06-18 | Prime Computer, Inc. | Serial comparison flag detector |
EP0269974A2 (en) * | 1986-11-28 | 1988-06-08 | International Business Machines Corporation | Method and apparatus for detecting a predetermined bit pattern within a serial bit stream |
GB2241413A (en) * | 1990-02-23 | 1991-08-28 | Plessey Telecomm | Detecting a frame alignment word in a data stream |
US5301195A (en) * | 1991-03-29 | 1994-04-05 | Nec Corporation | Circuit for multiframe synchronization |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943377A (en) * | 1996-03-04 | 1999-08-24 | Telefonaktiebolaget Lm Ericsson | Method and device for bit pattern detection |
WO2002063804A2 (en) * | 2000-12-28 | 2002-08-15 | Centillium Communications, Inc. | Scalable multi-channel frame aligner |
WO2002063804A3 (en) * | 2000-12-28 | 2003-08-07 | Centillium Communications Inc | Scalable multi-channel frame aligner |
EP1519504A1 (en) * | 2003-09-29 | 2005-03-30 | CNX S.p.A. | Method and device implementing a serial SDH aligner |
Also Published As
Publication number | Publication date |
---|---|
GB2293949B (en) | 1999-05-26 |
GB9519551D0 (en) | 1995-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2156035C2 (en) | Method for synchronization of data transmission in duplex transmission line | |
US4506372A (en) | Method and apparatus for recognizing in a receiver the start of a telegram signal consisting of a bit impulse sequence | |
EP0071425B1 (en) | Synchronization of digital radio pager | |
US4009469A (en) | Loop communications system with method and apparatus for switch to secondary loop | |
US4404675A (en) | Frame detection and synchronization system for high speed digital transmission systems | |
US4771440A (en) | Data modulation interface | |
US5822385A (en) | Fast serial pattern recognition | |
GB2293949A (en) | High speed serial data pattern recognition | |
JPH0149062B2 (en) | ||
EP0087510B1 (en) | Single shot multivibrator | |
CA2052811C (en) | Framing bit sequence detection in digital data communication systems | |
AU639731B2 (en) | A flywheel circuit | |
KR940000180B1 (en) | Communication control apparatus | |
US5414832A (en) | Tunable synchronous electronic communication apparatus | |
SU758549A2 (en) | Device for discriminating recurrent synchrosignal | |
RU2272360C1 (en) | Data transfer device | |
RU2260251C1 (en) | Data coding/decoding device | |
JPS60235548A (en) | Transmission system of signal frame | |
SU1099395A1 (en) | Receiver of commands for slaving velocity | |
JP3290331B2 (en) | Block synchronization processing circuit | |
SU1363516A1 (en) | Start=stop demodulator | |
SU492041A1 (en) | Device for separating recurrent sync signal | |
SU1499517A1 (en) | Phase triggering device | |
SU1008921A1 (en) | Device for cyclic synchronization at binary convolution coding | |
SU836805A1 (en) | Device for eliminating "back work" |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 19990925 |