I can add a bit more clarity to this, as well as a (fuzzy) snap of the scope trace during the reset / programming pulse on the PIC.
To recap the circuit, I have this:
A o---------||-----------oB
where A is the reset / programming pin of a PIC16F876 and is pulled up to 5V by a 10K resistor. B is an output pin of a FTDI FT2232L, with no (external) pull-up or -down.
In the attached pic, the top line is at A and the bottom line is at B.
The normal situation is that both sides of the capacitor are at 5V. For programming, and this is my interpretation of events, pin B is brought down to 0V, which causes the sudden drop at A as the capacitor discharges.
The capacitor then regains charge until B is brought back to 5V, causing the jump to 10V at A as the excess charge in the capacitor is dumped.
The 10V peak is used as the programming trigger for the PIC, except that the PIC is expecting a 13V trigger. Nevertheless, this has worked up to now but I suspect that the batch of PICs we are using now are less tolerant of a low programming voltage. The circuit is one that I have inherited.
My plan at the moment is to bias the supply voltage to the board, currently at 5V, to something closer to 6V. This shouldn't affect any of the components, but it should hopefully bring the peak on the programming pin to something like 12V and that might be enough to do the job.
Any other suggestions welcome!