Author Topic: PIC18F Low Power Superstars?  (Read 4012 times)

0 Members and 1 Guest are viewing this topic.

Offline VeramacorTopic starter

  • Regular Contributor
  • *
  • Posts: 111
PIC18F Low Power Superstars?
« on: November 01, 2012, 07:39:40 pm »
Hey all,

I've been driving my PIC18F26K20 at 3.3v down to some decent low currents:

~500uA running the chip at 500Khz.  I'm using the internal oscillator and setting the clock speed thru code.

I can sleep my circuit at ~50uA,  but unfortunately my application has to be 'always awake' as we need to catch events as they happen.   We were going to do things like sleep 10s wake 1s, but not desirable.

We also need to communicate with a UART device and an I2C device.  We had to drop the UART baud rate down to 2400 baud.  We also found that 500Khz is as low as we can go with the I2C device too.

My question to all is: is there a better PIC18F out there that can run significantly lower?   I have to stay at 3.3v as both devices that the PIC is connected to are 3.3V.

Edit: it turns out that I don't need 64k either I can go less than half to 32K.

thanks!
« Last Edit: November 01, 2012, 07:49:29 pm by Veramacor »
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2679
  • Country: fr
    • kripton2035 schematics repository
Re: PIC18F Low Power Superstars?
« Reply #1 on: November 01, 2012, 08:01:20 pm »
I think an interrupt can wake up your pic18
so you put your pic in sleep mode, almost no consumption
then you wait for the event, it triggers an interrupt, and wakes the pic
you do the job, then go to slep again.
the last familly of pic devices have a "nanowatt" mode that says itself...
 

Offline VeramacorTopic starter

  • Regular Contributor
  • *
  • Posts: 111
Re: PIC18F Low Power Superstars?
« Reply #2 on: November 01, 2012, 08:12:52 pm »
I wish I could use an interrupt.  I have to 'read' the event in active mode.  I have to read the event from the I2C device which requires the pic to be awake.

I will look into the nanowatt stuff - hopefully there are some that can run 1Mhz at 3.3V.

Thanks
 

Offline VeramacorTopic starter

  • Regular Contributor
  • *
  • Posts: 111
Re: PIC18F Low Power Superstars?
« Reply #3 on: November 01, 2012, 08:23:18 pm »
Tx again for hint...

Now these are what i call superstars!

 

Online AndyC_772

  • Super Contributor
  • ***
  • Posts: 4278
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: PIC18F Low Power Superstars?
« Reply #4 on: November 01, 2012, 08:30:01 pm »
Does your application mean you're constantly polling an I2C device? Could the current be flowing through the I2C pull-up resistors rather than the PIC itself?

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2679
  • Country: fr
    • kripton2035 schematics repository
Re: PIC18F Low Power Superstars?
« Reply #5 on: November 01, 2012, 08:32:39 pm »
I wish I could use an interrupt.  I have to 'read' the event in active mode.  I have to read the event from the I2C device which requires the pic to be awake.

take a look at register SSPxCON3, specially bit 5
SCIE: Start Condition Interrupt Enable bit (I2C mode only)
1 = Enable interrupt on detection of Start or Restart conditions
0 = Start detection interrupts are disabled(2)

this can trigger an interrupt at every start condition detected on the i2c bus
so this can wake up your pic at each start of the i2c bus .
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: PIC18F Low Power Superstars?
« Reply #6 on: November 01, 2012, 09:06:20 pm »
MSP430's are well known for there their low run current and are relatively easy to get into.  It looks like the enhanced core 16LF series is much better than your 18F device based on the chart that Veramacor posted.

I would be surprised though if you were not able to implement a wake on interrupt for I2C like kripton2035 listed.  It would be pretty sad for a modern day microcontroller to not have wake on interrupt for its IO peripherals.
Mark Higgins
 

Offline VeramacorTopic starter

  • Regular Contributor
  • *
  • Posts: 111
Re: PIC18F Low Power Superstars?
« Reply #7 on: November 01, 2012, 11:43:09 pm »
The I2C device is a mag3110 which reads magnetic fields.   It does have an interrupt pin that tells me when new data has arrived,  but new data arrives all the time!

I can set the mag's reading interval down to 1 sample every 2 seconds, but the resolution i need has to be at least 10 samples per second.  I have to monitor the data coming from the MAG3110 over the I2C line, and that means being awake for it.  I'd love to go to sleep, but accuracy to the nearest second is required.  That means polling the MAG for 10 samples a second  data loss is not an option!
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: PIC18F Low Power Superstars?
« Reply #8 on: November 02, 2012, 02:26:53 am »
Why aren't you sleeping between the 10 samples per second?  Up the clock rate some and the i2c bus rate.  There's lots of time between samples you could be sleeping.
Mark Higgins
 

Offline ptricks

  • Frequent Contributor
  • **
  • Posts: 672
  • Country: us
Re: PIC18F Low Power Superstars?
« Reply #9 on: November 02, 2012, 11:47:58 am »
What is the power use you are looking for ? I know you want as low as possible but that really isn't a helpful number.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf