2014年5月23日金曜日

BluetoothSMARTデバイスをmbed で開発する(1)


はじめに

NordicのnRF51ブランクモジュールは、法的面でBluetooth SMARTアクセサリ製造への敷居を下げてくれるという期待感から注目されていましたが、モジュール使用にあたって技術面でのハードルが高いところがあり、まだユーザーが増えていないのが現状のようです。

そこで今回は個人レベルでも試作が可能となるような試みとして、nRF51ブランクモジュールのDIP基板化と ARM® mbed™ を使った開発について紹介いたします。

関連記事
BluetoothSMARTデバイスをmbed で開発する(2)
BluetoothSMARTデバイスをmbed で開発する(3)
BluetoothSMARTデバイスをmbed で開発する(4)
BluetoothSMARTデバイスをmbed で開発する(5)
BluetoothSMARTデバイスをmbed で開発する(6)
BluetoothSMARTデバイスをmbed で開発する(7)
BluetoothSMARTデバイスをmbed で開発する(8)


ARMは、ARM Limited(またはその子会社)のEUまたはその他の国における登録商標です。mbedは、ARM Limited(またはその子会社)のEUまたはその他の国における商標です。 All rights reserved.


今回試作したもの

・ブランクモジュールのDIP基板化

ブランクモジュールは各メーカーともに特殊形状をしていることから、まず形状を試作向きにするべくDIP化する基板を作成してみました。海外ではブレイクアウトと呼ばれている基板です。
よく見かけるパッケージ変換基板と異なり、搭載するデバイス合わせた専用設計になっています。

今回はホシデン様のHRM1017というモジュールを使った基板を社内向けに7枚ほど作成しました。
もしニーズがあれば追加で作ったり、別モジュール向けの基板も作成しようかと考えています。



この形状にすると簡単な回路ならブレッドボードに差し込むだけで作成できます。



ユニバーサル基板に半田付けする方法だと回路アイデアから電波を出すまで半日ぐらい要する場合もありますが、ブレッドボードを使えば1時間も掛けずに作成することができることから、とりあえず動作を試したと思ったりアイデアを具現化するのならばこの形状が一番使いやすいかと思います。
なおブレッドボードだと少し心細い回路に見えますけど、今回は対象となるデバイスが超低消費電力モジュールであることと、高速信号ラインを持たないことから二層のブレイクアウト基板とブレッドボードでも問題なく動作させることができます。


・モジュールの mbed 対応化

nRF51ブランクモジュールはNordic-SDKをそのまま使用することにより全ての機能を利用することが可能である反面、SDK機能の多さや、それに対する情報の少なさから誰でも開発できるというものではないのが現状でした。
また Nordicでは mbedを使用することができる開発ボード nRF51822-mKIT を製品化していたのですが、現時点では日本国内での使用が許されておらず、日本の mbedファンの方々も技適版が出るのを待っているのではないかと察しております。

 画像リンク元製品紹介


ところで

mbed開発ボードの nRF51822-mKITと、国内で使用可能な nRF51ブランクモジュールは共通のソフトウェア設計となっていることはご存知でしょうか

Nordic社およびサードパーティ製モジュールは全てnRF51822-SoC + Softdeviceに対して独自フレームワークという構成になっていまして、mbed 製品である nRF51822-mKIT であっても例外なく同じ構成を使用してます。またnRF51ブランクモジュールにおいてはフレームワーク部分が入っていないブランク状態で出荷されていますが、使用するときには同じ構成となります。

つまり nRF51ブランクモジュールにmbedのフレームワークを追加すれば nRF51822-mKIT互換のボードとなるわけです。


ブランクモジュールへの移植

論より証拠というわけで、実際に nRF51ブランクモジュールを mbed 化してみました。



右側のブレッドボードに載っている基板がmbed化したブランクモジュールで、左側の青い基板がmbed interface基板になります。

動作原理や開発方法については次回掲載しますが、ものすごく簡単に実現できます。
Lチカやビーコン程度でしたら mbedの宣伝どおり10分程度で動作させることができました。

端子配列

ブランクモジュールをnRF51822-mKIT互換とした場合の端子配列はこのようになります


ここに記載されている端子の機能であればSoCチップやモジュールのデーターシートを読む必要もなく mbedのお作法でプログラム作成が可能です。Bluetoothスタック部分も専用のライブラリが用意されますので BluetoothSMARTアクセサリ作成の敷居が一気に低くなりそうです。


あとプログラム書き込みを行う mbed interface部分についてですが、これについてはNXP社が製造販売している評価ボードLPC Xpresso1549のうちLPC-Link2部分のみを流用しました。このボードは多少値段は張りますが比較的容易に入手可能で、また後日通常のmbedボードに戻して使用できるというメリットがあることから採用しました。



なお nRF51822のSWD信号フォーマットには少しだけ方言があり、また mbedコンパイラから生成されるバイナリもnRF51822専用となっていることから、既存のLPC Xpresso1549向けファームでは動作しません。 書き込むためには nRF51822用のスペシャル版ファームウェアが必要になります。
nRF51822向け mbed interfaces作成方法については、専用基板の作成に合わせて公開するつもりです。

次回予告

今回は足早な感じで進めていきましたが、これで少しだけBluetooth SMARTデバイスの開発が身近になってきたことがご理解頂けたかと思います。
以降は何回かに分けて mbedを使ったBluetoothSMARTの実装方法や関連ハードウェアについても掲載していく予定です。

関連記事

BluetoothSMARTデバイスをmbed で開発する(2)
BluetoothSMARTデバイスをmbed で開発する(3)
BluetoothSMARTデバイスをmbed で開発する(4)
BluetoothSMARTデバイスをmbed で開発する(5)
BluetoothSMARTデバイスをmbed で開発する(6)
BluetoothSMARTデバイスをmbed で開発する(7)
BluetoothSMARTデバイスをmbed で開発する(8)


140 180 Bluetooth , mbed , Nordic , nRF51822 , ツール作成 , 技適

記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...