IoTアプリケーション開発へのモジュラーアプローチ - 第1部:ハードウェアの選択
DigiKeyの北米担当編集者の提供
2017-08-30
編集者注:IoTアプリケーションは、ハードウェアとソフトウェアコンポーネントの極めて密な融合をもたらしており、開発者は各領域について非常に詳細な説明をすることが求められています。この2部構成によるシリーズでは、この融合を促進するためのモジュラーアプローチを用いるプラットフォームの1つに注目します。第1部ではプラットフォームのハードウェアオプションがIoTデバイスの導入をいかに単純化しているかについて見ていきます。第2部ではIoTアプリケーションのエンドツーエンド開発を迅速化するにあたっての、プラットフォームのソフトウェアアーキテクチャとその役割について考察します。
大規模なIoTアプリケーションでは、通常、機能的な能力を実装するために複数の接続オプションとソフトウェアサービスが必要です。開発者はますます厳しくなる要件に応えるために、複数のソースおよびオペレーティング環境のより多様なソリューションを組み合わせる必要がありました。
しかし、各ソリューションの要求に応えるには、開発アプローチの見直しを求められることもよくあります。開発者は、単にアプリケーションの主要な要件だけでなく、様々なソリューションをシームレスなアプリケーションとして調和させるという課題にも対処する必要があります。SamsungのARTIKプラットフォームを使えば、IoTアプリケーションの開発と展開のための、1つの同じプラットフォームで互換性のあるハードウェアモジュールとソフトウェアサービスを組み合わせるという、より簡単なアプローチを開発者は得られます。
IoTアプリケーション開発の問題
開発者にとって、IoTアプリケーションに関連する幅広い要件に応えることは困難な作業かもしれません。センサシステムは、ノイズを最低限に抑え、帯域幅は最大限高めて、正確な信号調節と精密なデータ変換を行う必要があります。ワイヤレスデバイスは、アプリケーションの既存の通信インフラに容易に適合し、全体的な消費電力を抑えつつ、十分なRF送信電力を提供する必要があります。
より高次元においては、IoTデバイスはスマートフォンなどの中間ホストやローカルなゲートウェイデバイスを通じて効果的なクラウドコネクティビティを実現できる必要があります。同時に開発者は、IoT情報連鎖のあらゆるリンクを超えてIoTアプリケーションを攻撃できる脅威を、エンドツーエンドのセキュリティ対策によって軽減できるようにしなければなりません。
開発者はこれら個々の問題領域に取り組むにあたって、近視眼的になりがちです。個々の垂直的要件に焦点を絞るあまり、アプリケーションの幅広いニーズが分からなくなるのです。このため開発者は、迂回すべき設計経路にこだわり過ぎることになる場合があります。
Samsung ARTIKソリューションのようなエンドツーエンドプラットフォームは、IoTアプリケーション完成のために簡単に組み合わせられる、ハードウェアコンポーネントとソフトウェアコンポーネントの総合的な組み合わせを提供することにより、IoT開発者が狭い視野とそれがもたらす結果を回避できるよう支援します。
統一されたコンポーネントとサービスのプラットフォーム
Samsung ARTIKエコシステムは、IoTアプリケーションの階層全体に対応するよう設計されたコンポーネントとサービスの、統一的プラットフォームを提供します。IoT階層の最下層レイヤでは、ハードウェアモジュールは高性能なデータ取得と信号処理をサポートし、複数のワイヤレスコネクティビティ選択肢を提供します。
上層レイヤにおいては、ARTIKクラウドは幅広いネイティブおよびサードパーティサービスを提供します。プラットフォーム全体で動作する、一貫したサービスセットを備えた統一されたセキュリティモデルが開発者に提供され、これによって基盤となるリソースやIoTアプリケーション自身に、認可されたデバイス、サービス、ユーザーのみがアクセスできるよう保証されます。
統合型モジュール
ARTIKエコシステムの基盤を構成する、交換可能な一連のハードウェアモジュールは、ワイヤレスセンサノードおよびゲートウェイにドロップインソリューションを提供します。たとえば、Samsung ARTIK 053モジュールは、ARM® Cortex®-R4プロセッサ、メモリ、周辺機器インターフェースを、Wi-Fiコネクティビティやセキュリティのための専用サブシステムと組み合わせます。シリアルインターフェースおよびデバイスピン(例:GPIO)、PWM、および1Mサンプル/秒以上の変換レートをサポートする4チャンネル12ビットのA/Dコンバータ(ADC)を通じて開発者はモジュールのサブシステムにアクセスできます(図1)。

