I am troubleshooting an oven controller which has a PIC16F917 uPC.

Thread Starter

R!f@@

Joined Apr 2, 2009
9,918
I am troubleshooting an oven controller which has a PIC16F917 uPC.

Supply blew, fixed it. All voltages a stable but no display. I have a fixed a few of these. Supply problem every time Fixing the supply the display work except this one.

I checked the reset, OK.
Scoped the 12MHz Xtal (default)...no oscillation.
So replaced with 8MHz, 12MHz and a 16MHz. No display on all but scope only shows the 8MHz Xtal working. Other crystal does not show scope signals. Xtal are new and I have plenty, so a faulty Xtal is ruled out.

1. Why does a 8MHz one shows oscillation and other does not. Does software has anything to do with it ?
2. Since it is a 16F917 one, can I read the HEX from it ?
 

GopherT

Joined Nov 23, 2012
8,009
The capacitance from your o-scope probes could be overloading/stopping the crystal if you are measuring directly at the crystal.

It is possible to read the hex code but "impossible" (i.e.: less easy) if the manufacturer set the security bit that prevents this. I have read chips with my old PICkit2 and the software for that PICKit. I have not done it with PICkit3.
 

hp1729

Joined Nov 23, 2015
2,304
I am troubleshooting an oven controller which has a PIC16F917 uPC.

Supply blew, fixed it. All voltages a stable but no display. I have a fixed a few of these. Supply problem every time Fixing the supply the display work except this one.

I checked the reset, OK.
Scoped the 12MHz Xtal (default)...no oscillation.
So replaced with 8MHz, 12MHz and a 16MHz. No display on all but scope only shows the 8MHz Xtal working. Other crystal does not show scope signals. Xtal are new and I have plenty, so a faulty Xtal is ruled out.

1. Why does a 8MHz one shows oscillation and other does not. Does software has anything to do with it ?
2. Since it is a 16F917 one, can I read the HEX from it ?
Usually the chips are code protected after programming. See age 187 of the data sheet for more info (depending on the data sheet you have, I guess)

Troubleshooting ...
Power up holding Reset active and check all the pins for kosher voltage levels. Check current drain on the power pin.

"DC clock"?
Is it on a socket? Try stepping it through clock cycles manually You should be able to see some kind of activity on the lines IN THEORY. I have never actually tried this.

Not all crystals are created equal.
 

MrChips

Joined Oct 2, 2009
30,809
A week ago I brought back from the grave a dead Sanyo DC-D28U mini-stereo system with no schematic available. Fortunately, I was able to locate the pin-outs of the onboard Sony CXP82440A microcontroller. There was no oscillation coming from either low frequency or high frequency crystals.

I jumpered the /RESET pin to GND and both XTALs ran. Oscillations stopped when /RESET was restored to +5V.

I correctly hypothesized that the code was going to sleep or power down mode on detection of a fault condition. I was now faced with the task of figuring out which of the 100 MCU pins was presenting a fault condition. Luckily, next to one of the inter-board connections there was silk-screening with the label VCHK. I reversed the logic level into VCHK and the unit came back to life.

To make a long story short, there was a micro switch on the CD retract tray that was failing to close properly. The MCU could not detect that the tray was fully open and would shut the system down assuming that the CD tray was jammed.

@R!f@@
If you have the same problem, jumper MCLR to GND and see if the XTAL runs.
Then look for a fault condition that may be putting the 16F917 code into sleep mode.
 

hp1729

Joined Nov 23, 2015
2,304
A week ago I brought back from the grave a dead Sanyo DC-D28U mini-stereo system with no schematic available. Fortunately, I was able to locate the pin-outs of the onboard Sony CXP82440A microcontroller. There was no oscillation coming from either low frequency or high frequency crystals.

I jumpered the /RESET pin to GND and both XTALs ran. Oscillations stopped when /RESET was restored to +5V.

I correctly hypothesized that the code was going to sleep or power down mode on detection of a fault condition. I was now faced with the task of figuring out which of the 100 MCU pins was presenting a fault condition. Luckily, next to one of the inter-board connections there was silk-screening with the label VCHK. I reversed the logic level into VCHK and the unit came back to life.

To make a long story short, there was a micro switch on the CD retract tray that was failing to close properly. The MCU could not detect that the tray was fully open and would shut the system down assuming that the CD tray was jammed.

@R!f@@
If you have the same problem, jumper MCLR to GND and see if the XTAL runs.
Then look for a fault condition that may be putting the 16F917 code into sleep mode.
Super!
 

Thread Starter

R!f@@

Joined Apr 2, 2009
9,918
@MrChips
Hey, Nice to see you. Where have you been ?
Your finding is very informative. I will give it a go and see if I can get oscillation with reset grounded.
 
Top