System and method of measuring real-time current

A system and method of measuring real-time current is disclosed. The method includes calibrating a voltage measurement device. Calibrating includes measuring a real-time voltage difference between a first measurement node located proximate a first connector on a motherboard and a second measurement node located proximate a second connector on a power supply unit (PSU), the first and the second connectors coupled to provide power to the motherboard. Calibrating further includes averaging the real-time voltage difference for a plurality of measurements; computing a resistance of the coupling based at least on a long-duration averaged current from the PSU and the averaged real-time voltage difference, the resistance varying over time; and reporting the resistance of the coupling to the voltage measurement device. The method also includes measuring a real-time current of the PSU at the voltage measurement device based at least on the resistance of the coupling and the real-time voltage difference.

TECHNICAL FIELD

The present disclosure relates generally to information handling systems, and more particularly to measuring real-time current of a power supply associated with an information handling system.

BACKGROUND

As processors, graphics cards, random access memory (RAM) and other components in information handling systems have increased in clock speed and power consumption, the amount of current required for these components has increased. However, excessive current draw may damage components of an information handling system. It may be desirable to measure the current being drawn from a power supply to power components of the information handling system. Some attempts to measure current may use sense components, but this may result in a substantial power loss. Some attempts may use attempts to measure at the power supply, but this may be very costly to implement or very slow.

SUMMARY

In one embodiment, a method is described including calibrating a voltage measurement device. Calibrating the voltage measurement device includes measuring a real-time voltage difference between a first measurement node located proximate a first connector on a motherboard and a second measurement node located proximate a second connector on a power supply unit (PSU), the first and the second connectors coupled to provide power to the motherboard. Calibrating the voltage measurement device further includes averaging the real-time voltage difference for a plurality of measurements, computing a resistance of the coupling between the first and the second connectors based at least on a long-duration averaged current from the PSU and the averaged real-time voltage difference, the resistance varying over time, and reporting the resistance of the coupling to the voltage measurement device. The method also includes measuring a real-time current of the PSU at the voltage measurement device based at least on the resistance of the coupling and the real-time voltage difference.

In another embodiment, an information handling system is disclosed. The information handling system includes a motherboard comprising a first connector for coupling to another connector and a first measurement node positioned proximate the first connector on the motherboard. The information handling system also includes a power supply unit (PSU) comprising a second connector coupled to and supplying power to the motherboard via the first connector, the coupling of the first and the second connectors having a resistance that varies over time, and a second measurement node positioned proximate the second connector on the PSU. The information handling system further includes a voltage measurement device configured to measure a real-time voltage difference between the first measurement node and the second measurement node and measure a real-time current of the PSU based at least on the real-time voltage difference between the first and the second measurement nodes and the resistance of the coupling. The information handling system also includes a calibrating device configured to calibrate the voltage measurement device. The calibrating device is further configured to receive a long-duration averaged current from the PSU, average the measured real-time voltage difference between the first and the second measurement nodes at a plurality of time increments, compute the resistance of the coupling based at least on the averaged measured real-time voltage and the long-duration averaged current, and report the resistance of the coupling to the voltage measurement device.

In a further embodiment, an information handling system is disclosed. The information handling system includes a motherboard comprising a first connector for coupling to another connector and a first measurement node positioned proximate the first connector on the motherboard. The information handling system also includes a power supply unit (PSU) comprising a second connector coupled to and supplying power to the motherboard via the first connector, the coupling of the first and the second connectors having a resistance that varies over time, and a second measurement node positioned proximate the second connector on the PSU. The information handling system further includes a voltage measurement device configured to measure a real-time voltage difference between the first measurement node and the second measurement node. The information handling system also includes a trip point detector configured to receive and retain a trip point voltage, receive the real-time voltage difference from the voltage measurement device, compare the trip point voltage to the real-time voltage difference, and generate a signal based on the real-time voltage difference exceeding the trip point voltage. The information handling system further includes a calibrating device configured to generate the trip point voltage. The calibrating device is further configured to receive a long-duration averaged current from the PSU, average the measured real-time voltage difference between the first and the second measurement nodes for a plurality of measurements, compute the resistance of the coupling based at least on the averaged measured real-time voltage and the long-duration averaged current, and update the trip point voltage based at least on the computed resistance of the coupling.

