R8C/2Aで10MHzのクロック発生と
             FT245RでPCと通信


 ルネサス社のマイクロコンピュータ R8C/2Aの高速オンチップオシレ―タを使い、10MHzのクロック発生とFT245RでPCと通信をしました。
 R8Cは、高性能で安価なマイコンで、ワンチップの内にCPU,メモリ、タイマ、AD等周辺回路がギッシリと詰まってる上、微小な電気で動いてくれます。その上R8C/2Aには、40MHzの高速オンチップオシレ―タも内蔵しています。
 ここでは、R8C/2Aを使い、40MHzの高速オンチップオシレ―タから10MHzのクロックを得ることと、FT245Rを接続してUSBでパソコンと通信しました。

●R8C/2Aの構成と動作概要

 次は、確認したR8C/2Aの構成の写真です。  R8C/2A2は64PinQFPパッケージなので変換基板に実装しました。R8C/2Aの上は、FT245Rでパソコンと接続しています。R8C/2A基板の左は、デバッガのE8aです。

 動作概要を次に示します。
 ・リセット直後、R8C/2Aは低速発振で動作するので、40MHzの高速OnChipオシレ―タに切り替える。
 ・高速OnChipオシレ―タのクロックをタイマRAでカウントして作った、10MHzのクロックをIOポートに出力する。
 ・タイマRBでカウントして作った25mS毎のクロックで、スイッチの内容を取り込み、チャタフリーする。
 ・スイッチの内容に従って、LEDの点滅とFT245Rを介してパソコンにメッセージを送信する
 ・パソコンは、メッセージを受信して表示。





●40MHzの高速オンチップオシレ―タから10MHzのクロックを得る

 次に示す、タイマRAを使って10MHzのクロックをIOポートに出力する構成と信号の流れの様に、TRAO端子から10MHzのクロックが得られました。
 これは、ルネサス社が発行している、タイマRA(パルス出力モード)のアプリケーションノート  RJJ05B0954を参考にしました。





 タイマ RAと RB の初期化関数を次に示します。





●スイッチをチャタフリーして、FT245Rを介してパソコンにメッセージを送信

 タイマRBでカウントして25mS毎のスイッチをチャタフリーするタイミングを作り、このタイミングにあわせてプログラムで作った3段のシフトレジスタにスイッチの内容を取り込みチャタフリー処理をしました。 タイマRBの動作は、ルネサス社が発行している、タイマRB(タイマモード)のアプリケーションノート  RJJ05B0958を参考にしました。

 次は、Main 関数のメインループの先頭で25mS毎のタイミングでスイッチを入力してチャタフリーしていいる部分です。
 スイッチの状態が変化すれば、変化したスイッチが PB0 ならFT245にメッセージを送信します。





 次は、Ft245送信関数です。
 スイッチの状態変化検出でFT245に送信するメッセージを受けて、メッセージをFT245に書き込みます。





●パソコンでのメッセージの受信と表示

 パソコンのプログラムは、WindowsのVisualC++2008のMFCを使ってダイヤログベースで作りました。
 受信ボタンを押すと、FT245Rのドライバを開き、FT245Rからメッセージを読み込み表示します。













ホームへ戻る