cancel
Showing results for 
Search instead for 
Did you mean: 

ADC pins drawing massive floating leakage current.

thomasaevans
Associate
Posted on January 05, 2006 at 22:14

ADC pins drawing massive floating leakage current.

2 REPLIES 2
thomasaevans
Associate
Posted on December 31, 2005 at 03:40

We've run into a problem with the ST72324.

We've got two of the ten ADC input pins in use. One is monitoring a 12V supply via a 100k/27k divider. Spot the problem?

The input to the ADC pin is 12*27/127 or 2.55V and as a result the associated DIGITAL input is drawing 100-200uA as it sees it as a ''floating pin''. In the worst case, 10 ADC inputs monitoring mid-range inputs would draw 2000uA extra from VDD.

This means that for low current applications, the ADC input voltages must never be allowed to come close to 2.5V. Too bad if the ''outside world signal'' isn't under your control and you need to use 0-5V, or need the 10-bit (or at least 8 bit) resolution.

We're going to have to change the dividers (and the ROM-based scaling factors!) to fix this as the resulting extra leakage current is about HALF of the total current budget for the micro.

Another option would be to switch the pin to an OUTPUT most of the time and only read it periodically, but the RC filter on the input pin makes this a nasty solution, and adds noise to the result.

Any other suggestions on how to usefully get around this in a product where the PCB has been finalised are welcome.

Note this also happens if you are using resistive dividers on digital inputs and get ''inconvenient'' input voltages that result in about 2.5V on the micro's pins. The current skyrockets like it says in the data sheet (search for ''Static current consumption induced by each floating input pin''.

jiang
Associate II
Posted on January 05, 2006 at 22:14

Two possible Workarounds:

1. To use the Active-Halt mode

The idea is to run ADC conversion in ''Active'' period, and then save the current consumption in ''Halt'' period.

In Active-Halt mode, the MCC/RTC are running to keep a wake-up time base (please refer to @ p.42 of ST72324B datasheet, rev 4, SEPT 2005). The RTC has four different time bases depending directly on focs2. The Whole functionality is controlled by four bits of the MCCSR register: TB[1:0], OIE and OIF (refer to

When ADC is on and Active-Halt mode is entered, the ADC consumption goes down to roughly zero. As a consequence, the customer could probably use the Active-Halt by starting the ADC before entering the Active-Halt mode. Doing so, customer could avoid the overconsumption due to the analog voltage at the input pin.

The trick is to start the ADC running on the Vbatt ADC pin. This operation disables the Schmitt triggers and stops the leakage. Then enter ''Active Halt Mode'' which stops the clocks (including ADC clock) and thus stops the ADC from consuming current.

2. To configure the I/O port into the Output Push-Pull zero state when not doing the ADC conversion. There will be an extra 25uA current consumption but still better than the static current consumption. It is calculated as-

In Input-floating mode (Current = 12/127k = 95uA) & in Output push-pull mode (Current = 12/100k = 120uA). Difference = (120-95 = 25uA)

As tev mentioned above, there might be other considerations of the project affecting selection between workaround option 1 and 2.

PS:

''well behaved'' voltage range:

We have tested onboard the voltage range showing the extra consumption and it comes out to be between (1.5V - 3.8V). It is measured under condition with Vdd = 5V, temp = 25C, and it is NOT based on the characterization results.

Please NOTE: This voltage range is process dependent: temperature etc).

[ This message was edited by: Jiang_Wu on 08-01-2006 23:20 ]