overclocking pic 12f and 16f microcontrollers

Discussion in 'Embedded Systems and Microcontrollers' started by rudyauction8, Sep 12, 2013.

  1. rudyauction8

    Thread Starter Member

    Jan 27, 2012
    252
    2
    I'm running a 12f617 at 24mhz and a 16f627 at 27mhz right now, simple programs that flash an led, but use loops of math problems to create pauses, to put more load on the chip. So far they have been running for a few hours without a problem, I will be ordering a 30mhz crystal in a few days, hopefully it'll work. How far have you guys pushed your PIC's? and what problems can I expect if I keep pushing them? I will only be overclocking for personal use FYI.
     
  2. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,386
    1,605
    Problem(s):
    -The PIC doesn't run at turn on
    -The PIC gets too hot and stops working
    - You get too close to an overheated part and put your eye out.

    Seriously, you want a failure mode and effect analysis of an unknown system?
     
  3. MrChips

    Moderator

    Oct 2, 2009
    12,431
    3,360
    Seriously, if a manufacturer were able to guarantee a higher clock frequency it would be to their benefit to do so and advertise that feature? Don't you suppose they are already doing that?
     
    Shagas likes this.
  4. Sensacell

    Well-Known Member

    Jun 19, 2012
    1,128
    266
    Isn't embedded systems development tricky enough without the added vagaries of overclocking? Masochistic behavior much?
     
  5. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,386
    1,605
    And perhaps I left out the curious part where sometimes bits change for no reason at all. Your data, your program code, register setting (such as the ports themselves).

    Coping with such inconsistencies goes way beyond any "fault tolerant" coding scheme.
     
  6. techristian

    New Member

    Aug 27, 2013
    26
    2
    Besides all of that, there is no guarantee from Microchip that every similar device will work with that clock speed. You may have found a rare piece of silicon.

    Dan
     
  7. embpic

    Member

    May 29, 2013
    187
    3
    Actually manufacturer given maximum condition when this controller will work much fine but if you put over condition given by them then no matter controller will work but no guarantee that controller will work for next even microseconds also.
    if you really want to work on higher frequency then you have to go with higher controller they will give you that much speed and with full efficiency.

    Regards.
     
  8. Art

    Distinguished Member

    Sep 10, 2007
    785
    61
    What I think happens is the pic is eventually unable to read it's own program memory.
    You can test by setting a pic to use internal RC clock,
    Then upping the supply voltage to the chip also increases it's clock frequency.

    You can run a 12C508/509 on 12 Volts and it goes mad for a while.
     
  9. MrChips

    Moderator

    Oct 2, 2009
    12,431
    3,360
    No, no, no.
    Increasing the supply voltage introduces a set of operational constraints that are very different from operational constraints set by increased clock frequency.
     
  10. Art

    Distinguished Member

    Sep 10, 2007
    785
    61
    Yes it does :D
    It also overclocks it if it's RC timer is the clock source.

    You can run a 12C508/509 at 12 Volts for extended periods.
    I tested software by outputting a serial string at 2400 in the pic program.

    By varying a potentiometer in a 12 Volt supply line, it was possible to send
    a serial string at a variable baud rate (including three standard baud rates).

    The point is though, in the end it wasn't heat that prevented the chip from working (12C509).
    It begins reading incorrect data, including program instructions, even though
    the program counter, and peripherals are still working (with a 12 Volt supply and over clocked).

    What problems to expect:
    Reading or Writing corrupt data from internal on-chip eeprom, and internal program memory.
    Potentially permanently altered program memory or data.
     
Loading...