zetasyanthis: (Default)
This is the story of a bug that baffled a room full of engineers (some of whom weren't EEs, so it's more understandable) for more than a week.

The product in question is a very low-power device with a radio, a couple of sensors, nothing really special. It had an MSP430 running the whole show, and had to run off battery power for multiple years in a harsh environment. In the lab, with debug builds, everything worked great, but as soon as we dropped the production code onto the board, things would start jamming up and not operating properly. This was weird, because all of the various devices were on their own isolated power planes, with MOSFETs controlling the power to them to cut off even idle draw when not in use.

It took a while, but I eventually figured out the problem, and it was that we were being too clever for our own good. You see, in a SPI bus, you have four lines:

  1. SCLK: Serial Clock (clock signal from main)
  2. MOSI: Main Out Sub In (data output from main)
  3. MISO: Main In Sub Out (data output from sub)
  4. CS: Chip Select (used to select which chip on the shared bus you want to talk to)

Because some of the chips we were using didn't have safe tri-state outputs on MISO with the power cut, the engineer who designed the board had inserted a cheap directional buffer in-between the MSP430 and the various chips that were to have their power removed. The buffer, however, only covered the first /three/ lines. He didn't consider chip select a problem because it wouldn't affect any other chips, which turned out to be wrong!

What he forgot were the ESD diodes in the sensors/radios, which 'happily' (they weren't quite designed for this) passed power from the /active low/ chip select line up to the isolated power plane. They didn't pass /enough/ power to bring up the (3.3V) chips themselves, but that sneaky directional buffer was operational down to 1.2V and would happily, and /completely/, jam the MISO line for everything else on that bus.

Easy fix: Just software toggle the CS line to low after cutting power.



zetasyanthis: (Default)
So I have a friend, who I love more than life itself. (I in fact have many friends like this, probably including you!) His name is Lon.

Lon is /special/. He is hysterical, and smart, and funny, and more than a little cute, but that last bit is outside of the range of our story! What is relevant is that he's absolutely, hysterically, and totally, insane!

You see, I met Lon when he was a live-in dorm tutor at my college, two years ahead of me. He helped folks out most nights (maybe every night), and could be commonly found in a large room in the basement with many many whiteboards, built specifically for this purpose.

Now, whiteboards have a common problem, and I'm sure you've all experienced this before. It goes like this:

1. Walk up to whiteboard.
2. There's no marker!
3. Oh there's one!
4. Oh no, that's dead too. Damn!

Lon, obviously sick of this like the rest of us, hits upon a solution only Lon could think of. He proceeds to buy a huge marker set in all the colors of the rainbow, and then goes to Walmart, one of the only real stores in downstate Indiana, and buys a shotgun shell bandolier! He proceeds to insert said markers into said bandolier and proceeds to wear it, using markers at will and making life much easier! (This is honestly genius???)

However, this is not the /end/ of the story! Later that year Lon was interviewing at $defense_contractor (a place I would later work, and which features in several of my other stories)... $defense_contractor is a somewhat small business (~100 employees at the time) and the CEO personally interviews every potential hire, diagramming for them the company structure and who they'd be reporting to. (Can you see where this is going? I can!) CEO proceeds to walk up to the whiteboard, and, shockingly, there's no marker! Lon opens his suit jacket, with a huge dumb smile on his face, and goes "What color would you like?"

I... I have tears of laughter crying out right now, even after telling this story 1000 times by now!

And /even better/, Lon told me this story at work, in front of another co-worker. Said co-worker had been working at $defense_contractor at the time of this now infamous event and immediately blurted out, "Wait, we /hired/ you!?!?!?!" XD

God, I love this man! XD

----------------------------------------

Addendum: Lon is also awesome in general and would regularly do things like bring italian ice to the office, have an entire floor-standing popcorn machine inside his office, etc... I don't know what to do with this man, but I love him dearly. XD

Profile

zetasyanthis: (Default)
Zeta Syanthis

June 2024

S M T W T F S
      1
2345678
9101112131415
1617 1819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 14th, 2025 05:48 pm
Powered by Dreamwidth Studios