60歳からの電子工作ノート

生涯学習として取り組んでいます。

「熱電対付きサーモグラフィの試作(ファームウェア 2/2)」

マイコンのAD変換、シリアル通信、ファイル一覧とルネサスフラッシュプログラマについて書いています。

AD変換

熱電対による温度測定のためのAD変換です。100msec毎にAD変換を開始します。

図1. A/D 変換のタイミングと割り込み処理 (DSAD0)

図2. A/D変換割り込みとスキャン終了割り込み

シリアル通信(SCI1)

ボーレートとデータフォーマット

 資料1*1の「28.2.11 ビットレートレジスタ(BRR)」「表28.10」より、ボーレート (B)=1Mbpsとした場合のレジスタBRRへの設定値(N)は、

 N=  \dfrac{ 32  \times 10^{6} } { 64 \times 2^{-1} \times 10^{6}  } - 1  = 0

誤差(E)は、

 E =  \{\dfrac{ 32  \times 10^{6} } { 10^{6} \times  64 \times 2^{-1} \times ( 0 + 1)  } - 1 \}  \times 100 = 0    となります。

(PCLK = 32 [MHz],  n = 0 の場合)

図3. レジスタ設定値とボーレート

 調歩同期式シリアル通信のデータフォーマットは、データ長8bit,パリティなし,1Stopビットとします。送信時には b0から送信されます。(資料1. 「28.3 調歩同期式モードの動作」)

図 4. データフォーマット
受信と送信の例

図5. マイコン受信と送信例 (1 [Mbps])
送受信処理

送受信にははDMAを使用します。資料 2*2 と同じです。

コマンドとレスポンス

パソコン側からのコマンドを受信するとレスポンスを送信します。

補正データ読み出し用とモニタ用があります。

図6. 補正データ(EEPROM)読み出しコマンドとレスポンス

図7. モニタコマンドとレスポメモリマップ

使用メモリとマップファイル

ROMは約19[Kbyte]、RAMは約24[Kbyte] 使用しています。

スタック領域に約3.5[Kbyte]確保しています。これはMLXのライブラリィのためです。

図 8. mapファイルとtotalサイズ

CS+のスタック見積もりツール(CS+のメニュー ツール→スタック見積もりツールの起動)により各関数の使用スタックサイズがわかります。

図9. MLXのライブラリィ関数のスタックサイズ

ファイル一覧

図10. ファイル一覧

登録場所: https://github.com/vABCWork/test_MLX90640


ルネサスフラッシュプログラマのテスト

 CS+で作成したプログラムをエミュレータを使用せずに、ルネサスフラッシュプログラマで書き込みます。CPUボードのJ9をCloseして、Bootモード(SCIインターフェイス)にします。USBシリアル通信でパソコンと接続します。

図11. フラッシュプログラマによる書き込み

手順:

1)  ルネサスフラッシュプログラマで新しいプロジェクトを作成します。

マイクロコントローラ: RX200

プロジェクト名: FlashTest1

作成場所:  を入力します。

 通信のツールは 「COM port」を選択します。

図12. プロジェクトの作成

2)CPUボードとUSBケーブルを接続。CPUボードの電源をONし、「ツール詳細」を押します。選択しOKボタンを押します。その後、「接続」ボタンを押します。

図13. COMポートによる接続

3)書き込みするプログラムファイル(mot形式)を選択します。その後、「スタート」ボタンを押します。異常終了となった場合は、再度CPUボードの電源を投入しやり直します。

図14. プログラムの書き込み 異常と正常

4)CPUボードのJ9をOpenし、「シングルチップモード」にしてCPUを起動します。



 

*1:資料1「RX23E-Aグループ ユーザーズマニュアル ハードウェア編 ( R01UH0801JJ0120 Rev.1.20)」

*2:資料2「新ペルチェ制御用ボードの試作 ソフトウェア2」 https://vabc.hatenadiary.jp/entry/2023/05/15/164238