Having been away on holiday, I come into this rather late, and haven't read the whole thread yet, but ... later added some further comments after reading the whole thread ... >> It is according to assorted datasheets. Not just microchip, either. >> (although the 16F54 that Peter specifically complains about still says >> -0.6 to Vcc+0.6) > >Actually it says Vss and Vdd (exactly). See the Vil and Vih specs in table >11.2 >in the datasheet of the pic16f5x, as I wrote in another email in this >thread. Looking at the datasheet DS41213C for the 16F5x, I cannot see Vil and Vih referenced in that table, or table 11.1. What it DOES give is that for power on reset to start (looking at parameter D003) - with the internal reset system on chip (i.e. not using an external reset mechanism) the Vdd start voltage AT power on is to be TYPICALLY Vss, i.e. there is to be no voltage applied to the chip. Note that there are NO maximum and minimum values applied to this parameter, so the voltage can presumably be within the maximum ratings given in the electrical specifications on pages 59 and 60 i.e. "voltage on all other pins WRT Vss" of -0.6V to +0.6V. Certainly if Vdd was within that voltage range I would expect the chip to start normally, and reset properly on power up. NOW note that the table refers you to section 5.1 for details on POR. Here they give an example circuit for external RC network, and as a footnote refer you to an application note titled "Power Up Considerations" available from the Microchip web site. I can see where Bob is getting concerned where he is using Transorbs in a motor. I presume he has series resistors between the transorbs and the PIC, to allow the PIC diodes to be current limited. It may be that he is limiting the current to a value where - in his circuit, and with the devices he is using - his processors are not having the problems that others have seen when these diodes conduct. >a) p63. table 11.1: D003: Vpor = Vss (typ) > >I take it that Vss is specified with .0 precision so: Vss <= Vpor <= >0.05*Vss >from this, lacking other info. Thus at Vss = 3V Vpor max is 0.15 V. Thus I >need HUH ??? where does the 0.05 come from ??? All voltages are referenced to Vss, so by definition Vss = 0.0000000V How can Vss =3V when it is the reference voltage for the rest of the PIC pins? It can be offset 3V from some other point in the circuit, and that makes any other voltage on any other PIC pin get offset by that amount, but relative to any other pin of the PIC, Vss cannot = 3V unless you get Microchip to change their reference point. If you insist on using some other point than Vss as the reference then you have to modify all the other specs appropriately by the difference between your reference point and Vss. >Also if a cap is attached and a diode provides Vdd through a resistor to >allow icsp, then the cap will in theory 'never' discharge to 0.15 V, even >if Vss and Vdd are shorted. In practice it could take minutes. This is >something that I have in fact noticed to happen, in despite of providing a >discharge resistor between Vdd and Vss. Temporarily disconnecting power >would rapidly drain Vdd but Vmclr would not drop low enough due to the >diode. Then the next power-up could be a warm start (without por). Ahh, now you are realising why some people use external reset chips to deal with rapid power fluctuations ... There is no guarantee that a quick off/on is enough to reset the PIC as you have noticed, without the Vdd voltage getting real close to Vss to meet the conditions given in tables 11.1 & 11.2. Sometimes the brownout detector may be of more use? >b) p64. table 11.2: D030: Vil = Vss to 0.15*Vdd = 0 to 0.45 V @ 3V. >Thus here only Schottky pulldowns will work. HUH ? Why do you need a schotkky pulldown? On the MCLR pin a capacitor is sufficient, on any other pin an ordinary bipolar or FET will pull the input pin to less than 0.45V quite easily (assuming there is not a stupidly low value pullup resistor). >c) p64. table 11.2: D031: Vih = Vdd to Vdd - 0.45 V. Again Schottky >required. Umm, schottky, what for? A pull up resistor will get the reset inputs to less than 0.45V less than Vdd unless there is some other load on the input. Note that the I/O ports have a different threshold voltage. If you expecting to maintain those voltages while applying ESD shocks to your circuit then I think you will really have problems with an open PCB. Even very short traces will get significant voltages induced in them unless shielded in some manner, or has capacitive coupling to a ground plane as in a 2 sided PCB giving it a sort of shielding. >d) same, D080, D081: The part outputs 8.5/3.0 mA only at high saturation >drop. A 16C54 would provide 20.0/15.0 mA here (quoted from memory). The >16f54 is supposed to be drop-in compatible. The migration document has >no word on this. I wouldn't expect that to cause a migration problem unless the PIC was attempting to switch the pins very fast with a significant capacitive load. IF attempting to reliably drive LEDS direct from a PIC pin then even the 20mA figure would be a worry. I have done it with high brightness LEDs for indicators on a 16F876 using a 100 ohm resistor as well, but did use a driver transistor on another large LED driven from the same chip. >> Still, it seems to me that MOST pins in any circuit are not going to >> need additional protection, and the pins that DO need protection were >> likely to have needed it even with the old specs. I suspect Peter's >> problems are due more to a particularly sensitive chip/batch/unit than >> the change in the specs; as he says, I would have expected more noise >> if expensive external protection networks had suddenly become necessary >> on most microcontroller pins. > >Yes, but in fact they have become necessary at least according to the >specs in the datasheet (even if my case was a marginal batch). > >And, I am not complaining, I would like to see a) that the specs in the >data sheet are not going to stay the way they are now (since they cannot >be worked with) HUH ??? Judging by the position Microchip has in the market plenty of people are working with the provided specs. >and b) that some sort of inexpensive solution exists for clamping >(i.e. not 5 cents per pin + double sided board with plated vias >instead of single sided). Well, I suspect that a double sided board with a ground plane on the back is going to add less than the 5c/pin that you are quoting for protection networks, and will sort out a lot of other problems as well. But it does seem to me that you are really attempting to use the pins for purposes for which they are not intended. Driving any sort of relay coil - even if the PIC pin can handle the current - is really asking for trouble. The cost of a 2N2222 in one of its many forms to isolate the pin from the relay is surely a cheap method to get the high reliability you seem to be seeking. As Wouter said, if you are using a relay, then the cost of a bipolar fades into the sunset, when you need the reliability. If you are really seriously talking in terms of using single sided PCB as a cost cutting measure against the cost of double sided plated through holes, then I wonder if the project will ever reach market. Going that route starts to make one need metal cases around it to keep other signals from interfering with signals on the PCB traces. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist