System and method for using an input data signal as a clock signal in a RFID tag state machine

A system and method is disclosed for using an input data signal as a clock signal in a state machine of a radio frequency identification (RFID) tag. An output of a demodulator in the RFID tag is directly coupled to a clock input of the command state machine in the RFID state machine. The command state machine receives an edge detect signal directly from the input data signal and then immediately generates backscatter signals to begin a backscatter process. The edge detect signal may comprise a rising edge of a data symbol of the RFID protocol. The immediate initiation of the backscatter process reduces latency of the backscatter process in the RFID state machine.

TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to radio frequency identification (RFID) systems and, more particularly, to a system and method for using an input data signal as a clock signal in a RFID tag state machine.

BACKGROUND OF THE INVENTION

Radio frequency identification (RFID) technology is widely used to provide a non-contact automatic identification system. RFID technology provides an automatic method for efficiently collecting product, place, time or transaction data without human intervention.

A RFID system generally comprises a reader unit that uses an antenna to transmit radio energy to interrogate a responder such as a radio frequency identification (RFID) tag. As is well known, a RFID tag does not have an on-chip battery, but rather receives its energy from the incoming RF signal from the reader unit. The RFID tag uses the energy from the incoming RF signal to extract the data that is stored in the chip of the RFID tag and send the data back to the reader unit. The reader unit can then send the data from the RFID tag to a computer for further processing.

The RFID system usually comprises a reader unit and a plurality of RFID tags. The RFID system can be used to identify persons or objects that have a RFID tag and that are located within the reading range of reader unit. Using a pre-defined communication protocol the reader unit is capable of communicating with all of the RFID tags that are located within range.

In one embodiment of a RFID system the reader unit transmits data to a RFID tag with an amplitude modulated (AM) radio frequency (RF) signal having a frequency in the range from nine hundred MegaHertz (900 MHz) to two and fourth tenths GigaHertz (2.4 GHz). In the RFID tag a demodulator recovers the baseband digital data signal from the incoming RF signal. A demodulator in a RFID tag should be able to recover the baseband digital data signal of a RF amplitude that has sufficient power to power the chip of the RFID tag.

The demodulator in each RFID tag recovers the baseband digital data signal and provides it to a state machine in the RFID tag. If the RFID tag is to provide the reader unit with a response to the input signal (such as a responsive zero signal or a responsive one signal), then the state machine provides backscatter control signals for a backscatter signal to be sent to the reader unit at a particular frequency. The term “backscatter” refers to a method by which a RFID tag communicates with a reader unit.

The baseband digital data signal has a data period that comprises a low going pulse to indicate the presence of a data symbol that has been sent out by the reader unit. The data period of the baseband digital data signal also comprises a high going pulse to indicate to the reader unit when the reader unit is to listen and identify the type of backscatter signal, if any, from the RFID tags in its field.

The period of the low going pulse is coded by pulse width modulation (PWM) for three data symbols that are used in the RFID protocol. The three data symbols are Zero, One, and Null. A timing diagram shown inFIG. 1illustrates a data period for each of the three RFID data symbols.

The first data period that is illustrated is the data period for the Zero symbol. The low going pulse indicates the beginning of the data symbol. The length of time100that occurs between the low going pulse and the high going pulse indicates that the data symbol is a Zero symbol. The remainder of the data period after the high going pulse of the Zero symbol represents the time reserved for the reader unit to detect a backscatter signal, if a backscatter signal is present.

A typical length of time100for a Zero symbol is approximately three microseconds (3.0 μs). A typical data period is approximately twelve and one half microseconds (12.5 μs). This means that the time for the reader unit to search for a backscatter signal after a Zero symbol has occurred is approximately nine and one half microseconds (9.5 μs).

The second data period that is illustrated is the data period for the One symbol. The low going pulse indicates the beginning of the data symbol. The length of time110that occurs between the low going pulse and the high going pulse indicates that the data symbol is a One symbol. The remainder of the data period after the high going pulse of the One symbol represents time reserved for the reader unit to detect a backscatter signal, if a backscatter signal is present.

A typical length of time110for a One symbol is approximately six microseconds (6.0 μs). A typical data period is approximately twelve and one half microseconds (12.5 μs). This means that the time for the reader unit to search for a backscatter signal after a One symbol has occurred is approximately six and one half microseconds (6.5 μs).

