Nordic nRF51822 (「nRF51」、micro:bit v1)

このMCUの下には48個の小さな金属ピンがあります(そのため、QFN48と呼ばれます)。 これらのピンはトレースと接続しています。トレースとはボード上の部品をつなぐ配線として機能する小さな「道」です。 MCUはピンの電気的特性を動的に変えることができます。 これは照明のスイッチのようなもので、回路上の電流の流れを変えます。 特定のピンに電流を流したり、電流を止めたりすることで、トレース経由でピンと接続しているLEDを点灯したり、消灯したりできます。

各製造メーカーごとに異なる部品番号の付け方をしていますが、多くの場合、部品番号を見るだけで、その部品についての情報を得られます。 今回使用するMCUの部品番号(N51822 QFAAH3 1951LN)を見てみましょう(肉眼では見えないかもしれませんが、チップに記載されています)。 最初のnは部品がNordic Semiconductorによって製造された、というヒントになっています。 ウェブサイトで部品番号を調べると、すぐにNordic Semiconductorの製品ページが見つかります。 ここで、このチップの売り込みポイントが「Bluetooth Low Energy and 2.4GHz SoC」であることがわかります(SoCは「System on a Chip」の略です)。 製品名に含まれる「RF」はradio frequency(無線周波数)の省略です。 もし、製品ページからリンクされているチップのドキュメントを少し検索してみると、製品仕様が見つかります。 その10章「Ordering Information(注文情報)」に奇妙なチップの命名規則について説明があり、次のことがわかります。

  • N51はMCUシリーズで、他のnRF51 MCUがあることを意味している
  • 822は部品コード
  • QFはパッケージコードでQFN48の略
  • AAは種別コードで、MCUがもつRAMとフラッシュの容量を示す。今回の場合、256キロバイトのフラッシュと16キロバイトのRAM
  • H3はビルドコードで、Hはハードウェアバージョン、3は製品コンフィグレーションを意味する
  • 1951LNはトラッキングコードなので、あなたのチップとは異なるでしょう

もちろん製品仕様には、このチップに関して役立つ情報がたくさん載っています。 例えば、このチップはARM® Cortex™-M0 32ビットプロセッサをベースとしていること、などです。

Arm? Cortex-M0?

使用するチップがNordicによって製造されているとすると、Armとは誰なのでしょう? チップがnRF51822とすると、Cortex-M0とは何なのでしょうか?

「Armベース」のチップは非常に広く使われているので、「Arm」のトレードマークを持つ会社(Armホールディングス)が実際のチップを製造していない、と聞くと驚くかもしれません。 Armの主要なビジネスモデルはチップの一部を設計することなのです。 彼らは、それらの設計を製造メーカーにライセンスします。 製造メーカーは(おそらく独自の変更を加えて)そのデザインを物理的なハードウェアとして実装し、販売できるようにします。 チップの設計製造とを両方行うインテルのような会社と、Armの戦略とは違っています。

Armはいくつかの異なる設計をライセンスしています。 「Cortex-M」はマクロコントローラのコアとしてよく使われる設計です。 例えば、Cortex-M0(今回使用するチップのベースとなっているコア)は低コストかつ低電力な用途向けに設計されています。 Cortex-M7はより高コストですが、より多くの機能と高い性能を有しています。

幸いなことに、この本を読むために様々なプロセッサやCortexの設計について詳しく知る必要はありません。 しかし、使用するデバイスの専門用語について少し知識が身についたかと思います。 nRF51822はCortex-Mをベースとした設計なので、nRF51822を使って作業を進めると、Cortex-Mベースのチップのドキュメントを読んだり、ツールを使ったりすることがわかるでしょう。