DesignSpark Electrical Logolinkedin
Menu 検索
フォーラムで質問

Genuino101 リリース!

(こちら(英語版)の記事の翻訳です。)

昨年、Intel社が世界中に発表したボタン型モジュール「Curie」。そのCurieを搭載したマイコンボード「Genuino101」がついにリリースされました! コンパクトながらも高性能と低消費を同時に実現しており様々な可能性を秘めています。

Genuino 101(アメリカ国内ではArduino 101として販売予定) は、あの偉大なArduino Unoの後継製品に位置づけられており、ほぼ同じような基板形状を採用しています。その名前の通りArduinoの創業者Massimo Banziとその同僚によって設計された公式の製品です。しかもその心臓部には、新たに提携したIntel社の戦略的な新製品の「Curieモジュール」を搭載することとなりました。

このGenuino 101、外見はUNOにそっくり。 ピンにも互換性があります。もちろん公式のIDEで開発が行えます。UNOと同じような価格帯で提供されているものの、デュアルコア32ビットのCurieモジュール、6軸加速度センサ、Bluetooth LE、などなど、機能面での大幅な進歩が伺えます。

スペック

USBもしくは2.1mmのDCコネクタから7-20VDCを供給することで、Genuino 101を駆動できます(推奨最大電圧は12VDCとなっています)。I/O電圧は3.3Vですが、ピンの耐電圧は5Vとなっています。これにより運用に柔軟性が増し、併用できる周辺部品も多くなりました。シールド基板はUNOやその他の以前からあるボードと併用が可能です。

I/Oについては

  • デジタル入出力 14本 (うちPWM対応4本)
  • 10ビットアナログ入力 6本(設定によりデジタル入出力も可能)
  • シリアル送受信 (TTL)
  • SPI通信
  • I2C通信

最大4mAまでの範囲でソースロジック(PNP)・シンクロジック(NPN)のどちらでも使用可能

となっています。ここまでのところそれほど大きなサプライズは見当たりません。しかしIntel Curieモジュールをじっくり見てみると、とても面白いものであることがわかると思います。

Intel Curieは、32ビットIntel Quarkと32ビットARC コアで構成されており、どちらもクロック周波数は32MHzとなっています。Intel Quarkはx86アーキテクチャのマイコンで、省スペース・低消費電力用途に適しています。一方ARCコアは高度な設定が可能なRISCプロセッサで、年間15億代以上の製品に実装されています。他にもフラッシュメモリ384キロバイト、SRAM80キロバイトが搭載されています。フラッシュメモリ32キロバイト・RAM2キロバイトの8ビットUNOと比較すると、スペックの向上がなされています。それに加えて、Bluetooth Low Energy、6軸加速度センサとジャイロスコープ、さらに充電機能までもがこの小さなボードに詰まっています。

Intel Curieはウェアラブル製品をターゲットに開発されましたが、それ以外でも小型・高性能・低消費電力の3つを兼ね備えたデバイスで高い需要がある商品です。 IoTなどはその確固たる例でしょう。 この記事を執筆している時点で、Curieモジュールに関する詳細な技術情報はあまり手に入りません。これは発表からまだ数カ月しかたっていないためだと考えられます。もう少したてば公開されることでしょう。

いずれにせよ、我々はArduinoプラットフォームを経由することで細かい点を気にすることなくIntel Curieを活用することができます。もちろん新しいオープンソースハードウェア開発などのためにはベアメタルへのアクセスが必要となりますが、それもあと少しの辛抱と考えられます。

ソフトウェアサポート

Genuino 101を使用するためにはArduino IDE バージョン1.6.7以降が必要です。最初にボードマネージャーを開いて“101”もしくは“Curie”と検索しパッケージをインストールしておきます。こうすることで、QuarkとARCコアで実行するためのファイルをArduino IDE上でコンパイルできるようになります。 

