Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
THREE-PART DECODER CIRCUIT
Document Type and Number:
WIPO Patent Application WO/1989/012891
Kind Code:
A1
Abstract:
Novel electrical circuits suitable for decoding an encoded binary data stream. The electrical circuits include digital circuitry, and are preferably employed to decode magnetic information or optical information. The information has been encoded in a three-part cell code format according to a method which features self-clocking, velocity insensitive encoding and decoding. The novel electrical circuits decode the encoded information, and preserve the self-clocking, velocity insensitive features of the novel method.

Inventors:
WHITFIELD ARTHUR ALLAN (US)
Application Number:
PCT/US1989/002430
Publication Date:
December 28, 1989
Filing Date:
June 05, 1989
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
EASTMAN KODAK CO (US)
International Classes:
G11B20/10; H03M5/12; (IPC1-7): G11B20/14; H03M5/02
Foreign References:
GB1542398A1979-03-21
Download PDF:
Claims:
CLAIMS:
1. An electrical circuit suitable for decoding a binary data stream that has been encoded in a sequential bi cell code format, the encoding resulting in an encoded signal waveform that carries clock information and data information, which electrical circuit comprises: a) a separator means (1) for inputting the encoded signal waveform and separating the clock information from the data information, and (ii) for generating an output clock signal pulse train, and an output data signal pulse train; b) a clock timer for inputting the clock signal pulse train and generating a clock parameter CP that is a measure of the time demarked between a first and a second clock signal pulse; c) a data timer for inputting the data signal pulse train, and the clock signal pulse train, and at the advent of the first clock signal pulse, generating a data parameter that is a measure of the time demarked between the first clock signal pulse and a first data signal pulse; and d) a comparator means for (i) inputting the clock parameter CP, (ii) inputting the data parameter, (iii) generating a parameter CP. , and (iv) assigning a decoded signal a first valuation if the data parameter is less than CP , and a second valuation if the data parameter is 2 greater than CP. 2 .
2. An electrical circuit according to Claim 1, wherein the separator means comprises: a) a first detector for detecting the encoded signal waveform for the clock information, and b) a second detector for detecting the encoded signal waveform for the data information, the second detector being connected in parallel with the first detector.
3. An electrical circuit according to Claim 1, wherein the clock timer comprises a digital timing circuit.
4. An electrical circuit according to Claim 1, wherein the data timer comprises a digital timing circuit.
5. An electrical circuit according to Claim 1, wherein the comparer means comprises a programmed microprocessor to assign the decoded signal first and second valuations.
6. An electrical circuit according to Claim 1, wherein the comparer means comprises digital circuits.
7. An electrical circuit suitable for decoding a binary data stream that has been encoded in a sequential bitcell code format, the encoding resulting in an encoded signal waveform that carries clock information and data information, which electrical circuit comprises: a) a separator means (i) for inputting the encoded signal waveform and separating the clock information from the data information, and (ϋ) generating an output clock signal pulse train, and an output data signal pulse train; and b) a microprocessor that inputs the clock signal pulse train and the data signal pulse train, the microprocessor comprising a program that (i) generates a clock parameter CP that is a measure of the time demarked between a first and second clock signal pulse; (ii) generates a data parameter that is a measure of the time demarked between the first clock signal pulse and a first data signal pulse; (iii) generates a parameter CP.; and (iv) assigns a decoded signal a first valuation if the data parameter is less than CP, and 2 a second valuation if the data parameter is greater than CP.. 2.
Description:
THREE-PART DECODER CIRCUIT

CROSS-REFERENCE TO A RELATED APPLICATION This application is related to Application Ser. No. ' 206,407 filed June 14, 1988, by Wash, Application Ser. No. 206,408 filed June 14, 1988, by Whitfield et al., and Application Ser. No. 206,646 filed June 14, 1988, by Wash, which Applications are being filed contemporaneously with this application. The entire disclosures of each of these applications are incorporated by reference herein. Each of these applications is copending and commonly assigned. FIELD OF THE INVENTION

This invention relates to electrical circuits suitable for decoding an encoded binary data stream.

INTRODUCTION TO THE INVENTION A novel method for modulating a binary data stream into a code format suitable for encoding and decoding e.g., magnetic or optical information, is disclosed in the above-cited Application Ser. No. 206,646 to Wash. The novel method features self-cloclcing, velocity insensitive encoding and decoding. The Wash disclosure states that preferred electrical circuits that may be employed for realizing the decoding scheme set forth in that disclosure are provided in the present application. This application, therefore, provides novel electrical circuits that may be advantageously employed, for example, in decoding an encoded binary data stream. In particular, the novel electrical circuits include digital circuitry, and are preferably employed to decode magnetic information

