GR-ROSE(7)-ソフトウェア割り込み

前回は、GR-ROSEを使用して、AD変換、DA変換を行いたいと思いました。前回の内容は下記のサイトを参考にしてください。

GR-ROSE(6)-AD変換、DA変換

今回はGR-ROSEを使用して、ソフトウェア割り込みを行いたいと思います。使用するハードウェアはGR-ROSEです。下記のような構成になります。

機能の概要は下記のようになります。

  • 1secタイマを作成します。
  • 1secタイマの割り込みが発生すると、ソフトウェア割り込み1を発生させます。
  • ソフトウェア割り込み1が発生すると、LED1の点灯状態を反転させます。その後、ソフトウェア割り込み2を発生させます。
  • ソフトウェア割り込み2が発生すると、LED2の点灯消灯を反転させます。

これらの処理を行うことで、LED1とLED2を1秒間隔で点滅させます。それでは、ソフトウェア割り込みを使用した機能を構築したいと思います。今回も開発環境はe2studioを使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。ターゲット・デバイスは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思います。まずはクロックの設定を行っていきます。クロックの設定は、下記のサイトを参考にしてください。

GR-ROSE(5)-RS232通信

クロックの設定が完了したら、コンポーネントを追加していきます。まずは、PORTの設定をします。PORTの設定は、記のページを参考にして下さい。

RX(3)-RS232通信

GR-ROSE(6)-AD変換、DA変換

前回は、GR-ROSEとFTDIのICを接続して、RS232通信の機能を構築しました。前回の内容は下記のサイトを参考にしてください。

GR-ROSE(5)-RS232通信

今回はGR-ROSEを使用して、AD変換、DA変換を行いたいと思います。また、前回のようにFTDIのICも使用して、RS232通信も行います。下記のような構成になります。

下記の2つのコマンドを用意します。

  • READ
  • WRITE,xxxx

機能の概要は下記のようになります。

  • READコマンドでAD変換した値を読み出します。
  • WRITEコマンドを使用してDA値を設定します。
  • AD変換の入力ピンとDA変換の出力ピンは接続されているので、DA変換で出力した値をAD変換して読み出せるような機能になります。

それでは、AD変換、DA変換、RS232通信を使用した機能を構築したいと思います。今回も開発環境はe2studioを使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。ターゲット・デバイスは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思います。まずはクロックの設定を行っていきます。クロックの設定は、下記のサイトを参考にしてください。

GR-ROSE(5)-RS232通信

クロックの設定が完了したら、コンポーネントを追加していきます。まずは、シリアル通信の設定を行います。シリアル通信の設定は、下記のページを参考にしてください。

RX(3)-RS232通信

次に、D/A コンバータを追加します。コンポーネントの追加画面から、D/A コンバータを選択て、次へボタンを押します。

GR-ROSE(5)-RS232通信

前回は、e2studioで作成したファームウェアをGR-ROSEに書き込んで動作をさせてみました。前回の内容は下記のサイトを参考にしてください。

GR-ROSE(4)-e2studio schetch

今回は、RS232通信の機能を構築したいと思います。下記のようにFTDIのICが搭載されている基板と、GR-ROSEを接続して通信を行います。

下記の4つのコマンドを用意します。

  • L1,ON
  • L1,OFF
  • L2,ON
  • L2,OFF

機能の概要は下記のようになります。

  • L1,ON コマンドを実行するとLED1が点灯します。
  • L1,OFF コマンドを実行するとLED1が消灯します。
  • L2,ON コマンドを実行するとLED2が点灯します。
  • L2,OFF コマンドを実行するとLED1が消灯します。

この機能は、以前、「Renesas Starter Kit+ for RX65N-2MB」を使用して作成してみた機能ですが、もっと小型なGR-ROSEでも動作させてみたいなと思い、再度作成することにしました。

それでは、RS232通信機能を構築したいと思います。今回も開発環境はe2studioを使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。ターゲット・デバイスは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(3)-RS232通信

RX(23)-TCP/IPプロトコル 通信(noblocking)

前回、TCP/IPを使用した通信機能を構築してみたいと思います。下記のページが前回の内容になります。

RX(22)-TCP/IPプロトコル 通信