The third data period that is illustrated is the data period for the Null symbol. The low going pulse indicates the beginning of the data symbol. The length of time120that occurs between the low going pulse and the high going pulse indicates that the data symbol is a Null symbol. The remainder of the data period after the high going pulse of the Null symbol represents time reserved for the reader unit to detect a backscatter signal, if a backscatter signal is present. However, no backscatter response is expected by the reader unit in response to an input Null symbol.

A typical length of time120for a Null symbol is approximately nine microseconds (9.0 μs). A typical data period is approximately twelve and one half microseconds (12.5 μs). This means that the time for the reader unit to search for a backscatter signal after a Null symbol has occurred is approximately three and one half microseconds (3.5 μs). As previously mentioned, no backscatter response is expected by the reader unit in response to an input Null symbol.

The state machine in the RFID tag first has to recover and identify a data symbol in the first portion of a data period of the baseband digital data signal. The state machine then performs state transitions to obtain backscatter control signals. The backscatter control signals determine whether a backscatter signal will be sent back to the reader unit during the remaining portion of the data period. If a backscatter signal is to be transmitted, the backscatter control signals also determine a frequency to be used to transmit the backscatter signal.

In order for all of the RFID tags to uniformly and correctly recover the data symbols there are two requirements. The first requirement is that all of the RFID tags must have a reference clock of the same frequency in order to accurately and uniformly measure the pulse and data periods. The second requirement is that all of the RFID tags mutually agree on the pulse widths for the Zero symbol, the One symbol and the Null symbol. T0this end the reader unit periodically sends out calibration pulses. The reader unit periodically sends out both oscillator calibration pulses and data calibration pulses.

During the oscillator calibration process the reader unit sends to the RFID tags a series of fixed duration oscillator calibration pulses. The state machine in each RFID tag uses the oscillator calibration pulses to tune the on-chip oscillator in its respective RFID tag to a fixed frequency.

During the data calibration process the reader unit sends to the RFID tags a series of data calibration pulses to train the RFID tags to recognize the pulse widths of the data symbols. That is, the data calibration pulses teach the RFID tags to recognize the various pulse widths of the Zero symbol, the One symbol and the Null symbol.

FIG. 2illustrates a timing diagram showing the data calibration pulses with respect to waveforms of the Zero symbol, the One symbol and the Null symbol. The first data calibration pulse is designated with the symbol “T0”. The T0pulse indicates the location of the upper bound for the Zero symbol and the location of the lower bound for the One symbol. A typical T0pulse occurs four and one half microseconds (4.5 μs) after the initial low going pulse of the data symbols.

The second data calibration pulse is designated with the symbol “T1”. The T1pulse indicates the location of the upper bound for the One symbol and the lower bound for the Null symbol. A typical T1pulse occurs seven and seventy five hundredths microseconds (7.75 μs) after the initial low going pulse of the data symbol.

The third data calibration pulse is designated with the symbol “T2”. The T2pulse indicates the location of the boundary for the end of the backscatter period (approximately one microsecond (1.0 μs) before the end of the data period). A typical T2pulse occurs eleven and one half microseconds (11.5 μs) after the initial low going pulse of the data symbol.

FromFIG. 2it may be seen that the duration of the Zero symbol is less than the duration of the first data calibration pulse T0. That is, the up going pulse at the end of the Zero symbol occurs before the up going pulse at the end of the first data calibration pulse T0.

Similarly, fromFIG. 2it may be seen that the duration of the One symbol is greater than the duration of the first data calibration pulse T0but less than the duration of the second data calibration pulse T1. The up going pulse at the end of the One symbol occurs after the up going pulse at the end of the first data calibration pulse T0but before the up going pulse at the end of the second data calibration pulse T1.

Lastly, fromFIG. 2it may be seen that the duration of the Null symbol is greater than the duration of second data calibration pulse T1but less than the duration of the third data calibration pulse T2. The up going pulse at the end of the Null symbol occurs after the up going pulse of the second data calibration pulse T1but before the up going pulse of the third data calibration pulse T2.

FIG. 3illustrates a block diagram300of an exemplary prior art demodulator310and prior art state machine320in an exemplary RFID tag. Demodulator310demodulates the input RF signal and provides input data to state machine320. State machine320comprises command state machine330, edge detect unit340, timer unit350, symbol recovery unit360, data calibration unit370, and oscillator calibration unit380.

