AC to AC wireless power systems

A wireless power transmitter is provided herein. The wireless power transmitter includes a coil, transistors, and a controller. The coil provides a magnetic field for a wireless power transfer in accordance with an alternating current power supply providing an alternating current input at a first frequency. The transistors couple to a phase and a zero of the alternating current power supply. The controller switches the plurality of transistors at a second frequency to drive a current across the coil that induces the magnetic field. The current includes an envelope that corresponds to the first frequency of the alternating current input.

BACKGROUND

The disclosure relates generally to wireless power systems, and more specifically, to alternating current (AC) to AC wireless power systems.

In general, contemporary implementations of wireless power transfer methods provide for power transfer between a power transmitter (Tx) and a power receiver (Rx). The Tx (e.g., whether being an inductive and/or resonant Tx) traditionally operates using direct current (DC) input power and provides a DC output power to the Rx. The Rx is coupled to an electronic device, such as mobile handset. The electronic device prefers DC power. The Rx transfers the DC output power, received from the Tx, to the electronic device accordingly.

However, contemporary implementations are not optimal for target electronic devices that use AC motors, such as kitchen appliances. For example, most household mixers and food processors use AC motors. AC motors prefer AC output power, are generally a lower cost compared to equivalent DC motors, and operate at power levels far higher than mobile handset power levels (e.g., up to 2.2 kW).

Thus, there is an need for an AC to AC wireless power system that can power target electronic devices fitted to operate from the main AC power supply, which would avoid significant internal electronic/power system changes respective to receiving a DC voltage output.

SUMMARY

According to one or more embodiments, a wireless power transmitter is provided herein. The wireless power transmitter includes a coil configured to provide a magnetic field for a wireless power transfer in accordance with an alternating current power supply providing an alternating current input at a first frequency. The wireless power transmitter includes a plurality of transistors configured to couple to a phase and a zero of the alternating current power supply. The wireless power transmitter includes a controller configured to switch the plurality of transistors at a second frequency to drive a current across the coil that induces the magnetic field. The current comprising an envelope that corresponds to the first frequency of the alternating current input.

According to one or more embodiments, a wireless power receiver is provided. The wireless power receiver includes a controller and a coil configured to receive a magnetic field for a wireless power transfer from a wireless power transmitter. The wireless power receiver includes a rectifier configured to produce, as an output, an envelope of a transmitter current signal. The wireless power receiver includes a plurality of transistors configured to produce an absolute value of the envelope based on a switching by the controller.

According to one or more embodiments, the wireless power transmitter and the wireless power receiver above can be implemented as a system, a method, an apparatus, or a computer program product.

DETAILED DESCRIPTION

Embodiments disclosed herein may include apparatuses, systems, methods, and/or computer program products (e.g., an AC to AC wireless power transfer system) that provide AC to AC wireless power transfers. More particularly, the AC to AC wireless power transfer system provides a solution to systems that require AC power as an input and AC power as an output.

According to one or more advantages, technical effects, and benefits, because AC to AC wireless power transfer is more suitable to target electronic devices that use AC motors, the AC to AC wireless power transfer system optimizes efficiency from a main AC power supply, while lowering complexity and costs for the target electronic devices (in contrast to incorporating a DC based solution therein). Thus, embodiments described herein are necessarily rooted in one or more controllers of the Tx and Rx of the system to perform proactive operations to overcome problems specifically arising in the contemporary implementations of wireless power transfer methods.

According to one or more embodiments, a wireless power transmitter is provided herein. The wireless power transmitter includes a coil configured to provide a magnetic field for a wireless power transfer in accordance with an alternating current power supply providing an alternating current input at a first frequency. The wireless power transmitter includes a plurality of transistors configured to couple to a phase and a zero of the alternating current power supply. The wireless power transmitter includes a controller configured to switch the plurality of transistors at a second frequency to drive a current across the coil that induces the magnetic field. The current comprising an envelope that corresponds to the first frequency of the alternating current input.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the second frequency can be greater than the first frequency.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the first frequency can include 50 Hz or 60 Hz.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the second frequency can be selected from a range of 20 khz to 200 khz.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, one or more time slots around each zero crossing of the current can be utilized for in-band communications by the wireless power transmitter with a wireless power receiver.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the controller can synchronize the switching of the plurality of transistors to generate the envelope.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the controller can insert dead time between the switching of the plurality of transistors to prevent one or more shorts of the phase or the zero of the alternating current power supply.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the plurality of transistors can include field effect transistors.

