0
\$\begingroup\$

I have to work on a system that uses 12C672 PICs from Microchip.

These are one-time-programmable (OTP) devices. The board has been designed already without any in-circuit programming facility.

How do people normally develop with these? Are the ICE systems good enough and affordable, or is there always a flash alternative part that people use?

I am used to developing with flash AVR microcontrollers and just do in-circuit serial programming.

This PIC project will be a small production run of 100 or so units, so I am also interested in recommendation for a programmer to use.

\$\endgroup\$
1
\$\begingroup\$

We use the Microchip ICE2000 emulator with the appropriate module.

These are available on eBay for a reasonable price. The processor module that you want to use for the 12c671 / 12c672 / 12ce673 / 12ce674 is PCM12XA0. You will also need the device adapter which is part number DVA12XP081.

Generally speaking, if you purchase a used ICE2000 from eBay that comes with the proper processor module, it usually includes the device adapter as well.

The cool thing about these tools is that they have essentially a lifetime warranty. Microchip will repair or replace them when they die - which is almost never.

FWIW - we use the 12F675 instead of the 12C671 / 12C672 for all new designs. Less expensive and contains eeprom as well as a better a/d converter. You can debug them with the ICD2 / ICD3 / PICkit2 / PICkit3 with the appropriate debug header. The only downside is that you get one breakpoint instead of unlimited breakpoints with the emulator.

Why do you want to use the 12C672 when better parts are now available? These new parts are pin compatible with the older parts.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ I don't know how many 12C672 we have already, but it sounds like the 12F675 is the way to go. I would like to know the module number for the emulator. \$\endgroup\$ – Neik Jun 8 '15 at 17:05
  • \$\begingroup\$ There is a whole slew of pin-compatible 8-pin PICs available from Microchip. All cost less than the 12c672 and all have more features. About the only reason you might want to stay with the 12c672 is that it will operate at much higher temperatures than the newer chips - I see people running the "C" version chips at temperatures exceeding 200C. The "F" chips fail at much lower temperatures (the flash becomes erased at high temperatures). \$\endgroup\$ – Dwayne Reid Jun 8 '15 at 18:21
1
\$\begingroup\$

First, that's a ancient part with newer flash versions available that are pin-compatible, do more, and cost less.

Back in the pleistocene before flash parts, the usual way to develop with these things was to get a few of the JW variants. These had a quartz window and were UV-erasable. I usually required the customer to supply me 8 of them so I would always have a fresh one ready with a batch of 4 in the eraser. Keep in mind that erasing can take 20 minutes. These were then often used in the first prototypes, since you expect those to go thru a few firmware revs.

Debugging with the ICE-2000 was the nicest environment, but you could get a lot done with the simulator too, especially on such a small part. Often that's all that was required, and it wasn't worth getting the ICE-2000 module for little PICs like that one.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

When I usually have to develop with OTP parts I will cheat; I will take the closest non-OTP version and develop on that, usually with a board that is built assembled with everything but the processor. then I have small wire jumpers that I bring over to 0.100" headers which make testing easy.

Let's face it; code for a PIC12C672 is not going to be much different from code for a PIC12F683; you can develop on the "surrogate" part more easily and then when you feel you're about done and the code is correct you build for the real target and try it. If it works, great. If not you toss the part and go back to the flash device until you're confident again.

Much less waste and a HELL of a lot cheaper than an ICE.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.