みなさん、こんにちは。「Arm® Cortex®-Mコア搭載RAファミリ初心者講座」の第4回をお届けします。
この連載は、ルネサスエレクトロニクス(以降、ルネサス)のArm Cortex -M搭載RAファミリ(以降、RAファミリ)について、製品のコンセプトから、各シリーズの特長と強み、開発環境、パートナソリューション、実際の使い方などについて解説して行きます。
今回は「「クイックコネクトIoT」でIoTシステムをサクッと構築してみた」です。
目次
はじめに
ルネサスは、2021年7月7日に、IoTシステムの迅速な開発、試作を可能にする、IoTシステム設計プラットフォーム「クイックコネクトIoT」を発売しました。
IoTシステムの迅速な開発、試作を可能にする、モジュール式開発プラットフォーム「クイックコネクトIoT」を発売
「クイックコネクトIoT」は、ルネサスのマイコン開発ボードと、それに接続できる標準化されたインタフェースの小型ボードで構成されます。
今回は、「クイックコネクトIoT」のHS3001温度・湿度センサボード(PMOD™)をRAファミリにつないで、温度と湿度を測定してみます。
最初に、クイックコネクトIoTについて説明し、次に、実際の動作環境、センサ仕様を解説し、その後、実際にRAファミリを動作させる手順を説明します。最後は、実際の評価キットRA6M5評価ボードを使って、ツール上で温度と湿度を確認します。
クイックコネクトIoT
クイックコネクトIoTは、センサ(Sensor) とマイコンの接続や通信に必要な互換性の有るハードウェアとソフトウェアのモジュールを提供することにより、 IoT システムの迅速な試作開発を可能にします
クイックコネクトIoTは、ハードやソフトをモジュール化して、共通化することによって、容易に使い回せる仕組みを提供します。その結果、開発期間が短縮され、信頼性も高くなります。最終的には、シンプルかつ高性能な製品を作ることができます。
PMODのI2C拡張インタフェースは、Digilent 社と共同し、PMODインタフェース「タイプ6A」として規格化(Rev. 1.3.1 and Revised October 28,2020)されています。
ルネサスでは、次の6種類のPMODセンサモジュールをリリースしています。
これら以外でも、IoT向けに様々なセンサやアクチュエータが「PMOD」という使いやすい形で販売されています。
PMOD は、Digilent 社が定めた規格です。インタフェースのプロトコルだけでなく、形状も規格化されている機能モジュールです。ルネサスでは、「タイプ6A規格化後」はすべての評価キットに、センサモジュールを直接接続できるようにしました。また、「タイプ6A規格化前」の評価キットにはインターポーザを介してセンサモジュールが接続できるようになっています。
さらに、ルネサスでは、評価キットで使えるセンサ用ソフトウェアパッケージを提供しています。あらかじめ検証されているセンサ用のソフトウェアパッケージを使用することで、開発時間短縮を実現し、安心の品質に貢献します。
センサ用ソフトウェアパッケージのリリース情報は、 ルネサス社のWebに最新情報が掲載されています。
一方、Amazon、MicrosoftのクラウドプラットフォームもIoT用にサービスを拡大しています。クラウドプラットフォームへのマイコン登録により、モノのデータ可視化、統計、管理を安心して行えるようになります。
評価キットでHS3001温度・湿度センサボードを動作させる環境
今回使用する評価キットはEK-RA6M5評価ボードです。センサボードは、HS3001温度・湿度センサボードです。動作環境の詳細は次のようになります。
また、HS3001温度・湿度センサボードの仕様は次のようになります。
HS3001温度・湿度センサボード用サンプルコードをダウンロードする
最初に、HS3001温度・湿度センサボード用サンプルコードをダウンロードします。まずMy Renesasにログインして、 ルネサス社のセンサソフトウェアのWeb を開けます。
下にスクロールすると、サンプルコードをダウンロードする欄が現れます。その中の、HS300x Sample applicationの関連ファイル:「サンプルコード」をクリックします。次に「同意」を求める画面が現れますので、同意します。すると、「 サンプルコード」のzipファイル(今回はr01an5897xx0120-hs300x.zip)がダウンロードされます。
ダウンロードした「 サンプルコード」のzipファイル(例:r01an5897xx0120-hs300x.zip)を、ワークスペース(例:C:\User\xxxxx\e2_studio\workspace)に展開(解凍)しておきます。
展開(解凍)したファイルの中に「RAファミリ、RXファミリ、RL78ファミリ、RE01 256KB / 1500KBグループHS300xサンプルソフトウェアマニュアル」がありますので、参考にしてください。
RAファミリ用のサンプルプログラムにはRA6M4用しかありません。これを、RM6M5用に変更してプロジェクトを作ります。
プロジェクトを作成する
(1)e2studioを開ける
Windowsのスタートメニューからe2studioを開きます。
ワークスペースのフォルダを指定する画面が出るので、デフォルトか任意のフォルダを入力して、[起動]をクリックします。
ログ/使用状況データ収集の画面が出ますので、チェックボックスを2つともオンにして[Apply]をクリックします。
Welcome to e2studioの画面が表示されたら、画面の右上隅にある[隠す]アイコンを選択して画面を隠します。
(2)サンプルプロジェクトのインポート
ここからRenesas RAプロジェクトにサンプルプロジェクトをインポートします。
メニューバーに移動して[ファイル]→[インポート]を選択して、インポートウィンドウを開きます。
インポートウィンドウで、一般を開けて、「Rename & Import Existing C/C++ Project into Workspace」を選択し、[次へ]ボタンをクリックします。
[参照]ボタンをクリックし、フォルダの選択ウィンドウを表示します。先ほど、ワークスペース(例:C:\User\xxxxx\e2_studio\workspace)に展開(解凍)したサンプルプロジェクトから、「HS300x_RA6M4_NonOS」のフォルダを選択し、[フォルダの選択]ボタンをクリックします。
「HS300x_RA6M4_NonOS」のプロジェクトを選択し、プロジェクト名を入力(ここでは、HS300x_RA6M5_NonOSとします)し、 [終了]ボタンをクリックします。
プロジェクトエクスプローラーの中に、HS300x_RA6M5_NonOSができていることを確認します。
(3)FSP Configuratorの設定変更
プロジェクトエクスプローラーの中のHS300x_RA6M5_NonOSを開けていくと、Configuratorn.xmlが現れます。Configuratorn.xmlをダブルクリックし、FSP Configuratorを開きます。
(4)BoardおよびDeviceの変更
BSPタブでBoardをRA6M5に変更します。ルネサス製ボードなので、Boardの設定のみの変更で大丈夫です。Deviceなどは自動で変更されます。
(5)Clock設定
Clocksタブで、クロック設定を確認します。ルネサス製ボードなので、Boardの設定をすると、自動的に設定が変更されますので、ここでは確認だけです。
(6)端子設定
Pinsタブで、端子設定を変更します。ルネサス製ボードを使用するので、Select Pin Configurationを、RA6M4 EKからRA6M5 EKに変更することで、自動的に割り当てられます。
(7)PMODとのインタフェース確認
EK-RA6M4評価用ボード用のサンプルプログラムをEK-RA6M5評価用ボード用に変更するに伴って、PMODとのインタフェース部の変更の有無を確認します。
PMODはEK-RA6M5評価用ボードのPMOD2コネクタにつながるので、EK-RA6M4評価用ボード(*1)とEK-RA6M5評価用ボード(*2)のPMOD2コネクタの仕様を各々のユーザーズマニュアルで比較します。
以下の図に示すように、通信仕様は、どちらも同じです。したがって、変更不要であることが分かります。
(*1)EK-RA6M4ユーザーズマニュアル
(*2)EK-RA6M5ユーザーズマニュアル
(8)コードの生成
Generate Project Contentという緑の矢印をクリックすれば、コンフィギュレータは必要な設定ファイルをすべて作成し、プロジェクトに追加します。
サンプルコードをビルドする
(1)プロジェクトのビルド
上部のツールバーの左隅にある小さな「ハンマー」記号をクリックすると、プロジェクトがビルドされます。これで、すべてのソフトウェアの設定は終わりです。
(2)PMODのハードウェアの確認
次に、PMODボードのハードウェアの確認を行います。ハードウェアと言っても2つのジャンパーピンの確認です。ジャンパーピンJ4はI2CのSCLを、ジャンパーピンJ5はI2CのSDAをプルアップします。これらの信号線はプルアップされていないとI2C通信ができませんので、どちらのジャンパーピンも短絡します。
(3)PCと接続
EK-RA6M5評価ボードとPCを接続します。とHS3001温湿度センサはEK-RA6M5評価ボードのPMOD2コネクタに、インターポーザ経由で接続します。
デバッグをする
(1)デバッグの構成
最初にデバッグの構成を行います。デバッグ記号(緑の虫マーク)のドロップダウンリストボックスから「デバッグの構成」を選択します。
虫マークのデバッグ記号は2つあります。ドロップダウンリストボックスが付いている方を使います。一旦設定したら、次回からはドロップダウンリストボックスがない方を使っても大丈夫です。
(2)デバッガの起動
構成の作成、管理、および実行の画面で、左側のツリービューのRenesas GDB Hardware Debuggingの下のHS300x_RA6M5_NonOS Debug_Flatを強調表示します。このプロジェクトの名前(HS300x_RA6M5_NonOS)を選択します。
プロジェクトを選択すると、デバッグ構成の新しい画面が表示され、その個々のオプションがすべて表示されます。今回は、何も変更する必要はありません。下部の[デバッグ]をクリックすると、デバッガが起動します。
(3)温湿度データの確認方法
リアルタイムの温湿度データは、次の手順で確認します。デバッグ画面で、[ウィンドウ]→[ビューの表示]→[式]から「式」ウィンドウを開きます。
「式」ウィンドウ内の「新しい式を追加」をクリックして、gs_hs300x_dataを追加します。gs_hs300x_dataを開けると、humidityとtemperatureが現れます。さらにhumidityとtemperature を開けると、それぞれ(x)=integer_partと(x)=decimal_partが現れます。
(x)=integer_partが整数部、(x)=decimal_partが小数部です。
(4)プログラムの実行
デバッグ画面が開くと、デバッガはプログラムカウンタをプログラムのエントリポイントであるリセットハンドラに設定します。再開ボタンをクリックすると、プログラムはmain()関数内のhal_entry()の呼び出し行で次の停止まで実行されます。
再開ボタンをもう一度クリックすると、プログラムは実行を継続し、「式」ウィンドウ内のhumidityとtemperatureの(x)=integer_partと(x)=decimal_partに、それぞれ測定データが入ります。今回は、湿度=36.69%、温度=20.53℃のデータが得られました。エアコンの設定温度20℃の室内で測定しましたので、温度=20.53℃はおおむね正確な値です。
(5)終了
プログラムの実行を停止するには、停止ボタンをクリックし、さらに切り離しボタンをクリックしてプログラムの実行を停止し、デバイスをデバッガから切り離します。
最後は、[ファイル]メニューから[終了/出口]をクリックしてe2studioを終了します。
まとめ
1. クイックコネクトIoTは、センサ とマイコンの接続や通信に必要な互換性のあるハードやソフトをモジュール化し、共通化することによって、容易に使い回せる仕組みを提供します。その結果、開発期間が短縮され、信頼性も高くなります。最終的には、シンプルかつ高性能な製品を作ることができます。
2. クイックコネクトIoTのセンサボード用サンプルコードはルネサスのWebからダウンロードできます。事前にe2studioのワークスペースフォルダに入れておけば、瞬時に呼び出して、プログラムのベースを作ることができます。
3. サンプルコードで使用しているボードと実際に使うボードが異なる場合は、C言語の設定部分のプログラムコードを人手で変更する必要はなく、FSP Configurator を使って容易に変更することができます。特にルネサス製ボードであれば、ピン設定やクロック設定などは、FSP Configuratorが自動で変換してくれます。
次回予告
本連載の第2回から第4回の実操作部分の動画を交えたウェビナーを近日公開予定です。どうぞお楽しみに。
こちらも是非
“もっと見る” Cortex-M|RAファミリ編
サンプルプログラムでRAファミリを動かしてみよう
はじめにRAファミリ用の統合開発ツールe2studioの起動から、実際のセットアップ、内容、使い方を説明。次に実際の評価キットのEK-RA6M5評価ボードを使って、e2studioのテンプレートの中に準備されている「LED点滅」のサンプルプログラムを動作させる実際の作業を解説します。
IoTシステムを素早く構築するための「Flexible Software Package (FSP) 」とは
Flexible Software Packageには、通信やセキュリティのようなドライバやスタックが含まれています。これらのドライバやスタックは、ミドルウェアスタック、個々のユーザーアプリケーション対応のRTOSに依存しないハードウェア抽象化レイヤ(HAL) ドライバで提供されます。
ルネサスの最新Armマイコン「RAファミリ」とは
第1回では、RAファミリの紹介から始めて、従来のルネサス32ビットマイコンRXファミリ、Renesas Synergy™との棲み分けを簡単に説明します。そして、RAファミリの概要と併せて、パートナ企業のサポート内容などを説明し、最後に、各シリーズ(RA2、RA4、RA6、RA8シリーズ)について説明します。