Intel Curieモジュールは、Intelによって開発され、2016年3月にオープンソース化予定の実時間制御(RTOS)を採用しています。それまではBluetooth LEの活用、PWMの実行などあらかじめ決められたタスクを処理させるために、RTOSと通信できる唯一の手段がArduino IDEとなります。

注目すべき機能の1つは、UNOやそのほかのArduinoボードと同じように、USB/UART接続によりマイコンのフラッシュに書き込まれているブートローダーを用いるのではなく、USBのDFUモードでスケッチのアップロードを行う点です。Arduinoのブートローダーが確実に実行できますが、DFUは標準的でより洗練された方法です。

Curieライブラリ

USBインターフェイスはまた、仮想シリアルポートを提供することも可能で、Serialオブジェクトの読み書きにより制御することができます。さらにpin0とpin1はSerial1オブジェクトとしてハードウェアのシリアルポートを公開しています。Genuino101で実行したスケッチとPC上のアプリケーションでの通信を容易に行うことができるので、GPS受信機などのシリアル通信可能な周辺機器をArduinoを経由してPCと接続することが可能になります。

この時点で提供されることが判明しているCurieライブラリは

  • Bluetooth Low Energy
  • 加速度センサ+ジャイロスコープ
  • Time

となっています。"Time"では実時間(RTC)の読み取りや設定が可能となります。大がかりなプラットフォームや小さなアドオンでの活用が期待されるライブラリです。

上記に加えてArduinoの標準ライブラリももちろん使用できます。

サンプルスケッチとチュートリアル

期待のとおり、ライブラリには豊富なサンプルスケッチが揃っています。Bluetooth Low Energyライブラリのサンプルではアナログピンの電圧をリモートで読み取ったり、デジタルピンの状態を読みとってLEDのON/OFFを切り替えています。

加速度センサ/ジャイロスコープ — 別名では慣性計測ユニットと呼ばれます— に関しては、センサの生データへのアクセスと、衝撃などの検知するサンプルスケッチが提供されています。

他にもSerialオブジェクトや、先ほど述べたリアルタイムクロックの読み取りと設定に関するサンプルもありました。

Bluetooth LEやIMUをプロジェクトですぐ活用するために、使い方が知りたい場合にはサンプルスケッチがとても有効です。しかしながら、チュートリアルも提供されており、さらなる可能性に期待できるような実践的なアプリケーション例を知ることができます。

おそらく最も印象的なチュートリアルは、「Madgwickのフィルタリングアルゴリズム Madgwickのアルゴリズムを用いてジャイロスコープと加速度センサの生データから4次元数を算出する」ものでしょう。その値には回転軸をしめすためのx,y,zと、その軸周りの回転を示すωの4変数が含まれています。結果となる4次元数はロールピッチヨーのオイラー角を算出するために使用されます。算出結果のデータはシリアルポートを経由してPC上の実行処理アプリケーションに送信され、リアルタイムでGenuino101の方向が可視化されます。

他のチュートリアルでは、ステップカウンタの作成やBluetooth LEを活用した心拍数モニタなどがあります。心拍数モニタのパートでは、心拍の代わりにポテンショメータのカウントをAndroidやiOSデバイス上のアプリケーションに送信して可視化しています。 どちらもこれからアプリケーションを作成するにあたり役立つデモストレーションでしょう。

ファーストインプレッション

Genuino 101は、機能の面でもフラッシュやSRAMの面でもUNOから大幅に性能が向上しました。32ビットデュアルコア、Bluetooth LE、IMUを備えたIntel Curieはどんなに控えめに言っても興味深い小型モジュールです。IDEやライブラリ、サンプルスケッチは使いやすい環境を提供するという点で素晴らしい仕事をしています。

RTOSがオープンソースとなり、またIntel Curieの詳細が明らかになれば、これらをもっと生かすことができるでしょう。その時が来るまで、Intel Curie Module Fact Sheeと Intel Quark SE Product Brief を読んで待つことにしましょう。

Andrew Back

szkm さんはまだ自己紹介を入力されていません...

25 Nov 2016, 3:22