ルネサス・マイコン R8C/M11,M12シリーズ 工作工房

更新: 2014/1/3

R8C/15工作工房はこちらに引っ越しました。

●トランジスター技術2005年4月号にR8C/15の紹介がありましたが、コンパクトな付録基板が付いており、 ホビー用途に、またこれから組み込みマイコンを勉強する方々にとても使い安い基板だと思いました。
マイコンは沢山の品種がありますが、ホビー用途としては「入手し易く」「組み付け易い」DIPパッケージが好まれるでしょう。 その点PICマイコン の品種はDIPの小ピンマイコンが豊富であり、お馴染みの「秋月電子」からも安価に購入出来ます。
しかし、小ピンPICマイコンは少々「癖」があり敬遠してました。

●が、先日ふと「秋月電子」を覗いたらルネサスのR8CシリーズでDIPマイコンが販売されている事に気づきました。
早速R8C/M11, R8C/M12 の双方を購入して使ってみましたが、これがなかなか素晴らしいです。この機能で1個100円とは驚きです。 ROM容量は2k,4k,8kバイト。RAM容量は256,384,512バイトの3品種で、「秋月電子」で販売しているのはROM-2k,RAM-256のみです。
小ピンでROM,RAM,I/O数が少ないですが、CPUコアーは上位クラスのM16Cと同じですのであなどれません。このマイコンを使いこなせば上位クラスのM16Cに ステップアップする事も容易です。

そして、このマイコンの驚く事は、メーカー保証外ですが「ROM容量32K」,「RAM容量1280バイト」を装備している事です。ホビー用途であればメーカー保証外のROM,RAM領域を 使っても問題無いでしょう。2Kマイコンの価格で32Kまで使える訳ですから、このマイコンを使わない手はありません。
もう小ピンPICマイコンは片付けて、このマイコンを「使い倒し」しちゃいましょう。

●ソフト開発環境も充実しています。ルネサスHPから無料で ダウンロード 出来ます。先ずは以下の4つをダウンロードしてインストールしましょう。
  1)統合開発環境 High-performance Embedded Workshop V.4.09.01 フルアップデート
  2)コ【無償評価版】M16Cシリーズ, R8Cファミリ用Cコンパイラパッケージ M3T-NC30WA V.5.45 Release 01
  3)R8C E8a エミュレータデバッガ V.1.05.01 (E8aエミュレータソフトウェアV.1.05 Release 01のデバッガパッケージ版)
  4)【無償評価版】フラッシュ開発ツールキット V.4.09 Release 02
フラッシュ・ライターはPCとマイコンを繋ぐインターフェース装置が必要になりますが、 E8aかUARTの何れかになります。
E8aは15000円位しますので、お試しで済ませたい人にはUART接続が良いでしょう。 この場合USB-UART変換モジュールがお勧めです。




◆◆◆赤外線リモコン信号解析ツールの製作◆◆◆
先ずは定番の 「赤外線リモコン」信号を受信するソフトを作ってみました。
このマイコンは 赤外線受信モジュールから出力されるパルス幅測定にぴったりの 機能を持っているので、とてもシンプルなソフトで簡単に測定出来ます。
マイコンに精通している人には簡単で面白くもないソフトですが、これからマイコンを学ぶ人にはとても良い教材だと思います。




★リモコンのどのキーが押されたかを識別するソフトが出来れば、色々な応用が考えられます。
  1)電灯のON/OFF遠隔操作。
  2)電灯の調光遠隔操作。
  3)近距離のラジコン自動車。
  4)金庫の鍵、ドアーの鍵の様な用途。
  5)多数ある操作パネルのスイッチ類をリモコン・スイッチ化する事でコンパクトな装置の設計。
 マイコンが安い、そしてリモコンは既存品を再利用できるので、その他応用は無限です。

★では先ず、赤外線受信モジュールの 出力波形(リモコン信号の波形)を理解する必要があります。 それにはオシロスコープで観測するのがベストですが、 家電製品のリモコン信号は概ね同じなので、オシロスコープが無くても解析出来るツールを制作します。 制作すると言っても、特別な装置を作る訳ではありません。 赤外線信号をR8C/M11で受信し、測定結果のインプット・キャプチャー値をUARTに出力します。このUART信号をパソコンで受信してパソコンで解析します。
これを使うと、 オシロスコープでパルス幅を測定するよりも、迅速、的確に解析出来ますので是非お試し下さい。

  ソフト(1)ダウンロード
  パソコン側の動作確認:win xp/win7

  ソフトの構成
  




◆◆◆データ・ロガーの製作(追記:2014/5/1)◆◆◆
上述したROM容量32Kバイトとは本当でしょうか?
試しにSDメモリーに温度を記録するデータ・ロガーを作りましたが、これに要したROM容量が約26Kバイトで問題なく作動しています。
又、RAMは1280バイト中1086バイト(スタック領域を含む)使っています。マイコンはI/O数からR8C/M12(ROM2K版)を使用。