前回はは、接続要求や、受信待ちを実施すると、F/Wの処理自体を待ちにするようなF/Wにしました。このような処理でもよいですが、接続要求や受信待ちをするときに、F/Wの処理を待ちにしたくない場合もあると思います。

今回は、F/W処理を止めないようなTCP/IP通信機能を構築したいと思います。構築したF/WはGR-ROSEに書き込み動作させたいと思います。統合開発環境は「e2studio」を使用します。

今回は下記のような機能を構築しようと思います。

  • IPアドレスはDHCP機能で割り当ててもらう
  • 接続要求待ちをするTCPサーバー
  • 文字列を受信すると受信した文字列を相手側に送信する
  • 1を受信するとLEDを点灯する。
  • それ以外を受信するとLEDを消灯する。
  • 2台まで接続できるものとする。

PC側のアプリケーションは、TeraTermで動作確認しました。

それでは、機能を構築していきたいと思います。新規プロジェクトの作成を行います。新規プロジェクトの作成は下記のページを参考にしてください。

RX(3)-RS232通信

上記のページでは、ターゲット・デバイスを「R5F565NEHDFC」に設定しています。今回使用するマイコンは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(22)-TCP/IPプロトコル 通信

今回は、TCP/IPを使用した通信機能を構築してみたいと思います。構築したF/WはGR-ROSEに書き込み動作させたいと思います。統合開発環境は「e2studio」を使用します。

TCPプロトコルは、Ethrenet フレームのデータの部分に保存して、送受信されます。下記のページにてEthrenetフレームの動きを確認していただくと、作業の効率があがると思います。

RX(21)-Ethernetフレーム通信

今回は下記のような機能を構築しようと思います。

  • IPアドレスはDHCP機能で割り当ててもらう
  • 接続要求待ちをするTCPサーバー
  • 文字列を受信すると受信した文字列を相手側に送信する
  • 1を受信するとLEDを点灯する。
  • それ以外を受信するとLEDを消灯する。

PC側のアプリケーションは、TeraTermと以前構築したTCPクライアントのアプリケーションで動作確認しました。

TCPクライアントのアプリケーションに関しては、下記のページを参照してください。

C#言語(3)-TCP通信(クライアント編)

それでは、新規プロジェクトの作成を行います。新規プロジェクトの作成は下記のページを参考にしてください。

RX(3)-RS232通信

上記のページでは、ターゲット・デバイスを「R5F565NEHDFC」に設定しています。今回使用するマイコンは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(21)-Ethernetフレーム通信

今回は、Ethernetフレームを使用した通信機能を構築してみたいと思います。Ethrenet フレームには、DXI規格(Ethrenet V2.0)とIEEE802.3規格があるようです。

DXI規格は、下記のような構成になっています。

IEEE802.3規格は下記のようになります。

物理層では、緑色、青色、オレンジ色の部分が対象となります。データリンク層では、青色とオレンジ色の部分が対象になります。

今回、構築する機能では、DXI規格を使用します。F/W内では、青色の部分(宛先MACアドレス、送信元MACアドレス、タイプ、データ)を設定して、Ethrenet フレームを送信します。

今回は、「RX65N」が搭載されている「GR-ROSE」ボードを使用して機能を構築します。GR-ROSEを2個をLANケーブルで接続して通信します。統合開発環境は「e2studio」を使用します。

下記ののような機能を構築します。

  • 2秒ごとにEthernet フレームを送信します。
  • Ethrenetフレームを受信したらデータをRS232通信でPCに送信します。

それでは、機能を構築していきたいと思います。まずは、新規プロジェクトの作成を行います。新規プロジェクトの作成は下記のページを参考にしてください。

RX(3)-RS232通信

上記のページでは、ターゲット・デバイスを「R5F565NEHDFC」に設定しています。今回使用するマイコンは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(7)-SPI通信によるDAC制御

今回はRXマイコンを使用して、SPI通信を行う機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。統合開発環境を「e2studio」を使用します。

SPI通信を使用して、DACのICをコントロールします。今回使用するRX65Nのマイコンには、12bitのD/Aコンバータが2ch付いていますが、3ch以上DACが必要な時もあるので、今回、SPIでDACをコントロールする機能を構築しようと思います。

