« 受信機のはなし | トップページ | デカップリングコンデンサーのレイアウト »

2011年2月 9日 (水)

ソフトが解らなかった上司たち

ソフトが解らなかった上司たち
1)コンピューター黎明期Images
 私が最初にCPUの話題にであったのは大学4年(1975年)で、大学祭で当時はやりのアナログテレビゲームの「ピンポン」のハードを分担され、出来た基板をクラスメートの下宿に持って行った時でした。
 彼は6800というモトローラ製のCPUを見せてくれ、分厚いマニュアルを読んでいました。「これからはアナログのハードでなくてソフトでゲームが作れるんだ」とゲートICがいっぱい並んだ回路図を説明してくれました。当時大学のコンピューターはいわゆるオフコンで、プログラムを書くのは一行毎のパンチカード、結果はラインプリンタからというもので、プログラム修正するにもカードの打ち直し、プログラムのバックアップはテープ出力するなど、大変面倒なものでした。そんなコンピューターがゲームに使えるなんてちょっと信じられない時代でした。
2)就職してCPUに出会うS_hitachihd6805v
 就職して始めはホームオーディオセットの試作・検査が主で、まさにアナログの世界でしたが、はやりはじめたCBトランシーバーの開発で PLL-ICの駆動と7セグメントLED表示にコードスイッチからいかに安くコード変換するかで、デジタル回路設計が始まりました。そして始めてマイコン搭載のインターフォン開発で日立の HD6805 のプログラミングを任されたのでした。マイコンを開発するなら必要だ..と当時300万以上した開発ツールを購入してくれました。8インチフロッピーでの起動・コンパイルで、もちろん全てアッセンブラでした。
 ソフトは2種類のトーンを使った8ビットのコードで子機を識別するもので、内蔵の分周器でクロックを分周したトーン信号を発生し、受信時は復調した信号を整形し一定時間のパルス数を検出してコードを受信するものでした。まさにいままでアナログのフィルターや共振子を使ったトーンデコーダーをCPUで代替できた製品でした。
3) 世界初のCPUコントロール衛星放送チュナーBj200mkiii
 転職して初めての仕事はハンディスキャナーという当時警察無線やハムバンド、航空無線などのチャンネルをメモリーして順次スキャンして聞ける製品がはやっていましたが、当時はまだワンチップCPUの開発環境はインサーキットエミュレターなど非常に高価で、主に開発はソフトウェアハウスがメインでした。自社ではハードとコントロールのソフト仕様開発を任され、LCD表示、キー操作仕様、各種ICコントロールなどを設計し4Bitマイコンの開発をソフトハウスに依頼して調整する役目をしました。この開発でハードをコントロールするためのCPUのスピードの限界・アナログハードをコントロールする時の「時間待ち」の必要性などを、ハードの全く解らないソフトハウスのプログラマーに理解させるのに苦労しました。 この後に関連会社の開発しようとしている、世界初のCPUコントロール衛星放送チュナーのハード設計にはZ80を使ったマルチチップ構成で必要ポートやシリアル通信、赤外線リモコンなど出来るだけソフトの負荷が減るようなハードの構成で設計しました。ソフト開発は当時アメリカで開発され、その後アメリカへのOEMとして完成・出荷できました。
4)自社開発衛星放送チューナーSl7700s
 自社で衛星放送チューナーを作ろうということで、当時安価になってきた NEC uPD7801の開発環境を整え開発環境もPC9801などのパソコンでもできるようになってきました、32KBぼどの小さなサイズでしたが、自社オリジナルでコントロールソフトの開発、衛星アンテナのモーター制御機能の追加などを経て主に海外向けに出荷し、国内CS受信機として放送局にも納入される製品も開発できました。
5)アナログまっただ中のCPU応用
 直近の仕事ではパワーアンプの電流・電圧・温度を検出してアラームを出したり、デバイスのバイアス電流を制御してリニアリティ向上をコントロールするセットでした。最近の高速ADC/DACやDSPを応用すればアンプのリニアリティが向上できるなどの開発も追究しましたが、コストとのバランスで実際には製品化は出来ませんでした。
 これらCPU開発を通じて1つ感じた点が「ソフトが解らない上司たち」の存在でした。それはどういう点かというとまず
1) 上司達の年代では、論理和・差・積など集合論を普通教育で習っていない。
 アンド・オア・ノット などゲートICの働きがぴんと来ないので、「こののノイズを取るには01Hでマスクして」などという説明が通じない。ソフト上のコミュニケーションが取れない。
2) パソコンと組み込みCPUの違いがよく分からない
 従来手書きや計算機で設計を経験した上司達がパソコンを使い始めるとその性能に驚くからか、メモリーが豊富でソフトが色々あるパソコンと同じようなことが、CPUと言うだけで組み込みCPUで同様に出来ると思ってしまい、「メモリーが足りない」とか「スピードが追いつかない」などの理由が分からず、「ソフトが大変になるのでごまかしている」と思われてしまう。また「無線LAN」や「インターネットサーバー」機能などがハードだけですぐに実現できると思っている。
3) 自社で開発するならソフト追加・変更はいつでも「タダ」だと思っている
 自社でプログラマーを雇い、開発装置を買えば後の経費はかからないと思ってしまう「設備思考」からか... プログラマーがミスが起こらないように考えて分割・仕様設計してデバッグを続け、ようやくバグが取れてきたなと思った段階で、仕様追加・仕様変更をされる。後段での仕様変更がいかに難しいか、その後の検証が大変になるかが実感として解らないので「できないの?」と言う。確かに出来るのですが...。
4) サンプルが動くと「もう出来た」と思ってしまう
 必死でサンプル出荷に間に合わせたら、もう次の日には量産できると思ってしまう。ソフトの検証・信頼性チェックがどれだけ大切で時間がかかるのかが理解できないので、下手をするとバグだらけのセットを出荷されてしまい、あとで回収・ROM交換なんて悲劇が起こってしまう。
5)CPUはクロックが早ければ、8Bit より 16Bit ,32Bitならば性能が良いと思ってしまう。 そんなCPUを使えば出来るだろうと言いながら、価格が高くなると「なんでそんなに高いんだ」と文句をいう。
ソフト的には
 今回のテーマは「ソフトが解らなかった上司たち」ですが、アナログ・ハード技術者のみなさんにも心当たりはありませんか?これからはソフト開発にも「アナログのノウハウ」を伝えないと製品が出来ないことがますます増えてくるかと思います。お互いコミュニケーションを大事にしてゆきたいですね。

|

« 受信機のはなし | トップページ | デカップリングコンデンサーのレイアウト »

技術」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: ソフトが解らなかった上司たち:

« 受信機のはなし | トップページ | デカップリングコンデンサーのレイアウト »