W
A little bit of extra education provided just the insight we needed, along with some finally consistent observations from the customer. Using several units, he managed to get the same behavior from each one. If he powered them up in the sun, the units faiLED to show anything on the LCD. If he powered them up while shading the LCD screen, they booted fine! Our educated theory? Somehow, sunlight reached some part of the controller chip, and a photoelectric effect of intense light hitting the chip-on-glass assembly was causing the SILicon to malfunction, but only during its power-up cycle. It sounded far-fetched, but we consistently confirmed the behavior. Now, we needed a solution. And our customer had already shipped some of his first production units and was dreading the returns.
Fortunately, the LCD module had a SOFtware-reset command. We tried using it on software start-up. OCCasionally, it worked, but occasionally wasn't good enough. We then found that a brute-force loop of some 50 or so reset commands to the LCD-controller chips eventually brought around any that were failing to start up properly in the sunlight. Luckily, we had designed the product's firmware for an easy fiELD update, so we solved the problem for production and for the already-delivered units. It seemed pretty kludgy to us, but it always worked, and, in real time, it moved too fast for anyone to notice it.
Remember: Your engineering education began with fundamental science for good reasons. It helps you understand real-world problEMS, because chips and software aren't always pure electronics-theory Tinkertoys that snap together and just work. And make sure beta-testing happens and that the users are good observers, with at least a little sense of scientific method.
英文原文地址: http://www.edn.com/article/CA6491161.html