GR-KURUMIで高性能デバイスを制御&デバッグ!:SE SP-01の“あっ”と驚く活用法
ソリューションコラムでは、これまでSE SP-01を使用したさまざまなバリエーションのデモをご紹介してきました。今回ご紹介するのは、アナログ・デバイセズの超低消費電力18ビット1Mサンプル/秒のA/DコンバータAD7982を、なんとGR-KURUMIを使用して制御&デバッグをします!
高性能ADコンを「GR-KURUMI」で!
ソリューションコラムでは、これまでSE SP-01を使用したさまざまなバリエーションのデモをご紹介してきました。今回ご紹介するのは、アナログ・デバイセズの超低消費電力18ビット1Mサンプル/秒のA/DコンバータAD7982を、なんとGR-KURUMIを使用して制御&デバッグをします!
GR-KURUMI(じーあーる・くるみ)とは
GR-KURUMIのGRは「Gadget Renesas」(がじぇっとるねさす)が提供する小型のリファレンスボードです。超低消費電力マイコンであるRL78が搭載され、ピンク色の基板に女の子の顔がシルク印刷されていてLEDの髪留めがチャーミングです。GR-KURUMIの基板サイズや、外部拡張端子はArduino Pro Mini(アルドゥイーノ・プロ・ミニ)互換で設計されており、その小型なパッケージングから、ホビー用途から、はてはアートへの組み込みマイコンとして幅広く活躍しています。また、開発環境はWebアプリを使ったクラウド・コンパイル環境(Renesas Web Compiler)を実現しており、極めて低コストでマイコン開発を始めることができるようになっているのも幅広いユーザー層の支持を得ています。
GR-KURUMIについて詳しくはこちら(「がじぇっとるねさす」のWebページ)を参照してください。
AD7982とは
18bit、1Mspsの超低消費電力PulSAR® A/Dコンバータです。このAD7982は2.5V単電源駆動で、7mW(1Mサンプル/秒時)という極めて低い消費電力と18sbitという高分解能を実現しています。アナログ信号の入力部は完全差動入力、デジタル出力は、SPI/QSPI/マイクロ・ワイヤ/DSPの各種シリアルインタフェースで、1.8V/2.5V/3V/5Vの各ロジックレベルに対応しています。
今回はAD7982が搭載された評価ボード、EVAL-AD7982SDZを使って、GR-KURUMIと組み合わせた評価環境の一例を紹介します。
ここが違う! SE SP-01のヒミツ
GR-KURUMIは非常にコンパクトなため、プログラムのダウンロードはUSBシリアル変換基板を別途購入して、GR-KURUMIに直接ハンダ付けする必要があります。
しかし! SE SP-01はGR-KURUMIに対応したピン配置なのはもちろんのこと、SE SP-01上に実装されたE1コネクタとGR-KURUMIとが配線されているので、なんとE-1エミュレータを用意すれば、WebコンパイラだけでなくE1エミュレータを用いたルネサス純正開発環境でのデバッグができてしまうのです!今回はこの仕様を利用して、E1エミュレータを使って開発環境CubeSuite+で開発とデバッグを行います。
デバッグ環境をしっかりサポートしているので、開発効率が格段に上がりますね。
早速組み立てて、デバッグの様子を紹介していきましょう。
必要な機材
GR-KURUMIデモの組み立てでは、次のものを準備します。
- GR-KURUMI
- A/Dコンバータ評価ボード
- EVAL-AD7982SDPZ
- SE SP-01
- ANALOG DISCOVERY
- デバッグ用に、波形などを確認するためのものです。なお、お手持ちのオシロスコープや信号発生器があれば、それで代用できます
- E1エミュレータ
- ルネサス エレクトロニクスの安価で入手しやすいJTAGエミュレータです。詳しくはE1エミュレータ紹介Webページを見てください
- E1コネクタ
- CubeSuite+
- ルネサスエレクトロニクスのマイコン開発のための統合開発環境です。コードサイズが制限されますが、無料で使うことができる無償評価版があります
組み上げてみよう
GR-KURUMIをSE SP-01につなげるために、付属のピンソケットをCN7〜CN9へハンダ付けします。
GR-KURUMIには、ピンヘッダを裏側からハンダ付けしておきます。
E1コネクタは、CN13にハンダ付けします。この時、コネクタの向きに注意してください。
CN12には、ANALOG DISCOVERY用にピンヘッダをハンダ付けしておきます。
ハンダ付けはこれで完了です!次に組み上げていきましょう。
GR-KURUMIをCN13にしっかりと差し込みます。
SE SP-01とEVAL-AD7982SDPZを、双方の120pinコネクタに接続します。この際、ネジ止めをして固定してください(締めすぎると基板が反って破損の原因になるので注意)。
E1エミュレータをCN13のE1コネクタへ接続します。
最後に、デバッグ用のANALOG DISCOVERYをCN12のピンヘッダへつなげます。
ANALOG DISCOVERYの接続は、下表のようにします。
SE SP-01 | ANALOG DISCOVERY |
---|---|
Pin7(CLK) | DIO2 |
Pin9(MISO) | DIO1 |
Pin13(SS) | DIO0 |
Pin15(GND) | GND |
ANALOG DISCOVERYは、ロジック・アナライザを立ち上げて以下のように設定します。
プログラムのダウンロード
組み立てが完了したらCubeSuite+からプロジェクトを開き、プログラムをダウンロードします。「F6」キーを押下でビルド&ダウンロードが行われます。
動かしてみよう
早速、動かしてみましょう!
プログラムを実行すると、クロック同期シリアル通信(SPI)でAD7982へアクセスします。AD7982は18ビットA/Dコンバータですので、3バイト分のデータを取得した後、1データに形成する処理をしています。
unsigned char(1バイトのデータ型)の配列からunsigned long(4バイトのデータ型)にキャストして収めるために、配列変数の中身を入れ替える処理をします。
今回は、一部をアセンブラで記述しました。
デバッグ環境が整っていると、アセンブラが混在したコードでもこのように、CPUレジスタを参照しながらのデバッグも容易に行えます。
では、プログラムを連続実行してみます。
ANALOG DISCOVERYで通信波形を見てみましょう。
SCLK端子からクロックを送出し、AD7982からSDIO端子を通してデータを受け取っていることが確認できます。
連続実行した結果をバッファに入れてみたところ、ANALOG DISCOVERYと同等のデータが安定して取れていることが分かります。
プログラム公開
さて、皆さんに角度センサーデモをできるだけ手軽に体感いただくために、今回はGR-KURUMI用のファームウェアを公開します。E1とCubeSuite+をご用意いただくことで、同じ環境を再現することができます。
なお、RL78のレジスタ周りの設定についてはCubeSuite+内に標準実装されている、コード生成ツールを使用しています。
CPUのクロック設定やシリアル通信の設定など、全てツールの自動生成機能によって作成しました。
ファームウェアをご覧いただくと、自動生成ツールで作成された箇所がほとんどでほとんど手を加える必要がなく、とても簡単にプログラムを起こせることが分かります。
CubeSuite+の自動生成ツールをまだ使用されていない方は、ぜひとも体験してみてください。ファームウェアのダウンロードには、Solution-Edge会員への登録(無償)およびログインが必要になります。
GR-KURUMIデモのファームウェア使用時の注意
ファイル名の冒頭に、「r_」とついているファイルが自動生成の対象です。
対象ファイルを手動で修正する際は、以下のコメント間のみで行ってください。
コメントの外に変更を加えると、該当箇所は再度自動生成ツールをかけた時に消えてしまいます。
まとめ
今回はSE SP-01とGR-KURUMI、AD7982を使った開発環境の構築とソフトウェア開発の様子をご紹介しましたがいかがでしたでしょうか。
キーポイントは次の通りです。
- SE SP-01を使えばGR-KURUMIでも手軽にデバッグできる環境を構築することができる
- 統合開発環境CubeSuite+のコード生成ツールを使うと、レジスタ周りの設定が非常に簡単に行える
- EVAL-AD7982SDPZとはSE SP-01に実装済みの120Pinコネクタにパチンとつなげるだけで、面倒な設定が一切ない。
手軽にデバッグできるとうれしいですね。ぜひとも皆さんの環境で、SE SP-01の手軽さを体感してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:ルネサス エレクトロニクス株式会社 / アナログ・デバイセズ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2015年5月31日