According to one or more embodiments or any of the wireless power transmitter embodiments herein, the zero and the phase of the alternating current power supply can be connected via two back-to-back N-type metal-oxide-semiconductor (N-MOS) or P-type metal-oxide-semiconductor (P-MOS) field effect transistors.

According to one or more embodiments, a wireless power receiver is provided. The wireless power receiver includes a controller and a coil configured to receive a magnetic field for a wireless power transfer from a wireless power transmitter. The wireless power receiver includes a rectifier configured to produce, as an output, an envelope of a transmitter current signal. The wireless power receiver includes a plurality of transistors configured to produce an absolute value of the envelope based on a switching by the controller.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the rectifier of the wireless power transmitter can include a voltage doubling circuit.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the wireless power receiver can include one or more rectifier capacitors sized to maintain a fluctuation during a wireless power receiver driver oscillation cycle.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the rectifier can be configured to provide a full alternating current wave reconstruction using a transformer or full wave driver.

According to one or more embodiments or any of the wireless power receiver embodiments herein, one or more time slots around each zero crossing of the current can be utilized for in-band communications by the wireless power receiver with the wireless power transmitter.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the wireless power receiver can use the one or more time slots to transmit a digital waveform for 50 bits.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the digital waveform can be transmitted over 8 usec.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the wireless power receiver can provide an alternating current power to an alternating current motor in accordance with the absolute value of the envelope.

According to one or more embodiments or any of the wireless power receiver embodiments herein, the plurality of transistors can include field effect transistors.

According to one or more embodiments, a system is provided. The system includes a wireless power transmitter configured to provide a magnetic field for a wireless power transfer in accordance with an alternating current power supply providing an alternating current input at a first frequency. The wireless power transmitter includes a plurality of first transistors configured to couple to a phase and a zero of the alternating current power supply. The wireless power transmitter includes a controller configured to switch the plurality of first transistors at a second frequency to drive a current across a coil that induces the magnetic field, the current comprising an envelope that corresponds to the first frequency of the alternating current input. The system includes a wireless power receiver configured to receive the magnetic field for the wireless power transfer. The wireless power receiver includes a rectifier configured to produce, as an output, the envelope of a transmitter current signal corresponding to the current. The wireless power receiver includes a plurality of second transistors configured to produce an absolute value of the envelope based on a switching.

According to one or more embodiments of any of the system embodiments herein, one or more time slots around each zero crossing of the current can be utilized for in-band communications between the wireless power receiver and the wireless power transmitter.

FIG.1shows a block diagram depicting a system100(e.g., a AC to AC wireless power transfer system) in accordance with one or more embodiments. The system comprises a wireless power transmitter101and a wireless power receiver102(referred herein as Tx101and Rx102, respectively). The Tx101is any device that can generate electromagnetic energy from a main AC supply103to a space around the Tx101that is used to provide power to the Rx102. The Rx102is any device that can receive, use, and/or store the electromagnetic energy when present in the space around the Tx101. Note that the Tx101can have a similar or the same component structure as the Rx102, and vice versa.

As shown inFIG.1, the Rx102includes circuitry for receiving, providing, and/or storing the electromagnetic energy, which can be further provided to a load105. According to one or more embodiments, the Rx102may be used for charging the load105, examples of which include an AC motor. The circuitry of the Rx102may also include a receiving coil110; a resonant capacitor120; a full wave generator125; a controller135; and a rectifier140. In accordance with some example embodiments, the Rx102may be used to wirelessly obtain induced power from the Tx101for supplying power to a load105. For instance, an input stage of the Rx102includes the receiving coil110and the resonant capacitor120connected to the rectifier140(e.g., full wave or half wave rectification stage). An output of the rectifier140is connected to the full wave generator125that creates full wave AC output to the load105. Additionally, the Rx102may be capable of wirelessly communication with the Tx101(e.g., in-band communication).