DETAILED DESCRIPTION

Preferred embodiments and their advantages are best understood by reference toFIGS. 1-5, wherein like numbers are used to indicate like and corresponding parts.

FIG. 1illustrates a block diagram of an example information handling system100, in accordance with certain embodiments of the present disclosure. In certain embodiments, information handling system100may comprise a computer chassis or enclosure (e.g., a server chassis holding one or more server blades). In other embodiments, information handling system100may comprise a storage enclosure. In yet other embodiments, information handling system100may be a personal computer (e.g., a desktop computer or a portable computer). As depicted inFIG. 1, information handling system100may include a processor110, a memory120, a motherboard130, a power supply unit (PSU)140, a voltage measurement device150, a calibrating device160, a motherboard connector170a, a power supply connector170b, a motherboard measurement node180a, and a power supply measurement node180b. In some embodiments, voltage measurement device150may further include a trip point detector155, or trip point detector155may be a stand-alone component. Information handling system100may also include a controller190. Information handling system100may be configured to provide real-time measurement of current being delivered by PSU140to motherboard130by using Ohm's Law and measuring a voltage difference between the two measurement nodes180aand180band knowing the resistance of the coupling between PSU140and motherboard130. However, the resistance of the coupling may vary over time so calibrating device160may be configured to facilitate calibrating voltage measurement device150to provide accurate current readings

Processor110may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments, processor110may interpret and/or execute program instructions and/or process data stored in memory120and/or another component of information handling system100. AlthoughFIG. 1depicts information handling system100as including one processor110, information handling system100may include any suitable number of processors110.

Memory120may be communicatively coupled to processor110and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media). Memory120may include random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to information handling system100is turned off. AlthoughFIG. 1depicts information handling system100as including one memory120, information handling system100may include any suitable number and variety of memories120.

Motherboard130may be any component or set of components configured to facilitate communication among and between components of information handling system100. For example, motherboard130may include a printed circuit board with a variety of connectors thereon that various components of information handling system100may interface with. In some embodiments, motherboard130may have designated interfaces for any of processor110, memory120, PSU140, voltage measurement device150, calibrating device160, controller190, a graphics processing unit (GPU), a network interface card (NIC), or any combinations thereof. In some embodiments, motherboard130may distribute power from PSU140to other components of information handling system100. For example, motherboard130may distribute power to one or more processors110of information handling system100.

Motherboard connector170amay be a connector configured to interface with PSU140. In some embodiments, connector170amay be a dedicated interface for exclusively connecting to one or more PSUs140. For example, connector170amay be a male or a female end of a connection pair. In other embodiments, connector170amay be a generic connector of motherboard130that is capable of interfacing with any of a variety of components of information handling system100, including PSU140. In some embodiments, connector170amay have features for receiving power from PSU140and other features for providing data communication with PSU140. For example, connector170amay have a series of wires or pins configured to receive data from or send data to PSU140.

PSU140may be electrically coupled to various components of information handling system100and may include any device, system, or apparatus operable to supply electrical energy to one or more components of information handling system100. AlthoughFIG. 1depicts information handling system100as including one PSU140, information handling system100may include any suitable number of PSUs140. As shown inFIG. 1, in some embodiments, PSU may directly supply electrical energy to motherboard130, which may then distribute electrical energy to various other components of information handling system100.

PSU140may be configured to provide a variety of default information and messages to components of information handling system100. For example, in some embodiments, PSU140may slowly measure, average, and report the current flowing through PSU140over a long duration. This may occur on the order of seconds or tenths of seconds. For example, PSU140may report the current flowing through PSU140once per second. This may be represented by the variable Ilong. Such slow reporting may be too slow for dynamic power management, to prevent PSU140shut down, or to prevent or mitigate damage to components of information handling system100, including PSU140.

