見出し画像

第3回 24歳、世界最小の無線機を一人で背負った ── 「ハードもソフトも」の意味がやっと分かった日

エミュレータの先にあった、製品開発の日々

前回、6809で4ビットマイコンのエミュレータを作らされた話を書いた。あのエミュレータはやがて完成し、私はいよいよ実際の製品開発に投入されることになる。

6809ニーモニック表

最初に手がけたのは、レーダー探知機だった。開発したソフトをワンタイムのCPUに書き込み、オービスの前で何度も走行テストを繰り返す。どんなタイミングで光らせるか、ハードウェアの誤差をどう吸収するか ── それらの調整値はEEPROMに記憶させ、個体差を補正できる仕組みにしていた。

いくつもの製品を手がけたが、今も記憶に深く刻まれているのは二つある。レーダー探知機と、業務用無線機だ。今日は、その業務用無線機の話をしたい。私にとって、地獄であり、財産でもあったプロジェクトだ。

会社をあげての大プロジェクト

業務用無線機の開発は、会社をあげての初めての大プロジェクトだった。だから立ち上がるまでには、相当な時間がかかった。

ソフトウェアに使ったのは、今でも忘れない、三菱のM37410という8ビットマイコンだ。当時はCコンパイラなんて便利なものはなく、すべてアセンブラで記述する。メンバー全員が初めての無線機制御で、しかもハンディ無線機。最初、私は先輩の開発を手伝う程度の立場だったが、そこから地獄が始まっていく。

無線機の制御は、思った以上に複雑だった

無線機というのは、PTT(プッシュ・トゥ・トーク)スイッチが押されるたびに、送信と受信を切り替えて制御する。

チャンネルという概念があり、記憶された周波数はEEPROMに書かれている。そのデータを読んでPLLを制御し、PLLがロックしたら送信制御に移って、初めて電波を出す。

PLL周波数回路ブロック図

ここが肝で、ロックしていない状態で電波を出すと、不正電波を撒き散らす無線機になってしまう。だからPLLのロックを監視してから送信する、といった複雑な制御がいくつも必要になる。加えて電池の持ちも良くしなければならず、バッテリーを長持ちさせる省電力機能も必須。さらに業務用で重要なのが、スキャン機能だった。

一見、単純そうに思えるかもしれない。だが、ゼロからソフトウェアを起こすのは、ノウハウがまるでないので本当に大変だった。デバッグボードの開発からして一苦労だ。それでも ── 初めて自分の作った無線機で通話ができたときの喜びは、今も忘れられない。

そしてCPUをマスク発注してから大きな不具合も出したことがあった。当時は間違えたら量産は停止。よって、不具合は許されない。今のようにFlashROMを書き換えて出荷ということない。基盤は捨てることになる。よって、不具合があったときは大変な損害になる。また不具合を見つけることも指南の技です。そんなことをしていた。

これを、上司2名とのチームでCPU側を開発した。PC側で周波数を書き込むソフトは別の先輩が担当し、PCと無線機をつないで周波数を書き込む機能も作り込んだ。ハードウェアは、それらの機能を限られたスペースに収めなければならない。

世界最小、というチャレンジ

この無線機、サイズが極端に小さかった。当時としては珍しい、業務用無線機として世界最小をうたう製品だったのだ。

こんな業務用無線機でしたこれはE.F Johnson向けでした

当然、ハードウェアチームもメカ設計チームも、かなりチャレンジングな戦いを強いられた。社内にも無線技術を持つエンジニアはいたが、このプロジェクトのために大手無線メーカーから、有名なアマチュア無線の開発者をスカウトしてきて、現場を統括してもらった。なかなか厳しい方で、私がミスをすると、よく怒られたものだ。

それでも1年以上かけて、ようやく試作機が完成した。

上長が抜け、24歳の私が一人で背負うことに

製品はOEMで世界展開する戦略だった。中国やアメリカをターゲットに、いろんな会社へ営業をかけていく。

ところが、基礎開発が終わると、上長たちはプロジェクトを抜けてしまった。残されたのは私。各OEM先と仕様を詰め、ソフトウェア開発をやり切る役目が、まるごと私に回ってきたのだ。

英語もできないのにアメリカへ出張に行き、「ここをこう直せ」とあれこれ言われ、日本に戻って、お客様の要望どおりに基本設計からやり直したことも一度や二度ではない。まだ24歳前後だったと思う。よくもまあ、こんな若造に任せてくれたものだと、今になって思う。

忘れられない「オーディオホール」との格闘

数ある仕様変更の中で、どうしても忘れられないのが、スキャン仕様の変更だ。

日本にはあまり馴染みのない動作だった。設定したチャンネルを順にスキャンしながら、優先チャンネルだけは必ず4chに1回、あるいは8chに1回、覗きに行かなければならない。さらに、優先チャンネル以外を受信している最中でも、設定した時間ごとに優先チャンネルを確認しに行く必要があった。

問題は、その「覗きに行く時間」をできるだけ短くしなければならないことだった。

彼らは「オーディオホール」と呼んでいた。チャンネルが切り替わる瞬間、音が50msほど消える。この空白の時間を最小にしないと、仕様を満たせない。ところが、切り替え処理をいくら速くしても、ハードウェアの制約でどうしても50msに収まらない。

私はオシロスコープとにらめっこして、何が遅延の原因なのかを探り続けた。

そして分かった。オーディオの電源を入れた瞬間、立ち上がりにどうしても時間がかかり、その間は音が出ないのだ。ステレオでも、電源を入れてから音が出るまで少し待たされることがあるだろう。あれと同じ現象だった。

そこで私は、発想を変えた。オーディオの電源を入れたまま、スキャンを切り替える処理にしたのだ。電源の立ち上がりを待つ必要がなくなれば、空白は消える。

結果、先方の担当者はOKをくれた。あの処理を思いつけなかったら、販売の許可は下りなかっただろう。

今思えば単純なことだ。でも、ノウハウがないと、そんな単純なことすら最初は分からない。技術とは、そういうものなのだと思う。

「ハードもソフトも」の意味が、やっと分かった

こうして私は、業務用無線機のソフトウェア開発を、たった一人で担当するようになっていた。24歳前後の若造が、である。

そしてこの頃、ようやく腑に落ちたことがあった。

入社以来ずっと言われ続けてきた、「ハードもソフトもできる人になってほしい」という会社の方針 ── その意味が、この無線機開発を通して、ついに体で理解できたのだ。PLLのロックも、オーディオ電源の立ち上がりも、ハードを知らなければソフトでは解けない。ソフトを知らなければハードの制約は見えない。両方分かって初めて、製品は動く。

専務に「一人前まで5年かかる」と言われたあの日から、4年か5年。本当に、その通りだった。

苦しかったが、これ以上ない経験だった。次回も、こんな昔話を続けていきたい。

いいなと思ったら応援しよう!