On Wed, 30 Apr 2003 10:59:55 +0100, Trevor Bentley
<Tre
...@p-m-services.co.uk> wrote:
>I have Hex code for PicC73B and have been programming others from that
>for a long while using MPLAB and a picstart programmer with Config bits
>and Processor set correctly.
I use quite a few of the PIC16C73B's. Familiar with them.
>Last batch of twenty some working ok others seem ok but program itself
>appears to run slower ( using scope ), in particular PortC I2C which
>having read bits from 24c04 is driving an 8 bit expander to an LCD
>display. The correct text strings appear along with lots of odd
>characters.
I gather you don't have the source code for this. So it's
difficult for you to experiment and track this down, internally.
>I have swopped GOOD and BAD PICs between different units and the fault
>follows the pic.
Very interesting.
>I have bought some Flash devices to try and experiment with but these
>also show same effect.
I'm assuming here that you are building a product, using a
binary image, and that you aren't a computer programmer type.
Also that your production methods are just the same as before
and that, so far as you can tell, every part and method used is
just the same. And that, finally, using the same practices and
parts, it appears that the device no longer does what it once
did -- using "bad PICs."
>Can anyone shed any light?
It's weird, given what you've said. You've eliminated the issue
of other parts on your board, because you've demonstrated that
the problem goes with the bad PIC to the any board. (And, I
assume, that the lack of a problem similarly follows the good
PICs.)
A few immediate things cross my mind, with that in mind --
(1) Your binary image isn't the same, for some reason. This
would explain your experience, certainly. Is there any way you
can read out the contents of your good PICs and then also read
out the contents of your bad PICs and just verify that the
contents of both (including fuses) is identical? This would be
a double-check, just cross-verify that something hasn't happened
to the programming module, or your procedures, or your binary
file.
(2) Microchip has made some "minor" change, or bug fix, or else
introduced a new bug in their silicon which doesn't affect much
(they imagine), except that it is affecting you. It wouldn't be
the first time. This may explain your experience, with both C
and F type parts, because they may made a "bug fix" on both,
rev'ing them. Can you check the numbering on your parts, good
and bad, and notice similarities in the date codes for the bad
parts? What is all the numbering you can see on the new C and F
parts and what is the numbering on the "good" PICs?
If they've rev'ed the parts and this is causing your problem,
you may need to find only older parts for your use or else get
at the source code to discover and then recode a fix to the
software. Of course, recoding could be tough if you don't have
the sources. If the binary images in the parts aren't the same,
then you need to re-set your procedures to load the correct
binary.
Jon