Power supply connector170bmay be a connector configured to interface with motherboard130. In some embodiments, connector170bmay be a dedicated interface for exclusively connecting to motherboard130. For example, connector170amay be a male or a female end of a connection pair. In other embodiments, connector170bmay be a generic connector that is capable of interfacing with any of a variety of components in information handling system100. In some embodiments, connector170bmay have features for delivering power to motherboard130and other features for providing data communication with motherboard130. For example, connector170bmay have a series of wires or pins configured to receive data from or send data to motherboard130. In some embodiments, PSU140may report the long-duration averaged Ilongto motherboard130via connector170b, or it may be sent to calibrating device160via some other communication channel. In some embodiments, motherboard130may then communicate Ilongto calibrating device160.

Motherboard connector170aand power supply connector170bmay be coupled to allow electrical power to flow from PSU140to motherboard130. The coupling of the two connectors170aand170bmay have a resistance associated with electrical current passing from PSU140to motherboard130. This resistance may be represented by the variable Rcouple. Rcouplemay vary over time. For example, when information handling system100is first turned on, the ambient temperature within information handling system100may be relatively cool, such that connectors170aand170bmay have a given resistance. As time progresses and components within information handling system100generate heat, connectors170aand170bmay increase in temperature, thus varying the resistance of the coupling of the two connectors. For example, for most metals, as temperature increases, resistance increases based on a temperature coefficient of resistance or resistivity for the given material.

Voltage measurement device150may include any system, device, or apparatus configured to rapidly measure a voltage change between two points. For example, voltage measurement device150may include analog circuitry, digital circuitry, logic, or combination thereof configured to measure a voltage change between two points. In some embodiments, voltage measurement device150may also be configured to measure a current based on a measured voltage. For example, using Ohm's Law (I=V/R), with a known resistance between two points, voltage measurement device150may be able to measure a current between two points based on an observed voltage difference between the two points. It will be appreciated that the term voltage difference may include any relationship between two measurements of voltage, including an increase, a decrease, or equivalent values. Voltage measurement device150may be housed, attached, or configured to be part of motherboard130, PSU140, or may be a free-standing component. Voltage measurement device150may be configured to provide essentially instantaneous or real-time voltage difference measurements. For example, voltage measurement device150may provide real-time voltage measurements on the order of microseconds, for example, every 0.1, 1, 5, 10, 20, 50, or 100 microseconds.

In some embodiments, voltage measurement device150may be implemented as a voltmeter. When implemented as analog circuitry, voltage measurement device150may include op-amps, resistors, and/or capacitors configured such that the voltage difference between two points may be measured. When implemented as digital circuitry, voltage measurement device150may include front amps and analog to digital converters configured such that the voltage difference between two points may be measured. In some embodiments, either the analog or digital circuitry may be configured to amplify, filter, or both, the signal carrying a measurement.

Measurement nodes180aand180bmay be any point from which voltage measurement device150may take voltage measurements. Measurement nodes may be a wire, a printed circuit, or any other feature or component able to carry a voltage signal. Measurement node180amay be positioned proximate motherboard connector170aon motherboard130such that voltage measurement device150may have one voltage measurement point just after electrical power is passed from PSU140to motherboard130. Measurement node180bmay be positioned proximate power supply connector170bsuch that voltage measurement device150may have a voltage measurement point just before electrical power is passed from PSU140to motherboard130. In some embodiments, measurement nodes180aand180bmay be associated with unused communication pins between PSU140and motherboard130. In some embodiments, two current sense pins may be defined on power supply connector170bsuch that sense signals from nodes180aand180bmay be communicated to voltage measurement device150with limited or no power flowing impact regardless of where voltage measurement device150or calibrating device160may be located. In some embodiments this may include pins associated with connector170a,170b, or both. For example, if the combination of170aand170bis a male/female connection, there may be corresponding pin functionality on both170aand170bwhen they are coupled together.

Voltage measurement device150may be configured to take real-time measurements of the voltage difference between two points. For example, voltage measurement device150may take real-time measurements of the voltage difference between measurement nodes180aand180b. This may be represented by the variable Vreal. This may correspond to the real-time voltage difference observed by passing the current from PSU140to motherboard130. While voltage measurement device150may impart some resistance by measuring the voltage difference and thus draw a minimal current to take measurements, it will be appreciated that this resistance may be negligible when compared to the resistance from the coupling of motherboard connector170aand power supply connector170b. In some embodiments, the resistance from voltage measurement device150may be ignored when measuring the voltage difference between measurement nodes180aand180b. In other embodiments, the resistance of voltage measurement device150may be known and may be included in any analysis regarding voltage differences measured by voltage measurement device150.