使用するDACは、Microchip製のMCP4911です。CP4911は、10bitの1の1chのDACです。MCP4911の使用方法は、下記のデータシートを参照してください。

http://ww1.microchip.com/downloads/en/DeviceDoc/22248a.pdf

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、SPIの設定をします。まずは、コンポーネントの追加です。コンポーネントタブのコンポーネントの追加ボタンを押して、コンポーネントの追加画面を表示します。コンポーネントの追加画面より、「SPIクロック同期式モード」を選択して、「次へ」を押します。

今回、「Renesas Starter Kit+ for RX65N-2MB」のPMOD1コネクタの信号線を使用して、SPI通信を行うので、リソースから「SCI6」を選択します。SPIの送信機能を使用するので、動作から「マスタ送信機能」を選択します。「終了」を押します。

RX(6)-DataFlashBGO

前回、RXマイコンを使用して、DataFlashにデータを保存する機能を構築しました。DataFlashへの保存をする時に、下記のようにコーディングしました。

err = R_FLASH_Write((uint32_t)&counter, FLASH_DF_BLOCK_0, FLASH_DF_MIN_PGM_SIZE);
if(err != FLASH_SUCCESS)
{
	while(1) ;
}

R_FLASH_Write関数を呼ぶと、書き込みが完了するまでは、復帰しません。ブロッキングモードに設定してあるためです。書き込みが完了するまで、待っていられない処理はもちろんあります。そのような時は、BGO (バックグラウンドオペレーション)モード(ノンブロッキングモード)を使用します。BGO モードを使用すると、API 関数は、処理を開始した直後に復帰します。そのため、書き込みを完了するまえに別の処理を行うことができます。

それでは、前回のプロジェクトを改良して、BGOモードでの動作にしたいと思います。前回の内容は下記のページに記載されています。

RX(5)-DataFlash

RX(5)-DataFlash

今回はRXマイコンを使用して、データを保存する機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。統合開発環境を「e2studio」を使用します。

「Renesas Starter Kit+ for RX65N-2MB」には、LEDが4個搭載しています。「LED0(緑色)」はP73、「LED1(橙色)」はPG7、「LED2(赤色)」はPG6、「LED3(赤色)」はPG5を使用します。今回は、LED0~LED3を使用して、SWを押すたびに光るLEDが順番に変わるファームウェアを作成します。電源を落とした場合は、最後に光ったLEDがどれであるかDataFlashに保存して、電源をONした際に、DataFlashからどのLEDから光らせるか読み出します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、まずは、PORTの設定をします。
PORTの設定は、下記のページを参考にして下さい。

RX(3)-RS232通信

今回は、LED0~LED3の4個のLEDを使用します。LED0はP73、LED1はPG7、LED2はPG6、LED3はPG5を使用すので、PORT7とPORTGのチェックをONします。

PORT7タブを選択して、P73を出力に設定します。Highで消灯なので、1に出力するにチェックを入れておりきます。

PORTGタブを選択して、PG7、PG6、PG5を出力に設定します。Highで消灯なので、1に出力するにチェックを入れておりきます。

RX(4)-AD変換

今回はRXマイコンを使用して、AD変換機能を構築します。使用するマイコンは、「RX65N」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。統合開発環境を「e2studio」を使用します。

RX65Nには12bitADコンバータが搭載されています。12bitなので、4096分解能になります。今回、アナログ電圧の値によって、点灯するLEDを変更しようと思います。「Renesas Starter Kit+ for RX65N-2MB」には、LEDが4個搭載しています。「LED0(緑色)」はP73、「LED1(橙色)」はPG7、「LED2(赤色)」はPG6、「LED3(赤色)」はPG5を使用します。今回は、LED1とLED2を使用します。アナログ電圧をマイコン読み取った結果、4096 / 2未満の場合、LED1を点灯します。4096 / 2以上の場合、LED2を点灯します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。
中央には、スマート・コンフィグレータが開かれると思いますので、
コンポーネントを追加していきます。

スマート・コンフィグレータを使用して、まずは、PORTの設定をします。
PORTの設定は、UART機能を追加した時と同じなので、下記のページを参考にして下さい。

RX(3)-RS232通信

次に、AD変換の設定を行います。まずは、コンポーネントの追加です。シングルスキャンモードS12ADを選択して、「次へ」を押します。