Mike said:Ok Willi,
Here's a screen shot...
It's far better if you post it as a GIF, a JPG is poorer quality and much larger than a GIF - only use JPG for photographs or scans, where they provide better compression.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Mike said:Ok Willi,
Here's a screen shot...
Mike said:Thank you Nigel, I will remember that Sir... I had discovered that jpg is what you needed for better photos' and just assumed it was best for everything...
Jay.slovak said:What a coincidence! I have been playing with my ICD2 and 16F675 all day today.... I had some strange 0x00 problem too. Then, after I re-read the Datasheet, I realised Swapped VSS and VDD in my design (strange, it's different at 16F628). After that it works like charm... Also check if you are not Overloading PGD $ PGC pins of the ICD2 (eg LEDs...).
Nigel Goodwin said:Alex_rcpilot said:Many other chips have them,e.g,16F877(A).Why does 675 have such configuration problem while 877 doesn't?I browsed throught the documents but couldn't find issues on default config values.If they're all "1"s,then external RC oscillators are designated for both 877 and 675.Signifying the 675 won't be powered up with internal oscillator running by default.I'm so confused!
The 16F877 doesn't have an internal oscillator, so the problem doesn't arise - there's only a fairly small number of PIC's with internal oscillators.
However, exactly the same problem arises when doing ICSP, and you have to select programming mode before the oscillator can start. I've recently modified WinPicProg to give an optional extra output pin - this pulses briefly at the start of programming, and can be used to RESET the PIC to allow you to select programming mode regardless of the oscillator configuration.
Mike said:Alex,
I just successfully programmed a 12F675 on my home-built Serial ICD2 but I included a circuit to effect ICD2 controlled Target VDD switching... I was hoping the ICD2 was smart enough to use "VDD first" and VPP first" methods for placing a target device into high voltage program/verify mode and so far I have not had any problems testing on a couple different devices with INTOSC enabled and MCLR disabled for Input...
I do get an ICD2 warning when I'm about to program this INTOSC/MCLR configuration into a target device but it programs the device fine, reads, verifies, etc., so perhaps this is simply not a valid configuration for In Circuit Debugging?
ICDWarn0033: MPLAB ICD 2 does not support programming this device if both the internal oscillator and internal MCLR are selected. You may continue programming, but you are encouraged to cancel, reconfigure your device, and try again.
Regards, Mike
Alex, you're right... I'm "bummed"... I had assumed the ICD2 firmware/os was asserting Target VDD signals on RA4 for "VPP first" and "VDD first" target entry into high voltage program/verify mode but as you just pointed out, Target VDD is switched on and stays on... Why did Microchip do that? My MOSFET switch circuit is useless... Please forgive me for wasting your time...When I set the ICD to power the target board,RA4 goes to constant low state.I thought it could be smarter regarding the chip selection,i.e,generate a Vdd first(precise timing prior to Vpp)sequence specially for chips like 12F675.
Change MPLAB appearance in what way Alex?BTW,how can I cunstomize my MPLAB 7.11 appearance?I didn't find any related setting item here.
Mike said:Alex, you're right... I'm "bummed"... I had assumed the ICD2 firmware/os was asserting Target VDD signals on RA4 for "VPP first" and "VDD first" target entry into high voltage program/verify mode but as you just pointed out, Target VDD is switched on and stays on... Why did Microchip do that? My MOSFET switch circuit is useless... Please forgive me for wasting your time...
Change MPLAB appearance in what way Alex?BTW,how can I cunstomize my MPLAB 7.11 appearance?I didn't find any related setting item here.
Regards, Mike
So,this circuit wasn't actually tested?Then how come you have succeeded in programing your 12F675?
Mike said:I programmed a '628A and a 12F683 (both "vpp first" devices) with INTOSC enabled and MCLR disabled and successfully re-programmed them in that configuration...
Your ICD2 looks lovely!Alex_rcpilot said:Mike said:I programmed a '628A and a 12F683 (both "vpp first" devices) with INTOSC enabled and MCLR disabled and successfully re-programmed them in that configuration...
In which configuration exactly,please?The one in your diagram?I still don't understand how RA1 works.Coz there's no sign of any output on this pin on my ICD.Would you please explain how it works?
Here are a few pictures of my ICD2.The colored cover is certainly unnecessary.I just happened to have this idea of using a digital photograph as a font cover of DIYed devices.Tried out and....it looks good,doesn't it Cheap way for high quality graph,huh?
Thanks for your help.I'll try Vpp first configuration.It's possible to build the circuit on the target board.But I won't give up adding it inside of my ICD2.
I built my power supply year ago, so when I was designing ICD2, I build only weak +5V source (saves $ and time). Also I use that power supply for other purposes than PICs and using ICD2 as a power source is kinda impractical (Has to be on and in contact with MPLAB).Alex_rcpilot said:Thank you!Jay.
The box...Ah!A stand alone power supply for target board you mean,I have a 5V switch mode supply,so such a power device is not necessary for me.
I just downloaded a pdf document called 'PIC12F629/675 EEPROM Memory Programming Specification'. There's a diagram of the program entry waveform inside.I attached it to this post.Please take a look.The two marked time slots are both minimum 5us.So this is Vpp first timing.I cut off the Vdd supply on my target board and added 2 thansistors to put target's Vdd under Vpp's control.Meanwhile delaying Vdd with a capacitor across the NPN transistor's base.But it didn't help at all.MPLAB still reading 0x00.It sucks.
Jay.slovak said:For the 12F675 problem: You CAN program (IntOSC & MCLR_OFF) it, if your code is using PGD & PGC PINs as INPUT.
What do you mean? :wink:Alex_rcpilot said:I wonder how your ICD provides Vdd&Vpp,as well as how you built up your garget circuit.Thanks!
My ICD2 was discussed inAlex_rcpilot said:I meant could you please tell me how your circuit was constructed?Is there anything special that should be taken care of?And,when you set Vdd power output modes in MPLAB,does the Vdd output state change in accordance?Mine doesn't because of the jumper.
Alex_rcpilot said:A.What is the default status of 675's osc config bits?If it's INTOSC(100 or 101),why would Microchip do this when it brings a problem?
B.Is it possible to access programming mode with Vpp powered on prior to Vdd?
C.How can we explain this "ICD devices must be clocked (internally on INTOSC or externally on OSC1) and have MCLR high to communicate with the MPLAB ICD 2." found in the MPLAB help file?
Nigel Goodwin said:...it will then switch MCLR directly from 0V to 13V, which selects programming mode more than fast enough for the oscillator not to start up.
My latest version of WinPicProg adds an extra output line for this exact reason!.