The minimal current from measurement nodes180aand180bmay be passed along a data communication channel between PSU140and motherboard130. For example, the data communication link between PSU140and motherboard130may carry the minimal current from node180ato voltage measurement device150when voltage measurement device150is located on PSU140. Alternatively, the data communication link may carry the minimal current from measurement node180bwhen voltage measurement device150is located on motherboard130. In some embodiments, this may be a dedicated pin of the data communication link between PSU140and motherboard130.

Calibrating device160may include any system, device, or apparatus configured to calibrate voltage measurement device150. Calibrating device160may include analog circuitry, digital circuitry, logic, software, hardware, or any combination thereof. Calibrating device160may be in communication with PSU140either directly or indirectly such that calibrating device160may receive the long-duration averaged current of PSU140, Ilong. Calibrating device160may also be in communication with voltage measurement device150such that calibrating device160may receive the real-time measurements of the voltage difference between measurement nodes180aand180btaken by voltage measurement device150, Vreal. Calibrating device160may average the real-time voltage difference Vrealfor a plurality of time increments to determine an average voltage difference for a given time period. This may be represented by the variable Vavg. For example, calibrating device160may take a plurality of measurements from within the time span from which PSU140has reported the long-duration averaged current Ilong. Alternatively, in some embodiments, calibrating device160may keep a rolling average of a certain number of real-time measurements of Vrealfrom voltage measurement device150to acquire Vavgto correspond with the long-duration averaged current Ilongperiodically reported by PSU140.

Calibrating device160may be configured to compute Rcouplebased on the long-duration averaged current Ilongreported by PSU140and the averaged real-time measurements of the voltage measured by voltage measurement device150Vavg. For example, using Ohm's Law, with a known current Ilongand an averaged voltage Vavgknown to correspond to that current, Rcouplemay be computed. For example,
Rcouple=Vavg/Ilong

Calibrating device160may then report this computed value of Rcoupleto voltage measurement device150. This may in turn enable voltage measurement device150to calculate in real-time the current flow coming from PSU140to motherboard130based on the known resistance Rcouple. This may be represented by the variable Irealand may be measured as described above.

As described above, Rcouplemay be variable over time. Thus, in some embodiments, calibrating device160may continuously or periodically recalibrate voltage measurement device150by re-computing Rcouple. For example, in some embodiments, calibrating device160may be configured to compare a rolling value of Vavgto each reported value of Ilongto continuously compute Rcouple. In alternative embodiments, calibrating device160may be configured to periodically sample the latest received or next arriving Ilongand compare it to a corresponding value of Vavg. For example, calibrating device160may periodically compute Rcoupleevery 0.5, 1, 1.5, 2, or 5 seconds, or any other frequency sufficient to guard against excessive changes to Rcouple. Calibrating device160may be configured to only report Rcoupleto voltage measurement device150if Rcouplehas changed since the previous value of Rcouplereported to voltage measurement device150.

In some embodiments, voltage measurement device150and calibrating device160may be part of PSU140rather than associated with motherboard130. In such an embodiment, measurement nodes180aand180bmay connect to voltage measurement device150on PSU140rather than to motherboard130. Additionally, any computing or processing may be performed by a processor, logic or other feature of PSU140, for example a PSU controller.

In some embodiments, information handling system100may additionally include a trip point detector155. Trip point detector155may include any system, device, or apparatus configured to detect a trip point associated with measurements taken by voltage measurement device150. Trip point detector155may include analog circuitry, digital circuitry, logic, software, hardware, or any combination thereof. For example, trip point detector155may be any comparator circuit like an op amp or a dedicated comparator chip. The trip point associated with trip point detector may be based on a voltage or a current. For example, trip point detector155may be configured to compare a trip point voltage to Vreal. In other embodiments, trip point detector155may be configured to compare a trip point current to Ireal. Trip point detector155may determine whether the measured value, for example Vrealor Irealhas exceeded the trip point. If the measured value has exceeded the trip point, trip point detector155may generate a signal indicating that this has occurred. This may be used by any of a variety of components within information handling system100. For example, this may be used to initiate throttling of processor110, generating a PROCHOT# signal, turning on another power supply, turning off or throttling other components, turning on or speeding up other components (like fans), notifying a user of information handling system100, or any combinations thereof.

