Subject:NuCORES and NuTRONS
Date:Wed, 13 Jan 1999 07:25:41 -0800
From:Sean Rigter
To:beam@relay1.corp.sgi.com
Hello everyone,
I was going to post these papers on the Heretic board but it won't fit
in the dialog box. I don't have a website myself, so here it is for one and all!
I asked Mark T. for his opinion and I have attached his very encouraging
reply.
enjoy
wilf
The NuCore
(c) Wilf Rigter
Jan 10,1999
A simplified BEAM model (in the FAQ) suggests that, with minor exceptions,
Nervous neurons (Nv) are the differentiating, dynamical inner core elements
and that Neural neurons (Nu) are the integrating, damping peripheral elements
of neural networks..
This metaphor seriously diminishes the phase space of Neural neuron applications.
A thought experiment into extending the functionality of Neural neurons (Nu)
led me to believe that we are ignoring important applications for the Nu
including higher order Nu core networks which may have important applications
for motor control. It must be emphasized that the well known 1Nu core, the
Solar Engine, is and must be a Neural neutron.
Any number higher order Nu cores can be constructed from Nu elements using
inverting and non inverting gain stages. I propose to call this class of Neural
neuron cores the "NuCore" circuit.
There are some significant differences between Nv cores and NuCores.
GENERAL NuCore CIRCUIT
NuCore circuits are based of the following general design:
+-- 4 Nu <---------------------------------------------o<]--+
|-- 3 Nu <-----------------------------------+ |
|-- 2 Nu <----------------o<]-+ | |
|-- 1 Nu <-----+ | | |
| 3M | 3M | 3M | 3M |
+---/\/\/-+-[>o-+--/\/\/-+-[>o-+--/\/\/-+-[>o-+--/\/\/-+-[>o-+
| 1 | 2 | 3 | 4
=== 0.1 === 0.1 === 0.1 === 0.1
| | | |
0V 0V 0V 0V
Fig. 1 n Node NuCore circuits
Note the extra inverter required for even number NuCores . These circuits were
tested with 74HC14 inverters but preliminary results show using any very high gain
element, like an octal inverting D latch is also possible. In addition, a certain
manufacturer's HC octal transceivers can provide inverting and non inverting Schmitt
trigger elements which can be used for this (and other:) application replacing the
last node 2 inverting elements with one non inverting element for even number node
NuCores.
NuCORE PROCESS AND OUTPUT PATTERNS
Nv cores all support more than one STABLE distinct process pattern which implies that
through an adaptive mechanism, different walking gaits may result. Yet nearly all Nv core
applications default to cycling a single process which in fact, results in the maximum of
n distinctive outputs patterns for n Nv nodes per cycle.
For example, the 4 Nv micro core achieves the highest number of distinct output patterns
(1000, 0100, 0010, and 0001) by cycling one process. The other other two 4Nv micro core
process patterns result in two (1010,0101) and one (0000) output patterns respectively.
The NuCores have only one STABLE unsaturated process pattern which results in 2n
number of distinctive output patterns in a natural GRAY CODE sequence.
NuCore process pattern always eventually stabilizes as a 2n length symmetric process
pattern with a 1/n phase overlap between outputs. For example, a 3NuCore (n=3Nu) has
a symmetric 000111 process pattern which appears at any one output.
Various node NuCores have the following 2n output pattern sequences:
output 1 12 123 1234
step
1 0 00 001 0010
2 1 01 011 0110
3 11 010 0100
4 10 110 0101
5 100 1101
6 101 1001
7 1011
8 1010
Table 1 NuCore output patterns
NuCore MOTOR CONTROL PATTERNS
A 4NuCORE can be connected (through buffers) the same way as a Nv micro core
with motor 1 connected to output nodes 1 and 3 and motor 2 to 2 and 4.
Alternately motor 1 can be connected to 1 and 2, and motor 2 to 3 and 4.
This gives the following distinctive motor control patterns.
MOTOR MOTOR
STEP 1 2 STEP 1 2
1 fwd stop 1 stop rev
2 fwd rev 2 fwd rev
3 stop rev 3 fwd stop
4 stop stop 4 fwd fwd
5 rev stop 5 stop fwd
6 rev fwd 6 rev fwd
7 stop fwd 7 rev stop
8 stop stop 8 rev rev
Table 2 4NuCORE motor control patterns
The first case results in the same 50% utilization of motor on time as
the Nv micro core but with overlapping phases and times when all motors
are stopped. The second case results in a greater utilization of motor
on time of 66.6% and 1/n phase overlap. This motor on utilization not
as high as master-slave Bicore circuit but wastes a lot less power and
gear wear and tear by avoiding instantaneous motor reversal.
A 3NuCore with 3 motors connected to outputs 1 to 2, 2 to 3 and 3 to 1
respectively has a motor pattern which may be useful for three motor or
six motor walkers. The important limitation of this combined use of Nu
nodes is the lack of independent adjustment of each motor on/off time.
This leads to complex interaction which is probably difficult to tune.
MOTOR
STEP 1 2 3
1 fwd stop rev
2 fwd rev stop
3 stop rev fwd
4 rev stop fwd
5 rev fwd stop
6 stop fwd rev
Table 3 3NuCore 3 motor pattern
FUTURE NuCORE
I have only just begun to investigate this useful class of Nu core circuits.
Higher order NuCores would provide a large number of distinct output
patterns, for use with a large number (arrays) of motors/actuators.
New combinations of motor connections and motor patterns may be used
together with other novel Nu circuits with the distinct possibility of a Nu only
robot. In addition, decoders and multiplexes may be used with low order
NuCores to isolate motor control outputs and feedback paths and provide
reversing and other motor control logic functions. New odd symmetry robot
topologies may effectively use the odd symmetry 3Nu and 5NuCore processes.
Some applications for using the grey code output sequence with a resistor
network for D/A voltage conversion.
Finally NuCores can incorporate the NuTRON - majority logic functions to
add a new level of complex behavior from this simple circuit.
Comments on any other work in this area will be most welcome since it
may save me from reinventing the wheel (hum... leg!).
Many thanks to Mark Tilden and Brosl Haslacher for sharing their seminal
ideas in LIVING MACHINES.
***********************************************************************************
The NuTRON - A Majority Logic Neural neuron
(c) Wilf Rigter - Jan 10, 1999
According to BEAM orthodoxy (an oxymoron if I ever heard one), the Nervous neuron
(Nv) is generally used for inner core process control circuits such as the Bicore
and Microcore. The Neural neuron (Nu), on the other hand, is generally assigned
to peripheral duty as a stimulus signal conditioner and short term memory.
NuTRON - MAJORITY LOGIC
The Neural Neuron is also capable of performing a function called MAJORITY
LOGIC. An example is a single 74HC14 Schmitt trigger inverter with 4 equal
resistors summed at the input (the bias point) with a delay capacitor
connected to 0V.
input 1 o--/\/\/-+
|
input 2 o--/\/\/-+
|
input 3 o--/\/\/-+
| 74HC14
input 4 o--/\/\/-+---[>o---o output
|
===
|
0V
Fig 1. NuTRON - Four input majority logic Neural neuron
Assuming a power supply voltage V and trigger thresholds of 1/3V and 2/3V,
the output changes state only when the >2/3 of inputs are at 1V or 0V.
A majority in the case of the above example is 3 or 4 inputs at 1V or at 0V.
I have tentatively called this Nu majority circuit a NuTRON.
A small capacitor value effectively removes input transients which could
lead to spurious output glitches. With a longer RC time constant, the
capacitor may also function as a deliberate timing element and when the
RC time constant is large compared to input frequency this can be used to
extract the DC component of pulsing input wave forms to provide another type
of majority logic based on summed input levels and input duty cycle. Using
unequal input resistors values, or variable resistive elements or sensors
can provide a more complex NuTRON Majority Logic.
NuPNC - A NuTRON DESIGN EXAMPLE
As an example of a simple NuTRON application, I designed the NuPNC,
(NuTRON Pulse Neutralizing Circuit) used to initiate Microcore circuits.
The conventional Pulse Neutralizing Circuit (PNC) can be described as
a long time constant Neural neutron activated only at powerup to kill
all processes in a Microcore except for the one process forced by the PNC.
In contrast, the NuPNC is a NuTRON majority logic neural neuron which senses
when a 4Nv Microcore is saturated and then forces a single process to restore
normal operation. In effect, the NuPNC is a SATURATION WATCHDOG circuit.
The NuPNC for a 4Nv Microcore uses the NuTRON circuit in the form of a single
74HC14 gate, a 0.1 uF capacitor and four 1M resistors as shown :
1M
Node 2 o--/\/\/-+
output 1M |
Node 3 o--/\/\/-+
output 1M |
Node 4 o--/\/\/-+
output 1M | 74HC14
0V o--/\/\/-+-[>o----->|---o to Node 1
| 1N4148 Bias Point
=== 0.1
|
0V
Fig 2. Four input NuTRON NuPNC/watchdog circuit.
The outputs of Microcore Nv Node 2, 3 and 4 are connected to three 1M input
resistors to the bias point of the NuPNC and the 0.1 uF capacitor in
parallel with one 1M input resistor are connected to ground. The output
of the NuPNC is connected through a diode with the cathode attached to
Microcore Node 1 bias point.
On powerup, the power supply will be at voltage V and the Microcore is
saturated. The sum of the output voltages at the NuPNC bias point will
remain below the 2/3V 74HC14 upper switching threshold. This causes
the output of the NuPNC to remain at the active (Pulse Neutralizing)
level forcing one Nv process and absorbing other Nv processes. When
only the one forced process remains at Node 1, the outputs of Nodes 2,
3 and 4 are high and the NuPNC bias point voltage quickly rises to 3/4V
at which point the NuPNC output switches low, allowing the single process
to propagate through the Nv Microcore.
Although a low probability, a 4Nv Microcore can saturate under certain
transient conditions, and become inoperative until the PNC is reset by
powering down.
However with a NuPNC, the Microcore can recover from saturation any time.
When the 4Nv core saturates and Node 2 and Node 4 ouputs are low, the
NuPNC bias point drops to 1/4V and the NuPNC output turns on and remains
on until all processes are absorbed. Then the bias point rises to 3/4V and
the NuPNC turns off thereby starting the single process.
Although the NuPNC circuit requires more resistors (use a resnet) than the
conventional PNC, the capacitor is smaller, the Microcore starts faster
and unlike the single shot PNC, the NuPNC continues to monitor the
Microcore to ensure continued normal operation.
A NuPNC, with additional NuTRON inputs, may also be used with higher order
Microcores to initialize specific patterns.
All in all, the NuPNC circuit is a BEAMish, interesting and nontrivial
application of the NuTRON (majority gate) neuron.
There will be many other applications for the NuTRON circuit:
NuTRONs can be tuned to distinguish > < input sensor patterns. With an
analog control voltage (or waveform) at a NuTRON input, the majority
thresholds and and hysteresis can be dynamically adjusted with fine resolution.
Other applications include many NuTRONs used as nodes in a complex network
for large input array signal processing. With NuTRON network output to
input feedback, a complex multilevel process circulating logic results.
Only time will tell what NuTRON array topology can best provide that
interesting dynamical regime at edge of structure and chaos.
I look forward to discussing any other designs which incorporate these idea.
Thanks go to Mark Tilden for his BEAM, Nv, PNC and Microcore (copyright and
patented) concepts which provide the foundation on which I explore these ideas.
Well before I sign off here is a little Nu BiCore circuit using a 74AC14 which
behaves very similar to the Nv Bicore. Wonders will never cease!
| | | |
v v v v photodiodes
__|\|___|/|________
| |/| |\| | __ 74AC14 __
|_____________/\ __|__/14 |_________|14 \____
| 1M \/ \__ | | |__ / |
| | ___ |
| __ __ |____/ M \____|
|__|14 \______/\ _____|14 \____| \_1_/
| |__ / | 1M \/ | |__ / ___
=== 0.1 | === 0.1 ___/ M \____
| | | | \_2_/ |
0V | 0V __ | __ |
|_____________|14 \_____|___|14 \____|
|__ / |__ /
Phototropic Nu BiCore circuit with quadrature motor rotation
Hello Mark,
I read your Living Machines and it was an inspiration for me!
As a result I came up with some (for me) new ideas which I decided to
write up and share with others.
wilf
Mark Tilden replies:
My God. An Nv experimentalist! I was beginning to loose hope.
Very nice bit of work. I studied Nu rings a while ago but only
discovered their saturation properties. Your steady state Grey code
cores are quite novel. The only thing I've seen close to them is the
Artificial Dendrite work of John Elias (Duke University) but even that
only shows how to hook up Nus as Nvs (3 to one ratio).
The one thing I can say is that I've never seen the basic integrating
neuron-with-threshold used in such minimal self-consistent structures
before. One of the disadvantages of conventional high-gain neural net
neurons is that the signal degredation can never allow for pattern
regeneration and stability as our Nu's do (except in computers where
the losses are ignorable). In that way, you may have hit on the secret
of why Nu's are different from Neural net neurons: symmetric saturation
of signals allows Nu's to sustain processes in the real world, and even
perform digital-style processing.
Interestingly, I did a lot of early digital-style analogs for Nv tech
several years ago, but realized that trying to force these devices into
exhibiting digital style behavior is like using a hammer to pound in
screws. The processing style of Nv tech is unique enough to warrant a
different computational paradigm. As you stated, NuCores are just one
of many.
In all quite professional, and also useful into the fledgling field of
Nv pattern loops. It begs me to ask the question... who are you.
markt.
Subject:Nu circuits 101- the NuSTEPPER
Date:Mon, 18 Jan 1999 19:48:25 -0800
From:Wilf Rigter
To:beam@relay1.corp.sgi.com
If you like (or don't like) Nv Microcores, you will love the NuRING.
The NuCore was described in my earlier post and has now been renamed as
the NuRING. Like the Nv Microcore, the NuRING is made from a number (ie 4)
of process nodes connected in a ring. It uses a single capacitor and
resistor with a gain stage for each node but as an integrator instead of a
differentiator. Think of it as a "relaxed" neuron!
While there are similarities in function between the Nv Microcore and the
NuRING, there are some important differences.
First of all, any linear devices like AC240 or AC245 work well as gain
elements for (>1Nu) NuRING circuits. As long as the sign of all inversions
in the NuRING is negative, it can made from any combination of inverting or
noninverting elements. The process pattern in linear NuRINGs is just as
robust as the Schmitt trigger NuRINGS and the voltage swing at the Nu bias
point of NuRINGS >2Nu approaches rail to rail.
I had previously used the Nv Microcore circuit to generate a "wave" step
sequence for uniploar and bipolar type stepper motors and I realized that
the NuRING Grey Code "phase" and "phase to phase" output patterns were
identical to 1/2 step sequences for both types of stepper motors.
I tested this idea with a small bipolar stepper motor of the type used for
head posistioning in a 3.5 inch FD. In order to use Nv Core circuits to
drive steppers, you must use output buffering for feedback isolation because
the Nervous neuron is sensitive to motor transients which in
large quantlties could cause process modulation, instability and saturation
if motor windings were connected directly to a Nv Core.
However the Nu offers exquisite noise imunity and NuRING outputs can be
directly connected to stepper motors since any motor transients are
integrated at the bias point.
In fact, I have designed this elegant 4NuRING reversing stepper circuit (I
believe it's unique!) using a single 74AC86 as shown below:
+V + V R = 510K bipolar stepper motor =
| | C = 0.01 Sony LA20-2003A 5V / 90 Ohm
[R] [R] U1 = 74AC86
/REV ___| /FWD ____|__________________________________
| _ | _ | _ | _
+-))86\_ +-))86\_ +-))86\_ +-))86\__
+-[R]-+---))_ / |--[R]-+---))_ / |--[R]--+--))_ / |--[R]--+---))_ / |
| | | | | | | | |
| === | === C | === C | === C |
| | | | | | | | |
| 0V | 0V blk_|_ 0V | 0V |
| |______________/STP\______________| |
| yel \_M_/ or |
| |brn |
|________________________________|___________________________________|
Fig 1. NuRING CONTINUOUS STEPPER CIRCUIT WITH REVERSE
When either REV or FWD is low the stepper rotates in that direction. With
the component R=510K and C=0.01 the speed is 4 revolutions per second and
power consumption 40 mA. When both inputs are high or low the stepper is
stopped and the current is zero. While torque is quite low it's useful for
the lead screw application of the FD stepper motor.
I hope you will agree that this NuSTEPPER design is surprisingly simple with
very high functionality in the best BEAM tradition.
I will soon have my "first" web site and will post these articles together
with cad drawings and "live" waveforms.
enjoy
Wilf Rigter mailto:wilf.rigter@powertech.bc.ca
Subject:RE: a question and a comment
Date:Sat, 30 Jan 1999 15:47:18 -0800
From:Wilf Rigter
To:beam@corp.sgi.com
This is an example of how easy it is to set up a high pass/variable
threshold detector using a spare HC04 (or HC240) gate:
_______________
| |
[10M] ___ |
C | ___|04 \__|_____ output signal
input signal ----||--+---' |___ /
|
[1M]
|
V
0V----[10K]-----Vcc
A HC04 gives the equivalent of an inverting AC coupled comparator/amplifier
with the 10K pot adjusting the threshold. The output can be biased normally
high or low and if adjusted near the center will turn the HC04 into a linear
amplifier. The capacitor C determines the cutoff frequency, with practical
values of 100pf to 0.1uf. When used as a comparator, the threshold is
sensitive to both frequency and amplitude. When used as a linear amp it can
provide one or more stages of gain for a microphone or other low output
transducer.
If you use a HC245 or other noninverting gate (or two HC04 inverters in
series) you get hysteresis and/or memory of the direction of the last fast
transition depending on the setting of the pot.
An HC14 probably won't work very well unless you remove the 10M resistor
(oscillates!) and then provides typically about 30% hysteresis.
If you want to stretch the output signal (pulses) from the above circuit
just use a series diode and capacitor with another gate (ie HC14) to drive a
LED or other load like so:
Vcc
|
_V_ LED
|
__ [1K]
diode ____|14 \_____|_____ output pulse
--->|--+-[10K]----+ |__ / >1sec
| |
[10M] === 0.1uf
| |
GND GND
The 10K resistor can be used (and changed) to delay the output so that only
a burst of pulses will trigger the output and the 10M resistor sets the
output pulse width.
These circuits tie in nicely with the other BEAM components and the
discussion on signal conditioning so I thought you might be interested.
|
Wilf Rigter mailto:wilf.rigter@powertech.bc.ca
tel: (604)590-7493
fax: (604)590-3411
> -----Original Message-----
> From: RoboDR@aol.com [SMTP:RoboDR@aol.com]
> Sent: Saturday, January 30, 1999 1:34 PM
> To: beam@corp.sgi.com
> Subject: Re: a question and a comment
>
> << Yep! Remember, though, that this circuit will only work if the signal
> swing
> is larger than half of the supply voltage for a chip. ie for a 5 volt
> chip,
> a swing of 2 volts won't trigger it, but a swing of 4 volts will. >>
>
> So if you used a 5V chip, it would ignor a quick change from 4V to 6V, but
> it
> would triger at a cuick change from 2V to 5V? And it would ignor all
> changes
> that take several seconds?
Subject:BiCores (suspended, isolated, Schmitt)
Date:Sun, 31 Jan 1999 12:54:08 -0800
From:Wilf Rigter
To:beam@corp.sgi.com
Hello everyone,
Well, I was a tad confused in my earlier post but without that I wouldn't
have had as much fun discovering just what goes on under the hood of Beam
Core Circuits!
The "pretty amazing, right?" bit, in my previous post should have alerted
you that there is more between Vcc and Ground than meets the eye!
However it make little sense to suggest a formula to calculate the time
constant of NvCore and "suspended" BiCores : it must be done by experiment
(like my first experience in electronics: probing the Galena cube in my
crystal set with a "cat's wisker"- God, I must be old!)
Perhaps a guide line for calculating the time constant of a NvCore is
useful:
The nominal lower threshold of a National and Philips 74HC14 Schmitt trigger
is about 1.8V which makes the time constant of a NvCore stage T=R*C .
(Rather easy to calculate) Because the voltage across the capacitor is
referenced to V (via the output of the previous Nv), the cap charges
exponentially through R towards 0V. At 63% of the applied voltage across the
cap, it crosses the lower threshold (Vt-=1.8V @ Vcc=5V) at which point the
output of the Schmitt trigger goes high. I checked this with several 74HC14s
and it is correct to within 5%! In short, the process duration for these
makes of 74HC14 NvCore is R*C seconds. ie 1M and 0.1ufd = 100ms pulse
duration. I understand that TI parts have different Vt- threshold and will
have a longer timeconstant for the same R/C component values as a result.
Similarly the 74HCT14 would have a lower Vt- threshold and therefore a
longer time constant. I will repeat the experiment when I get some samples
and post some more guide lines. Also see
http://www.serve.com/heretics/discus/messages/223/45.html?FridayJanuary29199
The "suspended" BICORE however is a different engine:
The "suspended" BiCore is a remarkable circuit that at first glance cannot
possibly work. It has 2 processes which are active at the same time with the
shorter process always in control. The "suspended" BiCore circuit operation
bears little or no resemblance to the operation of a 74xx14 BiCore despite
claims to the contrary! Since we use digital devices as linear amplifiers
without a well defined voltage gain and since the trigger thresholds are
dependent on the voltage gain, the pulse duration of a bicore is notoriously
difficult to predict and ranges from 0.2RC for a 74HC00 to 5RC for a 74HC04
depending very much on gain, the level of supply ripple and spurious
oscillations. Even differences in manufacturers and families (I have tested
this with 74HC04, HCT04 and AC04 devices) can result in a 4 to 1 variation
in time constants.
In digital electronics, we think of of an inverter as a device operating
with input and output voltages at discrete logic levels, usually 0V and Vcc.
In analog electronics, we think of an inverter as a linear amplifier with
the ratio of input to output voltage directly proportional to the gain of
the circuit and the linear input range = Vcc/gain. When we think
"suspended" BiCore, we enter the world of mixed analog and digital
electronics.
In the "suspended" BiCore Oscillator circuit both upper and lower threshold
voltages are used and for a "standard" HC inverter input these are the
points at which the inverter output voltage starts to change (the linear
region). The switching thresholds therefore are the upper and lower edges of
the linear input region which depend on the gain of the linear inverter. For
the high gain 74HC04 or 74HC240, it is a narrow region of ~100mV close to
the center of Vcc. In the case of the low voltage gain 74HC00, the linear
region is about 1V giving upper and lower thresholds of 3V and 2V compared
to the 2.65V and 2.45V of the 74HC04. I won't give the whole description of
operation of a BiCore (the suspended kind of course, more on this later) but
suffice it to say that the timing network consists of 2 (nominally equal)
capacitors in series with a series resistor and that the initial charge
across both capacitors is (nominally) 0V and that the charge across both
capacitors rises exponentially towards Vcc, while the voltage across the
resistor decays exponentially towards 0V. In the case of the high gain
inverters (74HC04) the linear region is near the center of Vcc, so the
voltage across the resistor must be close to 0V, ergo the charge across the
capacitors must be nearly Vcc. The important difference between the Schmitt
NvCore and the "suspended" BiCore is the fact that NvCore processes are
independed sequential edge trigger time constants while in the "suspended"
BiCore both proceses are triggered simultaneously and only the shorter of
the two time constants determines the combined "BiCore process"
timeconstant.
I think using the term BiCore for both circuits is a tad of a misnomer.
Here is some good news! A 74HC14 BiCore is indeed possible! (Forget about
"crosstalk" 8^) Just use two capacitors with a ratio of values greater than
1/2 for Schmitt triggers that have thresholds at 33% and 66% ie National
74HC14 . Since the smaller capacitor (the shorter process) sets the time
constant of the BiCore you can make the ratio arbitralily large (make it 1
to 4 to be on the safe side given the variety of thresholds out there) The
larger cap has no effect on timing other that to provide positive feedback
during switching. Interestingly enough the larger cap transfers a larger
charge and this can be used in the next circuit to provide +/- 5V
powersupply. Amazing what you can do with the BiCore or maybe this should
be called the SCore!
I tested an "isolated/suspended" BiCore which uses large resistors in series
with the inverter inputs to avoid "diode clamping" of the input waveforms.
As a result, the time constant is roughly doubled and some interesting
characteristics were observed. The voltage across the resistor is now
initially 10V for a Vcc of 5V and the optional addition of some diodes and
capacitors turn the bicore into a symmetric voltage doubler circuit.
Moreover the + and - timeconstants are dependent on the loading of these
+7.5V and -2.5V supplies. This opens up a whole new way to provide feedback
for an "isolated " BiCore circuit or maybe this should be called the ICore!
The description of operation of the "suspended" and the "isolated" BiCore is
shown below:
The 74HC14 "suspended" BiCore waveforms are a little bit complicated and not
easy to do in ASCII so you will have to wait a bit for those details.
However, I will have the detailed description of operation of all these
circuits and GIFs up later today or tomorrow at my new website which I will
open up despite the fact that it is just bare bones right now.
In the mean time:
enjoy
wilf
The "belt and suspenders" BiCore Circuits
by wilf rigter (c) Jan 1999
The suspended BiCore circuit consists of 2 inverters, typically from a HC240
(or HC14 Schmitt triggers), 2 capacitors, and a resistor. In addition, there
are 2 reverse biased input protection diodes between each inverter input and
the chip supply pins. These diodes are not normally shown but they play a
role in the operation of the circuit.
Here is a brief description of a suspended BiCore oscillator operation:
Given a +5V supply , a 74HC240 and equal capacitors C1 and C2, assume that
the BiCore is oscillating with the input of A1 at +5V and the input of A2 at
0V. Each inverter amplifies and inverts the input and therefore the output
of A1 is 0V and the output of A2 is +5V.
Since each capacitor is connected between the output of one and the input of
the other inverter and since these are at the same potential, the voltage
across each cap is 0V. However the 2 caps are also connected in series with
the resistor across 0V and +5V (the two opposite outputs).
This initial +5V across the resistor causes an exponentially decaying
current which charges the caps so that the voltage approaches 0V across the
resistor and 2.5V across each cap (and at each inverter input) As the A1
input approaches 2.5V, the A1 output starts to switch state from 0V to 5V.
This A1 output signal is coupled via C1 to the input of A2 which, already at
2.5V, causes A2 output to switch rapidly from +5V to 0V. In turn, the A2
output coupled via C2, now drives the input of A1 from 2.5V to 0V. The high
gain of the two inverters and the positive feedback cause both outputs to
flip to the opposite digital states.
Theoretically , the voltage at each input should swing between 7.5V and
-2.5V, the sum of the input voltage (2.5V) and the coupled output signal
(+/-5V) at the moment of switching and this is the case in the "isolated"
BiCore. However in the "suspended" BiCore each input is protected internally
by the equivalent of 2 diodes connected in reverse bias from the input to
each supply, so that the voltage at each input is clamped and swings between
+5.6V and -0.6V respectively as shown below. The real waveform has
exponential slopes approximated here with diagonal lines. The A2 waveforms
A2 are identical but phase reversed (upside / down). The third waveform
shows sum of the 2 input voltage waveforms across the resistor which is also
proportional to the capacitor charging currents.
Note that in the case of the isolated BiCore, the over and under voltage
generated by the capacitor charge pump can be put to good use: for example
for a source side driver for MOSFETs or to overdrive the inputs of a
saturated Emitter Follower bridge or as an +/- Opamp/Comparator powersupply,
greatly easing the problem of sensing signals near ground and Vcc.
5.6V _ _
A1 _ |\ |\ |\ | _
input 2.5V _ | \ | \ | \ | _ __
_ / | / | / | / _ __|A1 \___
-.6V _ |/ |/ |/ _ | |__ / |
| |
5.0V_ _ __ __ __ _ | ===
A1 _ | | | | | | | _ | | 0.1
output _ | | | | | | | _ |---[1M]---|
_ | | | | | | | _ 0.1| |
0V_ |__| |__| |__| | _ === |
| __ |
6.2V _ _ |___/ A2|__|
voltage _ |\ |\ |\ |\ |\ |\ | _ \ __|
across R _ | \| \| \| \| \| \| _
_ | /| /| /| /| /| /| _
0V _ |/ |/ |/ |/ |/ |/ | _
| | | | | | | | |
Suspended BiCore switching waveforms Supended BiCore Circuit
7.5V_ _
_ |\ |\ |\ _ __
_ | \ | \ | \ _ __|A1 \___
TP(A1) 2.5V_ | \ | \ | \ _ | |__ / |
_ / | / | / | _ | |
_ | / | / | _ [10M] |0.1
-2.5V_ |/ |/ |/ _ | ===
TP(A1)--|---[1M]---|--TP(A2)
| | | | | | === |
5.0V_ _ ___ ___ _ _ 0.1| [10M]
A1 _ | | | | | | _ | __ |
output _ | | | | | | _ |___/ A2|__|
_ | | | | | | _ \ __|
0V_ |___| |___| |___| _
Isolated BiCore waveforms Isolated BiCore
+7.5V +7.5V
| |
|----|<-----+ +----->|---+----|<-----+
|+ | | |+ |
=== 10uF | | === 10uF |
| | | | |
Vcc | | Vcc |
|---TP(A2) TP(A1)--| |--TP(A2)
0V | | 0V |
|+ | | |+ |
=== 10uF | | === 10uF |
| | | | |
|---->|-----+ +-----|<---+---->|-----+
| |
-2.5V -2.5V
Isolated Bicore Doubler Isolated BiCore Bridge Doubler
Wilf Rigter mailto:wilf.rigter@powertech.bc.ca