図1:ARTIKファミリの他のモジュールと同様、ARTIK 053モジュールはプロセッサ、メモリ、インターフェースの揃ったワイヤレスシステム一式と、セキュリティとワイヤレスコネクティビティ専用のサブシステムを提供します。(画像提供:Samsung Semiconductor)
ARTIKモジュールにおいて、Samsungは特定クラスのIoTデバイスに最適なARM Cortexプロセッサを中心に、緊密に統合された設計で通信やセキュリティなど複数の専用システムを組み合わせています。たとえば、053モジュールはリアルタイムのデータ取得および制御が可能な端末IoTノードとしての使用を意図しています。したがって、053モジュールはARM Cortex-R4を使用しています。これは、特に低消費電力のリアルタイムアプリケーション用途に設計されたARMのCortex-Rシリーズの中でも、最小のものの1つです。
ARM Cortex-R4は320MHzで動作し、命令キャッシュとデータキャッシュが独立していることを活用し、高速な応答が求められる設計においてパフォーマンスを最大化します。他のARTIKモジュールと同様、053はプロセッサに統合されたメモリでオンモジュールメモリを補強します。053の場合、汎用の8Mバイトのフラッシュと1280KバイトのRAMが利用できます。
Wi-Fi対応の053モジュールの他にも、053クラスの処理機能を備え、かつワイヤレスコネクティビティについて別の選択肢を提供するARTIKモジュールがあります。たとえばARTIK-020-AV2Rモジュールは、スマートフォンなどのモバイルデバイスと対話するよう設計されたIoT端末ノードのために、Bluetooth Low Energyサブシステム一式を提供します。
コネクティビティの方式にかかわらず、あらゆるデバイス階層レベルの、どんなIoTデバイスでも、IoTアプリケーションにおいて存在するさまざまな脅威の元を抑えられる堅固なセキュリティ方針をサポートする必要があります。Samsungのエンドツーエンドにおけるセキュリティ方針は、各ARTIKモジュールのハードウェアベースのセキュリティ機構に基づいています。たとえば、053モジュールは暗号化エンジン、真の乱数発生器、安全な鍵保管、実行環境の保護などを含む総合的なセキュリティサブシステムを統合しています。
また、053モジュールには、なりすましを防ぐよう設計されたデジタル指紋や、デバイスのなりすましにより生じる中間者攻撃の防止をサポートする、物理的な複製防止機能(PUF)ユニットも含まれています。
ドロップインソリューション
053やその他ARTIKモジュールのすべての機能について、開発者はこれらの完全に整ったワイヤレスシステムを比較的容易に設計に落とすことができます。ARTIK 053モジュールで、ハードウェアインターフェースを整えるために必要な追加コンポーネントはわずかです。実際、モジュールのGPIOは追加バッファなしで最大12ミリアンペア(mA)まで直接駆動できます。入力側では、モジュールのGPIO、I2C、SPI、およびデバッグポートが比較的高いインピーダンス入力を提供し、わずか3マイクロアンペア(µA)しか消費しません(最大値、プルダウン抵抗なし)。開発者は電圧源からモジュールのADCチャンネルを直接駆動できますが、信号源を増幅または減衰させて、ADCの0~1.8ボルトという入力電圧範囲に合わせるため、低ノイズオペアンプを追加する必要がある場合があります。
プリント基板の物理設計として、技術者は79ピン15 x 40mmモジュールを対象プリント基板に直接はんだ付けするか、モジュールと対象ボードの間に挿入されたキャリアボードにはんだ付けします。RFサブシステムは内蔵型であるため、モジュールの位置決めは非常に重要です。ただし、Samsungは053モジュールを基板に置いた際にRF性能を最適化するための、詳細な機械的仕様を提供しています(図2)。

