RFID interface and interrupt
Summary by NHIP
RFID Interrupt Circuit
The circuit maps RFID commands directly to memory for a processing element to retrieve and forward to a peripheral. An interrupt manager enables the peripheral to access power and memory via an interrupt command, then disables the serial interface upon receiving a termination command.
Claim Score by NHIP
Abstract
A RFID system includes an RFID controller incorporating a serial bus master coupled via a serial bus to a serial bus slave device, whereby the RFID controller controls power supply and/or power mode of the salve device in order that the slave device is powered and able to communicate with the RFID controller in response to RFID commands received from an RFID reader, and unpowered or in a low power mode otherwise.

Term
3.8 yearsleft in the term
Expires 9 July 2030.
- Priority
- Filed
- Granted
- Today
- Expires
18 claims: 3 independent, 15 dependent
- 1A circuit, comprising:a memory;a radio frequency identification (RFID) interface;a first processing element coupled to the RFID interface, wherein the first processing element receives RFID commands through the RFID interface and maps the RFID commands directly to the memory;a second processing element coupled to the first processing element, wherein the second processing element retrieves the RFID commands from the memory;and a serial interface configured to be coupled to at least one peripheral device, wherein a first peripheral device selected from the at least one peripheral device receives the RFID commands from the second processing element through the serial interface, wherein the RFID commands include a control signal configured to allow the first peripheral device to gain access to operating power;a memory access control circuit coupled to the memory and the serial interface;and an interrupt manager coupled to the memory access control circuit, the RFID interface, and the serial interface, wherein at least one of the RFID commands is an interrupt command, the interrupt manager is configured to receive the interrupt command which allows the first peripheral device selected from the at least one peripheral device to gain access to the memory and the operating power, and the first peripheral device is configured to acknowledge the interrupt command through the serial interface, the interrupt manager is further configured to receive a termination command from the first peripheral device through the serial interface, disable the serial interface, and re-enable the RFID interface.
- 10Broadest claimClaim Score 69, broad(NHIP)A method, comprising:receiving RFID commands by a first processing element through a RFID interface;mapping the RFID commands to memory by the first processing element;waking up a second processing element;retrieving the RFID commands by the second processing element, wherein the second processing element is configured to be coupled to at least one peripheral device through a serial interface;selecting a first peripheral device from the at least one peripheral device based on the RFID commands;and sequencing and conveying the RFID commands to the first peripheral device through the serial interface, wherein the RFID commands include a control signal configured to turn on operating power to the first peripheral device.
- 18A device, comprising:a memory;an RFID interface including primary access to the memory;a serial interface including intermittent access to the memory triggered by an interrupt command, wherein the serial interface is configured to be coupled to at least one slave device;and a master state machine coupled to the memory and the serial interface, wherein the master state machine is configured to: retrieve RFID commands from the memory, wherein the RFID commands are received through the RFID interface;sequence and convey the RFID commands to a first slave device selected from the at least one slave device when none of the RFID commands is the interrupt command, wherein the first slave device writes first data to the memory through the serial interface in response to the RFID commands;and generate an interrupt signal based on the RFID commands when at least one of the RFID commands is the interrupt command, the interrupt signal is sent to the first slave device selected from the at least one slave device, wherein the master state machine is further configured to receive an acknowledge signal and a termination command from the first slave device through the serial interface, wherein selection of the first slave device is based on the RFID commands.
Independent claims3
116 paragraphs in 6 sections, as filed
PRIORITY
0001This 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
0002The 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
0003As 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.
0004RFID 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.
0005An example of a typical passive RFID tag is shown in <figref idref="DRAWINGS">FIG. 1</figref>. Tag <b>100</b> includes an antenna <b>102</b> that is coupled to an analog front end circuit <b>104</b>, which is in communication with a digital and memory circuit <b>106</b> 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.
0006While 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.
0007The 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
0008Accordingly, 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.
0009According 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.
0010It 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
0011The 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.
0012<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram of a prior art EEPROM based passive RFID tag.
0013<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram of a FRAM memory based passive RFID tag according to the present invention.
0014<figref idref="DRAWINGS">FIG. 3</figref> is a block diagram of an embedded FRAM memory based RFID application.
0015<figref idref="DRAWINGS">FIG. 4</figref> is a further detailed block diagram of the digital portion of the FRAM based RFID circuit shown in <figref idref="DRAWINGS">FIGS. 2 and 3</figref>.
0016<figref idref="DRAWINGS">FIG. 5</figref> is a further detailed block diagram of the serial interface of the FRAM based RFID circuit shown in <figref idref="DRAWINGS">FIGS. 2 and 3</figref>.
0017<figref idref="DRAWINGS">FIGS. 6-10</figref> are timing diagrams associated with the serial interface circuit shown in <figref idref="DRAWINGS">FIG. 5</figref>.
0018<figref idref="DRAWINGS">FIG. 11</figref> is a block diagram of a memory pointer circuit associated with the digital portion of the FRAM based RFID circuit shown in <figref idref="DRAWINGS">FIGS. 2 and 3</figref>.
0019<figref idref="DRAWINGS">FIG. 12</figref> is a portion of the memory contents associated with the memory pointer circuit of <figref idref="DRAWINGS">FIG. 11</figref>.
0020<figref idref="DRAWINGS">FIG. 13</figref> is a flow chart of a prior art technique for writing data to memory.
0021<figref idref="DRAWINGS">FIG. 14</figref> is a flow chart of another prior art technique for writing data to memory.
0022<figref idref="DRAWINGS">FIG. 15</figref> 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 <figref idref="DRAWINGS">FIG. 11</figref>.
0023<figref idref="DRAWINGS">FIG. 16</figref> is an EPC global BlockWrite command data structure according to the prior art.
0024<figref idref="DRAWINGS">FIGS. 17A and 17B</figref> taken together represent a flow chart of a prior art method for implementing the BlockWrite command.
0025<figref idref="DRAWINGS">FIGS. 18A and 18B</figref> taken together represent a flow chart of a method for implementing the BlockWrite command according to the present invention.
0026<figref idref="DRAWINGS">FIG. 19A</figref> is a block diagram representation of a portion of the digital circuitry associated with the circuits of <figref idref="DRAWINGS">FIGS. 2 and 3</figref>, according one embodiment of the present invention, including an interrupt manager block.
0027<figref idref="DRAWINGS">FIGS. 19B and 19C</figref> are block diagrams of two alternative method embodiments associated with interrupt initiation.
0028<figref idref="DRAWINGS">FIG. 19D</figref> is an example of a custom interrupt generation control command data structure and RFID tag response message.
0029<figref idref="DRAWINGS">FIGS. 20A and 20B</figref> 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 <figref idref="DRAWINGS">FIG. 19A</figref>.
0030<figref idref="DRAWINGS">FIG. 21</figref> is a flow chart for performing an interrupt method according to an embodiment of the invention, associated with the interrupt manager block of <figref idref="DRAWINGS">FIG. 19A</figref>.
0031<figref idref="DRAWINGS">FIG. 22</figref> is a block diagram of one embodiment of an embedded FRAM memory based RFID circuit.
0032<figref idref="DRAWINGS">FIG. 23</figref> is a block diagram of another embodiment of an embedded FRAM memory based RFID circuit.
0033<figref idref="DRAWINGS">FIG. 24</figref> is a block diagram of yet another embodiment of an embedded FRAM memory based RFID circuit.
0034<figref idref="DRAWINGS">FIGS. 25A to 25D</figref> are block diagrams of various embodiments of embedded FRAM memory based RFID circuits.
0035<figref idref="DRAWINGS">FIG. 26</figref> is a block diagram of one embodiment of an embedded FRAM memory based RFID, including a SPI master/slave interface.
0036<figref idref="DRAWINGS">FIG. 27</figref> 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).
0037<figref idref="DRAWINGS">FIG. 28</figref> is a flow chart for performing a master command according to an embodiment of the invention.
0038<figref idref="DRAWINGS">FIG. 29</figref> is a flow chart for selection of SPI process or RFID process according to an embodiment of the invention.
0039<figref idref="DRAWINGS">FIG. 30</figref> is a timing chart of SPI timing and a memory structure table for a single SPI device, according to an embodiment of the invention.
0040<figref idref="DRAWINGS">FIGS. 31A and 31B</figref> are block diagrams of embodiments of an embedded FRAM memory based RFID, including alternative power sources.
DETAILED DESCRIPTION
0041The 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.
0042Reference 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).
0043The 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.
0044Referring now to <figref idref="DRAWINGS">FIG. 2</figref>, a passive RFID tag <b>200</b> according to the invention includes an antenna <b>202</b>, an analog front end <b>204</b>, and a digital portion <b>206</b> that includes digital control circuitry and FRAM memory and communicates with the analog front end <b>204</b> using the RX and TX paths. Additionally, RFID tag <b>200</b> includes a serial interface bus <b>208</b> coupled to pins <b>210</b>. A four bit wide bus <b>208</b> is shown in <figref idref="DRAWINGS">FIG. 2</figref>. The analog and digital portions of the RFID circuit <b>204</b> and <b>206</b> are normally integrated on to one or more integrated circuits. In the common/usual passive tag implementation shown in <figref idref="DRAWINGS">FIG. 2</figref>, the serial interface is normally not present and pins <b>210</b> are not used.
0045Referring now to <figref idref="DRAWINGS">FIG. 3</figref>, an embedded RFID application <b>300</b> according to the present includes an RFID integrated circuit <b>314</b>, which contains the analog front end <b>304</b> and the digital and FRAM memory portion <b>306</b>. The antenna <b>302</b> may or may not be actually included in the RFID integrated circuit <b>314</b>. Note in <figref idref="DRAWINGS">FIG. 3</figref> that four pins <b>310</b> associated with the serial interface of the digital portion <b>306</b> are brought out. The four pins <b>310</b> are the chip select, clock, DATA <b>1</b>, and DATA <b>2</b> pins, which are explained in further detail below.
0046The serial interface is typically coupled to a microprocessor <b>312</b>, which is in communication with various control inputs associated with the RFID application <b>300</b>. A typical application <b>300</b> could be a metering application, or a control application for a factory. The RFID integrated circuit <b>314</b> in a typical embedded application would be interrogated from time to time with a handheld reader (not shown in <figref idref="DRAWINGS">FIG. 3</figref>).
0047Referring now to <figref idref="DRAWINGS">FIG. 4</figref>, the digital portion of the circuits of <figref idref="DRAWINGS">FIGS. 2 and 3</figref> is shown in greater detail. Digital portion <b>406</b> includes the RX and TX paths for reference with <figref idref="DRAWINGS">FIGS. 2 and 3</figref>. The RX and TX paths are in communication with a state machine <b>420</b> that is in bidirectional communication with FRAM memory block <b>422</b>. An arbitration logic block <b>424</b> is associated with FRAM memory <b>422</b>, and is used to bi-directionally control serial interface <b>426</b>. In turn, serial interface <b>426</b> is coupled through a four bit bus to external pins <b>410</b>.
0048Referring now to <figref idref="DRAWINGS">FIG. 5</figref>, further details of the serial interface <b>426</b> of <figref idref="DRAWINGS">FIG. 4</figref> 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 <b>500</b> shown in <figref idref="DRAWINGS">FIG. 5</figref> 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 <b>500</b> shown in <figref idref="DRAWINGS">FIG. 5</figref> 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 <b>500</b> 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.
0049In <figref idref="DRAWINGS">FIG. 5</figref>, serial interface <b>500</b> includes a Select pin, a Clock pin, a bidirectional Data_<b>1</b> pin, and a bidirectional Data_<b>0</b> pin. The Select pin is coupled to an OpCode Interpreter and State Machine <b>504</b>, which is realized in conventional logic circuits. State machine <b>504</b> is in bidirectional communication with Data Out register <b>502</b> and Data In register <b>506</b>. Data Out register <b>502</b> is coupled through a 16 bit bus, which branches to two 8 bit busses, to shift register <b>508</b>A and shift register <b>508</b>C. Similarly, Data In register is coupled through a 16 bit bus, which branches to two 8 bit buses, to shift register <b>508</b>B and <b>508</b>D. Shift register <b>508</b>A loads data onto the Data_<b>1</b> pin, shift register <b>508</b>B receives data from the Data_<b>1</b> pin, shift register <b>508</b>C loads data onto the Data_<b>0</b> pin, and shift register <b>508</b>D receives data from the Data_<b>0</b> pin. Shift registers <b>508</b>A through <b>508</b>D are operated by alternative clock cycles through inverters <b>510</b> and <b>512</b>. The clocking and transfer scheme of the serial interface <b>500</b> is further explained with respect to the timing diagrams of <figref idref="DRAWINGS">FIGS. 6-10</figref>. Based on the received command, the state machine <b>504</b> 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.
0050Referring now to <figref idref="DRAWINGS">FIG. 6</figref>, 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<sub>CSU</sub>, the write cycle begins. During the first four clock cycles of the CLK pin, the D<b>1</b> 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<b>1</b> 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<b>0</b> data word includes opcode information and five address bits. During the second four clock cycles of the CLK pin, the D<b>0</b> data word includes eight data bits, also written to the FRAM memory.
0051Referring now to <figref idref="DRAWINGS">FIG. 7</figref>, 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<sub>CSU</sub>, the read cycle begins. During the first four clock cycles of the CLK pin, the D<b>1</b> 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<b>1</b> data word includes eight data bits from the FRAM memory. Similarly, during the first four cycles of the CLK pin, the D<b>0</b> data word also includes opcode information and five address bits. During the second four clock cycles of the CLK pin, the D<b>0</b> data word includes eight data bits, also from the FRAM memory.
0052Referring now to <figref idref="DRAWINGS">FIG. 8</figref> 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<b>1</b> and to transfer the OP<b>4</b> bit on D<b>0</b>. The first low transition of the CLK signal is used transfer the OP<b>3</b> bit on D<b>1</b> and to transfer the OP<b>2</b> bit on D<b>0</b>. The second high transition of the CLK signal is used to transfer the OP<b>1</b> bit on D<b>1</b> and to transfer the OP<b>0</b> bit on D<b>0</b>. The second low transition of the CLK signal is used transfer the A<b>9</b> bit on D<b>1</b> and to transfer the A<b>8</b> bit on D<b>0</b>. The third high transition of the CLK signal is used to transfer the A<b>7</b> bit on D<b>1</b> and to transfer the A<b>6</b> bit on D<b>0</b>. The third low transition of the CLK signal is used transfer the A<b>5</b> bit on D<b>1</b> and to transfer the A<b>4</b> bit on D<b>0</b>. The fourth high transition of the CLK signal is used to transfer the A<b>3</b> bit on D<b>1</b> and to transfer the A<b>2</b> bit on D<b>0</b>. The fourth low transition of the CLK signal is used transfer the A<b>1</b> bit on D<b>1</b> and to transfer the A<b>0</b> bit on D<b>0</b>.
0053Referring now to <figref idref="DRAWINGS">FIG. 9</figref> a detailed view of the write data is shown. The first high transition of the CLK signal is used to transfer the D<b>15</b> bit on D<b>1</b> and to transfer the D<b>14</b> bit on D<b>0</b>. The first low transition of the CLK signal is used transfer the D<b>13</b> bit on D<b>1</b> and to transfer the D<b>12</b> bit on D<b>0</b>. The second high transition of the CLK signal is used to transfer the D<b>11</b> bit on D<b>1</b> and to transfer the D<b>10</b> bit on D<b>0</b>. The second low transition of the CLK signal is used transfer the D<b>9</b> bit on D<b>1</b> and to transfer the D<b>8</b> bit on D<b>0</b>. The third high transition of the CLK signal is used to transfer the D<b>7</b> bit on D<b>1</b> and to transfer the D<b>6</b> bit on D<b>0</b>. The third low transition of the CLK signal is used transfer the D<b>5</b> bit on D<b>1</b> and to transfer the D<b>4</b> bit on D<b>0</b>. The fourth high transition of the CLK signal is used to transfer the D<b>3</b> bit on D<b>1</b> and to transfer the D<b>2</b> bit on D<b>0</b>. The fourth low transition of the CLK signal is used transfer the D<b>1</b> bit on D<b>1</b> and to transfer the D<b>0</b> bit on D<b>0</b>.
0054Referring now to <figref idref="DRAWINGS">FIG. 10</figref> a detailed view of the read data is shown. The first high transition of the CLK signal is used to drive the D<b>15</b> bit on D<b>1</b> and to transfer the D<b>14</b> bit on D<b>0</b>. The first low transition of the CLK signal is used transfer the D<b>13</b> bit on D<b>1</b> and to transfer the D<b>12</b> bit on D<b>0</b>. The second high transition of the CLK signal is used to transfer the D<b>11</b> bit on D<b>1</b> and to transfer the D<b>10</b> bit on D<b>0</b>. The second low transition of the CLK signal is used transfer the D<b>9</b> bit on D<b>1</b> and to transfer the D<b>8</b> bit on D<b>0</b>. The third high transition of the CLK signal is used to transfer the D<b>7</b> bit on D<b>1</b> and to transfer the D<b>6</b> bit on D<b>0</b>. The third low transition of the CLK signal is used transfer the D<b>5</b> bit on D<b>1</b> and to transfer the D<b>4</b> bit on D<b>0</b>. The fourth high transition of the CLK signal is used to transfer the D<b>3</b> bit on D<b>1</b> and to transfer the D<b>2</b> bit on D<b>0</b>. The fourth low transition of the CLK signal is used transfer the D<b>1</b> bit on D<b>1</b> and to transfer the D<b>0</b> bit on D<b>0</b>.
0055One 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.
0056A first memory storage technique <b>1300</b> according to the prior art is shown in the flow chart of <figref idref="DRAWINGS">FIG. 13</figref>, wherein the RFID tag has no present location indicator. Each occurrence of a wireless/RFID operation is denoted by an asterisk. At step <b>1302</b>, an RFID tag enters a field produced by, for example, a reader. At step <b>1304</b>, the reader identifies the RFID tag. At step <b>1306</b>, the reader initiates the read address. At step <b>1308</b> the read operation commences. At step <b>1312</b>, the data contents are read. If there is already data at that location, the address is incremented at step <b>1310</b>, 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 <b>1314</b>, the new data is written to memory at step <b>1316</b>. It can be seen from the flow chart of <figref idref="DRAWINGS">FIG. 13</figref> 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.
0057A second memory storage technique <b>1400</b> according to the prior art is shown in the flow chart of <figref idref="DRAWINGS">FIG. 14</figref>, 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 <b>1402</b>, an RFID tag enters a field produced by, for example, a reader. At step <b>1404</b>, the reader identifies the RFID tag. At step <b>1406</b>, the reader reads the present location. At step <b>1408</b> the reader performs a write operation. At step <b>1410</b>, the present location indicator is incremented. Finally, at step <b>1412</b> the reader updates the present location. It can be seen from the flow chart of <figref idref="DRAWINGS">FIG. 14</figref> that there are four separate steps in which a wireless/RFID operation is performed.
0058According 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.
0059A portion of a memory <b>1200</b> using the pointer according to the present invention is shown in <figref idref="DRAWINGS">FIG. 12</figref>. In the example of the memory shown in <figref idref="DRAWINGS">FIG. 12</figref>, 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.
0060While 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 <b>1100</b> of a state machine, memory, and associated circuitry for carrying out the pointer method of the present invention is shown in <figref idref="DRAWINGS">FIG. 11</figref>. The memory pointer circuit includes a Gen 2 EPC state machine <b>1102</b> for providing the Increment, LOAD, NormAddr, and Norm or Pointer control signals. State machine <b>1102</b> 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 <b>1104</b> includes address, data, and R/W signals. An Incrementor <b>1106</b> has an input and an output, and receives the Increment signal. The Address Pointer register <b>1108</b> has an input and an output, and receives the LOAD signal. The output of register <b>1108</b> is coupled to the input of Incrementor <b>1106</b>. A multiplexer <b>1110</b> receives the normal address at a first input, and the output of address pointer <b>1108</b> at a second input. The output of multiplexer <b>1110</b> is controlled by the normal or pointer control signal provided by state machine <b>1102</b>. The output of multiplexer <b>1110</b> is coupled to the address input of memory <b>1104</b>.
0061The state machine <b>1102</b> shown in <figref idref="DRAWINGS">FIG. 11</figref> 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 <figref idref="DRAWINGS">FIG. 2</figref>. The state machine <b>1102</b> processes the Gen2 commands; the block write command shown in <figref idref="DRAWINGS">FIG. 16</figref> is an example of one of these commands. Depending on the nature of the specific command, the state machine <b>1102</b> may do a single or multiple memory read or write. In addition to the address control that is shown in <figref idref="DRAWINGS">FIG. 11</figref>, the state machine <b>1102</b> also provides the read/write control (R/W) and data (D).
0062The method <b>1500</b> for operating the memory pointer circuit shown in <figref idref="DRAWINGS">FIG. 11</figref> is shown in flow chart form in <figref idref="DRAWINGS">FIG. 15</figref>. Wireless/RFID operations are again denoted with an asterisk. According to the present invention, a tag enters the reader field at step <b>1502</b>. At step <b>1504</b>, the reader identifies the RFID tag. At step <b>1506</b> the reader writes to the stored address trigger location. At step <b>1508</b>, the tag directs a write to the present location. At step <b>1510</b> the tag increments the present location register. Note that only two wireless/RFID operations are undertaken in the method <b>1500</b> of the present invention. Thus, interrogations of the RFID tag are minimized, and data throughput is desirably maximized.
0063The command structure <b>1600</b> of the EPC Global BlockWrite command is shown in <figref idref="DRAWINGS">FIG. 16</figref>. The timing sequence of the command is indicated in the bit fields as shown in <figref idref="DRAWINGS">FIG. 16</figref>, 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.
0064For 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.
0065A traditional BlockWrite method according to the prior art is shown in <figref idref="DRAWINGS">FIGS. 17A and 17B</figref>. Referring to <figref idref="DRAWINGS">FIG. 17A</figref>, at step <b>1702</b> an RFID tag enters the field. At step <b>1704</b> the reader identifies the RFID tag. At step <b>1706</b> the Command bits of the BlockWrite command are received from the reader. At step <b>1708</b> the BlockWrite Word Pointer is received from the reader. At step <b>1710</b> the RFID tag stores this as the starting address. At step <b>1712</b> the BlockWrite Word Count is received from the reader. At step <b>1714</b> the RFID tag stores the word count. At step <b>1716</b> each data word is received from the reader. At step <b>1718</b> this word is written to a local buffer. At step <b>1720</b> the word count is decremented. Referring now to <figref idref="DRAWINGS">FIG. 17B</figref>, at decision block <b>1722</b> 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 <b>1716</b>. If the word count is zero, then the method continues to step <b>1724</b> and the RN<b>16</b> handle is received from the reader. The received handle is compared at step <b>1725</b> to the stored handle. If they match, the method continues to step <b>1726</b>. If they do not match, the method continues directly to step <b>1732</b> where it is terminated without committing the local buffer contents to main memory and the method is complete at block <b>1734</b>. At step <b>1726</b> the internal CRC<b>16</b> is computed. At step <b>1728</b> the expected CRC<b>16</b> is sent. At decision block <b>1730</b>, the computed CRC is compared to the sent CRC. If they are different, then the RFID interaction is terminated at step <b>1732</b> without committing the local buffer contents to main memory, and the method is done <b>1734</b>. If the computed CRC is the same as the sent CRC, then the method continues at step <b>1736</b> and the word count is reset. At step <b>1738</b> a word of buffer data is written to the starting address. At step <b>1740</b> the stored address is incremented. At step <b>1742</b> the word count is decremented. At decision block <b>1744</b>, 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 <b>1738</b>. If the word count is zero, then the prior art method is done at step <b>1746</b>.
0066The 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.
0067The BlockWrite method of the present invention is shown in a flow chart <b>1800</b> of <figref idref="DRAWINGS">FIGS. 18A and 18B</figref>. Referring now to <figref idref="DRAWINGS">FIG. 18A</figref>, 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 <b>1802</b> the RFID tag enters the field. At step <b>1804</b> the reader identifies the tag. At step <b>1806</b> the BlockWrite command is initiated. At step <b>1808</b>, the stored address trigger location is received and recognized. At step <b>1810</b> the BlockWrite word count is received. At step <b>1812</b> the tag stores the word count. At step <b>1814</b> the first data word is sent. At step <b>1816</b> the primary buffer is written. At step <b>1818</b> the word count is decremented. Referring now to <figref idref="DRAWINGS">FIG. 18B</figref>, at step <b>1820</b> 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 <b>1814</b>. If the word count is zero, then the method is continued, and the RN<b>16</b> handle is sent at step <b>1822</b>. The received handle is compared at step <b>1823</b> to the stored handle. If they match, the method continues to step <b>1824</b>. If they do not match, the method continues directly to step <b>1830</b> where it is terminated without committing the local buffer contents to main memory and the method is complete at block <b>1832</b>. At step <b>1824</b> the internal CRC<b>16</b> is computed. At step <b>1826</b> the expected CRC<b>16</b> is sent. At decision block <b>1828</b> the computed CRC<b>16</b> is compared to the sent CRC<b>16</b>. If the answer is no, the stored address pointer is reset to its previous value at step <b>1830</b>, and the method is done at step <b>1832</b>. 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 <b>1834</b>, and the method is terminated at step <b>1836</b>. 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.
0068RFID devices with secondary interfaces such as the embedded application shown in <figref idref="DRAWINGS">FIG. 3</figref> 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.
0069The 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 <figref idref="DRAWINGS">FIG. 3</figref>, and explained in further detail with respect to <figref idref="DRAWINGS">FIGS. 19A-D</figref>.
0070According 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.
0071In 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 <b>314</b> shown in <figref idref="DRAWINGS">FIG. 3</figref>. 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.
0072When 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'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.
0073Referring to <figref idref="DRAWINGS">FIG. 19A</figref> that illustrates a portion of RFID circuit <b>1900</b>, the memory access is controlled by interrupt manager <b>1910</b>, which communicates with memory access control block <b>1908</b> via bus <b>1922</b>. In turn, memory access control block <b>1908</b> communicates with memory array <b>1902</b> through bidirectional bus <b>1912</b>. An RFID interface <b>1904</b> communicates with memory access control block <b>1908</b> via bidirectional bus <b>1914</b>, and with interrupt manager <b>1910</b> through bus <b>1916</b>. The serial secondary interface <b>1906</b> communicates with memory access control <b>1908</b> via bidirectional bus <b>1918</b>, and with interrupt manager <b>1910</b> through bus <b>1920</b>. The secondary interface <b>1906</b> is further coupled to one or more devices such as peripheral device(s) <b>1940</b>, <b>1942</b> and <b>1944</b> via buses such as bus <b>1952</b>. 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 <b>1904</b> and secondary interface <b>1906</b> must be the interrupt master, and has initial and primary control and access of memory array <b>1902</b>. 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 <b>1906</b> may include logic to determine which one of the peripheral device <b>1940</b>, <b>1942</b> or <b>1944</b> to have memory access when it is taking over control of the memory. In one embodiment, peripheral devices <b>1940</b>, etc. may or may not share bus(es) when coupling with secondary interface <b>1906</b>. When secondary interface <b>1906</b> is finished, it signals to interrupt manager <b>1910</b> to relinquish the memory buses, and allows the primary interface i.e. RFID interface <b>1904</b> to regain control once again.
0074Referring to <figref idref="DRAWINGS">FIGS. 20A and 20B</figref>, one embodiment of the interrupt method is shown in flow chart <b>2000</b>. Referring to <figref idref="DRAWINGS">FIG. 20A</figref>, a tag or RFID chip enters the field of RFID reader at step <b>2004</b>. At step <b>2006</b>, RFID reader identifies the tag or RFID chip. At step <b>2008</b>, optional tag operations are performed. At step <b>2020</b>, a first trigger address is written with first trigger data. At decision block <b>2012</b>, 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 <b>2016</b>. If the answer is no, optional tag operations are performed at step <b>2016</b>. At step <b>2018</b>, a second trigger address is stored with a second trigger data. At decision block <b>2020</b>, 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 <b>2024</b>. At step <b>2024</b>, the data in the second register is exclusive ORed (XORed) with the first trigger data. At decision block <b>2028</b>, 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 <b>2026</b>. If the answer at decision block <b>2020</b> is no, then operations are also continued at step <b>2026</b>. If the answer at decision block <b>2028</b> is yes, then an interrupt signal is sent to the serial port chip select, and RFID reception is blocked at step <b>2030</b>. 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 <b>2024</b>.
0075Referring to <figref idref="DRAWINGS">FIG. 20B</figref>, the serial behavior of the peripheral microcontroller in the embedded application is shown in flow chart <b>2001</b>. At step <b>2034</b>, the microcontroller is interrupted with the previously described rising edge on the chip select pin. At step <b>2036</b>, the microcontroller acknowledges the interrupt. At step <b>2038</b>, the memory in the RFID chip is read or written to as required. Decision block <b>2040</b> shows that these memory interactions may be a single or multiple operations before the session is finished. If the answer at block <b>2040</b> is no, then the memory is read from or written to as required. If the answer is yes, the method is continued at step <b>2042</b>, wherein an Interrupt End OpCode is sent.
0076Flow chart <b>2002</b> again describes the operations pertaining to the RFID tag <b>1900</b> or integrated circuit. At step <b>2044</b>, the interrupt is cleared, and at step <b>2046</b>, RFID interface/reception is again enabled.
0077The memory access control system as best shown in <figref idref="DRAWINGS">FIG. 19A</figref> 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 <b>1904</b> and serial secondary interface <b>1906</b>. 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 <b>1906</b> may be told when it can intermittently access the memory during an interrupt initiated through the RFID master interface <b>1904</b>.
0078In 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.
0079In one embodiment, memory access control block <b>1908</b> 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 <b>1902</b>. 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 <b>1902</b> is in the middle of an access cycle, there is a feedback mechanism from memory array <b>1902</b> which does not allow this switch of memory control/access to occur before the access is complete. As discussed, memory array <b>1902</b> includes FRAM memory.
0080The other advantage of the embodiment is that it allows the RFID interface <b>1904</b> to communicate directly with the serial secondary interface <b>1906</b> at the time of its choosing in a closed loop. Since RFID interface <b>1904</b> controls the initiation of the interrupt, it can initiate the activity, such as memory access, of the serial secondary interface <b>1906</b>. Without an interrupt, the serial secondary interface <b>1906</b> would interact with memory array <b>1902</b> on its own cadence, and the RFID interface <b>1904</b> would have to continually check the status.
0081As 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 <figref idref="DRAWINGS">FIG. 3</figref>, 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.
0082Referring to <figref idref="DRAWINGS">FIG. 19B</figref>, in one embodiment of RFID circuit <b>1950</b>, 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.
0083<figref idref="DRAWINGS">FIG. 19C</figref> is a block diagram showing a RFID circuit <b>1960</b> 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 <figref idref="DRAWINGS">FIG. 16</figref> 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 <figref idref="DRAWINGS">FIG. 19C</figref>, 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 <b>1960</b> shown in <figref idref="DRAWINGS">FIG. 19C</figref> 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.
0084Referring to <figref idref="DRAWINGS">FIG. 19D</figref>, one embodiment of command structure <b>1970</b> 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 <figref idref="DRAWINGS">FIG. 16</figref>. 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.
0085In 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.
0086In one embodiment, the RFID interrupt as described in <figref idref="DRAWINGS">FIGS. 19A-D</figref> and <b>20</b>A&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.
0087<figref idref="DRAWINGS">FIG. 21</figref> is a flow chart <b>2101</b> 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 <figref idref="DRAWINGS">FIG. 21</figref>, after RFID reader has identified RFID chip/tag and is ready to initiate an interrupt, at step <b>2112</b> 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 <b>2114</b>. At step <b>2114</b>, 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 <b>2116</b>. At step <b>2118</b>, the data in the second trigger data is exclusive ORed (XORed) with the first trigger data. At decision block <b>2118</b>, the result of the XOR operation is compared to a first predetermined hexadecimal value such as 0x1234. If the answer at decision block <b>2118</b> 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 <b>2112</b> to <b>2118</b> are similar to the process described earlier in <figref idref="DRAWINGS">FIG. 20A</figref>. If the answer at decision block <b>2118</b> is no, it will proceed to block <b>2122</b> 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 <b>2122</b> 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 <b>2122</b> 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 <b>2126</b> and <b>2128</b>, 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 <b>2116</b>.
0088Alternatively 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.
0089<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="1" colwidth="28pt" align="center" /><colspec colname="2" colwidth="49pt" align="center" /><colspec colname="3" colwidth="35pt" align="center" /><colspec colname="4" colwidth="49pt" align="center" /><colspec colname="5" colwidth="56pt" align="center" /><thead><row><entry namest="1" nameend="5" rowsep="1">TABLE 1</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row><row><entry>DSPI</entry><entry>Gen-2 Memory</entry><entry>Gen-2</entry><entry>Word Pointer</entry><entry /></row><row><entry>Address</entry><entry>Bank</entry><entry>Address</entry><entry>(EBV8)</entry><entry>Description</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>0x018</entry><entry>USER</entry><entry>0x004</entry><entry>0x04</entry><entry>First Interrupt</entry></row><row><entry>0x019</entry><entry>USER</entry><entry>0x005</entry><entry>0x05</entry><entry>Trigger Pair</entry></row><row><entry>0x01A</entry><entry>USER</entry><entry>0x006</entry><entry>0x06</entry><entry>Second Interrupt</entry></row><row><entry>0x01B</entry><entry>USER</entry><entry>0x007</entry><entry>0x07</entry><entry>Trigger Pair</entry></row><row><entry>0x01C</entry><entry>USER</entry><entry>0x008</entry><entry>0x08</entry><entry>Third Interrupt</entry></row><row><entry>0x01D</entry><entry>USER</entry><entry>0x009</entry><entry>0x09</entry><entry>Trigger Pair</entry></row><row><entry namest="1" nameend="5" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
0090In yet another alternative embodiment, the INTGEN custom command which is shown in <figref idref="DRAWINGS">FIG. 19C</figref> 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 <figref idref="DRAWINGS">FIG. 19D</figref>.
0091In 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.
0092As 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 <figref idref="DRAWINGS">FIG. 22</figref>. Referring to <figref idref="DRAWINGS">FIG. 22</figref>, it shows a representative partial wireless circuit <b>2200</b> which includes antenna <b>2220</b>, RFID chip <b>2218</b> such as WM72016 by Cypress Semiconductor Corporation, switch <b>2216</b>, serial bus <b>2214</b>, CPU <b>2212</b> and battery <b>2210</b>. In one embodiment, CPU <b>2212</b> is powered by battery <b>2210</b>. For extremely power sensitive applications, the standby or sleep current of even a modern CPU <b>2212</b> can represent too great of a load on battery <b>2210</b>. As shown in <figref idref="DRAWINGS">FIG. 22</figref>, interrupt signal sent via GPIO port and/or CS select pin of a serial secondary interface is used to control power switch <b>2216</b> to ensure that battery <b>2210</b> does not continue to drain through CPU <b>2212</b> while the system <b>2200</b> is off and CPU <b>2212</b> 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 <b>2216</b>, such as an n-channel FET. The high-going interrupt signal is coupled to the gate in order to turn on power switch <b>2216</b> and wake up CPU <b>2212</b>. CPU <b>2212</b> 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 <b>2212</b> still has access to the full DSPI port via bus <b>2314</b>. Optionally, the acknowledge function can be coded in CPU <b>2212</b> 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 <b>2212</b> fully off between wireless activities.
0093<figref idref="DRAWINGS">FIG. 23</figref> shows a representative partial wireless circuit <b>2300</b> similar to circuit <b>2200</b>. Referring to <figref idref="DRAWINGS">FIG. 23</figref>, instead of using battery <b>2210</b> as power supply to CPU <b>2312</b>, power is harvested by RFID chip <b>2318</b> optionally of RF signal received from RFID reader (not shown) and provided to CPU <b>2312</b> via coupling <b>2310</b>. In one embodiment, the high-going interrupt signal is sent to the gate of power switch <b>2316</b> to turn it on. Power switch <b>2316</b> enables CPU <b>2312</b> to operate under excess power from the RFID harvester. Powering CPU <b>2312</b> as shown in circuit <b>2300</b> 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.
0094<figref idref="DRAWINGS">FIG. 24</figref> illustrates a representative partial wireless circuit <b>2400</b> in which power switch <b>2416</b> is integrated in RFID chip <b>2418</b>. In one embodiment, since the available power is known due to the capacity of the internal rectifier/harvester <b>2410</b>, a switched output power port with power switch <b>2416</b> 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 <figref idref="DRAWINGS">FIGS. 22-24</figref> enable efficient, practical use of an external CPU with an emphasis on power optimization.
0095It 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 <figref idref="DRAWINGS">FIGS. 25A-25D</figref>. Referring to <figref idref="DRAWINGS">FIG. 25A</figref>, the high-going RFID interrupt signal initiated by RFID interface is coupled to and provides power to LED <b>2510</b>. Referring to <figref idref="DRAWINGS">FIG. 25B</figref>, the RFID interrupt signal is one of the inputs of a peripheral logic <b>2520</b>. Referring to <figref idref="DRAWINGS">FIG. 25C</figref>, the RFID interrupt signal is used to induce a voltage signal in a peripheral circuit <b>2530</b>. And referring to <figref idref="DRAWINGS">FIG. 25D</figref>, the RFID interrupt signal is used as a control signal of a peripheral circuit, such as a voltage regulator <b>2540</b>. 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 <figref idref="DRAWINGS">FIG. 19C</figref> 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 <figref idref="DRAWINGS">FIG. 19D</figref> 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.
0096<figref idref="DRAWINGS">FIGS. 24 and 25A</figref>-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 <b>2418</b> 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 <figref idref="DRAWINGS">FIG. 25A</figref>, enable other indicators such as a buzzer, manufacturing option indicators such as logic signals or relay controls as illustrated in <figref idref="DRAWINGS">FIGS. 25B and 25D</figref>, or a regulator enable for temporary use of the harvested field during assembly as illustrated in <figref idref="DRAWINGS">FIG. 25C</figref>. 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.
0097A 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.
0098In 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 <b>2600</b> as shown in <figref idref="DRAWINGS">FIG. 26</figref> incorporates a master/slave serial interface which does not require an integrated or embedded microprocessor (MCU or CPU) to perform RFID readers' 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.
0099Referring to <figref idref="DRAWINGS">FIG. 26</figref>, in one embodiment, RFID tag <b>2600</b> incorporates a configuration of two state machines <b>2608</b> and <b>2610</b> in which SPI master state machine <b>2610</b> 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 <b>2608</b> performs similar functions as state machine <b>420</b> as described in <figref idref="DRAWINGS">FIG. 4</figref> and SPI master state machine <b>2610</b> 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 <figref idref="DRAWINGS">FIG. 26</figref>, RFID tag <b>2600</b> includes an antenna to collect RF energy and the energy is accumulated by energy harvester block <b>2604</b> and in turn to power RFID tag <b>2600</b> and/or slave/peripheral devices [not shown]. In one embodiment, RX and TX logic block <b>2606</b> receives a series of commands from RFID reader [not shown] through an RFID interface [not shown]. RX and TX logic block <b>2606</b>, coupled to RFID control state machine <b>2608</b>, processes the commands. The RFID control state machine <b>2608</b> then maps a sequence of intended SPI master commands into NV memory block <b>2602</b>. In one embodiment, NV memory block <b>2602</b> includes non-volatile memory such as SONOS, flash memory and/or FRAM. Since NV memory block <b>2602</b>, 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 <b>2602</b>. In one embodiment, when the power level is deemed sufficient for an operation, RFID control state machine <b>2608</b> wakes up SPI master state machine <b>2610</b> which in turn retrieves, reads and responds to instructions such as SPI master commands which were already mapped into the NV memory block <b>2602</b>. This configuration allows an operational mode that RFID tag <b>2600</b> wakes up from incident RF power and is capable to immediately execute the stored SPI master commands. After SPI master state machine <b>2610</b> retrieves the commands, it conveys commands from NV memory block <b>2602</b> to SPI port <b>2612</b> by sequencing appropriately for a specific slave (peripheral) device. As discussed, SPI port <b>2612</b> 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 <b>2602</b> on the RFID tag <b>2600</b> without a MCU as the bus master. In one embodiment, SPI master state machine <b>2610</b> 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 <b>2610</b> is coupled to peripheral SPI slave device(s) via SPI port <b>2612</b> 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 <b>2612</b> 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 <b>2610</b> on a subsequent master command/instruction. A simple example of these transactions is best shown in <figref idref="DRAWINGS">FIG. 28</figref> and its corresponding description in later sections.
0100In one embodiment, SPI port <b>2612</b> and master state machine <b>2610</b> may also be used as a slave input interface to RFID tag <b>2600</b> shown in <figref idref="DRAWINGS">FIG. 26</figref> to support dual-port access to NV memory <b>2602</b> 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 <b>2610</b> may perform functions resembling interrupt manager <b>1910</b> as best shown in <figref idref="DRAWINGS">FIG. 19A</figref> and the corresponding description to grant intermittent NV memory block <b>2602</b> access to slave/peripheral devices. The mechanism may incorporate the RFID interrupt operation that is described in earlier sections.
0101<figref idref="DRAWINGS">FIG. 27</figref> 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 <b>2706</b> 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 <figref idref="DRAWINGS">FIGS. 22-23</figref> or a low signal in a conventional SPI operation via either /CS pin of SPI port <b>2612</b> or an additional GPIO pin <b>2614</b>. In one embodiment, control signal may be applied to the gate of switch <b>2702</b> to turn it on, which allows slave device <b>2706</b> access to operating power from power source <b>2704</b>. In one embodiment, power source <b>2704</b> may be RFID tag <b>2600</b> or a standalone power source such as batteries. With the power control mechanism, peripheral device(s) such as slave device <b>2706</b> may be unpowered or in a sleep mode to reserve power and is only woken up by SPI master commands via SPI port <b>2612</b>.
0102<figref idref="DRAWINGS">FIG. 28</figref> is a flow chart illustrating one embodiment of steps for performing a master command. In one embodiment, RFID tag <b>2600</b> 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 <b>2608</b> may receive a sequence of commands from the RFID reader, map each of the commands to NV memory block <b>2602</b> and wake up SPI master state machine <b>2610</b>. SPI master state machine <b>2610</b> may then retrieve commands from NV memory <b>2602</b> including vector data (or addresses) for selecting a particular slave/peripheral device. A control signal will then be sent to the selected slave device <b>2706</b> via its corresponding chip select pin and/or an additional GPIO pin <b>2614</b>. The control signal that initiates an action to the selected slave device <b>2706</b> may also be used to turn on power supply to the selected slave device <b>2706</b>. In one embodiment, the control signal may be an interrupt signal as described in <figref idref="DRAWINGS">FIG. 19A</figref> if the command is an interrupt command. Subsequently, the first command may then be shifted out from NV memory <b>2602</b> to the selected slave device <b>2706</b> via SPI master state machine <b>2610</b> at MOSI pin according to the master clock and the selected slave device <b>2706</b> will then be deactivated. Simultaneously, a second command may be shifted out to SPI master state machine <b>2610</b>. The selected slave device <b>2706</b> may then be activated again by another control signal and data from the selected slave device <b>2706</b> will then be shifted into NV memory <b>2602</b> via SPI master state machine <b>2610</b> at MISO pin according to the master clock. The process <b>2800</b> may either end or continue on to execute the second command.
0103<figref idref="DRAWINGS">FIG. 29</figref> 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 <b>2800</b>. However, it may not be desirable for a couple of reasons. First, RFID system such as RFID tag <b>2600</b> 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 <figref idref="DRAWINGS">FIG. 29</figref>, when SPI master state machine <b>2610</b> wakes up and has the initial access to NV memory <b>2602</b>, 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 <b>2600</b>. 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.
0104<figref idref="DRAWINGS">FIG. 30</figref> 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 <b>2610</b> 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 <b>2610</b> 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.
0105SPI 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 <b>3000</b> and memory structure chart <b>3010</b> 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 <b>2610</b> 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 <b>3000</b> 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.
0106Referring to memory structure chart <b>3010</b> for one slave device operation, the sequence of operations of one embodiment as follows:
01071. The starting address (Addr n) is read and the initial 8 command bits (SPI Master <b>0</b>) are retrieved and shifted out on MOSI to a selected slave device. SPI master state machine <b>2610</b> 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.
01082. As every SPI master command 0 bit is shifted out via MOSI to SPI master state machine <b>2610</b>, 8 data bits (SPI data <b>0</b>) are captured on the MISO line from the selected slave device <b>2706</b>. These may or may not be meaningful data bits, depending on the previous command i.e. SPI master <b>0</b>.
01093. When the next address (Addr n+1) is read, the next 8 command bits (SPI master <b>1</b>) are read. In the case of FRAM, the read is destructive and must be written back. In one embodiment, the upper byte (bits <b>15</b>-<b>8</b>) of the 16 bit word may be utilized to store the MISO bits from the previous operation (SPI data <b>0</b>).
01104. SPI master state machine <b>2610</b> continues the operation until it reads stop code at Addr n+4. SPI master state machine <b>2610</b> may then stop communications with the selected slave device <b>2706</b> and write the last SPI data e.g. SPI data <b>3</b> 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 <b>2610</b> may execute 4 commands and stop automatically.
0111Referring to the embodiment best shown in <figref idref="DRAWINGS">FIG. 30</figref>, a total of 4 SPI master commands (<b>0</b>-<b>3</b>) may be sent to selected slave device <b>2706</b> 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 <b>2602</b>, 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.
0112A typical SPI Master such as SPI master state machine <b>2610</b> has the capability of supporting more than one slave devices. In one embodiment, RFID tag <b>2600</b> 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 <b>2600</b> 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.
0113As 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 <b>2600</b> 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 & 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 <figref idref="DRAWINGS">FIGS. 19A and 24</figref>. The peripheral MCU <b>2412</b> may be woken up and granted intermittent/temporary memory access with an interrupt signal to execute operations as required.
0114In 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 <figref idref="DRAWINGS">FIG. 31A</figref>, 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 <figref idref="DRAWINGS">FIG. 31B</figref> 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.
0115It 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.
0116In 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.
Contents6
30 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0448151A1 | Cites | European Patent Office (EPO) | Applicant |
| EP0469934A2 | Cites | European Patent Office (EPO) | Applicant |
| EP0485086A1 | Cites | European Patent Office (EPO) | Applicant |
| EP0513894A2 | Cites | European Patent Office (EPO) | Applicant |
| EP0642167A2 | Cites | European Patent Office (EPO) | Applicant |
| EP0917204A1 | Cites | European Patent Office (EPO) | Applicant |
| CN1612494A | Cites | China | Applicant |
| JP2000243923A | Cites | Japan | Applicant |
| US2001000990A1 | Cites | United States of America | Applicant |
| US2005088285A1 | Cites | United States of America | Search report |
| US2005262272A1 | Cites | United States of America | Applicant |
| US2008135615A1 | Cites | United States of America | Search report |
| US2008143487A1 | Cites | United States of America | Applicant |
| US2009006675A1 | Cites | United States of America | Search report |
| US2009059825A1 | Cites | United States of America | Search report |
| US2009111524A1 | Cites | United States of America | Search report |
| US2009203399A1 | Cites | United States of America | Applicant |
| US2009276089A1 | Cites | United States of America | Applicant |
| US2011063091A1 | Cites | United States of America | Search report |
| US2012007721A1 | Cites | United States of America | Applicant |
| US2012007722A1 | Cites | United States of America | Applicant |
| US2012007723A1 | Cites | United States of America | Applicant |
| US3184660A | Cites | United States of America | Applicant |
| US3569802A | Cites | United States of America | Applicant |
| US3579063A | Cites | United States of America | Applicant |
| US3819990A | Cites | United States of America | Applicant |
| DE4107165A1 | Cites | Germany | Applicant |
| US4141022A | Cites | United States of America | Applicant |
| US4149301A | Cites | United States of America | Applicant |
| US4149302A | Cites | United States of America | Applicant |
| US4507851A | Cites | United States of America | Applicant |
| US4636908A | Cites | United States of America | Applicant |
| US4675715A | Cites | United States of America | Applicant |
| US4700457A | Cites | United States of America | Applicant |
| US4707897A | Cites | United States of America | Applicant |
| US4757028A | Cites | United States of America | Applicant |
| US4759823A | Cites | United States of America | Applicant |
| US4809225A | Cites | United States of America | Applicant |
| US4811078A | Cites | United States of America | Applicant |
| US4851834A | Cites | United States of America | Applicant |
| US4851895A | Cites | United States of America | Applicant |
| US4853893A | Cites | United States of America | Applicant |
| US4860254A | Cites | United States of America | Applicant |
| US4873644A | Cites | United States of America | Applicant |
| US4873664A | Cites | United States of America | Applicant |
| US4888733A | Cites | United States of America | Applicant |
| US4893272A | Cites | United States of America | Applicant |
| US4910708A | Cites | United States of America | Applicant |
| US4914627A | Cites | United States of America | Applicant |
| US4918654A | Cites | United States of America | Applicant |
| US4937650A | Cites | United States of America | Applicant |
| US4959745A | Cites | United States of America | Applicant |
| US4982309A | Cites | United States of America | Applicant |
| US5003428A | Cites | United States of America | Applicant |
| US5005102A | Cites | United States of America | Applicant |
| US5024964A | Cites | United States of America | Applicant |
| US5031144A | Cites | United States of America | Applicant |
| US5036382A | Cites | United States of America | Applicant |
| US5040046A | Cites | United States of America | Applicant |
| US5043049A | Cites | United States of America | Applicant |
| US5046043A | Cites | United States of America | Applicant |
| US5070036A | Cites | United States of America | Applicant |
| US5094981A | Cites | United States of America | Applicant |
| US5099305A | Cites | United States of America | Applicant |
| US5119154A | Cites | United States of America | Applicant |
| US5122477A | Cites | United States of America | Applicant |
| US5124014A | Cites | United States of America | Applicant |
| US5139971A | Cites | United States of America | Applicant |
| US5142437A | Cites | United States of America | Applicant |
| US5146299A | Cites | United States of America | Applicant |
| US5155573A | Cites | United States of America | Applicant |
| US5170242A | Cites | United States of America | Applicant |
| US5189503A | Cites | United States of America | Applicant |
| US5191510A | Cites | United States of America | Applicant |
| US5192704A | Cites | United States of America | Applicant |
| US5201054A | Cites | United States of America | Applicant |
| US5206788A | Cites | United States of America | Applicant |
| US5212620A | Cites | United States of America | Applicant |
| US5216572A | Cites | United States of America | Applicant |
| US5227855A | Cites | United States of America | Applicant |
| US5229309A | Cites | United States of America | Applicant |
| US5231058A | Cites | United States of America | Applicant |
| US5266355A | Cites | United States of America | Applicant |
| US5271955A | Cites | United States of America | Applicant |
| US5273927A | Cites | United States of America | Applicant |
| US5286681A | Cites | United States of America | Applicant |
| US5293075A | Cites | United States of America | Applicant |
| US5293510A | Cites | United States of America | Applicant |
| US5303186A | Cites | United States of America | Applicant |
| US5307305A | Cites | United States of America | Applicant |
| US5319246A | Cites | United States of America | Applicant |
| US5334554A | Cites | United States of America | Applicant |
| US5335138A | Cites | United States of America | Applicant |
| US5350705A | Cites | United States of America | Applicant |
| US5371700A | Cites | United States of America | Applicant |
| US5375085A | Cites | United States of America | Applicant |
| US5376590A | Cites | United States of America | Applicant |
| US5381364A | Cites | United States of America | Applicant |
| US5382817A | Cites | United States of America | Applicant |
| US5383150A | Cites | United States of America | Applicant |
17 members in 3 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 83381710 | United States of America | A | |
| 83381710 | United States of America | A | |
| 201462013375 | United States of America | P | |
| 201462013375 | United States of America | P | |
| 201462042113 | United States of America | P | |
| 201462042113 | United States of America | P | |
| 201514645798 | United States of America | A | |
| 12833817 | – | – | – |
| 62013375 | – | – | – |
| 62042113 | – | – | – |
| US20100833817 | – | – | – |
| US201462013375P | – | – | – |
| US201462042113P | – | – | – |
| US201514645798 | – | – | – |
Members17
| Document | Office | Kind | |
|---|---|---|---|
| CN102314401A | China | A | |
| CN102314618A | China | A | |
| US2012007720A1 | United States of America | A1 | |
| US2012007721A1 | United States of America | A1 | |
| US2012007722A1 | United States of America | A1 | |
| US2012007723A1 | United States of America | A1 | |
| CN102393916A | China | A | |
| US8686836B2 | United States of America | B2 | |
| US8723654B2 | United States of America | B2 | |
| US8957763B2 | United States of America | B2 | |
| US9092582B2 | United States of America | B2 | |
| US2015227480A1 | United States of America | A1 | |
| WO2015195475A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN102314401B | China | B | |
| CN102393916B | China | B | |
| CN102314618B | China | B | |
| US9846664B2This record | United States of America | B2 |
112 transactions on the USPTO file
Allowed after 3 non-final rejections, 2 final rejections and 3 RCEs.
- Non-final rejections
- 3
- Final rejections
- 2
- RCEs
- 3
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| Terminal Disclaimer FiledDIST | DIST | |
| Response after Final ActionA.NE | A.NE | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Paralegal TD Not acceptedP575 | P575 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| Response after Final ActionA.NE | A.NE | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| track 1 ONT1ON | T1ON | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Track 1 Request GrantedT1GR | T1GR | |
| Mail-Record Petition Decision of Granted to Make SpecialMP003 | MP003 | |
| Record Petition Decision of Granted to Make SpecialP003 | P003 | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Preliminary AmendmentA.PE | A.PE | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Additional Application Filing FeesADDFLFEE | ADDFLFEE | |
| Applicant has submitted a new specification to correct Corrected Papers problemsCORRSPEC | CORRSPEC | |
| Electronic ReviewELC_RVW | ELC_RVW |
5 recorded assignments at the USPTO, latest first
- Now
Now: Held by
CYPRESS SEMICONDUCTOR CORPSPANSION LLC - 2022-03-16
Release by secured party.
Release- From
- MUFG UNION BANK, N.A.
- To
- CYPRESS SEMICONDUCTOR CORPORATIONSPANSION LLC
Recorded 2022-03-16, Signed 2020-04-16
- 2019-12-05
Assignment and assumption of security interest
Security interest- From
- MORGAN STANLEY SENIOR FUNDING, INC.
- To
- MUFG UNION BANK, N.A.
Recorded 2019-12-05, Signed 2019-12-04
- 2018-10-16
Corrective assignment to correct the following numbers 6272046,7277824,7282374,7286384,7299106,7337032,7460920,7519447 previously recorded on reel 039676 frame 0237. assignor(s) hereby confirms the security interest.
Security interest- From
- CYPRESS SEMICONDUCTOR CORPORATION
- To
- MORGAN STANLEY SENIOR FUNDING
Recorded 2018-10-16, Signed 2017-12-29
- 2016-08-15
Security interest.
Security interest- From
- CYPRESS SEMICONDUCTOR CORPCYPRESS SEMICONDUCTOR CORPORATION
- To
- MORGAN STANLEY SENIOR FUNDING INC
Recorded 2016-08-15, Signed 2016-08-05
- 2016-01-11
Assignment of assignors interest.
Ownership change- From
- GREEFKES KIRKWHITAKER MARK R
- To
- CYPRESS SEMICONDUCTOR CORPCYPRESS SEMICONDUCTOR CORPORATION
Recorded 2016-01-11, Signed 2015-03-03
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 09846664
- Publication, DOCDB
- 9846664
- Publication, EPODOC
- US9846664
- Application
- 14645798
- Application, DOCDB
- 201514645798
- Application, EPODOC
- US201514645798
Titles
- English
- RFID interface and interrupt
Patent term adjustment
- Applicant delay
- −121 days
- Net adjustment
- 0 days
Classification
- CPC, 7
- G06F13/32
- G06F13/4068
- G06F12/0246
- G06F13/364
- Y02D10/00
- G06K7/10366
- G06F2212/2022
- IPC, 6
- H04Q5 22
- G06F13 32
- G06K7 10
- G06F12 02
- G06F13 364
- G06F13 40
- USPC, 1
- 001001000