or data that has been encoded in a three-par -cell code format in accordance with the Wash disclosure. The novel electrical circuits decode the encoded information, and preserve the sel -clocking, velocity insensitive features of the novel method.

SUMMARY OF THE INVENTION In one aspect, the invention provides an electrical circuit suitable for decoding a binary data steam that has been encoded in a sequential bitcell code format, the encoding resulting in an encoded signal waveform that carries clock information and data information, which electrical circuit comprises: a) a separator means (i) for inputting the encoded signal waveform and separating the clock information from the data information, and

(ii) for generating an output clock signal pulse train, and an output data signal pulse train; b) a clock timer for inputting the clock signal pulse train and generating a clock parameter CP that is a measure of the time demarked between a first and a second clock signal pulse; c) a data timer for inputting the data signal pulse train, and the clock signal pulse train, and at the advent of the first clock signal pulse, generating a data parameter that is a measure of the time demarked between the first clock signal pulse and a first data signal pulse; and d) a comparer means for

(i) inputting the clock parameter CP, (ii) inputting the data parameter,

(iii) generating a parameter CP, and

2

(iv) assigning a decoded signal a first valuation if the data parameter is less than CP, and a second valuation if the data parameter is 2 greater than CP. 2

As mentioned above, the novel electrical circuit as defined preserves the self-clocking, velocity insensitive features of the Wash method for encoding and decoding information. This preservation factor is provided by the electrical circuit in the following way. In the general case, the electrical circuit inputs the encoded signal waveform, which waveform comprises sequential bitcells defined by a variable time duration Δt. This variable time duration Δt is a consequence of the information transfer rate in the encoding and decoding process being dependent on unpredictable and variable transfer rate velocities and accelerations. The present electrical circuit accommodates such unpredictable and variable transfer rates by way of e.g., the clock timer. The clock timer generates the clock parameter CP that is a measure of the time demarked between the first and second clock signal pulses, which demarked time corresponds to the variable time Δt. At the same time, the data timer receives the first clock signal pulse, in order to initiate the generating of the data parameter. This coordination of clock timer/data timer instruction helps provide the self-clocking capability. Moreover, the data parameter is a measure of an instantaneous bitcell data signal pulse "location" that occurs between two

successive clock signal pulses of variable time Δt. This data signal pulse "location" itself corresponds to a variable time duration, as defined by the time between the first clock signal pulse and a subsequent data signal pulse. Hence, the data parameter is velocity insensitive to expansions or contractions between two successive clock signal pulses of variable time Δt. Finally, the comparer means also acts in cooperation with the clock timer and the data timer, to the end of accommodating the variable sequential bitcell time Δt. The comparer means does this by assigning the decoded signal first and second valuations based on the clock parameter and the data parameter, which parameters are now shown to immanently preserve the self-clocking, velocity insensitive features of the Wash method.

I now turn to preferred aspects of the electrical circuit as defined. Preferably, the separator means separates the encoded signal waveform in accordance with the method of encoding, and subsequent reading of the encoded signal waveform.

To this end, the separator means preferably comprises: a) a first detector for detecting the encoded signal waveform for the clock information, and b) a second detector for detecting the encoded signal waveform for the data information, the second detector being connected in parallel with the first detector.

An encoded signal waveform preferably encodes data information by assigning it a positive polarity, and on the other hand, encodes clock

information by assigning it a negative polarity. The separator means, accordingly, preferably separates the clock information from the data information by detecting waveform peaks i.e., positive pulses or data information, and waveform valleys i.e., negative pulses or clock information. The separator means operates on a succession of bitcells, and preferably generates an output pulse train that represents the sequential clock signals, and an output pulse train that represents the sequential data signals.

The clock timer preferably comprises a digital timing circuit. The digital timing circuit may comprise a properly programmed microprocessor, which can perform timing via counting for digital signals applied to inputs on the microprocessor. On the other hand, the digital timing circuit may comprise a discrete digital counter.

The data timer preferably comprises a digital timing circuit. The digital timing circuit may comprise a properly programmed microprocessor, which can perform timing via counting for digital signals applied to inputs on the microprocessor. On the other hand, the digital timing circuit may comprise a discrete digital counter.

The comparer means preferably comprises a programmed microprocessor to assign the decoded signal first and second valuations. On the other hand, and to the same end, the comparer means can comprise digital circuits.

