Bluetooth Low Energyの3大特徴(その3)です。
【③モデムモジュールから、SoCモジュールへ】編
これは事前にお断りしておきますが、BLEの規格の特徴というワケではありません。
しかし、BLEの発展はこのSoCチップ化と切り離せないので敢えて特徴としています。

『モデムモジュール』や『SoCモジュール』は、大半の方には馴染みのない言葉だと思います。
『RFモジュール』や『BLEモジュール』というと一般的です。

企画をする人にとっては、後者の『BLEモジュール』でも良いでしょう。『RFモジュール』は他規格も含みますので広く使えば良いと思います。
しかし、エンジニアや技術企画を考える人は前者の表現を明確にしておかねば成りません。
ただ、この表現は設計のコンセプトを表現する際に必要な表現です。
「BLEモジュールは『モデムモジュール(タイプ)』として使う」
「BLEモジュールは『SoCモジュール(タイプ)』として使う」
と言った表現が正確で良いでしょう。 ※モデムモジュール/モデムタイプ どちらでもOKです。

BLE規格ではない別の『RFモジュール』も含めると、
例えば
「○○社のBLEモジュールはモデムタイプ(モジュール)なので、・・・」、
「ELTRESモジュールはモデムタイプ(モジュール)なので、・・・」
「NordicのnRF9160は他のLTEモジュールと全く違って、唯一のSoCタイプ(モジュール)です」
 ※nRF9160は実はSoCでなく、SiPなんですけどね。意味は伝わります。余り重要では無い。
みたいな表現です。

まずは、その前に『SoCって何?』について説明しておくべきですね。
SiPなんてのも聞いた事がある人も居ると思います。 これはモジュールに実装されているICチップのタイプの事です。
下にある図1を見て下さい。

無線の機器を作る際には必ず、
・RF(Radio Frequencyの略で無線の事)用のICチップ=RFIC
・MCU(所謂、マイコンです。CPUとも言います)用のICチップ=MCU/CPU
の2つが必須です。

無線の機能を実現するRF_ICと、それを制御するMCU(CPU)の2つを製品に載せねばなりません。
若いエンジニアからすると、「なんで最初から1チップで設計してないの?」という意見もあるとおもいますが、
これは、の半導体製造プロセスの進化の歴史に依存しています。

1990年代は『バイポーラ・トランジスタのプロセス』と『BiCMOS(バイシーモス)トランジスタのプロセス』の時代でした。
最近は『CMOS』が殆どです。 

・バイポーラは、高周波アナログで必要な高速性と高ゲインを特徴とするプロセス。RF=バイポーラでした。
・BiCMOSは、バイポーラとCMOSを融合したプロセス。高速部はバイポーラ、低速部はCMOSです。
・CMOSは、現代のメインのプロセス技術です。最近では、充分以上に高速動作します。

BiCMOSは有る意味SoCの走りと言えます。RFのアナログ部と制御部のCMOSデジタル部を混載です。
しかし、BiCMOS時代には、MCU(CPU)までも混載設計とまでは行きませんでした。
その後、CMOSの高速化の実現によって、CMOSのプロセスでRFを実現出来る様になり、SoCの時代に成りました。
ただし、一つ条件がありまして、デジタルRFのみです。アナログRFは多分まだBiCMOSと思います。
デジタルRFとアナログRFの説明まですると大変なので、今後気になったら書いてみます。今回は割愛w

デジタルRFへの以降により、CMOSプロセスでRFとMCU(CPU)をCMOS上に混載設計するようになりました。
この走りが、BLEの1チップCMOS化です。 最初にやったのがNordic社のnRF51シリーズです。

 

では、何故SoCが凄いのか?と言うことになりますが、
第1に『コストダウン』です。
上図を見ますと、一昔前の無線構成では、2チップ構成です。

