Patent Publication Number: US-9846664-B2

Title: RFID interface and interrupt

Description:
PRIORITY 
     This application is a continuation-in-part of U.S. patent application Ser. No. 12/833,817, filed Jul. 9, 2010, and claims priority to U.S. Provisional Patent Application No. 62/013,375, filed Jun. 17, 2014, and U.S. Provisional Patent Application No. 62/042,113, filed Aug. 26, 2014, which are herein specifically incorporated by this reference in each of their entirety. The present application is also related to U.S. patent application Ser. No. 12/833,861 filed Jul. 9, 2010, U.S. patent application Ser. No. 12/833,836 filed Jul. 9, 2010, and U.S. patent application Ser. No. 12/833,845 filed Jul. 9, 2010, which are herein specifically incorporated by this reference in each of their entirety. 
    
    
     TECHNICAL FIELD 
     The invention relates, in general, to the field of radio frequency identification (RFID) systems. More particularly, the invention relates in part to an RFID transponder incorporating ferroelectric random access memory (FRAM). The invention also relates to a modified serial interface that has utility within and beyond RFID applications. 
     BACKGROUND 
     As is well known in the art, a basic RFID system includes three components: an antenna or coil; a transceiver with decoder, i.e., RFID reader or interrogator; and a transponder, i.e., RFID tag, programmed with unique information. 
     RFID tags are categorized as either active or passive. Active RFID tags are powered by an internal battery and are typically read/write, i.e., tag data can be rewritten and/or modified. Passive RFID tags operate without a separate external power source and obtain operating power generated from the RFID reader. 
     An example of a typical passive RFID tag is shown in  FIG. 1 . Tag  100  includes an antenna  102  that is coupled to an analog front end circuit  104 , which is in communication with a digital and memory circuit  106  through receive (RX) and transmit (TX) paths. Most passive RFID tags today use some sort of electrically erasable programmable read-only memory (EEPROM) such as flash memory. 
     While EEPROM memory has served in passive RFID tag applications to date, the demands for greater data throughput into and out of the RFID are increasing. This can be seen for example in factory environments, and in collecting highway tolls. The EEPROM based passive RFID tags are slow and may not be suited for the higher throughput applications. Alternative, faster memories technologies such as FRAM exist that are ideally suited for these new higher speed RFID applications. However, the entire protocol associated with transferring data input and output of the RFID tag is, generally speaking, EEPROM-related. To take advantage of alternative memory technologies, such as FRAM, what is desired are extensions to the existing data protocol that is optimized for operating a passive RFID tag incorporating FRAM memory. 
     The EPC Global Generation 2 standard includes a published method of doing Block Writes to memory. This method is inefficient when considering the capability of faster memory technologies, such as FRAM memory. 
     SUMMARY OF THE INVENTION 
     Accordingly, the present invention is directed to an interrupt controller circuit for an RFID application that substantially obviates one or more of the problems due to limitations and disadvantages of the related art. 
     According to the present invention, a memory circuit includes a memory, a memory access control circuit coupled to the memory, an RFID interface coupled to the memory access control circuit, a secondary interface coupled to the memory access control circuit, and an interrupt manager coupled to the memory access control circuit, the RFID interface, and the secondary interface. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. 
         FIG. 1  is a block diagram of a prior art EEPROM based passive RFID tag. 
         FIG. 2  is a block diagram of a FRAM memory based passive RFID tag according to the present invention. 
         FIG. 3  is a block diagram of an embedded FRAM memory based RFID application. 
         FIG. 4  is a further detailed block diagram of the digital portion of the FRAM based RFID circuit shown in  FIGS. 2 and 3 . 
         FIG. 5  is a further detailed block diagram of the serial interface of the FRAM based RFID circuit shown in  FIGS. 2 and 3 . 
         FIGS. 6-10  are timing diagrams associated with the serial interface circuit shown in  FIG. 5 . 
         FIG. 11  is a block diagram of a memory pointer circuit associated with the digital portion of the FRAM based RFID circuit shown in  FIGS. 2 and 3 . 
         FIG. 12  is a portion of the memory contents associated with the memory pointer circuit of  FIG. 11 . 
         FIG. 13  is a flow chart of a prior art technique for writing data to memory. 
         FIG. 14  is a flow chart of another prior art technique for writing data to memory. 
         FIG. 15  is a flow chart of a technique according to the present invention for reading and writing data to memory using the memory pointer circuit of  FIG. 11 . 
         FIG. 16  is an EPC global BlockWrite command data structure according to the prior art. 
         FIGS. 17A and 17B  taken together represent a flow chart of a prior art method for implementing the BlockWrite command. 
         FIGS. 18A and 18B  taken together represent a flow chart of a method for implementing the BlockWrite command according to the present invention. 
         FIG. 19A  is a block diagram representation of a portion of the digital circuitry associated with the circuits of  FIGS. 2 and 3 , according one embodiment of the present invention, including an interrupt manager block. 
         FIGS. 19B and 19C  are block diagrams of two alternative method embodiments associated with interrupt initiation. 
         FIG. 19D  is an example of a custom interrupt generation control command data structure and RFID tag response message. 
         FIGS. 20A and 20B  taken together represent a flow chart for performing an interrupt method according to an embodiment of the invention, associated with the interrupt manager block of  FIG. 19A . 
         FIG. 21  is a flow chart for performing an interrupt method according to an embodiment of the invention, associated with the interrupt manager block of  FIG. 19A . 
         FIG. 22  is a block diagram of one embodiment of an embedded FRAM memory based RFID circuit. 
         FIG. 23  is a block diagram of another embodiment of an embedded FRAM memory based RFID circuit. 
         FIG. 24  is a block diagram of yet another embodiment of an embedded FRAM memory based RFID circuit. 
         FIGS. 25A to 25D  are block diagrams of various embodiments of embedded FRAM memory based RFID circuits. 
         FIG. 26  is a block diagram of one embodiment of an embedded FRAM memory based RFID, including a SPI master/slave interface. 
         FIG. 27  is a block diagram of one embodiment of an embedded FRAM memory based RFID, including a SPI master/slave interface and power control of slave device(s). 
         FIG. 28  is a flow chart for performing a master command according to an embodiment of the invention. 
         FIG. 29  is a flow chart for selection of SPI process or RFID process according to an embodiment of the invention. 
         FIG. 30  is a timing chart of SPI timing and a memory structure table for a single SPI device, according to an embodiment of the invention. 
         FIGS. 31A and 31B  are block diagrams of embodiments of an embedded FRAM memory based RFID, including alternative power sources. 
     
    
    
     DETAILED DESCRIPTION 
     The following description sets forth numerous specific details such as examples of specific systems, components, methods, and so forth, in order to provide a good understanding of several embodiments of the present invention. It will be apparent to one skilled in the art, however, that at least some embodiments may be practiced without these specific details. In other instances, well-known components or methods are not described in detail or are presented in a simple block diagram format in order to avoid unnecessarily obscuring the techniques described herein. Thus, the specific details set forth hereinafter are merely exemplary. Particular implementations may vary from these exemplary details and still be contemplated to be within the spirit and scope of the present invention. 
     Reference in the description to “an embodiment”, “one embodiment”, “an example embodiment”, “some embodiments”, and “various embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the invention. Further, the appearances of the phrases “an embodiment”, “one embodiment”, “an example embodiment”, “some embodiments”, and “various embodiments” in various places in the description do not necessarily all refer to the same embodiment(s). 
     The description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show illustrations in accordance with exemplary embodiments. These embodiments, which may also be referred to herein as “examples,” are described in enough detail to enable those skilled in the art to practice the embodiments of the claimed subject matter described herein. The embodiments may be combined, other embodiments may be utilized, or structural, logical, and electrical changes may be made without departing from the scope and spirit of the claimed subject matter. It should be understood that the embodiments described herein are not intended to limit the scope of the subject matter but rather to enable one skilled in the art to practice, make, and/or use the subject matter. 
     Referring now to  FIG. 2 , a passive RFID tag  200  according to the invention includes an antenna  202 , an analog front end  204 , and a digital portion  206  that includes digital control circuitry and FRAM memory and communicates with the analog front end  204  using the RX and TX paths. Additionally, RFID tag  200  includes a serial interface bus  208  coupled to pins  210 . A four bit wide bus  208  is shown in  FIG. 2 . The analog and digital portions of the RFID circuit  204  and  206  are normally integrated on to one or more integrated circuits. In the common/usual passive tag implementation shown in  FIG. 2 , the serial interface is normally not present and pins  210  are not used. 
     Referring now to  FIG. 3 , an embedded RFID application  300  according to the present includes an RFID integrated circuit  314 , which contains the analog front end  304  and the digital and FRAM memory portion  306 . The antenna  302  may or may not be actually included in the RFID integrated circuit  314 . Note in  FIG. 3  that four pins  310  associated with the serial interface of the digital portion  306  are brought out. The four pins  310  are the chip select, clock, DATA  1 , and DATA  2  pins, which are explained in further detail below. 
     The serial interface is typically coupled to a microprocessor  312 , which is in communication with various control inputs associated with the RFID application  300 . A typical application  300  could be a metering application, or a control application for a factory. The RFID integrated circuit  314  in a typical embedded application would be interrogated from time to time with a handheld reader (not shown in  FIG. 3 ). 
     Referring now to  FIG. 4 , the digital portion of the circuits of  FIGS. 2 and 3  is shown in greater detail. Digital portion  406  includes the RX and TX paths for reference with  FIGS. 2 and 3 . The RX and TX paths are in communication with a state machine  420  that is in bidirectional communication with FRAM memory block  422 . An arbitration logic block  424  is associated with FRAM memory  422 , and is used to bi-directionally control serial interface  426 . In turn, serial interface  426  is coupled through a four bit bus to external pins  410 . 
     Referring now to  FIG. 5 , further details of the serial interface  426  of  FIG. 4  are shown. As known in the art, a conventional serial peripheral interface (SPI) interface bus or a dual serial peripheral interface (DSPI) includes four pins: Select, Clock, DataIn, and DataOut. To transfer one byte of data, either in or out, requires eight clock cycles, in addition to the data dependent transitions on the single data line. The serial interface  500  shown in  FIG. 5  appears to be similar to a SPI interface, but there are two important improvements. First, both data ports are used as a bidirectional pair. Second, both edges of the clock are used to shift or transfer data. With both of these improvements, only a pair of clock cycles is used to transfer a byte of data. The power used in data transitions is constant, but the power used for clock transitions is cut by a factor of four. Optionally, a single edge of the clock can be used, rather than both edges. Although this requires more power than the dual edge solution according to the present invention, the single edge solution still saves power when compared to the traditional SPI interface. Thus, the serial interface  500  shown in  FIG. 5  is but one of the features for improving throughput in a FRAM memory based passive RFID tag or circuit, although it has utility in non-RFID applications as well. Specifically, serial interface  500  minimizes the number of clock transitions required to transmit a data word when compared to the convention SPI interface, while retaining the same pin count. 
     In  FIG. 5 , serial interface  500  includes a Select pin, a Clock pin, a bidirectional Data_ 1  pin, and a bidirectional Data_ 0  pin. The Select pin is coupled to an OpCode Interpreter and State Machine  504 , which is realized in conventional logic circuits. State machine  504  is in bidirectional communication with Data Out register  502  and Data In register  506 . Data Out register  502  is coupled through a 16 bit bus, which branches to two 8 bit busses, to shift register  508 A and shift register  508 C. Similarly, Data In register is coupled through a 16 bit bus, which branches to two 8 bit buses, to shift register  508 B and  508 D. Shift register  508 A loads data onto the Data_ 1  pin, shift register  508 B receives data from the Data_ 1  pin, shift register  508 C loads data onto the Data_ 0  pin, and shift register  508 D receives data from the Data_ 0  pin. Shift registers  508 A through  508 D are operated by alternative clock cycles through inverters  510  and  512 . The clocking and transfer scheme of the serial interface  500  is further explained with respect to the timing diagrams of  FIGS. 6-10 . Based on the received command, the state machine  504  produces the read or write control signal. It also transfers the address and data from the shift registers and applies them to the FRAM as appropriate. 
     Referring now to  FIG. 6 , the write cycle for 16 bits of information is shown. The CS Chip Select signal goes high, and, after a predetermined delay time of t CSU , the write cycle begins. During the first four clock cycles of the CLK pin, the D 1  data word includes a R/W bit, opcode information, and five address bits. An opcode can include information regarding an operational mode such as “test”, “normal”, “status”, or “control”. During the second four clock cycles of the CLK pin, the D 1  data word includes eight data bits which will be written to the FRAM memory. Similarly, during the first four cycles of the CLK pin, the D 0  data word includes opcode information and five address bits. During the second four clock cycles of the CLK pin, the D 0  data word includes eight data bits, also written to the FRAM memory. 
     Referring now to  FIG. 7 , the read cycle for 16 bits of information is shown. The CS Chip Select signal goes high, and, after a predetermined delay time of t CSU , the read cycle begins. During the first four clock cycles of the CLK pin, the D 1  data word also includes a R/W bit, opcode information, and five address bits. During the second four clock cycles of the CLK pin, the D 1  data word includes eight data bits from the FRAM memory. Similarly, during the first four cycles of the CLK pin, the D 0  data word also includes opcode information and five address bits. During the second four clock cycles of the CLK pin, the D 0  data word includes eight data bits, also from the FRAM memory. 
     Referring now to  FIG. 8  a detailed view of the first four clock cycles is shown. The first high transition of the CLK signal is used to transfer the R/W bit on D 1  and to transfer the OP 4  bit on D 0 . The first low transition of the CLK signal is used transfer the OP 3  bit on D 1  and to transfer the OP 2  bit on D 0 . The second high transition of the CLK signal is used to transfer the OP 1  bit on D 1  and to transfer the OP 0  bit on D 0 . The second low transition of the CLK signal is used transfer the A 9  bit on D 1  and to transfer the A 8  bit on D 0 . The third high transition of the CLK signal is used to transfer the A 7  bit on D 1  and to transfer the A 6  bit on D 0 . The third low transition of the CLK signal is used transfer the A 5  bit on D 1  and to transfer the A 4  bit on D 0 . The fourth high transition of the CLK signal is used to transfer the A 3  bit on D 1  and to transfer the A 2  bit on D 0 . The fourth low transition of the CLK signal is used transfer the A 1  bit on D 1  and to transfer the A 0  bit on D 0 . 
     Referring now to  FIG. 9  a detailed view of the write data is shown. The first high transition of the CLK signal is used to transfer the D 15  bit on D 1  and to transfer the D 14  bit on D 0 . The first low transition of the CLK signal is used transfer the D 13  bit on D 1  and to transfer the D 12  bit on D 0 . The second high transition of the CLK signal is used to transfer the D 11  bit on D 1  and to transfer the D 10  bit on D 0 . The second low transition of the CLK signal is used transfer the D 9  bit on D 1  and to transfer the D 8  bit on D 0 . The third high transition of the CLK signal is used to transfer the D 7  bit on D 1  and to transfer the D 6  bit on D 0 . The third low transition of the CLK signal is used transfer the D 5  bit on D 1  and to transfer the D 4  bit on D 0 . The fourth high transition of the CLK signal is used to transfer the D 3  bit on D 1  and to transfer the D 2  bit on D 0 . The fourth low transition of the CLK signal is used transfer the D 1  bit on D 1  and to transfer the D 0  bit on D 0 . 
     Referring now to  FIG. 10  a detailed view of the read data is shown. The first high transition of the CLK signal is used to drive the D 15  bit on D 1  and to transfer the D 14  bit on D 0 . The first low transition of the CLK signal is used transfer the D 13  bit on D 1  and to transfer the D 12  bit on D 0 . The second high transition of the CLK signal is used to transfer the D 11  bit on D 1  and to transfer the D 10  bit on D 0 . The second low transition of the CLK signal is used transfer the D 9  bit on D 1  and to transfer the D 8  bit on D 0 . The third high transition of the CLK signal is used to transfer the D 7  bit on D 1  and to transfer the D 6  bit on D 0 . The third low transition of the CLK signal is used transfer the D 5  bit on D 1  and to transfer the D 4  bit on D 0 . The fourth high transition of the CLK signal is used to transfer the D 3  bit on D 1  and to transfer the D 2  bit on D 0 . The fourth low transition of the CLK signal is used transfer the D 1  bit on D 1  and to transfer the D 0  bit on D 0 . 
     One possible use of increased user memory space on an RFID device is to store a pedigree or other sequential set of tracking information. One way to store this information in the prior art might be to read the device memory until a vacant location is found. This is clearly inefficient. Memory storage could be better managed if the RFID system had a known location to use as an address pointer. Then, the RFID system could read the known location to determine the next available memory location. Still, this requires multiple memory accesses and multiple RFID command/response rounds. This slows throughput on, for example, an assembly line. 
     A first memory storage technique  1300  according to the prior art is shown in the flow chart of  FIG. 13 , wherein the RFID tag has no present location indicator. Each occurrence of a wireless/RFID operation is denoted by an asterisk. At step  1302 , an RFID tag enters a field produced by, for example, a reader. At step  1304 , the reader identifies the RFID tag. At step  1306 , the reader initiates the read address. At step  1308  the read operation commences. At step  1312 , the data contents are read. If there is already data at that location, the address is incremented at step  1310 , and the data contents are again read. This process is repeated until a zero data location is found. Once a zero data location is found at step  1314 , the new data is written to memory at step  1316 . It can be seen from the flow chart of  FIG. 13  that there are a number of (depending on the number of times through the loop) separate steps in which a wireless/RFID operation is performed. 
     A second memory storage technique  1400  according to the prior art is shown in the flow chart of  FIG. 14 , wherein the RFID tag has a present location indicator at a defined location. Again, each occurrence of a wireless/RFID operation is denoted by an asterisk. At step  1402 , an RFID tag enters a field produced by, for example, a reader. At step  1404 , the reader identifies the RFID tag. At step  1406 , the reader reads the present location. At step  1408  the reader performs a write operation. At step  1410 , the present location indicator is incremented. Finally, at step  1412  the reader updates the present location. It can be seen from the flow chart of  FIG. 14  that there are four separate steps in which a wireless/RFID operation is performed. 
     According to the present invention, a memory pointer is located at a fixed read/writeable memory location. The user determines the range of his pedigree buffer and initializes the memory pointer to the lowest value in that range. A second memory location serves as the trigger address for the indirect write. When a user wants to write to the next location in the pedigree buffer, that write data is directed to the trigger address instead, and the controller will automatically write to the location pointed to by the memory pointer. When that write is complete, the controller increments the memory pointer to the next available location. Also, the controller will manage the behavior of subsequent memory accesses by interpreting the two associated control bits. These can operationally allow the pedigree buffer to automatically wrap back to the beginning for a case where much data is expected, but only the most recent records are necessary, or can be used to lock the data in locations below the pointer so that they cannot be overwritten by another operation, including a direct write to the memory. 
     A portion of a memory  1200  using the pointer according to the present invention is shown in  FIG. 12 . In the example of the memory shown in  FIG. 12 , the pointer is located at address 0xAB, and the data records are built up through the remainder of the memory. At the time the first record is written, the value in the pointer location will be updated to 0x0706, to point to the first unused location after the previous record. When that location is subsequently written, the value of the pointer will change to 0x070A. This process continues for the remainder of the memory. 
     While the following description of the present invention is in reference to the Gen 2 EPC (Generation 2 Electronic Product Code) protocol, it is apparent to those skilled in the art that the present invention may be easily extended to include other RFID protocols as well. A block diagram  1100  of a state machine, memory, and associated circuitry for carrying out the pointer method of the present invention is shown in  FIG. 11 . The memory pointer circuit includes a Gen 2 EPC state machine  1102  for providing the Increment, LOAD, NormAddr, and Norm or Pointer control signals. State machine  1102  is a typical Gen 2 decoder, with the addition of controls for loading or incrementing the Address Pointer location, as well as selecting the stored or standard address value. Memory  1104  includes address, data, and R/W signals. An Incrementor  1106  has an input and an output, and receives the Increment signal. The Address Pointer register  1108  has an input and an output, and receives the LOAD signal. The output of register  1108  is coupled to the input of Incrementor  1106 . A multiplexer  1110  receives the normal address at a first input, and the output of address pointer  1108  at a second input. The output of multiplexer  1110  is controlled by the normal or pointer control signal provided by state machine  1102 . The output of multiplexer  1110  is coupled to the address input of memory  1104 . 
     The state machine  1102  shown in  FIG. 11  represents the entire EPC Gen2 protocol processor. The primary external input for this is the RX (received data) signal, which comes from the analog front end chip, as is shown in  FIG. 2 . The state machine  1102  processes the Gen2 commands; the block write command shown in  FIG. 16  is an example of one of these commands. Depending on the nature of the specific command, the state machine  1102  may do a single or multiple memory read or write. In addition to the address control that is shown in  FIG. 11 , the state machine  1102  also provides the read/write control (R/W) and data (D). 
     The method  1500  for operating the memory pointer circuit shown in  FIG. 11  is shown in flow chart form in  FIG. 15 . Wireless/RFID operations are again denoted with an asterisk. According to the present invention, a tag enters the reader field at step  1502 . At step  1504 , the reader identifies the RFID tag. At step  1506  the reader writes to the stored address trigger location. At step  1508 , the tag directs a write to the present location. At step  1510  the tag increments the present location register. Note that only two wireless/RFID operations are undertaken in the method  1500  of the present invention. Thus, interrogations of the RFID tag are minimized, and data throughput is desirably maximized. 
     The command structure  1600  of the EPC Global BlockWrite command is shown in  FIG. 16 . The timing sequence of the command is indicated in the bit fields as shown in  FIG. 16 , from left to right. Included are the Command, MemBank, WordPtr, WordCount, Data, RN, and CRC (Cyclic Redundancy Check) bit fields. In an RFID application, a receiver must transfer all the bits and compute a CRC across the entire command, as well as providing a local buffer for the data. Until the entire command has been received and the locally computed CRC is compared to the external CRC (the last part of the command) the validity of the command, and particularly the address or data values, cannot be ascertained. If the two CRC values do not match, the entire command must be discarded. 
     For EEPROM or Flash memory technologies, BlockWrites are difficult given the slow write times of those technologies. They further require the use of an internal buffer to save all of the data prior to checking the message CRC. 
     A traditional BlockWrite method according to the prior art is shown in  FIGS. 17A and 17B . Referring to  FIG. 17A , at step  1702  an RFID tag enters the field. At step  1704  the reader identifies the RFID tag. At step  1706  the Command bits of the BlockWrite command are received from the reader. At step  1708  the BlockWrite Word Pointer is received from the reader. At step  1710  the RFID tag stores this as the starting address. At step  1712  the BlockWrite Word Count is received from the reader. At step  1714  the RFID tag stores the word count. At step  1716  each data word is received from the reader. At step  1718  this word is written to a local buffer. At step  1720  the word count is decremented. Referring now to  FIG. 17B , at decision block  1722  the word count is interrogated to find a zero word count. If the word count is not zero, the method is performed again starting at step  1716 . If the word count is zero, then the method continues to step  1724  and the RN 16  handle is received from the reader. The received handle is compared at step  1725  to the stored handle. If they match, the method continues to step  1726 . If they do not match, the method continues directly to step  1732  where it is terminated without committing the local buffer contents to main memory and the method is complete at block  1734 . At step  1726  the internal CRC 16  is computed. At step  1728  the expected CRC 16  is sent. At decision block  1730 , the computed CRC is compared to the sent CRC. If they are different, then the RFID interaction is terminated at step  1732  without committing the local buffer contents to main memory, and the method is done  1734 . If the computed CRC is the same as the sent CRC, then the method continues at step  1736  and the word count is reset. At step  1738  a word of buffer data is written to the starting address. At step  1740  the stored address is incremented. At step  1742  the word count is decremented. At decision block  1744 , the word count is checked to see if it is zero or not. If the word count is non-zero, then the method is repeated starting with step  1738 . If the word count is zero, then the prior art method is done at step  1746 . 
     The method of the present invention includes several improvements. First, by using a stored address pointer, the address is always known. Second, since the user can point the starting address at a known safe block, there is no need for an intermediate buffer as in the prior art. The data can be written to the safe area, and the CRC computed as is normally done. If it matches, the data is retained and the address pointer is updated. If it does not, the address pointer is kept and the write can be repeated. The main advantage of the invention, however, is that using it (in conjunction with FRAM or other high speed nonvolatile memory) enables writes to be performed “on-the-fly” and without excessive area penalty, even though the EPC global protocol for Block Writes does not adequately support arbitrarily long, verified writes. 
     The BlockWrite method of the present invention is shown in a flow chart  1800  of  FIGS. 18A and 18B . Referring now to  FIG. 18A , the method of the present invention uses a stored address on the RFID chip to write to the next unoccupied memory space, which is a safe area and will not overwrite previously written memory contents. At step  1802  the RFID tag enters the field. At step  1804  the reader identifies the tag. At step  1806  the BlockWrite command is initiated. At step  1808 , the stored address trigger location is received and recognized. At step  1810  the BlockWrite word count is received. At step  1812  the tag stores the word count. At step  1814  the first data word is sent. At step  1816  the primary buffer is written. At step  1818  the word count is decremented. Referring now to  FIG. 18B , at step  1820  the word count is checked to see if it is zero or not. If the word count is not zero, then the method is repeated starting at step  1814 . If the word count is zero, then the method is continued, and the RN 16  handle is sent at step  1822 . The received handle is compared at step  1823  to the stored handle. If they match, the method continues to step  1824 . If they do not match, the method continues directly to step  1830  where it is terminated without committing the local buffer contents to main memory and the method is complete at block  1832 . At step  1824  the internal CRC 16  is computed. At step  1826  the expected CRC 16  is sent. At decision block  1828  the computed CRC 16  is compared to the sent CRC 16 . If the answer is no, the stored address pointer is reset to its previous value at step  1830 , and the method is done at step  1832 . If the answer is yes, then a new address pointer location is set to the old address pointer location plus the stored word count at step  1834 , and the method is terminated at step  1836 . The method according to the present invention assures that new information is always sent to a safe area, and that previously written memory contents are not overwritten. 
     RFID devices with secondary interfaces such as the embedded application shown in  FIG. 3  usually have an associated controller such as MCU or CPU that may additionally require memory access. Such a solution requires significant power and thus limits the effectiveness and range of the RFID tag. In one embodiment, it may be more power efficient to control the secondary interface and peripheral devices without using an embedded or integrated controller. 
     The embodiments of the present invention allows for a simple, effective means of memory access control for an RFID circuit having two primary access ports as shown in  FIG. 3 , and explained in further detail with respect to  FIGS. 19A-D . 
     According to one embodiment, an RFID interrogator/reader initiates an interrupt operation by writing data to two known addresses in the available memory space. The order is not important, but the data from the two writes must satisfy some predetermined relationships. In the first implementation, the two 16-bit words must XOR to a preset hexadecimal value such as 0x1234. Also, the data is only transferred for comparison at the first write to each location after a reset. A reset will also occur at the end of the interrupt process as well as at power-on. 
     In one embodiment, if the data does satisfy this condition, a rising edge interrupt signal is sent out via the serial port chip select and/or a GPIO port of RFID chip, such as but not limited to RFID IC  314  shown in  FIG. 3 . The serial port chip select pin is generally an input, but for this purpose it may be used as an output. The peripheral device such as an external controller will sense this rising edge (or high level) as an interrupt trigger. The proper response is to issue two full clock cycles on the serial port clock pin. This will acknowledge the interrupt and cause the RFID device to release the full serial secondary interface port for subsequent access. At the same time, it may disable the RF interface from being able to attempt a memory access. 
     When the external serial controller is finished with its transactions, it sends a specific op code or command which the RFID device recognizes as the end of the serial controller&#39;s access session. The serial bus is then reconfigured to an inert state such that the serial controller can no longer control it, and the RFID device resumes its normal activity. The interrupt controller will be reset to allow an additional interchange if desired. 
     Referring to  FIG. 19A  that illustrates a portion of RFID circuit  1900 , the memory access is controlled by interrupt manager  1910 , which communicates with memory access control block  1908  via bus  1922 . In turn, memory access control block  1908  communicates with memory array  1902  through bidirectional bus  1912 . An RFID interface  1904  communicates with memory access control block  1908  via bidirectional bus  1914 , and with interrupt manager  1910  through bus  1916 . The serial secondary interface  1906  communicates with memory access control  1908  via bidirectional bus  1918 , and with interrupt manager  1910  through bus  1920 . The secondary interface  1906  is further coupled to one or more devices such as peripheral device(s)  1940 ,  1942  and  1944  via buses such as bus  1952 . The quantity, configuration and types of peripheral devices may be specifically designed according to system requirements. In one embodiment, one or the other of RFID interface  1904  and secondary interface  1906  must be the interrupt master, and has initial and primary control and access of memory array  1902 . Upon a proper command, that interrupt master interface can relinquish control and allow the other interface to take over intermittently. In one embodiment, secondary interface  1906  may include logic to determine which one of the peripheral device  1940 ,  1942  or  1944  to have memory access when it is taking over control of the memory. In one embodiment, peripheral devices  1940 , etc. may or may not share bus(es) when coupling with secondary interface  1906 . When secondary interface  1906  is finished, it signals to interrupt manager  1910  to relinquish the memory buses, and allows the primary interface i.e. RFID interface  1904  to regain control once again. 
     Referring to  FIGS. 20A and 20B , one embodiment of the interrupt method is shown in flow chart  2000 . Referring to  FIG. 20A , a tag or RFID chip enters the field of RFID reader at step  2004 . At step  2006 , RFID reader identifies the tag or RFID chip. At step  2008 , optional tag operations are performed. At step  2020 , a first trigger address is written with first trigger data. At decision block  2012 , the question is asked if this is a first write at that location. If the answer is yes, the write data from the command is placed in a local register and the method continues at step  2016 . If the answer is no, optional tag operations are performed at step  2016 . At step  2018 , a second trigger address is stored with a second trigger data. At decision block  2020 , the question is asked if this is a first write at that location. If the answer is yes, the write data from the command is placed in a second local register and the method continues at step  2024 . At step  2024 , the data in the second register is exclusive ORed (XORed) with the first trigger data. At decision block  2028 , the result of the XOR operation is compared to a predetermined hexadecimal value such as 0x1234. If the answer is no, then normal tag operations are continued at step  2026 . If the answer at decision block  2020  is no, then operations are also continued at step  2026 . If the answer at decision block  2028  is yes, then an interrupt signal is sent to the serial port chip select, and RFID reception is blocked at step  2030 . In one embodiment, the interrupt signal is a high signal with a rising edge. In other embodiments, the first and second trigger data may be subjected to operations additional to/other than XOR operation at step  2024 . 
     Referring to  FIG. 20B , the serial behavior of the peripheral microcontroller in the embedded application is shown in flow chart  2001 . At step  2034 , the microcontroller is interrupted with the previously described rising edge on the chip select pin. At step  2036 , the microcontroller acknowledges the interrupt. At step  2038 , the memory in the RFID chip is read or written to as required. Decision block  2040  shows that these memory interactions may be a single or multiple operations before the session is finished. If the answer at block  2040  is no, then the memory is read from or written to as required. If the answer is yes, the method is continued at step  2042 , wherein an Interrupt End OpCode is sent. 
     Flow chart  2002  again describes the operations pertaining to the RFID tag  1900  or integrated circuit. At step  2044 , the interrupt is cleared, and at step  2046 , RFID interface/reception is again enabled. 
     The memory access control system as best shown in  FIG. 19A  does not require a sophisticated means such as an embedded microprocessor or CPU for coordinating access to the memory between the two different interfaces, for example between RFID interface  1904  and serial secondary interface  1906 . In one embodiment, instead, the RFID side (interface) is chosen to be the master, which initiates and controls all memory accesses. The secondary serial interface  1906  may be told when it can intermittently access the memory during an interrupt initiated through the RFID master interface  1904 . 
     In one embodiment, the interrupt method as described can be used to power/wake up an external or peripheral device(s) such as a microprocessor, controller or CPU which communicates to RFID chip via a serial interface. An acknowledge sequence initiated by the external device is used to assure reception of the interrupt and may lock out the RFID interface while the serial secondary interface is in control of the memory. This embodiment prevents a case where the RFID interface alone sets the interrupt condition, but the serial secondary interface never responds, and the RFID interface is forever locked out. Instead, the lockout is under control of the serial secondary interface, and ensures that there cannot be a case where the two interfaces fight for access to the memory. When the serial interface is finished, an Interrupt End op-code is used to re-allow the RFID interface to have access to the memory as well as blocking further serial access by external device(s) until the next interrupt cycle. 
     In one embodiment, memory access control block  1908  is essentially a set of multiplexers. The RFID and serial interfaces both provide addresses, data and select controls. Normally and not during an interrupt session, the multiplexers steer the RFID controls to the memory array  1902 . During an interrupt session, the multiplexers are uniformly switched to the serial controls and the RFID controls are blocked. In one embodiment, if memory array  1902  is in the middle of an access cycle, there is a feedback mechanism from memory array  1902  which does not allow this switch of memory control/access to occur before the access is complete. As discussed, memory array  1902  includes FRAM memory. 
     The other advantage of the embodiment is that it allows the RFID interface  1904  to communicate directly with the serial secondary interface  1906  at the time of its choosing in a closed loop. Since RFID interface  1904  controls the initiation of the interrupt, it can initiate the activity, such as memory access, of the serial secondary interface  1906 . Without an interrupt, the serial secondary interface  1906  would interact with memory array  1902  on its own cadence, and the RFID interface  1904  would have to continually check the status. 
     As discussed earlier, a sequence of two standard EPC Class 1 Generation 2 or other standards write operations may be used to trigger a high-going interrupt signal optionally via a Select pin of the serial interface of a RFID chip, such as WM72016 by Cypress Semiconductor Corporation. As best shown in  FIG. 3 , the Select pin is part of the SPI or DSPI ports to which a serial peripheral device such as an external CPU, microprocessor will be attached. In response to this interrupt, CPU that supports I/O interrupts is expected to acknowledge the interrupt with two cycles of the DSPI Clock via the Clock pin. Then, the CPU can use the DSPI port to interact with the memory such as FRAM on the RFID chip. In one embodiment, the RFID interface is temporarily disabled so that the CPU has exclusive access to FRAM memory array. When the CPU is finished with its operations, it releases FRAM memory with a specific op-code, usually called INTEND. In one embodiment, when CPU has completed its appointed activities, the final process in the interrupt cycle is for the CPU to send a specific op-code such as INTEND through the DSPI port via DATA pins to release the interrupt and the lock on the FRAM memory array. The procedure also re-enables the RF interface and its access to FRAM memory array. 
     Referring to  FIG. 19B , in one embodiment of RFID circuit  1950 , after each write operation, a write acknowledge signal is transmitted via the RFID interface back to the RFID reader/interrogator. In one embodiment, the RFID reader/interrogator will poll the RF port via RFID interface of the RFID chip periodically to detect whether the interrupt cycle is complete. The lack of response from the RFID interface indicates to the RFID reader that RFID chip is busy with the interrupt operation session. 
       FIG. 19C  is a block diagram showing a RFID circuit  1960  of an alternative method embodiment associated with interrupt initiation. In one embodiment, instead of using two write address commands, a single custom RFID interrupt command which utilizes a command structure similar to the EPC BlockWrite command as best shown in  FIG. 16  and explained in its corresponding description. The custom RFID interrupt command is supported within the EPC Class 1 Gen2 UHF RFID standard specification and all previous versions thereof, and is used to initiate interrupt operation of RFID chip. In one embodiment, the custom command conforms to requirements as set forth in the standard, including the command code, CRC protection, and the way the custom command is used within the protocol. Therefore, this open flexibility provides a framework for manufacturers to implement features in their IP and still be compliant with the RFID standard. In one embodiment, the RFID chip would have a specific way to interrupt some back-end processor which includes the full RFID-compliant description of the interrupt allows RFID readers to use the custom command, usually through a software development kit (SDK) that is provided with the RFID reader hardware. Referring to  FIG. 19C , RFID reader transmits a single custom command interrupt generation INTGEN to RFID chip via RFID interface. Upon receipt of the INTGEN command, RFID chip will start interrupt and enable secondary interface and peripheral device(s)/sub-system to gain access to FRAM memory in the RFID chip. Optionally, RFID reader may transmit an interrupt status INTSTAT command to RFID chip via RFID interface to check on the status of the interrupt. In one embodiment, instead of polling the RF port periodically via RFID interface of the RFID chip to detect whether the interrupt cycle is complete, an interrupt done INTDONE response is transmitted from the RFID chip. The inclusion of the INTDONE response would be exactly the same as is done when a reader performs a standards-compliant WRITE cycle to RFID chip as it responds with a “done” response to the RFID reader. In one embodiment, this implementation of interrupt generation aligns closer with the current further improving efficiency and potentially power reservation. By eliminating polling of the RF port to check on interrupt operation completion, the RFID embodiment  1960  shown in  FIG. 19C  can reduce communication time with RFID reader and provide better data points for system-level error handling. Besides, the INTGEN custom commands do not require writing data to known addresses in FRAM which will prevent accidental and false interrupt initiation. In one alternative embodiment, the data payload of the INTGEN instruction may be used to carry command or control information for either the RFID tag or the serial peripheral device. This may consist of requesting interrupt status, controlling GPIO, resetting the RFID tag interrupt status, or used to provide control/status of other state data. In another alternative embodiment, the data payload of the INTGEN instruction may be used to transmit full system-level instructions to a peripheral microprocessor connected to the serial port. 
     Referring to  FIG. 19D , one embodiment of command structure  1970  of custom RFID interrupt command is shown. In one embodiment, the custom RFID interrupt command adopts a command structure similar to the EPC BlockWrite commands as described in of  FIG. 16 . The timing sequence of the command is indicated in the bit fields, from left to right. The custom RFID interrupt command includes the Command, Wordcount, Data, RN, and CRC (Cyclic Redundancy Check) bit fields. In an RFID application, a receiver must transfer all the bits and compute a CRC across the entire command, as well as providing a local buffer for the data. Until the entire command has been received and the locally computed CRC is compared to the external CRC (the last part of the command) the validity of the command, and particularly the address or data values, cannot be ascertained. If the two CRC values do not match, the entire command must be discarded. 
     In one embodiment, the high-going RFID interrupt signal can be used to trigger I/O activity in any system in addition to the memory access as described earlier. In one alternative embodiment, the RFID interrupt signal may be a low signal, depending on the system design. In an RFID system, RFID interrupt signal can be used to affect control of other systems or components. However, in some cases, some applications and/or peripheral devices may not be able to acknowledge the interrupt or subsequently issue the INTEND op-code to clear it. In one embodiment, in those circumstances, RFID chip can be restored to the original state/non-interrupt state i.e. RFID interface access to FRAM memory, by simply removing the RF source e.g. radio frequency field as provided by the RFID reader and allowing RFID chip to reset. 
     In one embodiment, the RFID interrupt as described in  FIGS. 19A-D  and  20 A&amp;B may be used to control more than one serial peripheral devices. Instead of sending RFID interrupt signal via a single I/O pin of one serial secondary interface, the same embodiment can be extensible to include more I/O pins and/or more serial interfaces during a similar process. 
       FIG. 21  is a flow chart  2101  of steps for performing an interrupt method in which RFID interrupt signal is configured to be sent to potentially more than one serial peripheral devices. Referring to  FIG. 21 , after RFID reader has identified RFID chip/tag and is ready to initiate an interrupt, at step  2112  a first trigger data pattern is written to a first trigger address in FRAM memory. It will then be questioned whether this is a first write at that location. If the answer is yes, the write data from the command is placed in a local register and the method continues at step  2114 . At step  2114 , a second trigger data pattern is written to a second trigger address. Similarly, it will then be questioned whether this is a first write at that location. If the answer is yes, the write data from the command is placed in a second local register and the method continues to step  2116 . At step  2118 , the data in the second trigger data is exclusive ORed (XORed) with the first trigger data. At decision block  2118 , the result of the XOR operation is compared to a first predetermined hexadecimal value such as 0x1234. If the answer at decision block  2118  is yes, then a first interrupt signal is sent to a first serial peripheral device via the chip select port at serial secondary interface. In one embodiment, steps  2112  to  2118  are similar to the process described earlier in  FIG. 20A . If the answer at decision block  2118  is no, it will proceed to block  2122  in which the result of the XOR operation is compared to a second predetermined hexadecimal value which is different from the first value. If the answer at decision block  2122  is yes, then a second interrupt signal is sent to a second serial peripheral device via a different chip select port at serial secondary interface. In alternative embodiments, according to the system design and intended functions, the first and second peripheral devices and serial secondary interface may or may not be the same. If the answer at decision block  2122  is no, it may proceed to compare the result of the XOR operation to a third predetermined hexadecimal value. In one embodiment, the similar comparing step may be repeated to subsequent predetermined hexadecimal value(s), as illustrated in blocks  2126  and  2128 , to determine which interrupt signal to be issued to which chip select pin and/or in which serial secondary interface. The interrupt initiation process will end when no match is found. As described, the mechanism for triggering the interrupt requires trigger data written to a pair of known trigger address locations. In one embodiment, using the same two addresses, with different data patterns used to convey port function for an expanded set of I/Os, additional pins could be controlled. In other embodiments, the first and second trigger data may be subjected to operations additional to/other than XOR operation at step  2116 . 
     Alternatively or additionally, in one embodiment, the first and second trigger data can be written to different trigger address pairs in which each pair is corresponding to a different serial peripheral device. The result of the XOR operation is compared to one single predetermined hexadecimal value such as 0x1234. If the result of the XOR operation matches the predetermined hexadecimal value, the particular trigger address pair where the trigger data is written to will determine which serial peripheral device the interrupt signal is sent to. An example of trigger address pairs are listed in Table 1. 
     
       
         
           
               
               
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 DSPI 
                 Gen-2 Memory 
                 Gen-2 
                 Word Pointer 
                   
               
               
                 Address 
                 Bank 
                 Address 
                 (EBV8) 
                 Description 
               
               
                   
               
             
            
               
                 0x018 
                 USER 
                 0x004 
                 0x04 
                 First Interrupt 
               
               
                 0x019 
                 USER 
                 0x005 
                 0x05 
                 Trigger Pair 
               
               
                 0x01A 
                 USER 
                 0x006 
                 0x06 
                 Second Interrupt 
               
               
                 0x01B 
                 USER 
                 0x007 
                 0x07 
                 Trigger Pair 
               
               
                 0x01C 
                 USER 
                 0x008 
                 0x08 
                 Third Interrupt 
               
               
                 0x01D 
                 USER 
                 0x009 
                 0x09 
                 Trigger Pair 
               
               
                   
               
            
           
         
       
     
     In yet another alternative embodiment, the INTGEN custom command which is shown in  FIG. 19C  and discussed in its corresponding description may be used to initiate the interrupt to multiple peripheral devices. In one embodiment, INTGEN custom command can convey an address or other means of selecting from multiple peripheral devices, via the Auxiliary Interrupt Data bits, as best shown in  FIG. 19D . 
     In one embodiment, the interactions during an interrupt session between the peripheral device(s) and RFID chip are not limited in any way as they can be extended beyond Reads or Writes to the memory. The interactions are configurable through user application to determine what should take place. The configuration requires coordination at the system level, from RFID reader and its infrastructure through the CPU operating code. In one embodiment, a representative application is a metering application in which a peripheral CPU controls or has built in a flow sensor, or a temperature sensor or other sensors. RFID reader would initiate an interrupt and the CPU would be woken up by the interrupt signal, it will then acknowledge the interrupt and thus block RFID interface access to FRAM memory, check the FRAM memory for specific instructions, then arm and interrogate the sensor(s), store the result in the FRAM memory, and finally, issue INTEND command to relinquish access and control of the FRAM memory. After that, RFID reader will regain control and access to FRAM memory via RFID interface and be able to read the meter values stored by the peripheral CPU during the interrupt. 
     As discussed, RFID interrupt is not limited to memory access control. In one embodiment, the RFID interrupt signal is used to control the state of a power switch, optionally providing power to a peripheral CPU or processor as illustrated in  FIG. 22 . Referring to  FIG. 22 , it shows a representative partial wireless circuit  2200  which includes antenna  2220 , RFID chip  2218  such as WM72016 by Cypress Semiconductor Corporation, switch  2216 , serial bus  2214 , CPU  2212  and battery  2210 . In one embodiment, CPU  2212  is powered by battery  2210 . For extremely power sensitive applications, the standby or sleep current of even a modern CPU  2212  can represent too great of a load on battery  2210 . As shown in  FIG. 22 , interrupt signal sent via GPIO port and/or CS select pin of a serial secondary interface is used to control power switch  2216  to ensure that battery  2210  does not continue to drain through CPU  2212  while the system  2200  is off and CPU  2212  is unpowered, or in a low power mode when there is no interrupt operation. This allows using a smaller, cheaper battery, or equivalently, a longer life for the application. In one embodiment, when a RFID interrupt is initiated, the high-going interrupt signal is sent to power switch  2216 , such as an n-channel FET. The high-going interrupt signal is coupled to the gate in order to turn on power switch  2216  and wake up CPU  2212 . CPU  2212  will then acknowledge the interrupt and proceed with its activities. In one embodiment, the Acknowledge and INTEND process may still be completely supported, as CPU  2212  still has access to the full DSPI port via bus  2314 . Optionally, the acknowledge function can be coded in CPU  2212  boot routines which may allow CPUs that do not support I/O interrupts to be used in this manner in a wireless system as well as realizing greater power savings by having the CPU  2212  fully off between wireless activities. 
       FIG. 23  shows a representative partial wireless circuit  2300  similar to circuit  2200 . Referring to  FIG. 23 , instead of using battery  2210  as power supply to CPU  2312 , power is harvested by RFID chip  2318  optionally of RF signal received from RFID reader (not shown) and provided to CPU  2312  via coupling  2310 . In one embodiment, the high-going interrupt signal is sent to the gate of power switch  2316  to turn it on. Power switch  2316  enables CPU  2312  to operate under excess power from the RFID harvester. Powering CPU  2312  as shown in circuit  2300  is a drain on the RF resources and will limit the operating range of the transceiver. Therefore, it is advantageous to not burden the harvester with the CPU power load when the CPU is not needed and put it in a low power mode, or fully off, with the control of RFID interrupt signals. 
       FIG. 24  illustrates a representative partial wireless circuit  2400  in which power switch  2416  is integrated in RFID chip  2418 . In one embodiment, since the available power is known due to the capacity of the internal rectifier/harvester  2410 , a switched output power port with power switch  2416  can be sized to deliver any available excess power. Besides, using RFID interrupt signal may include far greater control over external resources than are found with no, or single pin interrupt methods in wireless applications. Embodiments illustrated in  FIGS. 22-24  enable efficient, practical use of an external CPU with an emphasis on power optimization. 
     It is important to note that RFID interrupt signal can also be used in non-CPU environments in which the peripheral devices may not be CPU, MCU or processor of any type. In some embodiments, the peripheral devices may not even require access to the memory at all. In these circumstances, it may not be necessary to acknowledge the interrupt and switch access to the memory from RFID interface to serial secondary interface. The peripheral devices are controlled wirelessly by RFID interrupt signal via a GPIO function. A few exemplary embodiments are shown in  FIGS. 25A-25D . Referring to  FIG. 25A , the high-going RFID interrupt signal initiated by RFID interface is coupled to and provides power to LED  2510 . Referring to  FIG. 25B , the RFID interrupt signal is one of the inputs of a peripheral logic  2520 . Referring to  FIG. 25C , the RFID interrupt signal is used to induce a voltage signal in a peripheral circuit  2530 . And referring to  FIG. 25D , the RFID interrupt signal is used as a control signal of a peripheral circuit, such as a voltage regulator  2540 . As discussed earlier, some peripheral devices may not have the capability to acknowledge and/or terminate the interrupt operation. In one embodiment, RFID chip is reset when it is not in the range of an RF source and/or RFID reader. In one alternative embodiment, the alternative interrupt method best shown in  FIG. 19C  may be used to reset the RFID chip without removing the RF source. The data payload “DATA” of the alternative interrupt generation control command shown in  FIG. 19D  may be used to carry control instructions, including an instruction to terminate the interrupt. This has the advantage of keeping a session open with the RFID tag, improving communication efficiency between the RFID reader and the RFID tag. 
       FIGS. 24 and 25A -D illustrate some embodiments of circuits where RFID interrupt may be potentially adapted as a more conventional GPIO control. In one embodiment, instead of utilizing a traditional transponder, the RFID chip  2418  such as WM72016 is installed on a printed circuit board (PCB) and may be used to store manufacturing data. This manufacturing data is written from a reader that is aligned with the manufacturing flow and may be used to store date of manufacture, operator information or other key data. In one embodiment, the RFID interrupt as GPIO control may be used to set indicators (LEDs or similar) as best shown in  FIG. 25A , enable other indicators such as a buzzer, manufacturing option indicators such as logic signals or relay controls as illustrated in  FIGS. 25B and 25D , or a regulator enable for temporary use of the harvested field during assembly as illustrated in  FIG. 25C . In other embodiments, other uses for temporary, in-line control and configuration can be adopted with the capabilities presented by the RFID interrupt embodiments disclosed earlier. Embodiments where RFID chip is used on a PCB are not limited to a manufacturing environment. For instance, it can also be considered as a wireless analog to traditional optically isolated interfaces where the system grounds of the controller (reader/infrastructure) and the target system are not common. In other words, using wireless means such as RFID to trigger controls and indicators at a PCB level. 
     A wireless method with no additional power source to interact and control with a distant or disconnected system is presented herein. The embodiments may be for UHF (ca. 900 MHz) technology, but they can be easily adaptable to other protocols, published or private, and at other operating frequencies. In other embodiments, different operating frequencies may work better for different applications. For instance, 433 MHz, 900MHZ and 2400 MHz are all used for RF applications, but each frequency band has different properties and may be better suited for use around metals or liquids. When combined with a sufficiently secure protocol, the interrupt operation could be used to lock or unlock valuable assets. 
     In an RFID application, ultra-low power operation is a key characteristic with an operational power budget measured in micro-watts. As such, supporting a general purpose microprocessor will be too much of a burden for the limited power resources. In one embodiment, a RFID device/tag  2600  as shown in  FIG. 26  incorporates a master/slave serial interface which does not require an integrated or embedded microprocessor (MCU or CPU) to perform RFID readers&#39; commands such as meter reading of sensors in additional to the interrupt operation discussed earlier. In one embodiment, the master slave serial interface can be applied to SPI, DSPI, inter-integrated circuit (I2C) protocols and other serial bus protocols. Simple RFID devices do not generally support physical sensors directly. More complex devices can be built using an RFID front end, an integrated MCU and one or several sensor(s) and/or other peripheral devices. In these sorts of systems, the MCU generally imposes a severe restriction on the overall power usage of the wireless sensor system. Many available sensors support SPI or other serial interface standard capability, but require a MCU as the bus master in the system to control the sensor(s) and collect the results. While integrating the MCU with the RFID may be a worthwhile step in system reduction, it does not address concerns with overall operating power. 
     Referring to  FIG. 26 , in one embodiment, RFID tag  2600  incorporates a configuration of two state machines  2608  and  2610  in which SPI master state machine  2610  is to obviate the need for a standalone MCU. In the following description, SPI bus is adopted as an example but similar configuration may be applied to other types of serial buses. In one embodiment, RFID control state machine  2608  performs similar functions as state machine  420  as described in  FIG. 4  and SPI master state machine  2610  is designed to carry the burden of the bus master and thus provides a more cost effective (area and power) solution than a complete integrated/embedded MCU. Referring to  FIG. 26 , RFID tag  2600  includes an antenna to collect RF energy and the energy is accumulated by energy harvester block  2604  and in turn to power RFID tag  2600  and/or slave/peripheral devices [not shown]. In one embodiment, RX and TX logic block  2606  receives a series of commands from RFID reader [not shown] through an RFID interface [not shown]. RX and TX logic block  2606 , coupled to RFID control state machine  2608 , processes the commands. The RFID control state machine  2608  then maps a sequence of intended SPI master commands into NV memory block  2602 . In one embodiment, NV memory block  2602  includes non-volatile memory such as SONOS, flash memory and/or FRAM. Since NV memory block  2602 , such as FRAM which is used as an example in this embodiment, is non-volatile, the memory such as mapped SPI master commands do not need to be re-populated at every power cycle. In one alternative embodiment, volatile memory may be included and/or replace NV memory block  2602 . In one embodiment, when the power level is deemed sufficient for an operation, RFID control state machine  2608  wakes up SPI master state machine  2610  which in turn retrieves, reads and responds to instructions such as SPI master commands which were already mapped into the NV memory block  2602 . This configuration allows an operational mode that RFID tag  2600  wakes up from incident RF power and is capable to immediately execute the stored SPI master commands. After SPI master state machine  2610  retrieves the commands, it conveys commands from NV memory block  2602  to SPI port  2612  by sequencing appropriately for a specific slave (peripheral) device. As discussed, SPI port  2612  can be replaced with DSPI port, I2C port or other serial bus protocols according to system design. In this way, any slave device may be supported by simply reprogramming NV memory block  2602  on the RFID tag  2600  without a MCU as the bus master. In one embodiment, SPI master state machine  2610  conveys the instruction(s) to a peripheral SPI slave, using the same internal clock source or a divided version as is used to support the RFID protocol. SPI master state machine  2610  is coupled to peripheral SPI slave device(s) via SPI port  2612  which may include chip select pin(s) (/CS), SCK (serial clock) pin, MOSI (master output slave input) pin and MISO (master input slave output) pin. In one embodiment, buses coupled to SPI port  2612  may be bidirectional as the system requires. In one embodiment, multiple slave devices can be supported by incorporating an additional discrete /CS pin for each and additional GPIO pin(s) may be incorporated for other purposes such as providing power control to slave device(s). In one embodiment, the instructions conveyed to slave device(s) may issue commands/instructions to the selected slave device to take some action, and the result of that action may be conveyed back to SPI master state machine  2610  on a subsequent master command/instruction. A simple example of these transactions is best shown in  FIG. 28  and its corresponding description in later sections. 
     In one embodiment, SPI port  2612  and master state machine  2610  may also be used as a slave input interface to RFID tag  2600  shown in  FIG. 26  to support dual-port access to NV memory  2602  for test, programming, or any other purpose. In one embodiment, in the event that the command from RFID reader is an interrupt command, SPI master state machine  2610  may perform functions resembling interrupt manager  1910  as best shown in  FIG. 19A  and the corresponding description to grant intermittent NV memory block  2602  access to slave/peripheral devices. The mechanism may incorporate the RFID interrupt operation that is described in earlier sections. 
       FIG. 27  is a block diagram of one embodiment of an embedded FRAM memory based RFID application of the present invention, including a SPI master/slave interface and power control of slave device(s). In one embodiment, instruction signals conveyed to a selected slave device  2706  may include a control signal which may be used to control a power switch. The control signal may be a high-going signal resembling the interrupt signal shown and described in  FIGS. 22-23  or a low signal in a conventional SPI operation via either /CS pin of SPI port  2612  or an additional GPIO pin  2614 . In one embodiment, control signal may be applied to the gate of switch  2702  to turn it on, which allows slave device  2706  access to operating power from power source  2704 . In one embodiment, power source  2704  may be RFID tag  2600  or a standalone power source such as batteries. With the power control mechanism, peripheral device(s) such as slave device  2706  may be unpowered or in a sleep mode to reserve power and is only woken up by SPI master commands via SPI port  2612 . 
       FIG. 28  is a flow chart illustrating one embodiment of steps for performing a master command. In one embodiment, RFID tag  2600  is woken up when it is in range of an RFID reader. It will then check if sufficient operating power is harvested and start the oscillator to generate master clock signal. Subsequently, RFID control state machine  2608  may receive a sequence of commands from the RFID reader, map each of the commands to NV memory block  2602  and wake up SPI master state machine  2610 . SPI master state machine  2610  may then retrieve commands from NV memory  2602  including vector data (or addresses) for selecting a particular slave/peripheral device. A control signal will then be sent to the selected slave device  2706  via its corresponding chip select pin and/or an additional GPIO pin  2614 . The control signal that initiates an action to the selected slave device  2706  may also be used to turn on power supply to the selected slave device  2706 . In one embodiment, the control signal may be an interrupt signal as described in  FIG. 19A  if the command is an interrupt command. Subsequently, the first command may then be shifted out from NV memory  2602  to the selected slave device  2706  via SPI master state machine  2610  at MOSI pin according to the master clock and the selected slave device  2706  will then be deactivated. Simultaneously, a second command may be shifted out to SPI master state machine  2610 . The selected slave device  2706  may then be activated again by another control signal and data from the selected slave device  2706  will then be shifted into NV memory  2602  via SPI master state machine  2610  at MISO pin according to the master clock. The process  2800  may either end or continue on to execute the second command. 
       FIG. 29  is a flow chart illustrating one embodiment of steps for selection of SPI process or RFID process. A key part of any RFID system is necessity of waking up, reading and responding to the incoming protocol such as commands from RFID reader. In one embodiment, these key functions may be managed simultaneously with the tasks of the SPI master process  2800 . However, it may not be desirable for a couple of reasons. First, RFID system such as RFID tag  2600  is generally ultra-low power circuits, and having two simultaneous operations may drain too much energy. Second, a system designer may wish to prioritize these operations to best suit the tasks. For instance, users might wish to simply cause a new sensor reading to take place and be stored in memory, without the overhead of processing the RF protocol. On the other hand, users may consider sensor readings to be rare, command based events, with higher importance placed on fundamental RFID operations. Referring to  FIG. 29 , when SPI master state machine  2610  wakes up and has the initial access to NV memory  2602 , it reads a non-volatile status register which has been pre-loaded by the system application. The reading of the status register may start early in the power-on sequence of RFID tag  2600 . In one embodiment, one bit of the status register may be used to give priority to either RFID operation or SPI master operation or both. 
       FIG. 30  is a timing chart of one embodiment of SPI timing and a memory structure table for a single SPI device. The command structure may be flexible, but should have some typical characteristics. In one embodiment, SPI master state machine  2610  must know the number or depth of the master commands and when to stop interfacing with the selected slave device. Moreover, SPI master state machine  2610  must know deterministic memory locations for shared data (results). In one embodiment, in order to support multiple slave devices, these structures should be relocate-able and not rely on fixed addresses. There are several possible ways to keep track of the depth of master commands. In one embodiment, a static code word may be used as a STOP condition. The advantage of such embodiment is the simplicity and the code word is applicable to most RFID systems. However, the static code word may collide with an operating code or data for some SPI slave devices. In another embodiment, a length parameter, such as the number of master commands before the STOP condition, in one of the memory locations may be used for control. In yet another embodiment, a user specified code may be used to denote the STOP condition. In one embodiment, the user specified code may be located at the same address as the status register along with the startup priority bit, and when a matching code is received in a subsequent location, the state machine would halt. 
     SPI does not limit the word length to 8 bits, but that is very common and will be adopted as an example in SPI timing chart  3000  and memory structure chart  3010  for illustration purposes only. In one embodiment, the EPC Gen2 protocol deals with memory in 16 bit word sizes. Also, SPI supports full duplex data communications via the MOSI and MISO pair of pins. In one embodiment, these features of SPI protocols allow for a compact command/data exchange protocol between SPI master state machine  2610  and slave devices. It is imperative to note that other serial bus protocols such as DSPI and I2C may also support these features. Referring to SPI timing chart  3000  which shows SPI command signaling, control signal via CS pin goes low to initiate SPI master/slave communication and one data bit is shifted at the rising edge of master clock signal. In one embodiment, other configurations such as a high-going control signal via CS pin and/or a GPIO pin and using both the rising and falling edge to shift one bit of data may be adopted according to the RFID system design. 
     Referring to memory structure chart  3010  for one slave device operation, the sequence of operations of one embodiment as follows: 
     1. The starting address (Addr n) is read and the initial 8 command bits (SPI Master  0 ) are retrieved and shifted out on MOSI to a selected slave device. SPI master state machine  2610  may learn which slave device to engage in a multi-slave device system and/or whether a SPI master operation should be initiated immediately from “Status” bits at the starting address. 
     2. As every SPI master command 0 bit is shifted out via MOSI to SPI master state machine  2610 , 8 data bits (SPI data  0 ) are captured on the MISO line from the selected slave device  2706 . These may or may not be meaningful data bits, depending on the previous command i.e. SPI master  0 . 
     3. When the next address (Addr n+1) is read, the next 8 command bits (SPI master  1 ) are read. In the case of FRAM, the read is destructive and must be written back. In one embodiment, the upper byte (bits  15 - 8 ) of the 16 bit word may be utilized to store the MISO bits from the previous operation (SPI data  0 ). 
     4. SPI master state machine  2610  continues the operation until it reads stop code at Addr n+4. SPI master state machine  2610  may then stop communications with the selected slave device  2706  and write the last SPI data e.g. SPI data  3  to the upper byte at Addr n+4. In another embodiment, a length parameter, such as 4 in this example, may be stored at Addr n as part of the status code. SPI master state machine  2610  may execute 4 commands and stop automatically. 
     Referring to the embodiment best shown in  FIG. 30 , a total of 4 SPI master commands ( 0 - 3 ) may be sent to selected slave device  2706  before the STOP code is recognized. In one embodiment, master commands, which may include a data playload, may be of any nature which is appropriate for the target device. When the RFID reader subsequently retrieves the result from NV memory  2602 , it will target whichever of the address locations that have meaningful data. Since there is no data associated with the initial command byte at Addr n, the system can use that address location for status, vector signal, sequence of RF and Master/Slave operations and/or other purposes. 
     A typical SPI Master such as SPI master state machine  2610  has the capability of supporting more than one slave devices. In one embodiment, RFID tag  2600  may be programmed at the factory to support numerous slave devices in the field, but only one in a given installation, or more than one at a time, such as a Real Time clock along with a temperature sensor. The latter case would require additional I/O pins for Chip Select functionality. In order to support multiple slave devices, RFID tag  2600  is capable of enabling multiple sets of master commands. In one embodiment, each slave device may be associated with a particular starting address such as Addr n+1, this is enabled by using a starting vector which may be stored as part of the status code in the initialization stored at Addr n. 
     As discussed, most current wireless sensors are made from a combination of a wireless interface, a low power MCU and sensor unit(s) (peripheral device). The combination of sensor(s) and an embedded MCU need a local energy source which also adds cost and maintenance requirements. In one embodiment, the incorporation of a SPI master state machine instead of an embedded MCU may help RFID chip such as RFID tag  2600  to be entirely powered by RF field provided by RFID readers. Although peripheral sensor(s) may generally still require a power source, it can be chosen to be smaller &amp; cheaper, or extend the lifetime. In one embodiment, if MCU is required for the RFID system, a peripheral MCU may be incorporated, coupled and configured as described in  FIGS. 19A and 24 . The peripheral MCU  2412  may be woken up and granted intermittent/temporary memory access with an interrupt signal to execute operations as required. 
     In practice, the Wireless SPI Master would be programmed with an instruction set(s) to support a given sensor(s). These elements would be combined on a PCB along with an RF antenna and sensor power source and this assembly would be mounted at a point of interest for data collection. With regard to the system configuration having a SPI master state machine instead of an embedded MCU, two important modifications may be made. First, as shown in  FIG. 31A , it is conceivable to use the energy harvester of RFID tag to also power the sensor. This comes at the cost of operating range of the RFID system, but can be done as a system level choice. The second alternative is best shown in  FIG. 31B  in which battery power is also made available to the sensor. This is generally referred to as BAP (battery assisted passive) operation and sometimes as semi-passive. The configuration may extend the operating range of the sensor system, but will have a cost in terms of reduced battery life. Since the Wireless device is designed to be very low power, the power cost to the system can be quite small, depending on the characteristic of the sensor. 
     It will be apparent to those skilled in the art that various modifications and variation can be made in the present invention without departing from the spirit or scope of the invention. As would be apparent to those skilled in the art equivalent embodiments of the present invention can be realized in firmware, software, or hardware, or any possible combination thereof. In addition, although representative block diagrams are shown for an aid in understanding the invention, the exact boundaries of the blocks may be changed and combined or separated out as desired for a particular application or implementation. Finally, although FRAM memory is described and claimed, the present invention is also applicable to any other high speed non-volatile memory technology. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. 
     In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.