According to one or more embodiments, the controller135can include a sensing circuit, circuitry, and/or software, for sensing voltage and/or current of a resonance circuit (e.g., a receiving coil110and/or resonant capacitor120) of the Rx102. The controller135can control and/or communicate via junction145to provide modulation injections as needed for AC to AC wireless power transfer. The values of the resonance components (e.g., the receiving coil110and/or resonant capacitor120) can be defined to match with a transmitted frequency of the Tx101. The Rx102can be provided with or without the resonant capacitor120. Additionally, or alternatively, the resonance circuit can further comprise at least one branch each having a tuning capacitor (rcap) controlled by the controller135.

According to one or more embodiments, the controller135can include software therein (e.g., firmware159) that logically provides a FIR equalizer, an analyzer of in-band communication data, a selector for selecting a ping, a coupler for dynamically determining a coupling factor, a regulator for dynamically determining an operating frequency, etc. In this regard, the controller135can have a system memory where software and a processor that executes the software in place to implement operations described herein. The controller135can include a central processing unit (CPU) based on a microprocessor, an electronic circuit, an integrated circuit, and/or implemented as special firmware ported to a specific device such as a digital signal processor, an application specific integrated circuit, and any combination thereof, or the like. According to one or more embodiments, the controller135can be utilized to perform computations required by the Rx102or any of the circuitry therein.

The rectifier140can be based on commercially available half-wave rectification; full-wave rectification; field-effect transistor (FET) based full-wave rectification; and any combination thereof, or the like. According to one or more embodiments, the rectifier140can be any rectifier using one or more components, such as 4 diodes (e.g., asynchronous rectifier), 2 didoes and 2 FETs (half synchronous), 4 FET (synchronous), or 2 capacitors and 2 switches, that are controlled by either a dedicated logic circuit or the controller135. According to one or more embodiments, the rectifier140can include a voltage doubling circuit designed to provide a doubling of voltage using 2 diodes or FETs with two output capacitors (e.g., as described with respect toFIG.7).

Similar to the Rx102, the Tx101includes circuitry for generating and transmitting the electromagnetic energy (i.e., transmitting power). The circuitry of the Tx101may include a transmitter coil160; a resonant capacitor165; a driver170; an optional power input stage168; and a controller180, which further include an input/output (I/O) module185and firmware190. The transmitter coil160and the resonant capacitor165provide an LC circuit for generating an inductive current in accordance with operations of the driver170and the controller180to support power transmissions.

According to one or more embodiments, a transmitter resonance circuit includes the transmitter coil160, the resonant capacitor165, and the driver170where one side of is connected to a zero connection of the main AC supply103and another side is connected to a phase. The zero connection and the phase can each be connected via two back-to-back FETs (e.g., as described with respect toFIG.2), so connection to either phase or zero can be made by the transmitter resonance circuit. Note that alternative electronic switches can include N-type metal-oxide-semiconductor (N-MOS) FETs, P-type metal-oxide-semiconductor (P-MOS) FETs, relays, or other electrical switch components.

FIG.2depicts a diagram200in accordance with one or more embodiments. The diagram200can correspond to an example transmitter resonance circuit and drivers of the Tx101ofFIG.1. The diagram200illustrates a power210and a ground211(e.g., an AC power coming from a wall, as phase and zero respectively), a capacitor220(e.g., the resonant capacitor165), a coil230(e.g., the transmitter coil160), one or more transistors250,260,270, and280, and a ground290. The one or more transistors250,260,270, and280can be FETs, such as N-MOS and/or P-MOS FETs.

According to one or more embodiments, the driver170is connected to the power input stage168. The power input stage168is connected to the main AC supply103. The power input stage168can include full or half wave rectifier circuit with an output capacitor. For example, the output capacitor size can be selected to maintain low fluctuation (e.g., 10%) during a Tx driver oscillation cycle (e.g., 20 khz-200 khz), though the output capacitor is not large enough to maintain this low fluctuation for a full AC cycle (e.g., 50 Hz or 60 Hz). In this regard, the driver170can include a single FET on each side (e.g., thereby eliminating the transistors260and280ofFIG.2).