2002年までの無線デバイスの開発には(マウスをイメージします)、
《無線マウスの構成》
・ドングル親機:1MCU+1RF
・マウス子機:1MCU+1RF
こんな構成でした。 計算を簡略化するために1チップをUS$1.5とします。
すると、合計4チップ構成(親機・子機必要なので、2xMCU+2xRF=4チップ)となり、チップだけでUS$6.0となります。
《有線マウスの構成》
・マウス内に1MCUのみ
有線マウスは1MCUのみでよいので、マウスの構成ICは、たったのUS$1.5だけです。

当時、マウスの全部品も考慮すると、概ね主要ICチップ価格の4倍が概略原価と言われてましたので、
・無線マウス:US$6.0x4=US$24.0
・有線マウス:US$1.5x4=US$6.0
どうです?全然、有線マウスの価格に対抗できません。実際当時は無線マウスは超高級品でした。

では、SoC化するとどうなるでしょうか? CMOSは無線部とMCU部を同一チップ上に設計・製造します。
・ドングル親機:1SoC=US$1.5
・マウス子機:1SoC=US$1.5
⇒すると、製品の概略原価(合わせて):US$1.5x2x4=US$12.0です。
かなり、有線マウスに近く成ってきました。それでも当然高いんですけどね。ここら辺で無線マウスの普及が一気に進みました。
「チョットマッテ?」と疑問に思った方も居ると思います。 
RF部とMCU部を同一チップ上に設計・製造した高機能チップがUS$1.5なの?あり得ない!とw

ホントの所を言うと、買う人によって値段は違いますw
しかし、膨大な数が出る可能性のある無線マウスを開発製造するメーカーに対してならば、US$1.5は出ます。
何故なら、開発費を無視すればw製造プロセス上はMCUマイコン作るのとICの原価はほぼ同じなんです。
※厳密に言うと、チップサイズが影響しますので、違いますけどね。

でも、開発したチップメーカーからしたら月500万個や1,000万個の継続発注貰えるのであれば、やりますよねw
そう言うもんですwww
すると、何時の間にかチップも値下がりしたりします。巨大マウスメーカーがだいたいどの位で買ってるかを知ってますが、凄いですw ただし、その価格が欲しければ、継続的に500万個/月くらい発注すればの話!w そして、それを2~3年も継続してくれるような顧客ならば、私ならもっと値段下げます。
また、似たようなチップを発売している他社との競争でもありますから、自然と価格は下がっていきますよね。

如何です? SoC1チップ化の破壊力と爆発力!
2021年のPCマウスの価格を見て下さい。幾らになってます? 有線マウスよりも無線マウスの方が多いですよね。
しかも、どちらもそれほど価格は変わりませんよね。 勿論、無線が高いですが、購入に躊躇のない値段になってます。

それでは、オマケに追記します。これも、設計や企画をするときに必要な知識ですので!とても重要です。
《BLEマウスは?》って所も分析しないとダメですね。
ここで重要な前提条件があります。 PC/MacはデフォルトでBLEをサポートしていますね。
要するに、デフォルトでドングルを既に内蔵しているワケです。 ドングル要りませんね。

製品の概略原価(合わせて):US$1.5x1x4=US$6.0です。
なんと! 有線マウスと同じ価格になりました!!
※勿論、有線マウスのMCUも低価格になってますので、現実は同じでは有りません。

現代は、BLEでマウスを作ると、有線マウスと無線マウスではそれほど原価は変わらないのです。
確かに有線マウスのMCUも安くなってますが! 有線マウスには『USBケーブル』が必要ですよね~w
こう言うケーブルの事を『電気機構部品』と呼びますが、結構高いんですよ。

と・な・る・と! やはり現代では、有線マウスも無線マウスも原価は殆ど変わらないんじゃないですかね。
結構、この説には自信がありますw

雑談の様ですがw ここにBluetooth Low Energyの3大特徴(その3)とした根拠に繋がるのですw
【③モデムモジュールから、SoCモジュールへ】
BLEは各メイン端末(親機)に、デフォルトでCentral機能(BLE親機機能)が実装されていますね。