図2:開発者は、プリント回路基板においてRF性能を最大化できる推奨ルーティング(上図)など、Samsungの回路図および設計ガイドラインを用いて、ARTIKモジュールを自分の設計に素早く統合できます。(画像提供:Samsung Semiconductor)
カスタムPCBの設計や製造よりずっと前に、開発者はこれらモジュールに基づきIoT設計を評価するため、関連するARTIK開発キットを用いることができます。たとえば、ARTIK 053スターターキット(SIP-KITNXF001)の開発ボードは、インターポーザボードにより053モジュールをホストし、LED、ボタン、USB接続、Arduinoシールド付インターフェースコネクタ、I/Oブレークアウトコネクタを試験できます(図3)。

図3:053モジュールと電源、IOコネクタ、LED、ボタンを組み合わせたARTIK 053スターターキット開発ボードを用いて、開発者はARTIK053モジュールを迅速に評価できます。(画像提供:Samsung Semiconductor)
開発時にUSBインターフェースを通じてボードに電力を供給できるのに加えて、エンジニアは5~12ボルトDC電源ジャックまたは5.6~6.4ボルト外部バッテリ接続を通じてスタンドアロンボードにも別に電力を供給できます。
ハードウェア開発のため、Samsungは完全な回路図と部品表(BOM)を提供しており、開発者が設計をカスタムするのに便利です。先に述べたように、このモジュールに必要なハードウェアインターフェースは非常にシンプルです。この回路図で示すスターターキットのリファレンス設計は、ボードコネクタからモジュールにバッファなしの信号を送ります。この回路図は、ADC入力の必要な電圧源を提供するため、シンプルな抵抗ネットワークを使用することを示しています(図4)。

図4:このARTIK 053スターターキットの回路図は、053モジュールのインターフェース要件がシンプルであることを示すもので、モジュールの4つのADC入力チャンネルに電圧源を供給するための基礎的な抵抗ネットワークを含んでいます。(画像提供:Samsung Semiconductor)
IoTゲートウェイ
Wi-Fi 053やBluetooth 052のようなモジュールはIoT端末ノード設計にソリューションを提供します。しかし、より複雑なIoT階層では、IoT開発者は高性能な処理ノードを端末ノードのすぐ上のレイヤに追加することがよくあります。こうした中間ノードはクラウドのゲートウェイとして機能し、しばしばデータをローカルレベルで集約して前処理することで、端末ノード間の待ち時間ループを短くしたり、端末ノードがクラウドから周期的に切断されるのを緩和できます。
Samsungは、より強力なARM Cortex-Aアプリケーションプロセッサをベースとする一連のモジュールにより、こうした要件に対処します。たとえば、ARTIK 520モジュール(SIP-005AYS001)はデュアルコア32ビットARM Cortex-A7を中心として構築され、ARTIK 530(SIP-005AFS301)は4コア32ビットARM Cortex A-9を提供し、ARTIK 710(SIP-007AFS001)は8コア64ビットARM Cortex A-53プロセッサを提供します。設計が共通であるため、開発者は特定の処理負荷や性能要件に合わせて、モジュールを組み合わせることができます。
電力処理機能に加えて、これらの各モジュールはゲートウェイデバイスの幅広い要件に対処するために必要な、周辺機器やインターフェースの強力なコレクションを提供します。たとえば、ADCやGPIOチャンネルの数を増やすことに加えて、ARTIK 530は、30フレーム毎秒(fps)で最大1920 x 1080をサポートする4レーンMIPIカメラインターフェースを備えたユーザーインターフェースのサポート、60fpsで最大1920 x 1080の4レーンMIPIディスプレイインターフェース、および2つのオーディオIOチャンネルを提供します。
周辺機器サポートの増加に伴い、ARTIK 520/530/710モジュールはゲートウェイ設計にとって重要なもう1つの要件に対応します。IoTゲートウェイデバイスは通常、さまざまなIoTデバイスと通信する必要があります。したがって、これらゲートウェイモジュールはEthernetの他にも、Wi-Fi、Bluetooth、ZigBee、Threadなど、さまざまなワイヤレス通信方式をサポートします。
ゲートウェイ設計の幅広い要件をサポートするため、ARTIK 520/530/710モジュールの設計には通常、より手間がかかります。しかしSamsungは、ARTIK 520キット(SIP-KITNXB001)、530キット(SIP-KITNXD001)、710キット(SIP-KITNXE001)などの、各ゲートウェイモジュールに対応した開発ボードを開発者のためにサポートしています。各キットの開発ボードに加えて、Samsungは回路図、部品表(BOM)、プリント基板の物理レイアウトなど、リファレンス設計の一式を提供しています。
このキットは、開発者がゲートウェイデバイスに必要とする可能性がある、追加コンポーネントを備えた、より複雑なモジュールインターフェース設計を示しています。053インターポーザボードやプラットフォームボードのシンプルな設計と異なり、これらのキットにはゲートウェイモジュールの拡張機能をサポートするために必要となるかなりの数の部品リストが含まれています。
たとえば、ARTIK 530開発ボードには、オーディオコーデック、USBコントローラ、バッテリチャージャおよび残量ゲージ、さらにはGPIOチャンネルおよびADCチャンネルを追加するための、Microchip TechnologyのATMEGA48PB-M AVR MCUが加わっています(図5)。

