Announcement

Collapse
No announcement yet.

PIC12(L)F1822 programming

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PIC12(L)F1822 programming

    I understand that the 12LF 1822 requires 3 volts when ICSP. I have an 'F' part in circuit and programming tells me I have the wrong target device (I do have the right target number in the programming part a 12F1822).
    Is this because the 'F' part needs to be supplied 5V when programming in circuit and I'm only providing 3.3V?

  • #2
    "Is this because the 'F' part needs to be supplied 5V when programming in circuit and I'm only providing 3.3V?"

    I believe you are right. Non LF chips need at least 4.5V when programming.
    Steve

    Comment


    • #3
      I think there is some other problem besides the voltage. The "F" part may require the low-voltage-erase algorithm when powered at 3V, but the programmer should still be able to read the device id correctly.

      Click Program > Get Target Information to see what device id is being reported. If it reads 3FFF or 0000, chances are the programmer is simply not able to communicate with the target.
      Charles Leo
      ME Labs, Inc.
      http://melabs.com

      Comment


      • #4
        Thanks Charles but doesn't looking at the device that way, risk locking it up?
        I've gone through all the connections for ICSP and they're solid.

        Maybe my programmer is wanky; sometimes when I plug it in, I get a flashing red LED. Remove it and plug it back in and I get the green.

        Comment


        • #5
          It's unlikely to lock up the chip. The critical point is not to power the "LF" part with 5V.

          A flashing red LED on the programmer is not good. It runs a self-test when power is applied and the flashing red indicator means it failed. The self-test checks the Vpp and Vdd voltage generation and few other things.
          Charles Leo
          ME Labs, Inc.
          http://melabs.com

          Comment


          • #6
            So would you suspect a regulator replacement?
            It's not every time I plug it in.

            Comment


            • #7
              The only failure that I can call 'common' is the inductor L1. I haven't seen one fail in several years, though. Usually it isn't intermittent. The programmer will never start up.

              The regulator REG1 could have failed, but I've never seen one in the past.

              We don't repair them, but I can offer you a half-price discount on a new one. Email me at support@melabs.com if you want to take advantage.
              Charles Leo
              ME Labs, Inc.
              http://melabs.com

              Comment


              • #8
                Okay, got it.
                Not sure if you remember a week or so ago Charles; we spoke on the phone and I asked if having the I2C pins (and pull-ups) on the ICSP pins. You said it should be fine. It wasn't and that was the cause of all this.(Since I made up a board already), if I increase the I2C pull-ups to say 10K, will this help (They are now 4.7K)?

                Programmer is working fine at the moment.

                Comment


                • #9
                  P.S.- the 'F' version of this chip can and did program at 3.3V

                  Comment


                  • #10
                    Sorry about that. I thought it would work.

                    Increasing the value of the resistors should help the programmer, but it could cause I2C problems if you're using a high-frequency I2C clock. In most cases, 10K is fine.
                    Charles Leo
                    ME Labs, Inc.
                    http://melabs.com

                    Comment


                    • #11
                      I've found on most chips you need to isolate the ICSP during programming. Using a switch has worked best for me but jumpers will work but it's more of a pain to connect or disconnect them. Just sayin'.

                      Comment


                      • #12
                        Follow up: 10K versus the 4.7K pull-ups on the shared i2C/Data/Clock programming lines, did the trick.-Keith

                        Comment

                        Working...
                        X