Ray Wilson authored this content while he was actively running MFOS as the founder and resident genius. We retain the content because it reflects a valuable point of view representing that time and place.
I am going to introduce you to M-Squared Logic (Mickey Mouse Logic, its not a joke folks). CMOS which is the technology for the circuits behind the MIDI to CV Convertor is a pretty forgiving technology so you are able to do cool tricks with diodes and resistors that would simply not work with TTL circuitry. If you have the resources to stock your lab with every gate combination in the world then you don't need to use MML. But, if you are like me you have a nice assortment of gates and counters but not every chip in the world, especially not 4 input NOR gates or 8 input NAND gates and such. MML lets you keep one IC on hand, the simple hex inverter (74HC14, 74C14 or CD40106). These are hex (because there are six of them in the package) inverting Schmidt triggers which when combined with resistors and some 1N914 diodes (which are very cheap and obtainable) can give you whatever CMOS compatible gate you need. Remember that MML inputs (typically diode anodes or cathodes) expect logic levels from CMOS gate outputs. For more information get Don Lancaster's "CMOS Cookbook" ISBN: 0750699434 which is out of print but still available via Amazon. |
These characteristics of the CMOS hex Schmidt trigger make MML possible:
Refer to Figure 1 Mickey Mouse Logic Circuits for the following.
The n input NOR gate works as follows. Resistor R1 (100K) holds the input of the 74HC14 low when all of the inputs (the anodes of the diodes connected to its input) are connected to CMOS outputs at a low logic level. In this condition the 74HC14's output is high (its an inverter remember). However, if any input goes high current flows through the respective diode causing the 74HC14's input to go high and its output to go low.
By inverting the output of this configuration you get an n input OR gate.
The n input NAND gate works as follows. Resistor R4 (100K) holds the input of the 74HC14 at 5V whenever all inputs (the cathodes of the diodes connected to its input) are connected to CMOS outputs at a high logic level. In this condition, the 74HC14's output is low (remember the inversion). But, if any input goes low current flows through the respective diode causing the 74HC14's input to go low and its output to go high.
By inverting the output of this configuration you get an n input AND gate.
One shots and pulse stretchers are a piece of cake with MML. The top one shot turns a falling edge into a ground to positive pulse. The second one turns a rising edge into a positive to ground pulse. The hysteresis built into the Schmidt triggers causes the inverters to switch states when the input is two thirds of the way positive or two thirds of the way to ground. This is very handy because it corresponds with capacitive charging and discharging time constants. Thats why the one shot's pulse width is very close to R x C. Keep R above 20K to avoid excessive loading of CMOS outputs.
The pulse stretchers work as follows (refer to the one on the left with C3 and R7). A narrow ground to positive pulse arrives at the input causing current to flow through the diode and charge capacitor C3. Immediately the first Schmidt trigger's output goes low and the second's goes high. The inverters remain in this state until capacitor C3 discharges through resistor R7 to about 1/3 of the positive supply voltage at which time the inverter's outputs switch and the second inverters output goes low.
The second pulse stretcher (refer to the one on the right with C4 and R8) is similar. A narrow positive to ground pulse arrives at the input causing current to flow through the diode and discharge capacitor C4. Immediately the first Schmidt trigger's output goes high and the second's goes low. The inverters remain in this state until current through resistor R8 charges capacitor C4 to about 2/3 of the positive supply voltage at which time the inverter's outputs switch and the second inverters output goes high.