それならば、その周辺機器を作ろうとすると、なんと1チップ構成で出来てしまいます
※勿論、センサーとかは企画案で違いますから有線も無線も同じですよ。

つまり、BLEがSoC化され、SoCモジュールを使えば、完全に1チップ構成で周辺機器端末が作れる時代になったという事です。
こんな時代が来るとは2000年頃には思っても居ませんでした。
我々開発者視点では、有線でモノを作るよりも、無線のBLEで製品を作れば、有線に匹敵する製品単価で実現できる時代になったという事です。

私の様な爺エンジニアからすると、驚天動地の出来事なのです。 理解して頂けましたか?

因みにですが、SoCに乗っているMCU部ですが、最近ではCoretex-M33クラスの設計が乗っています。
これ以上の能力が必要な製品って、そうそう有りません。もの凄い能力のMCUが乗っているのです。
そして、その機能(ADC/PWM/I2C/SPI/UART/NFC/etc)もこれ以上不要な程に実装されています。
私共Braveridgeでも、この機能をフルで使い切った様な使い方は数回ほどですね~。

では次は、チップの話からモジュールの話です。
BLE1チップSoCをそのまま使うと、無線の設計もしなければ成りません。そして、電波法の適合性試験をしなければ成りません。
大変ですよね~w これはホントに大変です。 
なので、殆どの方は、電波法に適合したモジュールを使われる筈です。 そのモジュールの話とSoC周りを合わせて説明します。

モジュールの使い方(使いこなし方)はこの3種類(上図:図2)になります。
これまでの私の話を読んでこられた方は当然、真ん中のSoCモジュールとしての使い方を選択するはずです。
私も大抵は、SoCモジュールとして使用しています。 ※例外は後述します。

と・こ・ろ・が!です。 マーケット全体では、なんと『モデムモジュールとしての使用』が殆どなのです。
これを、私の調査に基づきまして、理由を整理しました。以下です。

【モデムモジュール派】の根拠
・コレまで使い慣れたMCUメーカーを外部コントロールマイコンとして使いたい。メインMCUは変えたくない。
・新しい開発環境の構築が面倒クサイ。また勉強や経験をしないと行けないのでイヤ。
・SoCの内蔵MCUを使いこなすのに自信が無い
・SoC内のMCUを使うと無線の動作に影響を与えそうで怖い
・使い慣れた外部コントロールマイコンで、SoCモジュールをUART接続して使う方が慣れている

【SoCモジュール派】の根拠 ※殆ど、私の根拠ですけどねw 私はNordic信奉者なのでnRF52基準ですw
・「どうせプログラムはCで開発するんだから、どこのMCUメーカーでも一緒だろ?」
・「新たにSoCのMCUで開発するだけだろ!開発環境もちゃんとあるんだから何言ってんの?」
・「nRF52はちゃんとRF部をソフト的に分離してくれているから何も心配ない?」
・「な~~にビビってるんよ? さっさとSoCモジュールとして開発しろ!w」
・「nRF52は充分なプログラム容量があるんだからソレ使え! 勿体ない!」

と言ったところでしょうかw 勿論、使い慣れたMCUを使うのは確かに有利です。これは間違い無いです。
nRF52では、大抵の企画者が考える企画をプログラムするには充分すぎる以上のプログラム容量があります。

実は、『モデムモジュール派』の根拠は、とても感情的・情緒的理由付けでしか無いのです。
そして、それを言われると、如何にも「論理的主張かのように聞こえる」んですよね。
「新たなMCU(SoC内部の新MCU)を使って、却って納期が延びる」なんていい加減な根拠(言い訳)を何度聞きましたでしょうかw

折角、SoC時代になったのに、経験のあるMCUを外部に実装し、古くさいUART通信で繋ぐ。
これで既にコンセプトとして「コストアップ」なのは明かですよね~。

