3 ms·
One of Vonada's 14 engineering maxims is "Digital circuits are made from analog parts." That said, dynamic logic that depends on capacitance is more analog than
by kens 3y ago
One of Vonada's 14 engineering maxims is "Digital circuits are made from analog parts." That said, dynamic logic that depends on capacitance is more analog than most digital logic :-)
Vonada's engineering maxims: https://twitter.com/kenshirriff/status/1633154548318732289 https://twitter.com/kenshirriff/status/1633154548318732289
- dekhn 3y agoOK I learned a bit today- I didn't realize transistors were considered "active", or that dynamic logic was uncommon. Vonada's engineering maxims are pretty scary to me- an amateur hobbyist soldering various chips together to build simple projects like "a rotary encoding controlling a binary counter visualized with LEDs". I spend many hours soldering and carefully debugging every individual component, and when I integrate, spend many more hours debugging why something doesn't work. The failures are almost always because I did something dumb, like wiring up VCC and GND backward, I honestly don't know that I'd be able to debug "When all but one wire in a group of wires switch, that one will switch also." in my binary counter's inputs or outputs.
- tzs 3y ago> Vonada's engineering maxims are pretty scary to me- an amateur hobbyist soldering various chips together to build simple projects like "a rotary encoding controlling a binary counter visualized with LEDs" Fortunately for probably most hobby projects you don't have to worry about most of those things. A lot of those maxims concern failures of the lumped element model. The lumped element model is a model where all the capacitance occurs in capacitors, all the resistance is in resistors, all the inductance is in inductors, and so on, and wires are zero resistance conductors of current that do not couple magnetically or inductively with anything. If clock speeds aren't too high, there is enough gap between the highest 0 logic voltage and the lowest 1 logic voltage, wires aren't too long, voltages and currents aren't too high or too low, and you don't do anything like put loops in your wires (other than when you are intentionally trying to make an inductor) the deviations of reality from the lumped element model shouldn't cause any problems. As you deal with higher frequencies reality starts to noticeably diverge from the lumped element model. You have to start worrying about things like capacitance between leads on your components, inductance between wires, and wires acting like transmission lines. Keep going up in frequency and you can get to a point where you have to use software that can solve (exactly or numerically) Maxwell's equations for the fields around things and take into account interactions with those fields. Hobbyist projects can do things that get past where the lumped element model is all you need, such as WiFi or Bluetooth which operate at several GHz, but usually those functions are handled by modules that the hobbyist buys that are (hopefully!) designed by people who know how to deal with high frequencies. E.g., you buy an RF module that does the scary radio stuff, and you control it from a microcontroller that is running an order of magnitude or more slower than the RF module, and whatever inputs and sensors and non-radio outputs you have are probably at least an order of magnitude slower than your microcontroller. Those non-RF parts of the project are likely to be well in the realm where lumped element works. Most of the rest of the maxims concern things that are mostly going to be a problem for big projects where you might be worrying about things like synchronizing things across dozens of subsystems and with very tight tolerances.
- dfox 3y agoIn digital circuits the “frequency” when the lumped model breaks down is determined by the slew-rate (ie. spectral content of the edges), not the bitrate/clock frequency. In the electronics hobbyist community there are many cases when you can run into that issue head first while just connecting modules together (because the whatever IC on the module has significantly faster slew-rate than you need). Another example are MCUs with somewhat high internal clock rates and their power requirements, even 20-ish year old dsPIC requires somewhat involved supply decoupling topology to work at all (and the quality of decoupling for ESP32 has direct effect on signal quality and how much of RF noise it spews out).
- dekhn 3y agoThe one situation where this seems to come up is that I'm using PWM duty cycle to control a constant current LED driver. Because my light is far too bright at full intensity, the driver has a PWM pin that lets attenuate that. however, because I'm taking extremely fast images (sub-millisecond exposures), if I use a low PWM frequency (<1MHz) I see image artifacts. I am trying 1MHz PWM (generated by my arduino) on a solderless breadboard, and I see flaky behavior when I increase the PWM beyond 250KHz or so. Things look fine on my scope, but the LED itself often doesn't behave as expected.
- dfox 3y ago> I honestly don't know that I'd be able to debug "When all but one wire in a group of wires switch, that one will switch also." in my binary counter's inputs or outputs. The intention of the maxim is to design the system in a such way that the all-but-one situation never happens. And if it has to happen then you need to be sure that the “analog stuff” and “black magic” like power supply decoupling and ground return paths is handled correctly. And in fact the binary counter is perfect example for that. You can design that as an ripple counter or synchronous counter. Ripple counter is simpler and does not suffer from these kind of issues because the switching ripples through the bits LSB to HSB, which also means that there is a period of time before the output stabilizes where it is simply wrong, which is the main drawback of that design.
- akira2501 3y agoMuch different from one of Bob Widlar's random maxims that was "[digital?] every idiot can count to one."