R8C/15 電子工作工房

C言語は少々知っているが、組み込みマイコンは初めて。と言う方を対象にしています。
RTM_R815に付いて不明、疑問点で返信が必要な事項はこちらから問い合わせ下さい。但し、回答の義務は負いません。
尚、マイコンの一般論、C言語の一般論に付いての質問はご遠慮願います。

掲示板へはこちらから

はじめに ▼読む ▲閉じる

組み込みマイコンにチャレンジして挫折した、或いは使いたいけど「敷居が高そう」、「面倒」と思っている人は少なくないでしょう。 組み込みマイコンを動作させるには「スタートアップ・ルーチン」の理解と、各「レジスタ」の理解は不可欠です。 そして、マイコン内蔵の周辺機器は用途に応じて様々な動作が出来る様に多機能なっているので、周辺機器のハードウェアーをある程度理解しなければ意図する動作をさせる事は出来ません。 しかし、LED、リレー等を単にON/OFFさせる程度であれば、I/Oポート操作だけで済むので、全ての機能を理解しなくても動作させる事は出来ます。

とは言え面倒な事は兎も角、初心者にも簡単に、そして直ぐに動かせる方法は無いものか!。そう考えている人は少なくないでしょう。


そこで、初心者にも手軽に扱える様にする為に以下のプログラムを用意しました。 1)リアルタイム・モニター「RTM_R815」
2)ライブラリー「R8C15.LIB」
3)サンプル・プログラム各種

■RTM_R815は「スタートアップ・ルーチン」を含み、全レジスタの初期化処理を済ませ、その後にUSERプログラムを実行させます。
プログラム(関数)を作ったら、その関数名を「TDT.h」のファイルに記述してコンパイルすれば完成です。例えばLEDを点灯させるプログラムであれば、実際に作るプログラムはこれだけです。

■R8C15.LIBは特にパソコンとUART通信を簡単に扱う為の関数集です。マイコンを制御する為の入出力機器として、また動作結果の確認として、パソコンとの通信機能を備えて置くと応用が広がります。 例えば、UARTを介してパソコンに表示させる為に作るプログラムはこれだけです。

■更にサンプル・プログラムを各種用意しましたので、これらを参考にすると良いでしょう。 各サンプル・プログラムは動作させるのに必要なソース・ファイル全てがセットになっていますので、理屈は兎も角、動作させて体験する事が出来ます。
又、パソコン側の通信プログラムはVBAで用意していますので、全てのサンプル・プログラムを動作させる際に作るプログラムは一切無く、即動作確認出来ます。
先ずは動く物を見て触って実感して、それから各レジスターの設定方法(機能)を勉強するのも一つの方法です。 「百聞は一見にしかず」です。。

このマイコンはフラッシュROMに書き込みの際に、専用のライターは必要無く、パソコンから直接書き込めるので、とても扱い易いです。
これを機に、組み込みマイコンの世界に一歩足を踏み入れて見ませんか。このマイコンを使いこなせれば、他のH8やPICマイコン等も同様に扱える様になるでしょう。

その他使用素子 ▼読む ▲閉じる

☆COMポート
UARTのパソコン通信に際して、COMポートを標準装備して無いパソコンが最近増えています。お使いのパソコンにCOMポートが無い場合は「USB<->RS-232C」変換器が市販されています。
 1.IO-DATA製 USB-RS・232C変換アダプタ
 2.USB・シリアル変換ケーブル
 3.RS232C Dサブ9Pオス−9Pメス ストレートケーブル
☆サンプル・プログラムで使用した素子
1.赤外線リモコン受信モジュール
2.赤外線発光LED
3.I2Cインターフェースの時計IC
4.74HC238   ◆データシート
5.TC4094   ◆データシート
6.7SEG-LED表示モジュール
☆マイコン
●マイコンボードはこちらから販売されてます。
 ◆R8C/15搭載マイコンボード MB-R8CS
●そして、こちらと組み合わせると、USBから電源も供給出来て使い易いです。
 ◆USBシリアル変換モジュール
●IC変換基板はこちらから販売されてます。
 ◆Aitem−Lab
 ◆株式会社ダイセン電子工業

リアルタイム・モニター(RTM_R815)の概要 ▼読む ▲閉じる

RTM_R815は即時応答を必要とするシステムの動作を支援するものです。組み込みマイコンの代表的なOSにμITRON がありますが、タスクの設計思想はまったく異なり、原始的なタスクディスパッチ(タスクの切り替え)機能です。
RTM_R815が管理するタスクは、必ずシステム全体の制御が成立する許容範囲時間内に終了する必要があります。従って、無限ループの形や、ある事象を待つようなプログラムは作成不可能です。

当マイコンの製造メーカであるルネサスからもITRON準拠のリアルタイムOSM3T-MR30/4 が提供されています。興味のある方は御覧下さい。
また、トランジスタ技術 2008年1月号に記載のμITRON準拠のdsPIC用OSの制作も参考になるでしょう。 このプログラム・ソースはこちらのサイトからダウンロード出来ます。

RTM_R815は小規模マイコン用としての「超シンプルなOS」であり、シンプルで有るが故のメリット、デメリットはありますが、 使い方は非常に簡単ですので初心者用とも言えるでしょう。 しかし、用途、使い方次第では十分に応用可能なOSです。そして、このOSもカスタマイズして用途に適合させると良いでしょう。
★RTM_R815の最大の特徴は、「config.h」の定義文に応じて、マイコン全てのレジスタを初期化するC言語ソースを展開し、 初期化処理を含む事です。 言い換えると、この定義文を見れば初期設定状態を一望出来、 「どの様に使おうとしているのか」をある程度知る事が出来ます。
★また、「TDT.h」の定義文に一般タスク(関数名)、割り込みタスク(関数名)を登録しますので、 各タスク構成(システム構成)をこのファイルで一望出来ます。
更に、割り込みタスクを登録の際は、割り込み優先順位の番号もこれに記載しますので、多重割り込み関係が一望出来ます。