According to one or more embodiments, the controller180may utilize the I/O module185as an interface to transmit and/or receive information and instructions between the controller180and elements of the Tx101(e.g., such as the driver170and a wiring junction195). For instance, the controller180can include a sensing circuit, circuitry, unit, and/or software for sensing voltage and/or current of the transmitter resonance circuit. The controller180can include a sensing circuit, circuitry, unit, and/or software for sensing voltage and/or current of the main AC supply103. According to one or more embodiments, a transformer with multiple output points can be used to provide different output voltage levels to drive resonance transmitter resonance circuit and in combination with duty cycle control. Note that the controllers135and180can be similarly configured.

According to one or more embodiments, the controller180may sense, through the I/O module185one or more currents or voltages, such as a AC input voltage (Vin) and a AC resonance circuit voltage (Vac). According to one or more embodiments, the controller180can activate, through the I/O module185, one or more switches to change the resonance frequency. Further, the Rx102and/or the Tx101can include multiple switches for multiple frequencies.

According to one or more embodiments, the controller180may utilize the firmware190as a mechanism to operate and control operations of the Tx101. In this regard, the controller180can be a computerized component or a plurality of computerized components adapted to perform methods such as described herein. For example, the controllers135and/or180can include a computer program product that stores a computer readable storage medium. According to one or more embodiments, the controller135and180can also cause the system to participate in in-band communications, receiving signals from the Rx102by monitoring junction195voltage or current, and transmitting signals to the Rx102by controlling the driver170.

In operation, the controller180can control a switching of FET control points A-D ofFIG.2. The controller180can control the switching directly or via an additional driver stage. The transistors250,260,270, and280are toggled at significantly higher frequency then an AC power supply oscillating frequency. According to one or more embodiment, an FET toggling frequency can be selected (e.g., by the controller180according to any switching strategy) along a range of 20 khz to 200 khz. Note that a AC power supply oscillating frequency is typically 50 hz or 60 hz.

A current flowing through the transmitter resonance circuit and a magnetic field that this current induces (e.g., through the coil230) is a modulation of the main AC waveform with the high frequency AC oscillation. The current flowing through the coil230is further described with respect toFIG.3, which shows a graph300according to one or more embodiments.

Generally, the graph300illustrates an AC signal or envelope310over a high frequency AC oscillation320, where the amplitude (Y-axis) is modulated over time (X-axis). That is, the graph300shows the high frequency AC oscillation320as a ‘fast oscillation’ at 20 khz to 200 khz, which creates the AC signal or envelope310(i.e., an AC power oscillation envelope). According to one or more embodiments, the controller180synchronizes the switching of the plurality of transistors250,260,270, and280to generate the envelope310. Note that control over a power transferred to the Rx102may be provided by modification of a duty cycle of an FET toggling waveform. Also, note that a lower duty cycle for the driver170can yield a similar waveform with a lower current amplitude.

According to one or more embodiments, the Tx101and the controller180can take care in switching the FETs to prevent shorts of the phase and the zero. The controller180can also take care to prevent a complete disconnection of transmitter coil160due to supply and creation of voltage spikes. To achieve the switching of FETs, the controller180can time the switching and/or insert dead time between specific FET switches.

FIG.4depicts a timing chart400in accordance with one or more embodiments. The timing chart400is an example of a field-effect transistor (FET) switching (i.e., an exemplary switching strategy).

The timing chart400includes for lines corresponding to the switching of FET control points A-D. Prior to time T1, control points A-B are high and control points C-D are low. At time T1, control point C is switched to high. At time T3, control points A-B are switched to low. At time T4, control point D is switched to high. Note that the time between time T1, time T2, and time T3 can be considered dead time.

Further, at time T4, control point B is switched to high. At time T5, control points C-D are switched to low. At time T6, control point A is switched to high. Note that the time between time T4, time T5, and time T6 can be considered dead time.

