PNCFree Microcore
From BEAM Robotics Wiki
THIS PAGE CANNOT BE EDITED
It consists of execrpts of material originally posted by Wilf Rigter to the alt-beam email list. As such it represent an important historical and technical reference.
Thank you
The PNCFree microcore was first introduced by Wilf Rigter in
a post to the alt-beam email list in July of 1999.
The following is an excerpt from that post.
…what we have here is an instant auto Pulse Neutralizing Circuit (PNC) which will force a single process at power up and any other time at the cost of two 1N4148 diodes. It makes the assumption that in a 4 Nv ucore you can have zero, one or two processes active at one time. Since the PNC guards against the 2 process condition and since these only occur as process pairs in 1 and 3 or 2 and 4, then adding the diodes will neutralize the twin processes in 2 or 4 whenever a process is active in 1 or 3.
If you wish to guard against the more unusual zero process condition, you can combine a Pulse Injection Circuit (PIC) and the function of 4 red LEDs for indication. This is done with the addition of a capacitor and 1K resistor to inject a process into the ucore should all processes for some reason die out (unusual). The PIC is actually a 4 input AND gate made from the 4 LEDs together with the 1K pull up resistor. When all processes die off all four Nv output will go high and the output of the LED AND gate will also go high pulling the 1M resistors of the Nv input high. depending on the value of each Nv time constant one Nv input will cross the positive trigger level and the corresponding output will go low effectively inject a process into the core. Simultaneously the AND gate output drops since there are no longer four high input and the process starts to circulate around the core with each LED lighting to indicate the Nv which is currently active.
The additional 0.1 capacitor is there to deglitch the circuit Nv but is probably not be necessary. Using a single 1K resistor instead of the normal 4 resistors for LED indication effectively cancels out the 2 additional diodes and the capacitor and so it's fair to say that the PNC and PIC functions comes for free. In addition, the time constants of the Nvs are increased by a factor of 2 or more, since the 1M Nv resistors are referenced to the forward voltage drops of the LEDs (should be about +1.2V) making it practical to use smaller resistors or capacitors. The obvious applications of voltage controlled Nv time constants was covered earlier in my ETC and Servocore articles. The only restrictions for PNC/PIC is a minimum 5V power supply, a 74HC14 (not 74HCT14) chip and relatively low forward voltage drop red LEDs. Be sure to terminate the unused inputs of the spare inverters to 0V if not used for some other functions (like a 6Nv core).
This circuit comes quite close to my BEAM design target of "a linear INCREASE in functionality with a linear REDUCTION in complexity" ie the more I throw out, the more it does, which of course I hope is scalable to "zero complexity=infinite functionality" (reductio ad absurdum =) .
enjoy
- - - - -
A short time later Wilf sent another post confirming the effectiveness of the PNCFree microcore, and expanding his explanation of the techniques employed. The following is an excerpt from that post.
...Hey, I tried it and that 2 diode PNC works great! Theucore never saturates and starts instantly with a single process every time. How's that for evolution! The
Pulse Injection Circuit also does the job. To see how the PIC works, short one bias point to 0V on a normal ucore and you kill all processes but with the PIC installed, the ucore simply restarts when you remove the short. The LED AND gate is a little marginal using my stock red LEDs which have a Vf of 1.70V and that is a little close to the lower threshold of the HC14 working at +5V but is just fine at 6V. My green LEDs (1.85V) don't work at all and I'm scanning the databooks for low Vf (<1.60V) LEDs (anyone?) . Don't forget this idea of using a single current limiting resistor for ucore indication LEDs works for any
other application not just the PIC and is a quick way to save some components.
Alternatively you don't have to use LEDs for the PIC AND gate, if you want to keep the current drain down for SE apps toss the LEDS and use four 1N4148 diodes with a 100K resistor. That way you get about 400mV drop and little effect on the Nv time constant. The PIC may seem to be of limited interest (ie used only if you have an application which suffers from process death) but process injection as a concept may have far wider applications as we may discover in the fullness of time...