Demodulator310provides the input data to edge detect unit340of state machine320. Edge detect unit340detects the edge transitions of the input data (both low going pulses and high going pulses) and provides the edge detect information to other units in state machine320. Specifically, edge detect unit340provides the edge detect information to command state machine330, timer unit350, symbol recovery unit360, data calibration unit370and oscillator calibration unit380. Timing information from the timer unit350is also provided on signal lines (not shown) to symbol recovery unit360, data calibration unit370and oscillator calibration unit380.

Oscillator calibration unit380uses oscillator calibration pulses from timer unit350to obtain tuning control signals for tuning oscillator390. Oscillator390generates the system clock signal. Command state machine330generates backscatter control signals. The backscatter control signals comprise a backscatter enable signal (denoted “bks_en”) and a backscatter data signal (denoted “bks_data”).

The timer unit350operates using the system clock signal from oscillator390. The timer unit350counts through every calibration/data period that is sent by the reader unit (not shown). The data calibration unit370stores the duration of the data calibration pulses T0, T1and T2using the timer unit350and the edge detect unit340. The data calibration unit370provides these stored values of data calibration pulses T0, T1, and T2to the symbol recovery unit360as T0_VAL, T1_VAL and T2_VAL.

The symbol recovery unit360generates flag pulses that indicate the likely data symbol (Zero symbol, One symbol, or Null symbol) that is present during each data period that has been activated by a low going pulse. Symbol recovery unit360generates a zero flag signal, a one flag signal, and a null flag signal and provides the flag signals to the command state machine330.

FIG. 4illustrates a timing diagram showing the three flag signals with respect to the data calibration pulses and waveforms of the Zero symbol, the One symbol and the Null symbol. When the low going pulse begins a data period, the Zero flag is set to a logical value of one. This means that the likely data symbol within the data period is first identified as a Zero symbol. If the high going pulse of a Zero symbol is detected before the occurrence of the T0pulse, this means that the data symbol is a Zero symbol. The Zero flag is reset to a logical value of zero at the time of the T0pulse.

The Zero flag pulse is “on” for approximately four and one half microseconds (4.5 μs). This is because the Zero flag pulse extends from zero microseconds (0.0 μs) at the initial low going pulse of the data symbol until the assertion of the T0pulse at four and one half microseconds (4.5 μs).

If the timer unit350counts beyond the time represented by the T0pulse and no high going pulse has been detected, this means that the likely data symbol is not a Zero symbol. Then the Zero flag is reset to a logical value of zero and the One flag is set to a logical value of one. This means that the likely data symbol within the data period is now identified as a One symbol. If the high going pulse of a One symbol is detected before the occurrence of the T1pulse, this means that the data symbol is a One symbol. The One flag is reset to a logical value of zero at the time of the T1pulse.

The One flag pulse is “on” for approximately three and twenty five hundredths microseconds (3.25 μs). This is because the One flag pulse extends from four and one half microseconds (4.5 μs) at the assertion of the T0pulse until the assertion of the T1pulse at seven and seventy five hundredths microseconds (7.75 μs).

If the timer unit350counts beyond the time represented by the T1pulse and no high going pulse has been detected, this means that the likely data symbol is not a One symbol. Then the One flag is reset to a logical value of zero and the Null flag is set to a logical value of one. This means that the data symbol within the data period is now identified as a Null symbol. The Null flag continues with a logical value of one until the end of the data period.

The Null flag pulse is “on” for approximately four and seventh five hundredths microseconds (4.75 μs). This is because the Null flag pulse extends from seven and seventy five hundredths microseconds (7.75 μs) at the assertion of the T1pulse until the end of the data period at twelve and one half microseconds (12.50 μs).

The rising edge of the Zero symbol waveform is spaced sufficiently far away from the T0pulse. The rising edge of the One symbol waveform is spaced sufficiently far away from the T0pulse and the T1pulse. The rising edge of the Null symbol waveform is spaced sufficiently far away from the T1pulse and the T2pulse. Therefore, the rising edges of the Zero symbol waveform, the One symbol waveform, and the Null symbol waveform are also spaced sufficiently far away from the flag signals that are generated by the symbol recovery unit360.

