Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Difficulties when programming "A-suffix" PIC chips

Status
Not open for further replies.

SAE140

Newbie level 5
Joined
Sep 9, 2005
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,469
As part of the process of transferring across from discrete microprocessors to the highly integrated MicroChip PIC devices, I've been searching the Web for any persistent problems related to these. One particular theme keeps cropping up regarding the programming of PICs - that of difficulties when programming "A-suffix" chips, especially with DIY-built programmers.

I've scoured MicroChip's data sheets looking for clues, and have only found a few. MicroChip remain adamant that their devices are fully backwards compatible.

With the 'F84 for example, I can only find 2 'possibles':

'F84A /MCLR min reset time = 2 uSec
'F84 /MCLR min reset time = 1 uSec

'F84A has the extra command "Begin Programming Only"
'F84 does not.


And with the 'F87X device:

'F876A 'F877A require flash program memory write in 4-word blocks, whereas
the non-A devices have 1-word writes.

So - does anyone have an understanding of what the possible source of the so-often reported difficulties might be ?

Regards, Colin
 

Re: Difficulties when programming "A-suffix" PICs

Well - there's nothing like answering your own post !!

I've now spent many hours on this issue, and - although I say this with due caution - it's just possible I may have unearthed the source of the problem with regard to the programming of 'A suffix' chips ....

I note that several amateur PIC-programmer designs employ 3-terminal voltage regulators, and that in some cases an inadequate load is being presented to these. To ensure correct operation of a 100mA regulator for example, a load of around 5mA is typically required - and to both regulators, if two are being employed.

During programming both the 16C84 and 16F84 typically draw 7.3 mA, so even if the basic programmer design is poor, this current draw will ensure that effective voltage regulation occurs. However, a 16F84A only draws 3.0 mA during programming, so regulation may or may not be effective in this latter case.

Indeed with many "A suffix" PICs the current draw can be tiny - the 628A for example pulls only 0.7 mA - which is totally inadequate to ensure correct voltage regulation. In their Advice Note AN589 (Programmer Design), Microchip have specifically added a resistor to the regulator's output pin which draws 6.6 mA during a worst-case situation, and have even explained it's purpose. Seems that some designers have heeded this, some haven't ?

Although I can't be 100% certain of my analysis, I think this is a very likely cause of the programming problems being reported - assuming that the algorithms being used are correct of course !


I also note that on many designs the anti-latch-up current-limiting series resistor to the /MCLR pin (as recommended by Microchip) has been omitted, and that a capacitor has been placed on the /MCLR line instead - which is almost guaranteed to swing below Vss during the reset pulse, thus risking possible latch-up - although it seems that people have been 'getting away with this' in practice.

I hope the above info will prove useful to anyone interested in PIC programmer design.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top