The trip point may be provided by any of a variety of components of information handling system100. For example, trip point detector155may receive the trip point from processor110, controller190, voltage measurement device150, calibrating device160, or power supply140.

In some embodiments, voltage measurement device150may include trip point detector155. In other embodiments, trip point detector155may be a free standing component, or may be part of calibrating device160. In some embodiments, the communication between voltage measurement device150, trip point detector155, and calibrating device160may be a closed loop system such that voltage measurement device150provides data to trip point detector155and calibrating device160, and calibrating device160provides data to trip point detector155and/or voltage measurement device150.

Controller190may include any system, device, or apparatus configured to interpret and/or execute program instructions and/or process data, and may include, without limitation a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments, controller190may interpret and/or execute program instructions and/or process data stored in memory120and/or another component of information handling system100. In certain embodiments, controller190may include or may be an integral part of a baseboard management controller (BMC), Dell Remote Access Controller (DRAC) or an Integrated Dell Remote Access Controller (iDRAC).

In some embodiments, controller190may be in communication with, cooperation with, control of, or an integral part of some or all of the components described herein. For example, in some embodiments, any of voltage measurement device150, trip point detector155, calibrating device160, PSU140, processor110, memory120and combinations thereof may be configured to be controlled by or receive instructions from controller190. In some embodiments, the functionality or features of one or all of voltage measurement device150, trip point detector155, and calibrating device160may be performed by controller190. For example, in some embodiments, voltage measurement device150, trip point detector155, and calibrating device160may be an integral part of controller190. In such an embodiment, the signal generated by trip point detector155may enable controller190to initiate any or all of the actions which may occur when a measured value exceeds the trip point.

In an alternative embodiment shown inFIG. 2, voltage measurement device150may only measure the real-time voltage difference Vrealbetween measurement nodes180aand180b. In such an embodiment, trip point detector155may utilize a trip point voltage rather than a trip point current to determine whether a measured value has exceeded a given trip point or threshold. In such an embodiment, the calibration is also slightly modified. As described above, calibrating device160may compute Rcoupleusing Ilongand an averaged voltage Vavg. However, rather than reporting Rcoupleto voltage measurement device150, calibrating device160may use Rcoupleto determine any changes to the trip point voltage. Thus, rather than voltage measurement device150solving for current using Rcouple, calibrating device160would use changes in Rcoupleto provide trip point detector155changes to the trip point voltage. For example, based on Ohm's Law, if Rcoupledoubled in value, the value of the trip point voltage may be cut in half. In other words, the value of Rcouplemay have an inverse relationship with the trip point value.

In such an embodiment, calibrating device160may be configured to use the received Vrealsignal from voltage measurement device150to determine Ireal. In some embodiments, voltage measurement device150may take an analog measurement, and simply pass the analog signal of the measured value Vrealto trip point detector155. The analog signal from voltage measurement device150may also pass to an analog to digital converter to then pass a digital signal to calibrating device160. Calibrating device160may then use the digital signal of Vrealto compute Rcoupleand to measure Ireal.

In some embodiments this may provide certain advantages over other attempts to measure current. For example, embodiments of the present disclosure may allow for faster measurement times (for example, twenty-five times faster) when compared to a general PSU inductor output reported to the system, which may only provide responses every 10-100 milliseconds. As another example, embodiments of the present disclosure may facilitate real-time current demands at the motherboard, which may provide a more accurate reading when compared to sense components that may not sense all components of a system. As a further example, embodiments of the present disclosure may provide an essentially lossless approach, in other words, almost no power may be used in measuring the current. As a final example, the cost both in power and money of using shunt resistors at a motherboard may be saved. These examples are in no way limiting, and merely serve as illustrations of some advantages of some embodiments of the present disclosure over other attempts to measure current.