In the exemplary prior art state machine320the command state machine330operates using the system clock that is generated by oscillator390. The command state machine330receives the output of the edge detect unit340and uses the output of the edge detect unit340to receive notification of a rising edge of an incoming input data signal. There is a delay involved in the edge detection process within the edge detect unit340. This delay is on the order of two or three clock cycles. For a typical system clock that is operating at a frequency of two and two tenths megahertz (2.2 MHz) the delay is approximately from one microsecond (1.0 μs) to one and one half microseconds (1.5 μs).

The delay in the edge detect unit340means the command state machine330must wait for a period of time equal to the delay before the command state machine330receives the output of the edge detect unit340. This, in turn, causes the outputs of the command state machine330to be delayed by a corresponding amount. It would be advantageous to eliminate this delay within state machine320.

Therefore, there is a need in the art for a system and method that is capable of eliminating a delay in an edge detect signal that is provided to a command state machine within a state machine of a RFID tag. In particular, there is a need in the art for a system and method that is capable of rapidly providing an edge detect signal to a command state machine within a state machine of a RFID tag.

SUMMARY OF THE INVENTION

T0address the above-discussed deficiencies of the prior art it is a primary object of the present invention to provide a system and method for efficiently providing an edge detect signal to a command state machine within a state machine of a RFID tag.

An advantageous embodiment of the present invention comprises an apparatus and method for using an input data signal as a clock signal in a state machine of a RFID tag. The apparatus comprises a demodulator that demodulates a radio frequency signal to obtain a data input signal and an output of the demodulator that is directly connected to a clock input of a command state machine of the RFID state machine.

The command state machine in the RFID state machine receives an edge detect signal directly from the input data signal and then immediately generates backscatter signals to begin a backscatter process. The edge detect signal may comprise a rising edge of one of the data symbols of the RFID protocol. The immediate initiation of the backscatter process by the command state machine reduces latency of the backscatter process in the RFID state machine. The reduction in latency contributes to higher throughput of the RFID system as a whole.

It is an object of the present invention to provide a system and method for efficiently providing an edge detect signal to a command state machine within a state machine of a RFID tag.

It is another object of the invention to provide a system and method for using an input data signal as a clock signal in a command state machine within a state machine of a RFID tag.

It is yet another object of the present invention to provide a system and method for reducing latency in a state machine of a RFID tag.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 5illustrates a block diagram500of an exemplary demodulator510and state machine520of the present invention within an exemplary RFID tag of the present invention. Demodulator510demodulates the input RF signal and provides input data to state machine520. State machine520comprises command state machine530, edge detect unit540, timer unit550, symbol recovery unit560, data calibration unit570, and oscillator calibration unit580.

Demodulator510provides the input data directly to command state machine530. In addition, demodulator510provides the input data to edge detect unit540of state machine520. Edge detect unit540detects the edge transitions of the input data (both low going pulses and high going pulses) and provides the edge detect information to other units in state machine520except the command state machine530. Therefore, the delay generated within edge detect unit540is not passed on to the command state machine530. Specifically, edge detect unit540provides the edge detect information to timer unit550, symbol recovery unit560, data calibration unit570and oscillator calibration unit580. Timing information from timer unit550is also provided on signal lines (not shown) to symbol recovery unit560, data calibration unit570and oscillator calibration unit580.

Oscillator calibration unit580uses oscillator calibration pulses from timer unit550to obtain tuning control signals for tuning oscillator590. Oscillator590generates the system clock signal. Command state machine530generates backscatter control signals. The backscatter control signals comprise a backscatter enable signal (denoted “bks_en”) and a backscatter data signal (denoted “bks_data”).

The timer unit550operates using the system clock signal from oscillator590. The timer unit550counts through every calibration/data period that is sent by the reader unit (not shown). The data calibration unit570stores the duration of the data calibration pulses T0, T1, and T2using the timer unit550and the edge detect unit540. The data calibration unit570provides these stored values of the data calibration pulses T0, T1, and T2to the symbol recovery unit560as T0_VAL, T1_VAL and T2_VAL.

The symbol recovery unit560generates flag pulses that indicate the likely data symbol (Zero symbol, One symbol, or Null symbol) that is present during each data period that has been activated by a low going pulse. Symbol recovery unit560generates a Zero Flag signal, a One Flag signal, and a Null Flag signal and provides the flag signals to the command state machine530.

A command state machine comprises flip flop circuits called state registers (not shown). In the prior art command state machine330all of the state registers are clocked by the system clock from oscillator390, and state transitions occur after the edge detect unit340detects a rising edge on the input data signal. In the command state machine530of the present invention all of the state registers of command state machine530are clocked by the rising edge of the incoming data from demodulator510. That is, the clock input to each of the state registers in command state machine530is directly connected to the input data signal.

