Fail Of The Week (in 1996): The 7 Billion Dollar Overflow

The year was 1996, the European Space agency was poised for commercial supremacy in space. Their new Ariane 5 Rocket could launch two three-ton satellites into space. It had more power than anything that had come before.

The rocket rose up towards the heavens on a pillar of flame, carrying four very expensive and very uninsured satellites. Thirty-seven seconds later it self destructed. Seven billion dollars of RUD rained down on the local beaches near the Guiana Space Centre in Southern South America. A video of the failed launch is after the break.

The cause of all this was a single improper type cast in a bit of code that wasn’t even supposed to run during the actual launch. Talk about a fail.

There were two bits of code. One that measured the sideways velocity, and one that used it in the guidance system. The measurement side used a 64 bit variable, but the guidance side used a 16 bit variable. The code was borrowed from an earlier, slower rocket whose velocity would never grow large enough to exceed that 16 bits. The Ariane 5, however, could be described with a Daft Punk song, and quickly overflowed this value.

The code that caused the overflow was actually a bit of pre-launch software that aligned the rocket. It was supposed to be turned off before the rocket firing, but since the rocket launch got delayed so often, the engineers made it timeout 40 seconds into the launch so they didn’t have to keep restarting it.

The ESA never placed blame on a single contractor. The programmers had made assumptions. The engineers had made reasonable shortcuts to make their job easier. It had all made it through inspections, approvals, and finally the launch event.

They certainly learned from the event; the Ariane 5 rocket has flown 82 out of 86 missions successfully since then. It has at least five more launches contracted before it is retired in 2023 for the Ariane 6 rocket being developed now. This event also changed the way critical software and redundant systems were tested, bringing the dangers of code failure to the attention of the public for the first time.

If you want to read more, there is a great discussion on Reddit which tipped us off to this fail, a quite thorough Wikipedia article, and the original article that ran in the New York Times is mirrored here.

Continue reading “Fail Of The Week (in 1996): The 7 Billion Dollar Overflow”

Designing a High Performance Parallel Personal Cluster

Kristina Kapanova is a PhD student at the Bulgarian Academy of Sciences. Her research is taking her to simulations of quantum effects in semiconductor devices, but this field of study requires a supercomputer for billions of calculations. The college had a proper supercomputer, and was getting a new one, but for a while, Kristina and her fellow ramen-eating colleagues were without a big box of computing. To solve this problem, Kristina built her own supercomputer from off-the-shelf ARM boards.

Continue reading “Designing a High Performance Parallel Personal Cluster”

Unlock the Phase Locked Loop

If you want a stable oscillator, you usually think of using a crystal. The piezoelectric qualities of quartz means that it can be cut in a particular way that it will oscillate at a very precise frequency. If you present a constant load and keep the temperature stable, a crystal oscillator will maintain its frequency better than most other options.

There are downsides to crystals, though. As you might expect, because crystals are so stable it’s hard to change the frequency much when you want a different one. You can use a trimming capacitor to pull the frequency a little, but to really change frequency, you have to change crystals.

There are other kinds of oscillators that are more frequency agile. However, they aren’t usually as stable. To combine flexibility with crystal-like stability, you can use a Phase Locked Loop (PLL). Many modern systems use direct digital synthesis, but the PLL is a venerable and time-tested technique.

Continue reading “Unlock the Phase Locked Loop”

Oscillator Design by Simulation

[Craig] wanted to build a 19.2 MHz crystal oscillator. He knew he wanted a Pierce oscillator, but he also knew that getting a good design is often a matter of trial and error. He used a 30-day trial of a professional simulation package, Genesys from Keysight, to look at the oscillator’s performance without having to build anything. He not only did a nice write up about his experience, but he also did a great video walkthrough (see below).

The tool generates a sample schematic, although [Craig] deleted it and put his own design into the simulator. By running simulations, he was able to look at the oscillator’s performance. His first cut showed that the circuit didn’t meet the Barkhausen criteria and shouldn’t oscillate. Unfortunately, his prototype did, in fact, oscillate.

Continue reading “Oscillator Design by Simulation”

A Spicy Regenerative Reciever

We recently posted a three-part series about using LTSpice to simulate electronic circuits (one, two, three). You might have found yourself wondering: Can you really simulate practical designs with the program? This quick analysis of [QRP Gaijin’s] minimalist regenerative receiver says “yes”.

Continue reading “A Spicy Regenerative Reciever”

Transforming Spice

Spice is a circuit simulator that you should have in your toolbox. While a simulator can’t tell you everything, it will often give you valuable insight into the way your circuit behaves, before you’ve even built it. In the first installment of this three-part series, I looked at LTSpice and did a quick video walkthrough of a DC circuit. In the second, I examined two other parts of Spice: parameter sweeps and AC circuits. In this final installment, I want to talk a bit more about real-world component performance and also look at modeling transformers.

Recap

lowpasssLast time we looked at a low pass filter, but it wasn’t practical because the components were too perfect. Only in simulation do voltage sources and wires have zero resistance. There was no load resistance either, which is unlikely. Even an oscilloscope probe will load the circuit a little.

The resulting AC analysis showed a nice filter response that was flat to about 1 kHz and then started roll off as the frequency increased. Suppose the source had an 8 ohm series resistor. How does that change the circuit response?

Continue reading “Transforming Spice”

Spice Power

Spice is a circuit simulator that you should have in your toolbox. While a simulator can’t tell you everything, it will often give you valuable insight into the way your circuit behaves, before you’ve even built it. In the first installment of this three-part series, I looked at LTSpice and did a quick video walkthrough of a DC circuit. This time, I want to examine two other parts of Spice: parameter sweeps and AC circuits. So let’s get to it.

schem2In the first installment, I left you with a cliffhanger. Namely the question of maximum power transfer using this simple circuit. If you run the .op simulation you’ll get this result:

--- Operating Point ---
V(n001): 5 voltage
I(R1): 0.1 device_current
I(V1): -0.1 device_current

The power in R1 (voltage times current) is .5 W or 500 mW if you prefer. You probably know that the maximum power in a load occurs when the load resistor is the same as the source resistance. The Rser parameter sets the voltage source’s internal resistance. You could also have created a new resistor in series with V1 and set it explicitly.

Continue reading “Spice Power”