FIG. 3illustrates an example of a set of operations to detect real-time current, in accordance with the present disclosure. As shown inFIG. 3, operation305may include measuring the real-time voltage difference between measurement nodes180aand180b, Vreal. For example, voltage measurement device150may measure Vreal. Operation310may include averaging the measured real-time voltage Vrealto acquire Vavg. This may include voltage measurement device150sending Vrealto calibrating device160, which may average a plurality of measurements Vrealto acquire Vavg. Operation315may include computing Rcouplebased at least on Ilongand voltage Vavg. For example, calibrating device160may receive Ilongfrom PSU140and then use Ilongand voltage Vavgto compute Rcouple. Operation320may include reporting the computed value of Rcoupleby calibrating device160to voltage measurement device150. In some embodiments, operations305,310,315, and320may be continuously or periodically repeated so as to update the value of Rcouple, as Rcouplemay vary over time. Calibrating a voltage measurement device may be associated with operations305,310,315, and320.

Operation325may include using the computed value of Rcoupleand real-time measure voltage to calculate real-time current, Ireal.

Operation330may include receiving and retaining a trip point. For example, this may include processor110or controller190sending trip point detector155a trip point current value. Operation335may include receiving the real-time measured current Ireal. For example, this may include trip point detector155receiving the real-time measured current Irealfrom voltage measurement device150. Operation340may include comparing the measured real-time current Irealto the trip point. At decision345, it may be determined whether Irealexceeds the trip point. If not, the process may return to operation335. If it is determined that the measured real-time current Irealexceeds the trip point, operation350may include trip point detector155generating a signal indicating this has occurred.

FIG. 4illustrates an alternative example of a set of operations to detect real-time current, in accordance with the present disclosure. As shown inFIG. 4, operation405may include measuring the real-time voltage difference between measurement nodes180aand180b, Vreal. For example, voltage measurement device150may measure Vreal. Operation410may include averaging the measured real-time voltage Vrealto acquire Vavg. This may include voltage measurement device150sending Vrealto calibrating device160, which may average a plurality of measurements Vrealto acquire Vavg. Operation415may include computing Rcouplebased at least on Ilongand voltage Vavg. For example, calibrating device160may receive Ilongfrom PSU140and then use Ilongand voltage Vavgto compute Rcouple. Operation420may using the computed value of Rcoupleto update the trip point voltage include by calibrating device160. In some embodiments, operations405,410,415, and420may be continuously or periodically repeated so as to update the value of Rcouple, as Rcouplemay vary over time. Determining Rcouplemay include operations405,410,415, and420.

Operation425may include initializing the trip point voltage. This may be used by calibrating device160as a baseline from which to update based on variations in Rcouple. This may also be used by trip point detector155as an initial trip point for comparison. This may be generated by any of processor110, controller190, calibrating device160, or PSU140. For example, processor110may read the initial trip point value from memory120and send that value to calibrating device160and trip point detector155.

Operation430may include receiving and storing a trip point. For example, this may include processor110or controller190sending trip point detector155an initial trip point voltage value. Alternatively, this may include calibrating device160sending trip point detector155an updated trip point based on variations in Rcouple. Operation435may include receiving the real-time measured voltage Vreal. For example, this may include trip point detector155receiving the real-time measured voltage Vrealfrom voltage measurement device150. Operation440may include comparing the measured real-time voltage Vrealto the trip point. At decision445, it may be determined whether Vrealexceeds the trip point. If not, the process may proceed back to operation435. If it is determined that the measured real-time voltage Vrealexceeds the trip point, at operation450trip point detector155may generate a signal indicating this has occurred. Any of the resulting consequences of the signal may be expected as described above. Detecting a trip point may include operations430,435,440,445, and450.

FIG. 5illustrates an example embodiment of analog circuitry500in accordance with some embodiments of the present disclosure. As will be appreciated, the circuitry shown inFIG. 5is merely an example and is in no way limiting. As shown inFIG. 5, analog circuitry500may include measurement nodes180aand180b. Analog circuitry500may further include region510configured to measure the voltage, amplify the signal, and compensate for temperature variations. Analog circuitry500may further include region520configured to average and filter the signal. The outgoing signal may be passed along line530to be used by a PSU, a motherboard, or some other system component.

Although the present disclosure has been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and the scope of the disclosure as defined by the appended claims.