DAC days, sleepless nights
An engineer discovers that he is the root cause of what appears to be a technical problem.
Vinoo Narayanan, En’urga Inc -- EDN, August 26, 2010
| View as PDF |
A few years ago, I was working on a drive board for a
thermal-radiation-sensor array that required testing.
The serially multiplexed sensor output needed a multi-step
closed-loop correction scheme to even out sensor
nonuniformity.To perform the test, I employed a design with a dual serial DAC. I coded the software for the correction scheme, and it was then time to check out the operation. I decided to look at the DAC chip and its operation independently of the other components. I hooked up a board with the DAC to the microcontroller controlling the operation. To verify the controller’s output, I used an oscilloscope that was monitoring the serial signal arriving at the DAC. It checked out fine and met all the parameters that the DAC manufacturer had set.
However, the analog output from the DAC was incorrect. At start-up, one DAC channel read 200 mV, and the other read 5V. After the DAC received the data packet, the outputs read 0 and 5V. Suspecting some software issue that I had overlooked, I spent an entire afternoon going over the details of the correction scheme and the serial data packet’s transmission to the DAC from the controller. I also checked the connections and wiring to the DAC and found everything to be correct.
| Read More Tales from the Cube |
Sleep that night was elusive. I kept having visions of how the serial-packet transmission matched the timing diagram on the DAC manufacturer’s data sheet. The power supply checked out, the hardware wiring checked out, and the software checked out. What else was left to check? By all accounts, the DAC should have behaved correctly. Maybe it was a faulty chip after all. These thoughts occupied my sleepless night until the next morning, when I headed back to the lab.
I removed the DAC board from the controller and powered it up. The DAC had a power-on-reset feature that should have zeroed the DAC outputs at startup, but this feature did not seem to be working. One channel was still 5V, and the other was still about 200 mV. When the DAC received the serial packet of data from the controller, the 200-mV channel would drop to 0V, and the other one remained at 5V. I verified the serialpacket data again and found it to be correct. I carefully checked the wiring of the DAC and the serial connection and found nothing wrong. It looked indeed as if the chip was faulty.
Unfortunately, I seemed to have run out of parts to try a replacement. Loathing the thought of more sleepless nights until I solved the problem, I rummaged through my parts bin, hoping desperately to find another chip to test. Lo and behold, there at the corner of my bin was one last remaining DAC chip. Eagerly grabbing the part, I got ready to replace the chip on the board. This chip was a DIP, and I used an extractor to remove the suspicious chip from the board.
As I closely examined the chip and positioned the extractor on it, I was shocked to find that the faded partnumber marking showed that it was not a DAC chip at all but a dual op amp! I was doing all my testing with the wrong part in the socket! Cursing myself and thanking my lucky stars that I didn’t blow anything else, I wrenched it out and replaced it with the correct part, hooked up the controller, and found that everything worked like a charm.
As one version of Murphy’s Law states, “When you have removed the last of the 40 screws holding down an access door, you will find that you have removed the wrong access door.” My sleep that night was indeed satisfying.
Talkback
-
Vinoo, when you mentioned extracting the DAC in a dual inline package, I thought you were about to say you discovered one of the pins folded up underneath the DIP. I have seen several cases in which a DIP appeared properly seated in a socket, but the end of the pin got bent and never made it into the socket. Tough to spot. --Jon Titus
Jon Titus - 2010-8-9 14:26:07 PDT -
yay
sfd - 2010-31-8 19:09:00 PDT


