In another aspect, the invention provides an electrical circuit suitable for decoding a binary data stream that has been encoded in a sequential bitcell code format, the encoding resulting in an encoded signal waveform that carries clock

information and data information, which electrical circuit comprises: a) a separator means

(i) for inputting the encoded signal waveform and separating the clock information from the data information, and

(ii) generating an output clock signal pulse train, and an output data signal pulse train; and b) a microprocessor that inputs the clock signal pulse train and the data signal pulse train, the microprocessor comprising a program that

(i) generates a clock parameter CP that is a measure of the time demarked between a first and second clock signal pulse;

(ii) generates a data parameter that is a measure of the time demarked between the first clock signal pulse and a first data signal pulse;

(iii) generates a parameter CP; and 2

(iv) assigns a decoded signal a first valuation if the data parameter is less than

CP , and a second valuation if the data parameter 2 is greater than CP_ .

2

BRIEF DESCRIPTION OF THE DRAWINGS The invention is illustrated in the accompanying drawing, in which FIGS. 1A-E provide signal waveforms that explain the operation of the invention, and Figs. 2, 3 and 4 show electrical circuits of the invention.

DETAILED DESCRIPTION OF THE INVENTION Important aspects of the Wash application Ser. No. 206,646, which discloses the novel method

for encoding and decoding binary information, are first reviewed from a perspective that will facilitate a clear understanding of the electrical circuits of the present invention. In one aspect, the novel method comprises the steps of

(1) defining a bitcell as the time ti between two adjacent clock transitions;

(2) writing a first clock transition at the beginning of the bitcell; and (3) encoding a binary data transition after the first clock transition in the ratio of t, , where td is the time duration

between the first clock transition and the data—- — transition, with the proviso that

Information that has been encoded pursuant to this method may have an encoded waveform exemplified by FIG. la. FIG. la shows a sequence of bitcells. Each bitcell is defined by a variable time i between two adjacent clock transitions. Within each bitcell, a data 0 bit or a data 1 bit has been encoded in accordance with the as defined. For illustration purposes, a data 0 bit has been encoded by the ratio d < 1 , and a data

~TJ 2

1 bit has been encoded by the ratio t d > 1

TJ 2 . As is well known to those skilled in the art, the method of decoding the encoded waveform of magnetic systems first requires the employment of a magnetic reader. The magnetic reader, in turn, may provide a time derivative encoded waveform of that shown in FIG. 1A. This time derivative encoded waveform is shown in FIG. IB. Observe that FIG. IB shows an analog encoded waveform, comprising (albeit

in a different form from FIG. 1A) the clock information mixed in with the data information. In particular, FIG. IB shows that each bitcell is defined by the variable time t. , and that the clock information comprises negative pulses or valleys, and that the data information comprises positive pulses or peaks.

Turning again to the Wash method, we are informed that the encoded waveform of FIG. IB may be decoded by the step of determining the time between the first clock transition and the data transition, and comparing this time to the variable bitcell time t.. Preferred circuitry for realizing this step is shown in FIG. 2. FIG. 2 shows an electrical circuit 10 suitable for decoding the encoded signal waveform that carries clock information and data information i.e., the waveform of FIG. IB. The structure of the electric circuit 10 is as follows. The electrical circuit 10 comprises a separator means 12 that receives the encoded signal waveform along a line 14. The separator means 12, in turn, comprises a negative peak detector 16, and a positive peak detector 18 connected in parallel with the negative peak detector 16. Continuing, the positive peak detector 18 is connected in series along a line 20 to a data timer 22. The negative peak detector 16, on the other hand, is connected in parallel to the data timer 22 along a line 32, and in series along a line 24 to a clock timer 26. The clock timer 26, in turn, is connected in series along a line 28, to a comparer means 30. Finally, the data timer 22 is connected in series to the comparer means 30 along a line 34. The operation of the Fig. 2 electrical

circuit 10 is now explained, with continued reference to the signal waveforms shown in FIG. 1, and with subsequent reference to Figs. 3 and 4.

