発生した問題

 ある電子機器メーカーで,無線高周波回路設計者Wさんは浮かない顔をしていました。様子が変だと思ったリーダーのLさんは,Wさんに話し掛けました。聞くと,担当している機械の遠隔監視などに利用する小電力無線装置の受信性能が,どのように手を尽くしても安定しないそうです。

 何はともあれ,ものを見せてもらったLさんは驚きました。LSIの端子を40本くらい持ち上げて,端子と基板の間にチップ抵抗を立てて挟み込んでいます。デジタル回路で発生した雑音が高周波回路に飛び込むので,少しでもデジタル回路の信号をなまらせて影響を抑えようとしたそうです。0.5mmくらいのチップ抵抗がずらり並んでいるのはなかなか壮観で,職人芸には驚きましたが,そうしても安定しなかったし,そもそもそんなものが基板に並んだらとても量産できません。

 送信された信号がどのように受信されているか信号波形を見せてもらうと,受信開始と同時に規則的なパルスがぱらぱらと入って,受信信号が大きく乱れていました(図1-1)。

原因と対策

 無線端末は,アンテナで受けた電波をデコーダで受けられる信号にするRF回路,アナログ信号をデジタル化し元のデータに復号するデコーダ,デコーダ出力のデータをRAMに蓄積するマイコンから成ります(図1-2)。受信データをRAMに書き込むときに多くの信号線が動くため,どうしても大きな雑音が発生します。

 次に通信データがどのように送られるかを示します(図1-3)。通信データはワード単位に分割されて送信されます。各ワードは32ビットあり,うち8ビットは誤り訂正符号です。これによって雑音などでデータが壊れたことを検出でき,誤りが1ビットなら訂正も可能です。

 ロジック・アナライザやオシロスコープを使って,どのようなときにどこで雑音が発生しているかを調べていくと,デコーダから得られたデータをマイコンがRAMに書き込むタイミングで起きていることが分かりました。デコーダは,受信データをマイコンに1ビットずつ送ります。マイコンは,8ビット(1バイト)集めてからRAMに書き込んでいました。つまり,デコーダが1ワード受信するごとに3回に分けてRAMに書き込んでいました(図1-4の対策前マイコン出力参照)。これではデコーダが1ワードを受信する間に,大きな雑音が3回も発生してしまいます。このためデコーダは受信エラーを訂正できず,最初のワード(ワード1)以外はまともに受信できなくなっていました。

 単純に考えると通信データを受信し終えるまでマイコンにデータを蓄えておいてから,まとめてRAMに書き込めばよさそうです。しかしながら,この通信規格ではメッセージの長さには上限がありませんでしたし,マイコンのメモリ容量も限られているので,この手段は使えません。

 そこでデコーダが1ビットのエラーであれば訂正できることに着目し,一つのワードを3回ではなく1回にまとめて書き込めばよいと思い付きました。マイコンからRAMへのアクセスは十分高速なので,RF回路とデコーダで1ビットを処理する時間(1/1200秒=830μs)よりもはるかに短い時間(10μs)でRAMへの書き込みが終わります(図1-4の対策後マイコン出力参照)。このため,RAMへの書き込みによる雑音が発生する誤りは1ワードにつき1ビットにすぎず,デコーダで訂正できます。

 早速ソフトウエア担当のSさんに説明して,マイコンからRAMへのアクセスを変更してもらいました。それを試したところ,あっさりと受信性能が安定しました。職人芸で実装していたチップ抵抗が不要になり,プロジェクトの完成期限にも無事に間に合いました。

 この対策は,設計段階でエラーの訂正能力を使ってしまっているので対雑音性が低下しています。このため本質的な対策ではないという指摘がありました。しかしながら,限られた期間と費用を勘案すると,この方法しか残っていませんでした。幸いにしてさまざまな環境でテストをしても特に問題はなかったので,妥当な対策であると見なされました。

技術者必修の基本

 トラブルが起きたら,何が原因かを確実に把握しなければなりません。自分の担当個所だけで対処するのではなく,全体を俯瞰して原因をつかみ,どのような手が打てるかを考えましょう。

 全体を俯瞰するためには,どのようにしてシステムが機能しているのか,細かなところまで知る必要はありません。しかし,全体の動作をイメージできるようにしておくことは必要です。

 この問題では,プロトコル(通信データの送受信方式),高周波回路とデジタル回路に関する基礎的な知識,ソフトウエアがどのようにデコーダからデータを受けRAMに書き込むかの知識が必要でした。無線担当だったWさんは無線に関しては一人前ですが,他の分野はあまりよく分かっていません。自分の担当領域だけではなく他の領域の知識まで持っていたら,苦労することなく関係者を集めて対策を打てたかもしれません。

 自分の担当分野だけではなく,作っている機器の全体の動作を把握する。より良い製品を作るためには自分の専門に閉じこもることなく,関連する分野を担当している人たちに積極的にアプローチして話を聞いてみる。これらを実践することをお勧めします。