図5:ARTIK 530開発ボードは、ARTIK 530モジュールをMicrochip Technologyの外部ATMEGA48PB-M MCU、オーディオコーデック、Ethernet、USBコンポーネント、バッテリ管理回路と組み合わせた、洗練されたゲートウェイデバイスの設計を示しています。(画像提供:Samsung Semiconductor)
053開発ボードのシンプルな設計と異なり、530キットにはプラットフォームボード、530モジュールを保持するインターポーザボード、および追加拡張のためのインターフェース(IF)ボードが含まれています。053インターポーザが単に053モジュールのキャリアボードの役割を果たすのに対し、530インターポーザボードは530モジュールのほとんどの機能を直接サポートします。その結果、530インターポーザボードはゲートウェイシステムの設計にモジュールを統合する上でより積極的な役割を果たしており、別の設計コンポーネントと関連する異なるパワードメインをサポートするためのレベル変換といった機能を提供します。
開発キットと関連する回路図は、これらの幅広いインターフェース要件に適合するために必要な特定の設計ソリューションを示します。たとえば、リファレンス設計は設計者がON SemiconductorのNLSX4373MUTAG 2ビットおよびNLSX5014MUTAG 4ビットレベルトランスレータをどのように組み込んで、設計のクリティカルライン内に確実にインターフェースできるかを示しています(図6)。

図6:開発者はデジタル制御ラインのレベルトランスレータを用いて、ARTIK 520/530/710モジュールをインターフェースする方法の詳細を知るため、ARTIKゲートウェイのリファレンス設計を活用できます。(画像提供:Samsung Semiconductor)
まとめ
かつて開発者は、複雑なIoTアプリケーションの要件に対処するにあたって、複数のメーカーから出た別々のコンポーネントを操作し、その統合により生じる課題に対処するしかありませんでした。しかしARTIKエコシステムを使用すれば、開発者はIoT端末ノードとゲートウェイのワイヤレス接続、機能、および性能に関する特定の要件を満たすように設計された互換性のあるハードウェアモジュールを組み合わせることができます。
IoTデバイスソリューション一式を提供するように設計されたARTIKモジュールは、IoT端末ノードを実装するために必要なすべてのコンポーネントを統合し、またより複雑なゲートウェイ設計を実装するための基盤を提供します。ARTIK開発キットと回路図を元にして構築することにより、開発者はあらゆるIoTアプリケーションのハードウェア基盤を提供するデバイスを迅速に実装できます。第2部で説明するように、開発者はARTIKエコシステムのソフトウェアアーキテクチャをさらに活用して、IoTアプリケーションのエンドツーエンド設計および実装を迅速に完成させることが可能です。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。