FIG.5depicts a diagram500in accordance with one or more embodiments. The diagram500can correspond to a receiver (e.g., Rx102ofFIG.1). The diagram500illustrates a rectifier505, one or more capacitors510and515, one or more coils520,525,530, and535, one or more transistors540and550, and a ground590. The one or more transistors540and550can be FETs. The controller135ofFIG.1can further operate to perform a sensing594. The diagram500illustrates an exemplary implementation of a power path, where the transistors540and550flip on and off to reconstruct an AC waveform.

The capacitor515for the rectifier505is selected as to filter out a current variance during the FET fast oscillations (as in existing receivers). One or more advantages, technical effects, and/or benefits include the Rx102having relatively small capacitors compared to capacitors required to filter the main AC oscillations. As an example, a capacitor for the Rx102operating at FET toggling frequency of 100 kHz is 20 uF for a 2A output system. To achieve similar performance for AC supply oscillations, contemporary implementations require a 40 mF capacitor, which is far larger and more expensive.

The rectifier505can produce an envelope596, which is further manipulated by the coils525and530, the transistors540and550, and the ground590. That is, an output of the rectification stage is the envelope596(of the transmitter current signal) and is therefore a single sided version of an supply AC waveform (e.g., absolute value of the main AC supply103). To enable creation of a true AC waveform of the output, the rectified waveform needs to be inverted every half cycle. The rectifier505can be implemented as full wave rectifier based on didoes, FETs, or combination thereof. The rectifier505can be implemented to provide doubling of output voltage by utilizing two output capacitors515(e.g., utilizing a topology similar to that described with respect toFIG.7).

According to one or more embodiments, an inversion can be provided by usage of a transformer with middle connection point on the input side. The center point is connected to the rectifier ground, and the upper and lower connection points of the transformer are connected via a FET to the Vrect. One of the FETs is switched on while the other is switched off. The FET control (points A & B) are switched every half cycle in synchronization with the current reaching zero level. The output of the transformer is an AC waveform with oscillation frequency matching the main AC supply103. According to one or more embodiments, the controllers135and180of the system100ensure that the voltage of the output matches the main voltage and that the output is connected to the AC load.

According to one or more embodiments, a full wave driver can be utilized, including usage of dual switches to connect GND and Vrect alternately to the output signals. For example, one half of the full wave driver that connects to the phase output is connecting the output to Vrect on half of the cycle and to GND on the second half, and the second half of the driver is connecting the zero output to Vrect or GND is opposite timing to the first half driver. In turn, a need for output transformer coils is eliminated.

According to one or more embodiments, the system100enables communications between the Rx102and the Tx101. The communications can provide at least, but not limited to, an identification of the Rx102and the Tx101, a control over transmitted current/power levels, and a providing consumed power reports to assist the Tx101in detection of foreign object presence. On the system101, power levels can be high and fluctuating the power levels using connection of resistive element or capacitive can be problematic. Thus, the communications can provide data in-band. For example, performing in-band data transmission during time slots around zero crossing points of an AC main waveform. During the zero crossing point, the FETs of the Tx101can be kept entirely closed and the Rx102can simply inject a signal to a resonance system that is sensed by the Tx101as fluctuation on a main coil voltage.

For example, a time slot of 400 usec (i.e., a width of the time slot) centered around a zero crossing of the AC main waveform can be defined. During this time slot (e.g., for the width of 400 usec), the Tx101keeps a driver FET at constant connection to zero. The Rx102can use the time slot to inject current waveform carrying data. This may be digital modulation that carries specific packet structure for transfer of control and power information.

Turning toFIG.6, a graph600of Rx data inserted on a zero slot of the Tx101power is shown in accordance with one or more embodiments. Generally, the graph600illustrates an amplitude (Y-axis) modulated over time (X-axis). That is, the graph600illustrates a conceptual view of a current610on the main coil during a full AC main cycle, where slots620around the zero crossings of the AC main signal is silenced. More particularly, the driver170of the Tx101sets the coil160to zero, and the Rx102uses the slot to transmit data (which is seen as current on the coil160). As an example, the slot620can be used to transfer a digital waveform for 50 bits, each transmitted over 8 usec. Note that a ‘0’ bit and a ‘1’ bit can be used for different pulse shapes. The 50 bits may be sub-divided into preamble bits and data bytes with start, data, stop and parity bits.