私の感情論を言い切ってしまえばw
「自らUS$1.5~2.xxの外部MCU(マイコン)を不要なのに感情的に追加しておきながら、一方でモジュールのコストダウン要請なんか言われたら、絶対コストダウンなんか協力しない!!」ですわ~w 私の方が論理的で合理的ですよねwww

ここで(その3)に入れた理由はコレなのです。
折角、SoC構成になったBLEチップは、モジュールになっても、『SoCモジュールとして使う』のが正しい筈です。

Braveridgeでは、2012年のNordic社によるnRF51シリーズの発表に合わせて、『BLEモジュール』を開発し販売しています。
その時から、私は「これは『RFモジュール』ではなく、『マイコン(MCU)モジュール』です!それにBLEの機能が追加されているだけです!」
と言って来ました。 日本のBLEのパイオニアと言えるNordicJapanの山崎さんも同意見です!

これこそが、『BLEモジュール』の最も正しい使い方なのです。
如何ですか? 3大特徴の一つに挙げるべきだと理解して頂けたと思います。
ただ、市場では『モデムモジュール』として使う企業様が殆どですので、そろそろ方針を変えるべきなのです。

《雑談・雑感》
『モデムモジュール派』なファームウェア開発者や技術責任者に伝えたいことがあります。
BLE機器開発が300モデルを優に超える弊社エンジニアの経験から判明した事実を書きます。

『バグの殆どがUARTインターフェースが起源!』という現実です。

外付けMCUで『RFモジュール』をモデム仕様で使う=UART通信で外部MCUから制御する方法
これが実は、ファームウェアバグ多発の元凶です。これにより開発長期化やデバッグの長期化を引き起こしています。
弊社では殆どSoCモジュールとして使用していると書きましたが、複雑な設計として複数の無線規格を1つの基板で制御する事も増えています。
この場合は、止むなくBLE以外の無線規格はUARTで制御しなければなりません。
複雑な設計ではあるのですが、開発時や検証時に発見されるバグの殆どが『2線式UART起源のバグ』です。

4線式UARTならば、バグは軽減しますが、大抵の方は『2線式UART』を使われていると思います。
論理的にもこれは証明できます。ただこれは別の機会に譲ります。

結論は、
「もう、『2線式UART通信』は止めましょう!」です。
ほんとに止めた方が絶対に正解です。 これは通常使用では、『SoCモジュールとしての使用』で解決できます。

使い慣れたMCUに拘るばかりに、『2線式UART通信』を使うことになり、開発をより困難な状況にしています。
それならば、nRF52の開発環境を構築し、慣れて、使いこなす迄に必要な期間の方が圧倒的に合理的で効率的です。

Nordicの宣伝目的では無く、ほんとに開発がもの凄く楽になります。開発者に取っても自分の為です。
あくまでも、エンジニア視点の本音ですので参考にしてください。

私は毎回「またUARTか!!もう止めてしまえ!」や、最初から「最低でも4線式UARTがマスト!」と言ってます。

《なかなか聞けない珍しい話》コーナー!w
実は、BLEで最初にSoC化を実現したのはNordic社なのです。※Chipcon社も同時期ですが売られたので。
元々2003年頃からRFチップメーカーとして注目されていたノルウェーの企業でした。
2015年にnRF52シリーズをリリースした際にNordicの開発拠点でもあるトロンハイム市でのプレミアイベントに招待されました。
その際に、「なぜ、RFメーカーがこんな凄いMCUと開発環境を作れたのか?謎なんやけど?」とテーブルで他の招待客と話してたら、壇上で片付けをしていたGMが、「元々Nordic社はマイコンのIPコア設計を得意とする企業として創業したんよ~。AVRのコアはNordicが開発し、それを売却した。それが思いのほか儲かったので、RFでも始めるか~と成って、RFを始めたので、実はRF技術の方が会社としては後発なんだよ~w」と昔話を始めました。
周りには、Nordicの若手エンジニア達や招待客達が合わせて40人程集まり人だかりになりました。そして、その初めて聞くNordicの歴史に関心してました。従業員も知らなかったみたいですw

SNS SHARE