上記の「config.h」「TDT.h」、この2つを見ると、タスク構成(システム構成)、制御方法の大筋を知る事が出来ますので保守が容易になります。

RTM_R815ソース・パッケージには、ベースの雛形「config.h」と「TDT.h」が用意されてますので、これを元に所望のアプリケーション・プログラムを組み上げる事になります。 LEDやリレー駆動程度のON/OFF制御であれば、「config.h」は何も変更する必要はありません。
そして、作った制御プログラムの関数名を「TDT.h」に記載すれば、その関数が所定のスケジュールに従って起動されます。

リアルタイム・モニター
RTM_R815
マイコン構築ファイル
Config.h
タスク登録ファイル
TDT.h

ライブラリー(R8C15.lib)の概要 ▼読む ▲閉じる

windows上のC言語プログラムを作成に於いては、強力はハードウェアーと多くの標準関数、更にAPIを利用する事が出来るので、 或意味ではプログラム作成が容易です。例えばキーボード入力関数、画面表示関数、ファイル入出力関数等々のインターフェース関数は既存しますので、 これらを作る必要はありません。

一方組み込みマイコンの場合では、内蔵の周辺インターフェースであるハードウェアーはマイコンの種類毎に扱いが異なり、そのマイコン専用のプログラム作成 が必要になります。そして何をやるにしても、それらの周辺機器を動作させるソフト設計が必要であり、手間の掛かる面倒な作業です。

そこで、R8C/15のマイコンを使うに当たり、幾つかのインターフェース関数、その他の関数をライブラリー化して、1つのファイルにまとめたのが「R8C15.lib」です。 プロジェクト・ファイル作成時に、 この「R8C15.lib」をプロジェクトに追加すれば利用が可能になります。

ライブラリーはモジュール単位でリンクされ、使うモジュールだけがリンクされますので、汎用性のある関数はライブラリー化して利用すると保守が容易になります。
この統合環境コンパイラーHEWは、ライブラリー・モジュールを作る機能もありますので、ライブラリーの更新も自由に出来ます。

後述するサンプル・プログラムは殆どがこれらの関数を使っていおり、パソコン通信は極めて簡単に扱えます。そして、パソコン通信によって、当マイコンと多くの情報交換が容易です。

R8C15.libの主な関数
1.パソコン通信用のUART送受信(38400bps、割り込み使用)
2.UART受信コマンドによる文字列判定と関数分岐。(パソコンからの制御を容易にする)
3.タイマーCを使った汎用パルス幅計測(分解能:1/20MHz、最高測定周波数:10kHz以下)
4.家電用赤外線リモコン信号受信(タイマーCを使用)
5.家電用赤外線リモコン信号送信(タイマーC、タイマーZを使用)
6.マイコン内蔵データ領域フラッシュROM書き込み、及び消去
7.I2Cバス・インターフェース(汎用ポート操作でバス制御)
8.I2Cバス・インターフェースの時計IC制御

サンプル プログラム初級編 ▼見る ▲閉じる

サンプル プログラム応用編 ▼見る ▲閉じる

コンパイル、書き込み手順 ▼見る ▲閉じる

◆コンパイル手順
前述sample1のプログラムを例に、プロジェクト作成からコンパイル迄を説明します。トラ技記載の方法とは異なりますので、ここで記す手順に従って下さい。

◆フラッシュROM書き込み手順
書き込みに際してはパソコンのcomポートから直接書き込めます。このマイコンのBOOTソフトは優れており通信速度を自動認識しますので、パソコンから任意の速度を設定出来ます。 9600bps〜115200bps迄任意であり、最高速度の115200bpsで書き込めば高速に書き込みが終了します。

◆改造ライターのダウンロード
CD同梱、及びメーカーからダウンロードした「FlashStarter」は、書き込むファイルと同一フルダーに「IDファイル」を保存して置く必要があります。
これが少々面倒なので、ライターのソースを変更して「IDファイル」の確認機能を除く様にしました。又、終了時には通信速度を9600bpsに戻す機能も除き即終了する様に変更をしています。
尚、ライターのソースが同梱されていますので、誰でも変更が出来ます。但し、C++のコンパイラーが必要です。

回路図 ▼見る ▲閉じる

各サンプル・プログラムは極力簡単な周辺回路で多くの説明が出来る内容にしています。
この回路図では電源供給に7〜12v供給で、3端子5v定電圧ICを使っていますが、この様な 汎用USB電源 を使えば更に回路がシンプルになります。通常5v、500mAの電源供給仕様です。 このUSB電源は家電量販店、ネット・オークションでも購入出来ます。
◆sample1〜sample10の回路図
◆Appli1〜Appli20の回路図

サポート

オークション落札日から1ヶ月間はサポートしますが、義務を負いません。

但し、RTM_R815、R8C_15.libに関する事項のみです。 マイコン、C言語の一般論についてはご遠慮願います。

免責事項

当ソフト、回路図を使用により、使用者に如何なる事故、損害が発生しても、著作権者はその責任を負いません。

また、バグや欠陥があったとしても、著作権者は修正や改良の義務を負いません。


Copyright (C) 2008. 【edapyon.com】 All Rights Reserved.