According to another embodiment, the slot620can be used to sense foreign object objects. Sensing of the foreign object can be performed by sending a short pulse via the Tx101or the Rx102(i.e., resonance circuit therein) and measuring a decay pattern and/or a rate and oscillation frequency.

According to another embodiment, a time slot adjacent to the slot620can be used to of power consumption. The Tx101measures driven power at that the slot620, the Rx102measures received power during the same timeslot, and the Rx102reports back to the Tx101on a next communication slot. The Tx101can use the information to determine if foreign object is present and consuming part of the transmitted power. Usage of the slot adjacent or close to the zero crossing (e.g., the slot620) ensures that a power level at that slot is relatively low compared to maximum or average power transfer of the system101. As the accuracy of the system101is decreased with the increase of power levels, the system101provides strong advantage in using a relatively low power slot for such measurements.

FIG.7depicts a diagram700in accordance with one or more embodiments. The diagram700can correspond to an AC rectifier circuit used to double an output voltage. The AC rectifier circuit can be used in the power input stage168of the Tx101and/or in the rectifier140of the Rx102.

The diagram700illustrates diodes705and706and output capacitors710and711. According to one or more embodiments, the diodes705and706can alternatively be FETs or other type of transistors. The diodes705and706are connected in reverse polarity to each other with one side connected to a phase of an AC supply720and another side to the matching capacitors (i.e., the output capacitors710and711). Second sides of the output capacitors710and711are connected to an AC supply zero signal730. The second sides of the output capacitors710and can are also connected to a rectifier output (e.g., the capacitor711can be connected to a plus output740, and the capacitor710can be connected to a negative output750.

FIG.8depicts a system800in accordance with one or more embodiments. The system800has a device801(e.g., the Rx102and/or the Tx101of the system100ofFIG.1) with one or more central processing units (CPU(s)), which are collectively or generically referred to as processor(s)802(e.g., the controllers135and180ofFIG.1). The processors802, also referred to as processing circuits, are coupled via a system bus803to system memory804and various other components. The system memory804can include a read only memory (ROM), a random access memory (RAM), internal or external Flash memory, embedded static-RAM (SRAM), and/or any other volatile or non-volatile memory. For example, the ROM is coupled to the system bus and may include a basic input/output system (BIOS), which controls certain basic functions of the device801, and the RAM is read-write memory coupled to the system bus803for use by the processors802.

FIG.8further depicts an I/O adapter805, a communications adapter806, and an adapter807coupled to the system bus803. The I/O adapter805may be a small computer system interface (SCSI) adapter that communicates with a drive and/or any other similar component. The communications adapter806interconnects the system bus803with a network812, which may be an outside network (power or otherwise), enabling the device801to communicate data and/or transfer power with other such devices (e.g., such as the Tx101connecting to the Rx102). A display813(e.g., screen, a display monitor) is connected to the system bus803by the adapter807, which may include a graphics controller to improve the performance of graphics intensive applications and a video controller. Additional input/output devices cab connected to the system bus803via the adapter807, such as a mouse, a touch screen, a keypad, a camera, a speaker, etc.

In one embodiment, the adapters805,806, and807may be connected to one or more I/O buses that are connected to the system bus803via an intermediate bus bridge. Suitable I/O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI).

The system memory804is an example of a computer readable storage medium, where software819can be stored as instructions for execution by the processor802to cause the device801to operate, such as is described herein with reference toFIGS.1-8. In connection withFIG.1, the software819can be representative of firmware190for the Tx101, such that the memory804and the processor802(e.g., the controller180) logically provide a FIR equalizer851, an analyzer852of in-band communication data, a selector for selecting a ping, a coupler853for dynamically determining a coupling factor, a regulator854for dynamically determining an operating frequency, etc.

As indicated herein, embodiments disclosed herein may include apparatuses, systems, methods, and/or computer program products at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a controller to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that can retain and store computer readable program instructions. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

The computer readable program instructions described herein can be communicated and/or downloaded to respective controllers from an apparatus, device, computer, or external storage via a connection, for example, in-band communication. Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.