To begin, the encoded waveform comprising clock information mixed in with the data information (FIG. IB), is provided as an input along the line 14 to the separator means 12. The separator means 12 provides an output clock signal (CS) and an output data signal, for each of a succession of bitcells. In particular, the separator means 12 accomplishes this by way of the negative peak detector 16, that detects the encoded signal waveform for clock-information, and_the__positive ~ peak detector 18, that detects the encoded signal waveform for data information. In particular, the negative peak detector 16 detects the encoded signal waveform for valleys, or negative pulses, and the positive peak detector 18 detects the encoded signal waveform for peaks, or positive pulses. The detector 16 outputs a clock signal (CS) pulse train (see FIG. IC) for input along the line 24 to the clock timer 26, and for input along the line 32 to the data timer 22. The detector 18, on the other hand, outputs a data signal pulse train (see FIG. ID) for input to the data timer 22 along the line 20.

Treatment of the data signal pulse train in the data timer 22 is disclosed below. For now, we turn to the continued analysis of the clock signal pulse train as it is inputted to the clock timer 26. The clock timer 26 generates a clock parameter CP that is a measure of the time demarked between a first and a second clock signal pulse. For illustration purposes, assume that a first and second clock signal pulse define a CP that is equal to 100 units. In other cases, that is, for other

bitcells, CP may be equal to say, 106 units, or 90 units. In all cases, the clock timer 26 generates the clock parameter CP, for input along the line 28 to the comparer means 30. The clock timer 26 is then reset to 0 units. By way of example, a suitable clock timer 26 may be constructed using conventional digital counter circuits and oscillators.

As just indicated, the clock timer 26 initiates its counting upon the advent of the first - clock signal pulse. This first clock signal pulse is also imputted to the data timer 22 along the line 32. By this action, the data timer 22 begins to count, and it continues to count until it receives a sequential data signal pulse along the line 20. The final count corresponds to the data parameter. For illustration purposes, assume that the data parameter is equal to 70 units for a first bitcell, and equal to 36 units for a second bitcell. In either case, the data timer 22 generates the data parameter for input along the line 34 to the comparer means 30. The data timer 22 is then reset to 0 units. By way of example, a suitable data timer 22 may be constructed using conventional digital counter circuits, oscillators and logic circuits.

If we now recall the Wash method decoding step, namely, determining the time between the first clock transition and the data transition, and comparing this time to the variable bitcell time t^ , it is clear that the electrical circuit 10 has provided all the necessary information in order to finally realize the decoding step in the comparer means 30. The comparer means 30, it is recalled, inputs the clock parameter CP along the line 28, and

-li¬ the data parameter along the line 34. The comparer means 30 generates a new parameter, namely CP . . The

2 importance of the parameter C_P is that it provides 2 an indication of the halfway point of each bitcell.

The comparer means 30 compares the data parameter for each bitcell, with that bitcell's parameter CP.

2 The comparer means 30 assigns a decoded signal a first valuation if the data parameter is less than

CP , and a second valuation if the data parameter is 2 greater than CP. 2

It is helpful to restate the operation of the comparer means 30, with reference to Figs, le and a. Fig. le shows decoded data information for sequential bitcells; the information was previously embedded in the encoded waveform of Fig. la. Recall from above that for purposes of illustration in Fig. la, we

the decoded signal a first valuation of data 0, when the data parameter is less than CP, and a second

2 valuation of data 1, when the data parameter is greater than CP. For example, assume than the 2 clock parameter for a given bitcell is 100 units (as determined by the clock timer 26), and that the data parameter is 70 units (as determined by the data

timer 22). Then, the comparer means 30 computes the parameter CP = 50 units. Since the data parameter 2

70 units is greater than CP - 50 units, the comparer 2 means 30 assigns the decoded signal the second valuation of data 1.

Attention is now directed to Fig. 3, which shows the electrical circuit 10 of Fig. 2, as well as a threshold circuit 36, a time out circuit 38, a counter timer 40, a multiplexer 42, a first logic circuit 44, and a second logic circuit 46. These added components are preferred for the following reasons. First, the threshold circuit 36, connected as shown between the separator means 12 and the clock timer 26 and the data timer 22, may be employed to suppress noise embedded in the Fig. lb waveform, to minimize the effects of amplitude changes in the Fig. lb waveform, and/or to provide a digital variant of the Fig. lb waveform.

Second, the time out circuit 38, connected as shown as an output to the clock timer 26, preferably is employed to address the following problem. In operation, the electrical circuit 10 may input sequential bitcells of unacceptably long duration. Or, a sequential bitcell string may simply come to an end. In either case, the time out circuit 38 may be used to disable further input to the clock timer 26 after a preselected interval.

Third, the counter timer 40 and multiplexer 42, connected as shown between the clock timer 26, the comparer means 30 and the first logic circuit 44, address the following problem. Recall that the clock timer 26 inputs the Fig. lc clock signal pulse