As previously mentioned, the rising edge of the Zero symbol waveform is spaced sufficiently far away from the T0pulse. The rising edge of the One symbol waveform is spaced sufficiently far away from the T0pulse and the T1pulse. The rising edge of the Null symbol waveform is spaced sufficiently far away from the T1pulse and the T2pulse. Therefore, the rising edges of the Zero symbol waveform, the One symbol waveform, and the Null symbol waveform are also spaced sufficiently far away from the flag signals that are generated by the symbol recovery unit560.

Although the incoming input data signal and the system clock are asynchronous with respect to each other, and although the flag signals are being generated by the system clock, the flag signals and the data rise edges of the input data signal are always sufficiently spaced apart. In particular, the flag signals easily meet the set up and hold requirements with respect to the data rise edges of the incoming input data signal. Therefore, it is possible to use the incoming input data signal itself as the clock signal for the command state machine530without any detrimental effect.

When the command state machine530receives the incoming input data signal directly the command state machine530can start the state transitions immediately. This means that the backscatter process can proceed immediately with absolutely no delay. The command state machine530immediately generates the backscatter enable signal (“bks_en”) upon detecting a rising data edge in the incoming input data signal. This feature reduces the latency in the output path of the state machine520and enhances the overall throughput of the RFID tag.

A simulation of a circuit employing the system and method of the present invention was performed to investigate the operation of the state machine520of the present invention.FIG. 6is a timing diagram illustrating exemplary signal waveforms of the present invention obtained from the simulation run.FIG. 6shows the assertion of a backscatter enable signal associate with a rising edge of a data symbol in accordance with the principles of the present invention.

The incoming input data signal inFIG. 6is designated “data_in”. The “data_in” signal comprises a Zero symbol610, a One symbol620, and a Null symbol630. The signal designated “zd_bnd_val” represents the Zero boundary value. At the end of the T0pulse (low going pulse) the signal “zd_bnd_val” changes from a state labeled “A” to a state labeled “B” inFIG. 6.

Similarly, the signal designated “od_bnd_val” represents the One boundary value. At the end of the T1pulse (low going pulse) the signal “od_bnd_val” changes from a state labeled “C” to a state labeled “D” inFIG. 6. The signal designated “bs_bnd_val” represents the end of Backscatter value. At the end of the T2pulse (low going pulse) the signal “bs_bnd_val” changes from a state labeled “E” to a state labeled “F” inFIG. 6.

The signal designated “zero” represents a Zero flag. The signal designated “one” represents a One flag. The signal designated “null” represents a Null flag. At the time of a rising edge of data following the T1pulse, only one of the three flags (zero, one, null) is active and the relevant signal type is already established.

The backscatter enable signal is designated “bks_en” and the backscatter data signal is designated “bks_data”. These signals represent the output of command state machine530. As shown by the vertical dotted lines inFIG. 6these signals are asserted with absolutely no delay with respect to the rising edge of data in the “data_in” signal.

FIG. 7is an oscilloscope image showing output signals of an application specific integrated circuit (ASIC) comprising a demodulator510and state machine520of a RFID tag in accordance with the principles of the present invention. The “data_in” signal of the ASIC is shown in Channel1of the oscilloscope image. The backscatter data signal “bks_data” of the ASIC is shown in Channel2of the oscilloscope image. The backscatter enable signal “bks_en” of the ASIC is shown in Channel3of the oscilloscope image. One observes that the backscatter data signal and the backscatter enable signal that are output from the state machine520change immediately following the rising edge of data in the “data_in” signal.

FIG. 8is a flow chart800illustrating an advantageous embodiment of a method of the present invention. In the first step demodulator510is coupled to command state machine530and to edge detect unit540in a state machine520of a RFID tag (step810). Then demodulator510sends an input data signal to command state machine530and to edge detect unit540(step820). The command state machine530uses the input data signal as a clock signal to clock command state machine530(step830).

Then command state machine530receives a rising edge of data and immediately generates backscatter control signals (step840). Command state machine530immediately initiates a backscatter process and thereby reduces the latency of the backscatter process in the state machine520of the RFID tag (step850).

For purposes of clarity steps830through850above are set forth sequentially. It is understood, however, that steps830through850occur substantially concurrently.