こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
CYW20819はマイクロコンピュータと周辺機器を構成し、基本的及び高度なBluetoothデータ転送速度、超低電力BLE、Bluetoothメッシュなどをサポートする汎用シングルチップデバイスである。
CypressのCYW20819 (186-0727) は、ホームオートメーション、ウェアラブルとIoT、入力デバイスなどをターゲット用途にしたBluetooth 5シングルチップソリューションだ。超低電力BLEからEDR 3Mbpsまでのモードをサポートし、さらにBluetooth Mesh 1.0もサポートしている。
この投稿では、CYW20819デバイスのアーキテクチャと能力を紹介し、続いて評価キット、ソフトウェアサポート、付属サンプルについて説明する。
CYW20819の主な特徴
CYW20819 Bluetoothコアから見ていこう。
- Bluetoothコア仕様バージョン0に準拠
- BR、EDR 2Mbps/3Mbps、eSCO、BLE、LE 2Mbpsをサポート
- +4 dBmまでプログラム可能なTX出力
- 優れたレシーバ感度(BLE 1Mbpsで-95.5dBm)
BTコアは、Arm Cortex M4を中心としたマイクロコントローラサブシステムと連動する。Arm Cortex M4のクロック周波数は96MHzで、160KBのRAMと265KBのセキュアフラッシュを搭載している。やり取りは、ADC、GPIO x 40、PWM、IR、I2Cマスタ及びスレーブ、UART x 2、Quad-SPIポート x 2などのペリフェラルによって行われ、I/Oマルチプレクサからのピンルーティングも可能だ。これによって、I/Oが不足することはないだろう。
オーディオ用途には、PDMマイクロフォンインターフェイス、I2Sインターフェイス、PCMインターフェイスが有効だ。
では、機能豊富なBTコアと非常に汎用的なマイクロコントローラ以外はどうだろう?このデバイスは、クロックと電源管理、さらに共存インターフェイス(CGI)も搭載している。CGIは、CypressのWLAN部品を使用するときに、限られた2.4GHzのスペクトラムの共有を最適化するのに使用されている。
マイクロコントローラはアプリケーションコードに加えて、Bluetoothスタックも実行するが、1MBのROM (OTAファームウェアの更新にも対応し、Root Of Trustも提供)に常駐しているおかげで、フラッシュストレージはアプリケーション用として常に空けられる。
Bluetoothメッシュ
Bluetoothは何年にもわたって、元々短距離のかなり低帯域幅のスマートフォン/デバイス通信用に開発された規格に過ぎなかったものから、EDRによるはるかに速いデータ転送速度とBluetooth Low Energyによる各種の超低電力ユースケースをサポートするまでに進化してきた。
その間、ワイヤレスセンサ、IoT、ビルのオートメーションなどの用途向けにZigbeeなどの代替システムも現れた。その一部(Zigbeeを含む)は、メッシュネットワーキング機能の恩恵を受けている。メッシュネットワークでは、ピアツーピアアーキテクチャによって有効範囲が拡張され、主電源に接続されたノードがルータとして動作し、他のノード間のメッセージをリレーする。
Bluetooth Mesh 1.0の出現は、Bluetoothデバイスの通信範囲を拡張する標準ベースのアプローチが得られたことも意味する。それはBluetooth無線を搭載するデバイスがはるかに多い優位点があったとしても変わらない。たとえば、最初にセンサノードを設定するときにスマートフォン又はタブレットを使用するとしても、その後にメッシュネットワークに参加するときは、設定とデータ転送に同じ無線が使用されるため、2種類の無線の実装が不要になる。そのため、物理的制御の増加による追加コストやデバイスの使い勝手の悪化を避けることができます。
評価キット
CYW920819EVB-02キット (186-0727) は、ソリューションの評価やプロトタイピングに便利なソリューションだ。CYW20819キャリアモジュールと一体型アンテナを搭載し、Arduino互換の拡張ヘッダ、ボタン、LED、サーミスタ、モーションセンサ、電源サブシステムを備えている。電源サブシステムの興味深い機能として、コイン型電池でモジュールに給電できる。これはBLE機器をテストする際に特に便利だ。
設定用のピンヘッダと、開発ツールを実行しているパソコンと通信するためのUSB UARTも搭載されている。
Modus Toolbox
開発環境とSDKには、Modus Toolboxを使用する。このソフトウェアは非常に人気の高いオープンソースのEclipse IDEをベースに構築されている。特に優れているのは、Windowsオペレーティングシステムだけでなく、LinuxやMacOSでも使用できる点だ。ファイルのダウンロードが完了すると、インストールによってアーカイブが展開、依存ファイル1つがインストールされ、3つのシェルスクリプトが実行されて、IDEが起動する。
高レベルのビューは上の図のとおりだ。また、Mbedプラットフォームから代替開発環境を利用することもできる。Modus Toolbox SDKの主な機能は次のとおりである。
- デュアルモードBluetooth (BT)スタックをデバイスROM (BR/EDR及びBLE)に搭載
- 組み込みBTアプリケーション開発用のBTスタック及びプロファイルレベルAPI (同じデバイスにホストとコントローラ)
- より強力なプロセッサとの連動が必要なアプリケーションを簡単に開発できるようにするWICED™HCIプロトコル
- SPI、UART、ADCなどのオンチップペリフェラルブロックにアクセスするためのAPI及びドライバ
- サポートされているBluetoothプロトコル: Generic Access Profile (GAP)、Generic Attribute Profile (GATT)、Security Manager Protocol (SMP)、Radio Frequency Communication protocol (RFCOMM)、Service Discovery Protocol (SDP)、BLE Meshprotocol
- BLE及びBR/EDRプロファイルAPI、ライブラリ、サンプルアプリケーション
- Over-The-Air (OTA)アップグレードをサポート
Modus Toolboxで新しいプロジェクトを作成するときに、デモアプリケーションを選択することができる。デモアプリケーションには、シンプルなセンサアプリとクライアント、データロガー、BLEビーコン、Find Me profile (FMP)アプリ、キーボード、マウス、リモートHIDサンプル、さらに各種のメッシュデモアプリが含まれている。これらはすべてGitHubにもあり、他の数多くの小規模な「スニップアプリケーション」と一緒に置かれている。スニップアプリケーションは、OTAファームウェアアップグレードなど、特定の機能を分かりやすく示すアプリだ。
コメント