ブレッドボードで作動評価してから、外形寸法W58mm×H18mm×D95mmのケースに収めてみました。

 
★主な使用部品(詳細は回路図を参照)
 1)マイコン:R8C/M12(ROM-2K)
 2)I2Cインターフェース液晶表示
 3)時計ICモジュール
 4)DC-DC昇圧IC
 5)マイクロSDコネクタ
 6)サーミスタ温度センサー
 7)IC温度センサー
 8)ボタン・スイッチ
 9)樹脂ケース

★ロガー機能の概要
 1)SDはFAT16のみで2Gバイト迄使用可能。
 2)SDにはロングネームが使用可能で、記録開始した日付、時刻をファイル名とする。(例:LOG_140501_125022-1.CSV)
 3)保存するデータはCSV形式とし、<時刻>,<温度>,<温度>,<温度>,<温度>,<電池電圧>の様に1行を構成する。
 4)2つのプッシュ・スイッチで時計設定、記録間隔時間選択、記録開始/停止、温度表示チャンネル切り替え機能。
 5)電池の電圧を監視して2v以下を検出したら記録を自動停止する。
 6)センサー仕様に応じて対応可能とする為に、SDにセンサー仕様定数を記述したファイル を読み込み対応する。
 7)A/D入力は4チャンネル入力可能で、何れのチャンネルにも「サーミスタ温度センサー」「IC温度センサー」を割り当てが可能。
 8)主電源の電池を交換の際は、3vのボタン電池で時計ICをバックアップする。
 9)900mAのニッカド単四電池で、3〜4日間連続記録が可能。



回路図
温度センサーを何処のチャンネルに接続するかは自由です。上述のファイル を書き換える事で対応出来るので自由度があります。
電源はDC-DCで3.3vに昇圧してマイコンを動作させています。これにより入力電圧は1v弱まで3.3vを維持出来るので電池1個でも動作は可能ですが、 連続作動時間が短くなってしまうので、 電池2個使いとしています。

★実測波形
 1)インターフェース波形
   時計IC、液晶表示IC、SDメモリーとのインターフェース実測波形です。
 2)フラッシュROM書き込み/消去速度
   書き込み及び消去のサスペンド機能を観測出来る様にしたポート出力波形。

取り扱い説明
2つのプッシュ・スイッチで各動作を操作するので若干複雑ですが、多くの操作機能を詰め込んであります。

β版ダウンロード 2014/6/13版
先ずは書き込みファイルのみですがお試し下さい。
暇な時にソフトを見直し改善、バグ修正してますので、日付を見て最新のものをお試し下さい。

★その他
32KのROMがあると結構遊べます\(^o^)/




◆プログラミング手法の一般論に付いて
■マルチタスクに付いて(IT辞典引用)
 以下の事柄は後述する「RTM_R811」の説明に必要な機能であり、これらを実現する為の機能を「RTM_R811」が提供します。
◆マルチタスク・プログラミング
それぞれのプログラムをタスクと呼び、同時に動いているようにするしくみをマルチタスクといいます。 タスクが同時に動くように見えても、実際には、タスクが順番に実行されているだけです。
しかし、プログラムをタスクとして扱うことができるようになると、同時に複数の処理や、複雑な組み合わせの処理が簡単にできるようになります。

◆ノンプリエンプティブマルチタスク
マルチタスク処理の実現方法の一つで、CPUをOSが管理しない方式です。 実行中の各アプリケーションソフトが、自分が処理を行わない「空き時間」を自発的に開放することによって、 他のアプリケーションソフトと同時実行できるようにする方式です。
ノンプリエンプティブマルチタスクは「協調型マルチタスク」とも呼ばれ、 動作するプログラムが他のプログラムと相互動作可能に設計されている必要があります。

◆イベント駆動型プログラミング
ユーザーやOSなどから入出力などの要求が発生した時点で実際の処理を実行するプログラムの動作方法です。 またはイベントドリブンとも言います。
イベント単位でプログラミングが行えるため、処理の分割や開発が容易になります。


◆組み込みマイコンのプログラミングに付いて
■スタートアップ・ルーチンに付いて
◆スタートアップルーチンでは、CPUの動作モードの設定やスタックポインタの設定、及び変数領域の初期化等を行います。 最後にメイン関数へのジャンプ命令を書いて、スタートアップルーチンは終了します。
その他、割り込みベクターアドレスの設定や、ROMコードの配置アドレス、RAMの使用開始アドレスの定義、及び各セクション定義を含みます。
詳しくは こちら や こちら 及び こちら を参考にして下さい。

■リアルタイム・モニター(RTM_R811)に付いて
◆組み込みマイコンにはスタートアップ・ルーチンが不可欠ですが、初心者には少々扱いが面倒です。
RTM_R811はスタートアップルーチンを含みますので、組み込みマイコン固有のコーディング手間を軽減出来ます。 また、上記マルチタスク処理を実現する為の超シンプルなOS機能を持ち、容易にマイコンを扱える様に支援します。
尚、基本機能は「R8C/15工作工房」で説明している「RTM_R15」と同等の機能ですので、 そちらも参考にして下さい。

◆つづく
 
お問い合わせ
Copyright (C) 2017. 【edapyon.com】 All Rights Reserved.