In the particular example illustrated, system 10 is illustrated as interacting with tagged devices 12A, 12B and 12C (collectively referred to as tagged devices 12) which include tags 14A, 14B and 14C (collectively referred to as tags 14) associated with electronic devices 16A, 16B and 16C (collectively referred to as electronic devices 16), respectively. Tags 14 comprise transponders configured to record data and to transmit data. In particular, each tag 14 is configured to receive data from device 22 and/or device 24 and to record such data in a memory. In one embodiment, tags 14 are configured to receive such data from device 22 or device 24 while deriving power from device 22 or device 24 or from a battery while an associated electronic device 16 is inactive, off or unpowered.
Each tag 14 is further configured to communicate such recorded data to its associated electronic device 16. In one embodiment, each tag 14 is configured to be hard wired to its associated electronic device 16, wherein data is transmitted from tag 14 to the electronic device 16 through the wired connection. As a result, such data transmission is fast, reliable and inexpensive. Each tag 14 is further configured to be powered through the wired connection from device 16 when device 16 is powered or active. In other embodiments, tag 14 may be configured to communicate with its electronic device 16 or or receive power in other fashions such as wirelessly.
In particular embodiments, tag 14 is configured to be removed from electronic device 16. In one embodiment, tag 14 is configured to be removed from its associated electronic device 16 without tools. As a result, tag 14 may be easily removed for repair, replacement or reuse with another electronic device.
In particular embodiments, tag 14 is additionally configured to communicate with device 22 and/or device 24. Such communication is performed wirelessly. In one embodiment, tag 14 is configured to communicate information to device 22 and/or device 24 indicating the data stored in its memory. As a result, tag 14 enables device 22 or device 24 to determine whether new or replacement code should be transmitted to tag 14 and recorded on tag 14.
According to one example embodiment, tags 14 each comprise an integrated circuit and a coupling device. The integrated circuit stores data while the coupling device interfaces with a RF device such as devices 22 and 24. In one embodiment, the coupling device includes a coil which acts as a transmitting antenna. In one embodiment, tags 14 employ load modulation or electromagnetic backscatter at its antenna to send data back to devices 22. In the embodiment illustrated, each tag 14 comprises an antenna connected to a capacitor and a silicon chip encapsulated together and bonded onto a substrate, such as a resilient acrylic or mylar substrate. In one embodiment, tag 14 derives power from devices such as device 22 or device 24 using either inductive coupling or electromagnetic capture. In other embodiments, tags 14 may include batteries. In one embodiment, tags 14 additionally include flash memory configured to store recorded data. In other embodiment, tags 14 may have other configurations.
Power source 52 comprises a source of power for electronic device 16A including processor 56. In one embodiment, power source 52 may comprise a battery. In other embodiments, power source 52 may comprise a connector or adapter configured to be connected to an external power supply. The supply of power from power source 52 to those components of electronic device 16A results in activation of electronic device 16A. For purposes of this disclosure, the term “active” means that the device is generally under full power and is ready to receive input to from a person to perform its functions. For example, a printer, when active, is ready to print data and is under full power.
Memory 54 comprises a data storage device configured to store data and instructions for processor 56. Memory 54 stores software and operating instructions for electronic device 16A. Examples of memory 54 include any one or combination of volatile memory elements such as random access memory (RAM, DRAM, SRAM and the like) and nonvolatile memory elements (RAM, ROM, hard drive, tape, CD-ROM and the like). Memory 54 may incorporate electronic, magnetic, optical and/or other types of storage media. Memory 54 may also have a distributed architecture, were in various components are located remote from one another but can be accessed by processor 56.
Processor 56 comprises one or more processing units configured to generate control signals for actuating components of electronic device 16A. Processor 56 follows instruction code stored in memory 54. For purposes of this disclosure, the term “processing unit” shall mean a presently developed or future developed processing unit that executes sequences of instructions contained in a memory. Execution of the sequences of instructions causes the processing unit to perform steps such as generating control signals. The instructions may be loaded in a random access memory (RAM) for execution by the processing unit from a read only memory (ROM), a mass storage device, or some other persistent storage. In other embodiments, hard wired circuitry may be used in place of or in combination with software instructions to implement the functions described. Controller 26 is not limited to any specific combination of hardware circuitry and software, or to any particular source for the instructions executed by the processing unit.
As further shown by
In some embodiments, processor 56 is further configured to record a code identifier or ID of the existing code stored in memory 54 on tag 14A. For example, processor 56 may be configured to record onto tag 14A model information, software or firmware version information or other data indicating the current code version of the software or firmware installed on electronic device 16A. Such information facilitates the detection of the existing status of any upgrades or installation of code upgrades on electronic device 16A by upgrading system 10, which enables upgrading system 10 to determine which code upgrades should be written to tag 14A.
Electronic devices 16B and 16C may be similar or different than device 16A while also having the same described components. In the example illustrated, devices 16B and 16C are configured to cooperate with one another when in use. For example, devices 16A and 16B may be bundled. In one embodiment, device 16B may comprise a digital camera while device 16C comprises a printer having a communication port for receiving picture data from the camera. In such embodiments where devices 16 are bundled, it may be beneficial to concurrently provide code upgrades to such devices to facilitate desired working operation between such devices.
As shown by
RF devices 22, 24 (sometimes referred to as “readers”) comprise devices configured to record data to tags 14 wirelessly such as through radio frequency waves. In the particular example illustrated, RF devices 22, 24 additionally configured to read data from tags 14 wirelessly, such as using radio frequency waves. As schematically shown in
RF device 22 and RF device 24 differ in their communication with controller 26. In the particular example illustrated, RF device 22 is connected to controller 26 by a communication line 36. Examples of communication line 36 include electrical wiring, optical lines and the like. RF device 24 is configured to communicate with controller 26 wirelessly. In one embodiment, RF device 24 includes an RF transponder (and controller 26 also includes a RF transponder) for communication with controller 26 using radiofrequency waves. In other embodiments, RF device 24 may communicate with controller 26 in other wireless fashions. For example, in other embodiments, RF device 24 may communicate with controller 26 using infrared or other waves.
Controller 26 comprises one or more processing units 40 and associated memory 42 configured to generate control signals directing the recording of code upgrades by RF devices 22 and 24 to tags 14. In the particular embodiment illustrated in which RF devices 22 and 24 are additionally configured to read data from tags 14, controller 26 is also additionally configured to generate such control signals based upon data read from tags 14. For example, in one embodiment, controller 26 is configured to analyze data read from each tag 14 and select one or more code upgrades from multiple potential code upgrades stored in memory 42 for transmission to tag 14. In particular embodiments, controller 26 may additionally or alternatively generate control signals causing selective transmission of code upgrades to different tags 14 based upon other data stored in memory 42 or input to controller 26 such as the particular intended use or intended user of the associated electronic device 16.
As indicated by step 112 of method 110 in
As indicated by step 114 in
In one embodiment, the code version ID is recorded on tag 14 using a RF device, such as device 22 or device 24, wirelessly after tag 14 and device 12 have been packaged. For example, a manufacturing facility may construct electronic device 16, package electronic device 16 and prior to shipping, wirelessly transmit the identification of the code version on the packaged electronic device to tag 14. In other embodiments, the code version ID may be recorded on tag 14 prior to the tagged device 12 being packaged. In such an embodiment, the recording of the code version ID onto tag 14 may be performed wirelessly or, in some embodiments, may be performed through a wired connection to tag 14. In such an embodiment, the recording of code version ID on tag 14 may be performed while the associated electronic device 16 is active, wherein electronic device 16 may assist or perform the recording of its code version ID onto tag 14. In yet other embodiments, the recording of code version ID onto tag 14 may be performed prior to the securing of tag 14 to its associated electronic device 16.
Steps 116-122 in
As indicated by step 116 in
As indicated by step 118, the read code version ID is transmitted from either RF device 22 or RF device 24 to controller 26. Processor 40 of controller 26 consults memory 42 and compares the read code version ID to the desired code version ID contained in memory 42. As indicated by step 120, if the code version ID read from tag 14 indicates that the operating code of device 16 is correct or are current, the process ends.
However, as indicated by step 122, if the code version ID read from tag 14 is not correct or is not current, such as when a bug or error has been identified since the initial code version of electronic device 16 or upgrades or enhancements have been developed since the initial version of code installed on electronic device 16, upgrading system 10 records a code upgrade on RF tag 14. In particular, processing unit(s) 40 of controller 26 generate control signals which are communicated to RF device 22 or RF device 24 and which direct RF device 22 or RF device 24 to record an appropriate code upgrade to tag 14. The code upgrade is wirelessly transmitted by write component 30 through packaging 70 to tag 14. The electromagnetic waves, such as radio frequency waves, transmitted by device 22 or device 24 empower and/or activate tag 14 while electronic device 16 is inactive or unpowered. In response to such waves, tag 14 records the code upgrade in its memory, such as flash memory. Once the desired or current code upgrade has been recorded on tag 14, device 12, while still in its packaging, may be further shipped for wholesale or retail sale or end the use.
As indicated by step 124, the code upgrade recorded on tag 14 is installed by electronic device 16 upon activation or powering up of electronic device 16. In particular, electronic device 16 installs the code upgrade in a patch area of its code or overwrites existing code to incorporate the code upgrade fix or code upgrade enhancement. In the particular embodiment illustrated, processor 56 of electronic device 16 (shown in
Method 110 enables tagged devices 12 to be enhanced or fixed after being packaged. As shown by
Although method 110 has been described as transmitting code upgrades to electronic devices while such electronic devices are in packaging per step 112, in other embodiments, method 110 may omit step 112. In such a method, upgrading system 10 transmits code upgrades to electronic devices 16 while electronic device 16 are inactive or are unpowered, also reducing costs and time associated with upgrading or reviseging such electronic devices.
Although method 110 is illustrated as including steps 114-120 in which system 10 determines whether a particular code upgrade should be recorded, in other embodiments, such steps may be omitted. For example, in other embodiments, upgrading system 10 may alternatively automatically record code upgrades on the RF tags 14 of each tag device 12 with which it interacts.
Memory 221 stores data transmitted by interface 219. In particular embodiments, memory 221 additionally stores a code version ID for device 16. In one embodiment, memory 221 is further connected to device 16 through port 216 as indicated by arrows 231. In one embodiment, memory 221 comprises a flash memory. In other embodiments, memory 221 may comprise other forms of memory.
Power manager 223 comprises a portion of an integrated circuit of tag 214 and is wired to memory 221 and to interface 219. Power manager 223 acts as a switch to selectively power memory 221 using power received from interface 219 (as indicated by arrow 227) or using power received from device 16 (as indicated by arrow 233). In particular, when device 16 is inactive or unpowered, power manager 223 is in the connection state shown by arrow 251 such that power extracted from radiofrequency waves 243 by interface 219 is transmitted to memory 221, permitting data in a memory 221 to be read or permitting data to be written to memory 221 by interface 219 as indicated by arrows 229 without power being received from device 16. When device 16 is powered or active, power manager 223 is in the connection state shown by broken arrow 253 such that power from device 16 is transmitted to memory 221, facilitating reading and writing of data to memory 221 by device 16 as indicated by arrows 231. In particular, when device 16 is inactive or unpowered, manager 223 supplies power to memory 221 by transmitting power received in from interface 219 as indicated by arrow 227.
In one embodiment, tag 214 comprises a dual port integrated circuit having to input/output ports including a radio frequency port and a serial interface I2C port, a 125 kHz carrier frequency for its RF. interface and 1 kB of non-volatile memory. In one embodiment, tag 214 is configured to power up in response to an RF signal when tag 214 is spaced from an antenna of upgrading system 210 by less than or equal to distance D. In one embodiment, distance D is approximately 1 m. The serial interface port is wired to device 16. Power from device 16 is used when device 16 is powered. One example of tag 214 is a duel port integrated circuit such as Atmel At24RF08 commercially available from Atmel Corporation. In other embodiments, other tags may be employed. For example, in other embodiments, tag 214 may alternatively operate at 13.56 MHz using ISO 15693 protocol. In such embodiment, memory 221 may have a non-volatile memory capacity of 8 kB. In yet other embodiments, tag 214 may operate at other frequencies and have other memory capacities.
Upgrading system 210 is similar to upgrading system 10. Upgrading system 210 determines the current status or state of electronic device 16 by reading the version of code installed on electronic device 16 or the code version ID stored on tag 214. Depending upon whether the code version of device 16 is out of date so as to benefit from an upgrade or would benefit from a code upgrade to correct errors, upgrading system 210 transmits one or more code upgrades wirelessly to tag 214, wherein the transmitted code upgrades are stored in memory 221. Upgrading system 210 includes RF device 222 and controller 226. RF device 222 is similar to RF device 22 in that RF device 222 is configured to read data from tag 214 and to record data to tag 214. As shown by
Controller 226 analyzes data read from tag 214, determines whether the electronic device 16 associated with tag 214 should receive a code upgrade, selects an appropriate code upgrade and generates control signals directing an RF device to transmit the selected code upgrade to tag 214 of tagged device 212. Like controller 26, controller 226 includes a one or more processing units 40 and a memory 42 (shown in
In operation, tagged device 212 is positioned within distance D with respect to antenna 241. Controller 226 generates control signals directing device 222 to transmit waves 243 which are received by the antenna of port 217 of tag 214. During such transmission of waves 243, tag 214 is not receiving power from device 16 such as when device 16 is inactive or is unpowered. As indicated by arrow 245, the radio frequency waves 243 transmit energy which is received by interface 219 and transmitted to power manager 223 which further supplies power to memory 221. At the same time, as indicated by arrows 247, the radio frequency waves 243 are modulated so as to activate tag 214. Upon activation of tag 214, interface 219 modulates the antenna of port 217 to communicate the version of the code existing on device 16 and stored on memory 221. Such transmission may occur while tagged device 212 is contained within packaging. Should the data received from tag 214 indicate that device 16 should have a code upgrade, controller 226 generates control signals directing device 222 to modulate radio frequency waves 243 such that one or more selected code upgrades are transmitted wirelessly as indicated by arrows 247. Interface 219 receives such modulated radio frequency waves, representing the selected code upgrade, wherein the code upgrade is stored in memory 221 as indicated by arrow 229. The transmission of the code upgrade may also occur while tagged device 212 is contained within packaging.
Later on, upon being activated or powered up, device 16 supplies power to tag 214 through the hard wired port 216 as indicated by arrow 233. This power from device 16 is applied to memory 221 by power manager 223. Device 16 further accesses memory 221 and installs the code upgrade recorded on memory 221 to upgrade the program or routines of device 16 to enhance or to correct errors existing in the programs are routines of device 16.
Although the present disclosure has been described with reference to example embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the claimed subject matter. For example, although different example embodiments may have been described as including one or more features providing one or more benefits, it is contemplated that the described features may be interchanged with one another or alternatively be combined with one another in the described example embodiments or in other alternative embodiments. Because the technology of the present disclosure is relatively complex, not all changes in the technology are foreseeable. The present disclosure described with reference to the example embodiments and set forth in the following claims is manifestly intended to be as broad as possible. For example, unless specifically otherwise noted, the claims reciting a single particular element also encompass a plurality of such particular elements.
The present application is related to co pending U.S. patent application Ser. No. ______ filed on the same date as the present application by Michael Scott Montgomery, Perry A. Miller and Wai Kwan Chan and entitled RF TAG, the full disclosure of which is hereby incorporated by reference The present application is related to copending U.S. patent application Ser. No. ______ filed on the same date as the present application by Mehrban Jam, Salil Pradhan and Cyril Brignone and entitled METHOD AND APPARATUS FOR LOCALIZATION OF CONFIGURABLE DEVICES, the full disclosure of which is hereby incorporated by reference.