5 ms·
Back in the '80s my grandpa worked for Northrup flying target drones he designed the guidance system for back in the '70s. He hated digital computers -- though
by tingletech 10y ago
Back in the '80s my grandpa worked for Northrup flying target drones he designed the guidance system for back in the '70s. He hated digital computers -- thought there was no way digital with all ones and zeros could ever be as accurate as the continuous values in analog computers he built with OpAmps. (He also didn't like seat belts or the UN).
- dragontamer 10y agoWell, back then analog circuits were likely faster and more accurate. There are lots of textbooks that showed you how to get 6.5 digits (21-bits) or 7.5 digits (23-bits) of accuracy using normal parts machined to 1% precision. These circuits would operate all the way to 100MHz and react to impulses within nanoseconds... even way back in the 80s... and could be mass produced for only a few dozen dollars. You know, back in the era where computers were 33 MHz (That's 30-nanoseconds per clock!) with 16-bit adders and cost tens-of-thousands of dollars. Today, things are different. We have 2GHz octcore computers in our pockets with 4GB of RAM. Analog-circuits have improved, but not nearly as much as digital circuits. The primary issue with Analog is that we've hit the noise-floor. Getting more than 7.5 digits of accuracy on all calculations means getting rid of noise at the -75db (volts) level or 150db-watts. Case in point: 7.5 digits of analog accuracy on a 5V circuit is accurate to +/- 150-nanovolts. At those minuscule levels of voltages and currents, simple heat, airborne static electricity, and even sound... noise... and physical movement... can disturb your calculations. (Crystal Oscillators for example are Piezoelectric and are tiny-little microphones that pick up sound / movement and convert them into voltages!! Every PCB trace is a potential antenna that may pick up a stray radio signal. Things get hard...) Voltages are connected to the real world after all. At some point, the circuit can "feel" you breathing on it (condensation in the air changes humidity, which changes the resistance of the surrounding air. Extra heat decreases and/or increases the resistance of various components)
- HeyLaughingBoy 10y agoYeah. I remember in the late 90's early 2000's patiently trying to explain in so many online forums why a simple feedback control with a couple of opamps or even a single transistor was a faster, cheaper & better approach than throwing a microcontroller and digital circuitry at many a n00b's problem. Today? 90% of those problems would indeed be solved much more easily with a $0.50 microcontroller. Raw speed and price drops pretty much eliminated the benefits of analog circuitry in most applications.
- Declanomous 10y agoYeah, today it's the complete opposite. I see so many people on the internet raging about how using an Arduino is stupid when you can do the same thing with standard electronic parts. It's faster and easier to program something than it is to design a circuit, especially when you take debugging into account. Not to mention the fact that microcontrollers are general purpose, so you can have them sitting around ready to go. It's pretty much impossible to maintain a stock of any other electronic bit you need, other than maybe resistors. I'm not sure why you'd want to either. I have a ton of ICs left over from random projects. I can never find them when I need them, and even if I can find them again, I have to spend a bunch of time re-reading the datasheet. I've realized that you can accomplish almost anything you'd like with a microcontroller and some mosfets. It might be more elegant to use a ripple counter if you have to drive a whole bunch of elements, but I'd rather just chain a bunch of microcontrollers together.
- dragontamer 10y agoIMO, you should learn Verilog and use CPLDs for glue-logic scenarios (like ripple counter or whatnot). Some 74-series chips are still unique and useful. 74LV4060 for example is a good stable clock solution. But your typical "AND-gate" and "XOR-gate" chips seem completely obsolete by CPLD + Verilog / VHDL. The ispMach 4000ZE costs $1.20 and has a current-draw of ~hundres of uA at 1MHz. Why use a 7400 (NAND-gate) ever again? http://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/LC4032ZE-7TN48C/220-1362-ND/2751416 http://www.digikey.com/product-detail/en/lattice-semiconduct...
- mindcrime 10y agoThe main problem I have with CPLD's is that they seem to fall into a space much like FPGA's, where there's very limited open source tooling for them. And I'm kindof an open source ideologue, so I try to avoid anything where there isn't a completely open source toolchain. Then again, maybe I just haven't looked hard enough.
- 10y ago
- revelation 10y agoOf course those 2 GHz octocore computers with 4 GiB of RAM have no chance in hell to react to impulses within nanoseconds or operate anything at 100 MHz. All sacrificed at the altar of throughput.
- dragontamer 10y agoWell, that's true. Cellphone chips don't do that. But lets say... a 1GHz DSP (specialized chip designed to perform "digital signal processing") implementing an optimized FIR or IIR filter most certainly react within nanoseconds and pick out signals in the 100MHz range. That's still a general-purpose processor too. Switch to FPGAs or even ASICs (the fastest and most expensive of digital-logic designs), and you can probably get even faster. ---------- Analog can only get better accuracy by literally creating temperature-controlled cases for various components. (Think I'm kidding? https://www.vectron.com/products/literature_library/OCXO.pdf https://www.vectron.com/products/literature_library/OCXO.pdf) Analog hit the noise-floor decades ago.
- dekhn 10y agoa dedicated 2-3GHz processor can definitely receive a signal, turn it into an interrupt, and respond to it within nanoseconds. it's the OS that prevents that from happening.
- dragontamer 10y ago> it's the OS that prevents that from happening. Not quite. Its more about the difficulty of writing the code. A lot of OSes aren't realtime which can be part of the problem, but a careful administrator can tune Windows or Linux to be "more realtime". Consider this: most hardware is set up to DMA to RAM through the northbridge. It never touches the CPU, the hardware just writes the data directly to RAM (indeed: this is a good thing. When the CPU is executing from L1 cache, it isn't touching the RAM anyway). Then, the CPU gets an interrupt, and then it can read from RAM. It takes roughly 60 ns alone to access DRAM on a modern processor (https://software.intel.com/sites/products/collateral/hpc/vtune/performance_analysis_guide.pdf https://software.intel.com/sites/products/collateral/hpc/vtu...), plus whatever time it took for the DMA to happen. NOW the CPU finally has the data in its cache and can start calculating. ------------ To fix this issue, you DMA directly onto the CPU's cache itself. http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/data-direct-i-o-technology-overview-paper.pdf http://www.intel.com/content/dam/www/public/us/en/documents/... That takes special device drivers, a lot of optimizing, a lot of thinking about latency.
- spott 10y ago>There are lots of textbooks that showed you how to get 6.5 digits (21-bits) or 7.5 digits (23-bits) of accuracy using normal parts machined to 1% precision. Do you happen to know the name of any of these books? I would love to play around with something like that.
- dragontamer 10y agoIn Chapter 5 in "The Art of Electronics 3rd Edition", Horowitz offers an analysis on the 6.5 and 7.5 digits of accuracy attained from the Agilent DMM. http://www.keysight.com/en/pd-1000001296%3Aepsg%3Apro-pn-34420A/micro-ohm-meter??&cc=US&lc=eng http://www.keysight.com/en/pd-1000001296%3Aepsg%3Apro-pn-344... Chapter 5 is all about precision, Chapter 8 is all about noise. In essence, you run a worst-case error analysis over your circuit. In many cases, 1% errors can be attenuated into smaller errors with good design. If you aren't careful however, then errors grow bigger instead. --------- On a tangent, but somewhat related note for those software people... The methodology is kinda similar to error analysis with Floating Point arithmetic btw. You think about where error happens, and whenever possible, try to "squash" the error instead of making it grow bigger. All double-precision Floating Point math has an error of +/- 1 bit 53-bits over. The question is what do you do with that error, and how can you prevent it from moving up. If you do things like sort your numbers from smallest to largest (in magnitude) before adding them up, and prevent subtraction (or addition of a negative number) at all costs, you can actually make your errors smaller. If you're not careful about the order of operations... errors grow exponentially (and even faster than that with subtraction!). On the other hand... if you are careful about things... errors shrink exponentially!
- theoh 10y agoYou probably realize this, but here's chapter and verse on why analog was superseded... The thing that makes digital attractive was actually pointed out in the 50s by John von Neumann: every digit you add to the representation buys you another factor of 10 (or 2, in the case of binary) of precision. I can't find a reference but it's in a famous von Neumann paper, and is celebrated these days by Neal Gershenfeld as one of the major things that makes digital tech work.