12F675 won't reprogram or erase


Closed Thread
Results 1 to 17 of 17

Hybrid View

  1. #1
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Programming in-circuit can be tricky is you have Vpp, data and clock pins tied to the application circuit.

    Programming voltage on /MCLR needs to rise fast enough to prevent the program counter from incrementing. If it does not rise fast enough, your code previously programmed into the device can start executing, and it screws up the whole process. In this case, you're trying to program a PIC that's already executing code, and is no longer in program mode.

    The internal RC osc makes the start-up process even faster, so it's even more critical for Vpp to rise fast.

    Try lifting the pull-down resistor you have on /MCLR, and make sure you have the programming clock & data pins disconnected from any external loads.

    External loads on data & clock pins will also screw up ICSP.

    That should allow you to re-program & erase in-circuit without any problems assuming the PIC isn't dead.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  2. #2
    Join Date
    Apr 2005
    Posts
    96


    Did you find this post helpful? Yes | No

    Default

    I'll give that a shot, but that basically means taking the pic out of the circuit using jumpers or I will loose 3 of the 6 GPIOs. I thought the pic should be able to handle this, I will try pulling the MCLR pull-down off first to see what that does and go from there. If the program programs the first time, should the clock and data pins really matter?

    Thanks

  3. #3
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Yes the clock & data pins definitely matter if you program in-circuit. A load on the clock pin in particular will really mess with timing.

    Read Microchips' DS91017B ICSP guide for a detailed explanation.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  4. #4
    Join Date
    Sep 2003
    Location
    Vermont
    Posts
    373


    Did you find this post helpful? Yes | No

    Talking

    Quote Originally Posted by Bruce
    Yes the clock & data pins definitely matter if you program in-circuit. A load on the clock pin in particular will really mess with timing.

    Read Microchips' DS91017B ICSP guide for a detailed explanation.
    I had the same issue rear it's ugly head some months back. If your code is evolving, you really should keep MCLR as a reset. The last programming action will be to flip the config fuse for the MCLR pin to become an input. If you place a 1 K resistor between the clock pin and the circuit it is attached to, this will help. Same with Data pin. For ICSP, I raise the pullup resistor to MCLR to 22K. It helps when your power supply is 2 to 3 volts and the programming power is 5 volts. If that's not enough, a schottky diode from B+ to the VDD pin will allow ICSP in a circuit that can't take 5 volts. I fried come 3 volt comm chips this way before the stupid light went off!
    I perconally traded the 12F series for the 16F690 in the 4 mm package. 18 GPIOs and 4 K of flash memory!Boy is this living!

  5. #5
    Join Date
    Apr 2005
    Posts
    96


    Did you find this post helpful? Yes | No

    Default Very Odd

    Well I figured out the issue, not the solution but the issue.

    I completely isolated the chip and it would still not program so, I went ahead and replaced the chip and it programmed fine. I got pin GP.2 blinking an LED so that was successful.

    Still leaving the MCLR, ICSPDat and ICSClk isolated I decided to try and toggle pin GP.1

    As soon as I do this the my MELabs throws a Config error while programming and the chip becomes useless, no programability or eraseability just like my first post.

    Any clue why the board is doing this? Here is a snipit of my code

    [code\]
    DEFINE OSCCAL_1K 1
    ' Config Fuses
    @ __config _INTRC_OSC_NOCLKOUT & _CPD_ON & _CP_ON & _BODEN_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_ON

    ' Variable Definitions
    LED VAR GPIO.1

    blink var bit


    CMCON=7
    TRISIO=%11111001 ' Input 0,3,4,5 Output 1,2
    ANSEL=0

    Main:
    blink=blink+1
    led=blink
    pause 100
    goto main

    [\code]


    If I change this code to apply to pin GP.2 it works fine and will reprogram all day long

    Thanks for any help
    Last edited by modifyit; - 18th May 2006 at 04:29.

  6. #6
    Join Date
    Apr 2005
    Posts
    96


    Did you find this post helpful? Yes | No

    Unhappy Just killed another one

    Just killed another one, here is the error thrown by MELABS

    "Configuration Error at 0000, 0000 should be 004C. Continue verifying?"

    Thanks again for any thoughts...btw when programing the chip the program works, just throws that error when "verifying" and then won't program or erase

  7. #7
    Join Date
    Apr 2005
    Posts
    96


    Did you find this post helpful? Yes | No

    Default

    I just got a note back from MELabs stating that you can not reliably program the 12F675 when using both MCLR as an input and the internal oscillator.

    I guess I will try making the MCLR as a reset pin later and see if another chip bites the dust.

Similar Threads

  1. Winbond ISD1700 Voice Recorder
    By RFEFX in forum mel PIC BASIC Pro
    Replies: 58
    Last Post: - 22nd April 2014, 10:00
  2. 12F683 vs 12F675.
    By sccoupe in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 11th July 2009, 04:58
  3. LANC code 12F675
    By MikeDD in forum General
    Replies: 4
    Last Post: - 9th May 2008, 05:44
  4. serout out of order on 12F675
    By Ricardo in forum Serial
    Replies: 7
    Last Post: - 29th April 2008, 00:16
  5. 12F675 code sample
    By marad73 in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 23rd May 2006, 13:53

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts