An analog-to-digital converter (adc) system is disclosed and includes a programmable control register and a plurality of channels, each channel having an associated request bit within the programmable control register. The adc system also includes a scheduler responsive to the programmable control register, the scheduler comprising logic to monitor a plurality of request bits to detect when any of the request bits are set. A method of scheduling analog-to-digital conversion is disclosed and includes receiving a request to schedule an analog-to-digital conversion for a channel of a plurality of channels. The method also includes scheduling an analog-to-digital conversion in response to receiving the request and performing the analog-to-digital conversion based on the request, where data that indicates the request is stored in a programmable control register.
|
1. An analog-to-digital converter system, comprising:
a programmable control register;
a plurality of channels, each channel having an associated request bit within the programmable control register; and
a scheduler responsive to the programmable control register, the scheduler comprising logic to monitor a plurality of request bits to detect when any of the request bits are set.
18. A method of performing an analog-to-digital conversion, comprising:
receiving a request to schedule an analog-to-digital conversion for a channel of a plurality of channels;
scheduling an analog-to-digital conversion in response to receiving the request;
performing the analog-to-digital conversion based on the request; and
wherein data that indicates the request to schedule is stored in a programmable control register.
11. A method, comprising:
setting a first schedule bit of a plurality of schedule bits within a schedule register, the first schedule bit corresponding to a first channel of an analog-to-digital converter (adc) system; and
receiving a first result of a first analog-to-digital conversion performed for the first channel when a scheduler of the adc system blocks copying to a request register after determining that at least one of a plurality of request bits within the request register is set.
4. A method of scheduling use of an analog-to-digital converter, the method comprising:
copying a plurality of bits from a schedule register having a plurality of schedule bits to a request register having a plurality of request bits, wherein each of the plurality of schedule bits corresponds to a channel of an analog-to-digital converter;
monitoring the plurality of request bits;
determining whether at least one of the plurality of request bits is set; and
blocking further copying to the request register after determining that at least one of the plurality of request bits is set.
2. The system of
logic to copy a plurality of schedule bits to the plurality of request bits; and
logic to block further copying of the schedule bits when at least one of the plurality of request bits is set.
3. The system of
5. The method of
6. The method of
8. The method of
10. The method of
12. The method of
13. The method of
14. The method of
setting a second schedule bit of the plurality of schedule bits concurrently with setting the first schedule bit, the second schedule bit corresponding to a second channel of the adc system; and
receiving a second result of a second analog-to-digital conversion performed for the second channel after the scheduler copies both of the first schedule bit and the second schedule bit to the request register and blocks further copying to the request register.
15. The method of
16. The method of
setting a single interrupt enable bit within an interrupt enable register concurrently with setting the first schedule bit and the second schedule bit.
17. The method of
19. The method of
20. The method of
|
The present application is a continuation application of and claims priority to U.S. patent application Ser. No. 11/416,768 filed on May 3, 2006, the contents of which are expressly incorporated herein by reference in their entirety, which is a continuation application of and claims priority to U.S. patent application Ser. No. 11/171,554 filed on Jun. 30, 2005, now U.S. Pat. No. 7,071,859, the contents of which are expressly incorporated herein by reference in their entirety.
The present disclosure relates generally to analog-to-digital converters.
Most portable electronic devices require one or more batteries. The batteries can be rechargeable or disposable. Regardless of the type of battery, prolonging the life of the battery life is very important to consumers. A primary reason for decreased battery life is inefficient processor and component usage. For example, if a processor must continually poll individual components for signals, time and resources are wasted. Further, if an analog-to-digital controller having a plurality of channels must continually poll those channels to determine if a conversion is required for any of the channels time and resources are wasted.
As such, an improved system and method for testing scheduling access to an analog-to-digital converter and a microprocessor.
A method of scheduling use of an analog-to-digital converter is disclosed and includes writing to a schedule register that has a plurality of schedule bits. Each of the plurality of schedule bits corresponds to a channel of an analog-to-digital converter. Further, the method includes copying the plurality of bits from the schedule register to a request register that has a plurality of request bits. The method also includes monitoring the plurality of request bits and determining whether at least one of the plurality of request bits is set. Additionally, the method includes blocking further copying to the request register after determining that at least one of the plurality of request bits is set.
In a particular embodiment, the method includes setting a channel N to an integer value associated with a lowest request bit that is set. Also, in a particular embodiment, the method includes performing an analog-to-digital conversion for the channel N. In yet another particular embodiment, the method includes resetting a request bit that is associated with the channel N. In still another particular embodiment, the method includes resetting a schedule bit that is associated with the channel N. In another particular embodiment, the method includes setting an interrupt request bit for the channel N. Further, in yet another particular embodiment, the method includes determining whether an additional request bit is set within the request register.
In a particular embodiment, the analog-to-digital converter includes eight channels, the schedule register includes eight schedule bits, and the request register includes eight request bits. Moreover, in a particular embodiment, the eight request bits are monitored successively from a first request bit to an eighth request bit. Further, in a particular embodiment, the analog-to-digital converter is a low resolution analog-to-digital converter. In still another particular embodiment, the analog-to-digital converter has a resolution of twelve bits.
In another embodiment, an analog-to-digital converter system is disclosed and includes a controller, a programmable control register that is coupled to the controller, and a plurality of channels that are coupled to the controller. Each channel includes an associated schedule bit within the programmable control register, an associated request bit within the programmable control register, and an associated interrupt request bit within the programmable control register. Additionally, in this embodiment, a scheduler is coupled to the controller and to the programmable control register. The scheduler can include logic to monitor a plurality of request bits to detect when any of the schedule request bits are set.
In yet another embodiment, a semiconductor device is disclosed and includes a microprocessor and an analog-to-digital converter that is coupled to the microprocessor. In this embodiment, the analog-to-digital converter includes a controller. Further, the analog-to-digital converter includes a schedule register, a request register, and an interrupt request register that are coupled to the controller. Also, a plurality of channels are coupled to the controller. Each channel includes an associated schedule bit within the schedule register, an associated request bit within the request register, and an associated interrupt request bit within the interrupt request register. In this particular embodiment, a scheduler is coupled to the controller and the registers. The scheduler can include logic to copy a plurality of schedule bits to a plurality of request bits, logic to monitor the plurality of request bits, logic to determine whether at least one of the plurality of request bits is set, and logic to block further copying of the schedule bits when at least one of the plurality of request bits is set.
As shown in
Still referring to
As shown in
Referring to
In a particular embodiment, the 8 channel low resolution LRADC block can be used for voltage measurement. A battery channel 210 can be dedicated to measure the voltage on a battery pin, and thus, a battery. A Vdd Input/Output (VddIO) rail channel 212 is dedicated to measure the voltage on a VddIO Rail (not shown). In a particular embodiment, the battery channel can be used to sense the amount of battery life remaining. Further, the VddIO Rail channel can be used to calibrate voltage levels measured on a plurality of auxiliary channels 214. The auxiliary channels can be used for a variety of different functions such as, sensing a resistor based wired remote control, temperature sensing, and touch screen sensing. Also, in a particular embodiment, the LRADC channels are accurate to 12 bits of resolution, and all channels sample on the same divided clock rate from the 24.0 MHz crystal clock.
In a particular embodiment, each channel 210, 212, 214 includes a corresponding schedule request bit, a schedule bit, an interrupt request status bit, and an interrupt enable bit that are part of an LRADC control register within the LRADC controller 206. Moreover, the LRADC controller 206 can include a result register for each channel. In a particular embodiment, the result register includes twelve bits.
In an illustrative embodiment, setting the schedule request bit causes the LRADC controller 206 to schedule an analog-to-digital conversion for the corresponding channel. Each channel schedule bit can be sequentially checked, and if scheduled, an analog-to-digital conversion will be completed for those channels scheduled. The schedule bits are cleared upon completion of a successive approximation conversion, and a corresponding interrupt request bit can be set for each channel. As such, a program can control how often a conversion is requested for each channel. Moreover, as each schedule channel is converted, a corresponding interrupt request status bit is set and a corresponding schedule bit is reset. A conversion for a particular channel can be continuously rescheduled.
Moreover, in another particular embodiment, independent threads can request conversions without needing any information from unrelated threads using other channels. Setting a schedule bit can be performed atomically and setting a “gang” of multiple channel schedule bits can also be performed atomically. For example, LRADC scheduling method can be round robin and the LRADC controller 206 can snap shot all schedule bits at once and then, process those schedule bits in sequence until all scheduled channels are converted. Then, the LRADC controller 206 can monitor the schedule bits. If any schedule bits are set, the LRADC controller 206 snap shots the scheduled bits and starts a new conversion operation for all scheduled channels. Thus, multiple schedule bits, e.g., for four channels, can be set on the same clock edge. The channel that has the highest channel number can be converted last and will have its interrupt request status bit set last. Moreover, if that channel is the only one of the four channels with an interrupt enable bit set, then it can interrupt the ARM core 236 after all four channels are converted. Thus, all four channels are effectively ganged together. Results of each conversion can be stored in a result register within the LRADC controller 206 and transmitted to the ARM core 236 when the ARM core 236 is interrupted.
Further, in a particular embodiment, the LRADC controller 206 can include an integrated touch screen controller having drive voltage generation for touch screen coordinate measurement and a touch detection interrupt circuit. The LRADC controller 206 can also include four delay control channels that can be used to automatically time and schedule control events within the LRADC 202. Additionally, all eight channels of the LRADC controller 206 can share a common successive approximation style analog to digital converter through a common analog multiplexer front end. Moreover, in a particular embodiment, the battery pin can have a built in 2:1 voltage divider on its analog multiplexer input so that it can measure battery voltages that are at a higher potential than the VddIO rail. All other channel inputs are restricted by the VddIO rail voltage.
As further shown in
Moving to block 304, the request bits are monitored. Then, at decision step 306, it is determined whether any request register bit is not equal to zero. If not, the method proceeds to decision step 308 and it is determined whether the power to the system is turned off. If so, the method ends at state 310. Otherwise, the method returns to block 300 and the method continues as described herein.
Returning to decision step 306, if any request register bit is not equal to zero, the method proceeds to block 312 and further copying to the request register is blocked. Thereafter, at block 314, a channel N is set to the lowest channel that has a request bit set. Moving to block 316, an analog-to-digital conversion is performed for the channel N. Next, at block 318, the request bit for the channel N is reset. Moving to block 320, the schedule bit for the channel N is reset. Thereafter, at block 322, an interrupt request bit for the channel N is set.
Proceeding to decision step 324, it is determined whether an additional request bit is set. If not, the method returns to block 300 and continues as described herein. On the other hand, if an additional request bit is set, the method moves to block 326 and the variable N is set equal to the next channel that has a request bit set. Then, the method returns to block 316 and continues as described herein.
With the configuration of structure described above, the system and method for scheduling access to an analog-to-digital converter and microprocessor provides increased efficiency of a system in which the scheduler is incorporated. Moreover, the microprocessor is only interrupted to receive signals from one of the components connected to the analog-to-digital converter when requested by the component. Thus, the microprocessor is used more efficiently and battery life is increased.
The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
Patent | Priority | Assignee | Title |
8364877, | Dec 16 2009 | Cisco Technology, Inc. | Implementing gang interrupts |
Patent | Priority | Assignee | Title |
5541601, | Mar 19 1993 | Nippondenso Co., Ltd. | A/D conversion control apparatus for an internal combustion engine |
5585796, | Jan 31 1992 | CSR TECHNOLOGY INC | Analog-to-digital converting arrangement |
5991686, | Jul 30 1997 | Denso Corporation | Vehicle electronic control using one A/D converter for time-synchronous and time-asynchronous A/D converter |
7071859, | Jun 30 2005 | SIGMATEL, LLC | System and method for scheduling access to an analog-to-digital converter and a microprocessor |
7142141, | Jun 30 2005 | SIGMATEL, LLC | System and method for scheduling access to an analog-to-digital converter and a microprocessor |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 30 2005 | BAKER, DAVID CURETON | Sigmatel, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020185 | /0485 | |
Oct 10 2006 | Sigmatel, Inc. | (assignment on the face of the patent) | / | |||
Jun 05 2008 | Sigmatel, INC | CITIBANK, N A | SECURITY AGREEMENT | 021212 | /0372 | |
Feb 19 2010 | SIGMATEL, LLC | CITIBANK, N A | SECURITY AGREEMENT | 024079 | /0406 | |
Apr 13 2010 | SIGMATEL, LLC | CITIBANK, N A , AS NOTES COLLATERAL AGENT | SECURITY AGREEMENT | 024358 | /0439 | |
May 21 2013 | SIGMATEL, LLC | CITIBANK, N A , AS NOTES COLLATERAL AGENT | SECURITY AGREEMENT | 030628 | /0636 | |
Nov 28 2013 | SIGMATEL, L L C | ZENITH INVESTMENTS, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033688 | /0862 | |
Dec 19 2014 | ZENITH INVESTMENTS, LLC | Apple Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034749 | /0791 | |
Dec 07 2015 | CITIBANK, N A , AS COLLATERAL AGENT | Sigmatel, INC | PATENT RELEASE | 037354 | /0734 | |
Dec 07 2015 | CITIBANK, N A , AS COLLATERAL AGENT | SIGMATEL, LLC | CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 037354 FRAME: 0773 ASSIGNOR S HEREBY CONFIRMS THE PATENT RELEASE | 039723 | /0777 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051145 | /0184 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0387 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0001 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | SECURITY AGREEMENT SUPPLEMENT | 038017 | /0058 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 042762 | /0145 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 042985 | /0001 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 039361 | /0212 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051145 | /0184 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051030 | /0001 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0387 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0001 | |
Aug 05 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP B V | PATENT RELEASE | 039707 | /0471 | |
Sep 03 2019 | MORGAN STANLEY SENIOR FUNDING, INC | NXP B V | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 050745 | /0001 |
Date | Maintenance Fee Events |
Jun 18 2008 | ASPN: Payor Number Assigned. |
Jan 09 2012 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 20 2015 | ASPN: Payor Number Assigned. |
Apr 20 2015 | RMPN: Payer Number De-assigned. |
Dec 23 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jan 20 2016 | ASPN: Payor Number Assigned. |
Jan 20 2016 | RMPN: Payer Number De-assigned. |
Dec 30 2019 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 08 2011 | 4 years fee payment window open |
Jan 08 2012 | 6 months grace period start (w surcharge) |
Jul 08 2012 | patent expiry (for year 4) |
Jul 08 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 08 2015 | 8 years fee payment window open |
Jan 08 2016 | 6 months grace period start (w surcharge) |
Jul 08 2016 | patent expiry (for year 8) |
Jul 08 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 08 2019 | 12 years fee payment window open |
Jan 08 2020 | 6 months grace period start (w surcharge) |
Jul 08 2020 | patent expiry (for year 12) |
Jul 08 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |