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(24)-RS485通信

今回はRXマイコンを使用して、RS485通信機能を構築します。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX65N-2MB」評価ボードを使用します。開発環境は、「e2studio」になります。構築する機能の具体的な動作は、下記の通りです。

  • L1,ON\r:LED1点灯、OKを返信
  • L1,OFF\r”:LED1消灯、OKを返信
  • L2,ON\r:LED2点灯、OKを返信
  • L2,OFF\r:LED2消灯、OKを返信
  • 〇〇〇〇〇\r:NGを返信

今回、RS485のICは、「ADM4853」を使用しました。「ADM4853」は、RS-485半二重評価用ボード「EVAL-RS485HDEBZ」にはんだ付けして使用しています。「EVAL-RS485HDEBZ」の設定は下記の通りです。

  • LK1:Cのピンをショート
  • LK2:Cのピンをショート
  • LK3のピンをショート
  • LK4のピンをショート

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

RX(3)-RS232通信

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

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(20)-CRC演算器

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

前回、ブートローダに、アプリケーション領域に書き込み時に計算したCRCチェックサム値と起動時に計算したCRCチェックサム値と比較を行い、アプリケーション領域のコードに誤りがないかチェックする機能を追加しました。

前回の内容は下記のサイトになります。

RX(19)-ブートローダ(CRC16チェックサム)

このチェック機能は、CRC演算器コンポーネントを使用して、機能を構築しました。CRCでどのように計算をしているか今回は考えてみようと思います。

CRCはCyclic Redundancy Checkの略称で、巡回冗長検査と呼びます。通信路上で起きるデータの誤り検出などに使用します。例えば、送信データをあらかじめ定めた生成多項式で除算したあまりを送信データに付加して送信します。この付加したデータがCRC符号です。受信側は同じ生成多項式で除算、あまりを比較することで、受信したデータに誤りがあるかどうか判断します。

「CRC-16」「CRC-16-CCITT」「CRC-32」など生成多項式の種類や長さで
さまざまな方式が見られます。今回は、「CRC-16」に着目したいと思います。

RL78G14(1)-スイッチによるLED点灯

今回は、RL78/G14 Fast Prototyping Boardを購入したので、動作させようと思います。RL78/G14 Fast Prototyping Boardは、高機能なRL78/G14マイコンを搭載し、様々なアプリケーションの試作開発に特化した評価ボードです。E2エミュレータLite相当のエミュレータサーキットを内蔵し、追加のツール無しでプログラムの書き込み/デバッグが可能です。別売りのRL78/G1D BLE Module Expansion Board (RTKYRLG1D0B00000BJ)と組み合わせることで、BluetoothR Low Energy無線通信機能を容易に追加でき、IoTエンドポイント機器の早期試作が可能です。また、Semtech社製 SX1261/SX1262 LoRaRトランシーバを組み合わせることで、LoRaRに基づく無線通信によるIoTセンサデバイスを試作することも可能です。

今回は、動作確認なので、SWを押すとLEDが点灯するような機能を構築して動作させてみようと思います。Bluetooth Low Energy無線通信も次回以降に試していきたいと思います。

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

RL78G13(1)-SWによるLED点灯

今回は、プロジェクト名を「RL78G14_SW」としました。

RX(19)-ブートローダ(CRC16チェックサム)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

前回はアプリケーション領域へアプリケーションコードを書き込んでいく処理を作成しました。ブートローダが動作することを確認できたと思います。

前回の内容は下記のサイトになりあます。

RX(18)-ブートローダ(アプリケーションコードの書き込み)

作成したブートローダは、SW1を押さずに実行した場合、アプリケーションコードに移動する仕様ですが、アプリケーション領域に有効なアプリケーションを含んでない場合あると思います。例えば、ブートローダを書き込んだ直後には
アプリケーション領域には何も書き込みはされていません。誤動作する可能性もあるので、アプリケーション領域のチェックをする必要があります。そこでアプリケーション領域に書き込みをした際に、CRC演算をしてアプリケーション領域のチェックサムを求め、コードフラッシュに書き込んでおき、再度電源を投入した際に、アプリケーション領域のチェックサム値を求め、書き込んだチェックサム値と比較することで、アプリケーション領域に有効なアプリケーションを含んでいるか判定しようと思います。

それでは、機能を構築していきたいと思います。