Bicore

From BEAM Robotics Wiki

(Redirected from Bicores)
Jump to: navigation, search

We apologize for the need to display ads on this wiki. But somehow we must pay for hosting.

Figure 1: - Three different Bicores and their  biomorphic symbols
Figure 1: - Three different Bicores
and their biomorphic symbols


Contents

[edit] The Grounded Bicore

The schematic in Figure 2 shows two Nv neurons connected in series. BEAMers referred to this as a Nv Chain.

Figure 2: 2 Nv chain
Figure 2: 2 Nv chain
Figure 3: A 2-Nv loop
Figure 3: A 2-Nv loop

If (as shown in Figure 3) the output of the second Nv neuron is wrapped around and connected to the input of the first Nv neuron (thus forming a loop) the chain becomes a basic bicore. Since the resistors of both neuron's are connected to ground, this particular form is official called a grounded bicore. Thanks to the two inverters, this simple circuit will usually oscillate without further input, and will produce complementary waveforms. That is to say, the output state of each inverter will always opposite that of the other.

The frequency of oscillation is a function of the values chosen for the resistors and the capacitors. Higher values result in slower oscillation frequency. The time that any given Nv neuron is in "active proccess", therefore producing an output pulse, is very nearly equal to R×C (in seconds). "Typical" values for these are 0.1 - 0.33 uF for the capacitors, and 1-4 MegOhm for the resistors (so with 0.1 uF capacitors and 1 MegOhm resistors, each Nv neuron "fires" for about 1 second). Depending on your application, and what is being driven by the bicore, you may want something faster or slower than this.


The duty-cycle of the resulting complementary waveforms, is determined by the values chosen for R and C for the individual Nv neurons. For instance, if a smaller value is selected for the capacitor, and/or the resistor of one of the Nv neurons, than are used for the other, the neuron with the lower value component(s) will be active for a shorter period (thus producing a shorter output pulse) than will the Nv neuron having the higher value component(s). As a result of this dependence on component value to set the duty cycle, any variance in the components' actual values from their marked value can result in a less that perfect 50/50 duty-cycle. If this presents a problem, then great care should be taken to match the components as nearly as is possible.


Generally Schmitt inverters are used for building grounded bicore[s, so these circuits are most-often made using 74*14 or 40106 ICs. A Schmitt inverter has a characteristic hysteresis. This means that the rising input voltage at which its output toggles "down" is guaranteed to be higher than the falling input voltage at which its output toggles "up." With a slow-rising or slow-falling input in a noisy environment (which describes the typical operation of a grounded bicore nicely), the output of a conventional inverter can start to oscillate between high and low as the voltage on the input approaches the switching threshold. On the other hand, a Schmitt inverter is guaranteed to have a quick, clean toggle from one output state to the other.

[edit] The Suspended Bicore

This is all well and good, but there's experimenting to be done! Let's start tinkering with our grounded bicore.

Figure 4
Figure 4

As illustrated in Figure 4, the circuit can be simplified a bit. First disconnect the resistors from ground. Next connect the free ends together. In fact, since only one resistor is actually needed, one of them can be removed from the circuit altogether. With the inputs of the two inverters connected together in this fashion (using only a single resistor) the grounded bicore is converted into what is called a suspended bicore.

Even though one of the resistors has been completely removed, the basic function of the circuit remains relatively unchanged. However, unlike the grounded bicore, the duty-cycle of the suspended bicore is determined by the capacitor with the lowest actual value. It therefore always produced a pair of near perfectly symmetrical (50/50) complementary waveforms.


Determining the timing of a suspended bicore is not as straight forward as calculating the time constant of a NV or grounded bicore.

Wilf Rigter explained in a post (message #44514) to the BEAM email list...


Begin Quote

Perfect bicores can not operate at all or have an unpredictable low, low frequency. By perfect I mean precisely matched capacitors and an inverter switching threshold that is exactly Vcc/2.

Strangley, when bicore components are not quite perfect the frequency of suspended bicores can be estimated (but not precisely calculated) For example, suspended bicore circuits using HCT logic (with the TTL logic input threshold) are more predictable than circuits made with HC or AC inverters which have a threshold close to Vcc/2.

You can test this out yourself on a breadboard and changing components.

When I first saw the suspended bicore circuit I was convinced it could not work. After testing this apparenly very simple circuit and analyzing its operation, I find it has qualities that I can best described as charm or depth.

Despite the few parts required to build them, there are seemingly endless combinations of these basic amplified RC circuits useful for a variety of beam designs, in a way very similar that complexity is realized from simple rules in cellular automata processes.

End Quote


The schematics shown in Figures 5, 6 and 7 are examples of three different ways a Suspended Bicore can be drawn.

Figure 5
Figure 5
Figure 6
Figure 6
Figure 7
Figure 7

In the illustration shown in Figure 8, red denotes Vcc and blue is 0 Volts; the colors in between represents various voltage levels between 0 Volts and Vcc. The color yellow at the input of the inverters means the voltage is nearing the 1/2 Vcc threshold and the bicore is about to change state. Note that the voltage on the end of the capacitors connected to the inverter outputs will always be fixed at either 0 Volts or Vcc when the bicore switches.

Figure 8: This animation courtesy of Wilf Rigter
Figure 8: This animation courtesy of Wilf Rigter

Also note that the voltages on both sides of the resistor slowly converge on 1/2 Vcc (i.e., the inverter switching threshold).


The suspended bicore configuration does require one other change. Specifically, the Schmitt inverters) must be replaced with regular inverters. This means that suspended bicore circuits will generally be built using 74*04, 74*240, 74*245, or 4069 ICs.


It seems that a Schmitt inverter's hysteresis, which is helpful in most Nv circuits, is all but fatal to the suspended bicores. Because the inputs of the two inverters are connected together by a single resistor, there will come a point when their the voltage on each will stabilize at a point very near Vcc / 2. If Schmitt inverters were used, the suspended bicore would come to a screaching halt at this point. This is because their characteristic hysteresis prevents the output oscillation that would allow a transition through Vcc / 2 to occur.

[edit] Schmitt Trigger Suspended Bicore

But there is a way to get around this difficulty if you absolutely must use Schmitt inverters in a suspended bicore. If you don't have a 74*240 inverter handy, you can go ahead and use the 40106 or 74*14 if instead of using 2 identical capacitors, the capacitance value of one of the capacitors is at least 2 times greater than the capacitance value of the other (i.e., 2 or 3 caps in parallel, or a 0.22 uF vs 0.1 uF cap).


The following is a short excerpt from an article by Wilf Rigter titled: BiCores (suspended, isolated, Schmitt)


Begin Excerpt

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.

End Except


[edit] Related Topics

[edit] BEAM Wiki References

Wilf Rigter has written several interesting articles (listed below) describing 'Bicores and how they function. They were titled:

Sent to: 'beam@corp.sgi.com' - - - CC:alt-beam Message 58 - - - Date: Jan 31, 1999 [1]

Sent to:'Wouter Brok' - - - CC:'beam@corp.sgi.com' - - - Date:12 Apr 1999

Sent to:beam@corp.sgi.com - - - Date:17 Apr 1999


Wouter Brok also wrote two very good articles (listed below) about the his experiments with bicores and what he learned about them. These were titled:

[edit] External References

The following to papres are available as downloadable PDF files from the BEAM PDFs section of the Reference library hosted by Solarbotics.net

[edit] Related Papers


This wiki is sponsored and hosted by Interactive Matter
Personal tools
Ads to finance this wiki