train, and generates the clock parameter CP that is a measure of the time demarked between a first and second clock signal pulse. This capability implicitly suggests that a second clock signal pulse stops the clock timer 26 from counting, and, at the same time, initiates the start of the next bitcell. This situation suggests an instantaneous overlap of functions. The solution to this problem of overlapping functions may be provided by the counter timer 40/multiplexer 42 in combination with the logic circuit 44. In brief, by way of the first logic circuit 44, which comprises a toggle flip-flop, the multiplexer 42 switches from a counter timer 48 to the independent, but otherwise functionally equivalent counter timer 40, per alternate bitcells. Note that in alternative embodiments, for example where a suitable microprocessor is employed at this stage of the electrical circuit, or equivalent logic hardware, there may be enough time to process the clock timer 26 clock parameter and restart counting for a sequential bitcell, without the necessity for employing the counter timer 40/multiplexer 42. Fourth, the second logic circuit 46, comprising a suitable set-reset flip-flop, functions to implement one of the stated objectives of the clock timer 26 specified above. Namely, the second logic circuit 46 helps provide the instruction to the data timer 22, in particular, to a counter timer 50, to the end that it should begin counting.

The operation of the electrical circuit 10 has been predicated on the following criteria:

(1) the Fig. la clock transition pulses are the opposite polarity of the data pulse. In particular, the clock transition pulses are

positive; the data transition pulses are negative. In other circuit embodiments, not shown, these polarities may be reversed, while still uniquely differentiating the clock transition pulses from the data pulse. Recall that this feature provides self-clocking, which, in turn, permits velocity insensitive encoding and decoding.

(2) the Fig. la, for the purposes of illustration, and pursuant to the Wash method, encodes a data 1 bit logic transition at the 1 time location, and a data 0 bit logic transition at the 0 time location (see the Whitfield et al. Application for more details on_this encoding realization). In other circuit embodiments, not shown, these locations may be reversed.

(3) the circuit 10 makes use of e.g., separator means, clock timers, and logic circuits. Conventional such components can be used for this purpose. (4) with respect to sub-paragraphs 1 to 3, as well as the entire disclosure, those skilled in the art will have no difficulty, having regard to the disclosure herein and their own knowledge, in making and using the invention and in obtaining the advantages of the various embodiments.

Attention is now directed to Fig. 4 which shows another aspect of the present invention, namely, an electrical circuit 52 comprising a separator means 54 and a microprocessor 56. In particular, the separator means 54 inputs along a line 58 the encoded signal waveform of Fig. lb, separates the clock information from the data information, and outputs along a line pair 60, 62, an output clock signal pulse train and an output data signal pulse train, for input to the

microprocessor 56. The microprocessor 56, in turn, comprises a program that

(i) generates a clock parameter CP that is a measure of the time demarked between a 05 first and second clock signal pulse;

(ii) generates a data parameter that is a measure of the time demarked between the first clock signal pulse and a first data sigal pulse;

10 (iϋ) generates a parameter C_P; and

2

(iv) assigns a decoded signal a first valuation if the data parameter is less than

CP, and a second valuation if the data parameter is 2

15 greater than £P.

2

By way of example , a suitable routine to this end, written in BASIC , is now listed .

20 10 REM* *ROUTINE FOR DECODING THREE-PART

ENCODED DATA STREAMS**

20 A=INP(XXX ) look at input port xxx -, -. 30 IF A AND CLKMASK THEN GOTO 40 look for CLOCK to go high

Δ 0 GOTO 10 loop if no clock

50 TOGGLE-0 force first pass through loop

60 WHILE NOT TOGGLE loop for counting

70 CLKCTR=CLKCTR+1 start timing CLOCKS (bitcell

30 length)

80 DATCTR=DATCTR+1 start timing DATA on first CLO

90 B-INP(xxx) look at input port xxx

100 IF B and DATMASK THEN stop timing DATA (data paramet DP « =DATCTR

35 110 IF B and CLKMASK THEN stop timing CLOCKS (clock CP-CLKCTR: TOGGLE- 1 parameter)

120 WEND . repeat loop until second CLOCr

130 HALF-CP/2 define 1 /2 bit cell

140 DATAPOSITION=HALF-DP determine data posi tion

40 150 IF DATAPOSITION > 0 THEN assign digital value DATABIT( I )-0

160 IF DATAPOSITION < 0 THEN assign digital value

DATABIT( I )-1

170 ELSE DATABIT( I )-9 flag bad DATABIT

45