メディア

屋外でのみ発生する不思議な症状Tales from the Cube

» 2008年02月01日 00時00分 公開
[Chris Lee(米Cheshire Engineering社),EDN]

 筆者は独立系デザインハウスを営んでいる。これまでの業務の中でさまざまな設計上の不具合を経験してきたが、それらの中には特に印象に残っているものがいくつかある。最近請け負った携帯機器の設計で遭遇した不具合もその1つだ。その携帯機器は民生用のもので、キーパッドとモノクロの液晶ディスプレイ(LCD)、状態表示用の発光ダイオード(LED)を備えていた。筆者らの顧客は発売開始前の確認として、試作品を使って屋外での試験を行った。その結果、断続的に発生する異常が見つかったのだ。時々LCDに何も表示されなくなるのだが、LEDの点灯状況は内部のファームウエアの動作が正常であることを表していた。

 顧客は、その不具合は屋外でのみ発生する症状だと結論付けた。LCDの放熱特性に問題があり、気温が高くなったり直射日光を浴びたりすることで機器が過熱することが問題なのではないかというのだ。これについて検証するために、筆者らは顧客に依頼して気温の高い場所で長時間の動作試験を実施してもらった。それによって同様な不具合が発生したのだが、確実な再現性は認められなかった。

 問題のLCDは、コントローラを実装済みのモジュールをOEM(original equipment manufacturer)調達し、その外部に表示処理用のマイクロプロセッサを実装して表示器として完成させたものだった。このような作りであることからも、LCDとその周辺に関するわれわれの知識不足が原因で問題が起きているなどとは考えられなかった。

 そこで、ある物理学の専門家にアドバイスをもらうことにした。その結果、1つの知見が得られた。しかも、その内容は、直射日光の下で電源を投入するとLCDには何も表示されず、LCD画面に直射日光が当たらないようにして電源を投入すると正常に始動するという事実と符合した。理論的にはよくわからない面もあったのだが、太陽光はマイクロコントローラのパッケージ内においてある程度の深さまで進入し、その光が強ければ光電効果によってチップの内部動作に不具合が生じ、しかもその不具合が電源投入時にのみ発生するということのようだった。確かに、このようなことが起こり得るなら、実験結果を完全に説明できた。

 原因はほぼわかったところで、続いて問題になったのは、この不具合をどのようにして解決すればよいのかということだった。このときには、すでに最初の製造ロットが出荷済みで、返品の恐れもあった。

 幸いにも、LCDのモジュールはソフトウエアリセットの機能を備えていた。そこで、その機能を利用してソフトウエア的に起動する方法を試みた。その結果は、時には正常に動作するが、時にはうまく始動しないというものだった。

 いろいろ試行してみる中で、LCDコントローラをリセットするための50ステップほどのコマンド群から成るループに、やや無理のある個所を見つけた。直射日光の下で電源が投入され、そのコマンドループが走ると、その過程で不具合の起きる可能性があることがわかったのだ。

 幸い、フィールドでの保守や、ソフトウエアの更新が簡単に行えるように設計していたので、製造中のユニットはもちろん、すでに出荷していたユニットについてもファームウエアの改善で対応できた。その対策は多少、強引な手のように感じられ、また問題のループは高速かつリアルタイムに処理されるので、内部動作の詳細も確認できてはいなかったのが、結果としては常に正常な動作が得られた。

 この不具合からわかるように、半導体チップとソフトウエアが論理動作の面からは正しく構成されているとしても、半導体チップがソフトウエアからの指示通りに動かないといったこともあり得る。製品の試験結果やユーザーからの指摘の内容を確認する際には、物性面からの観点も忘れないようにしたいものである。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.