情報処理 タイマの基礎 R8C タイマの基礎.

Slides:



Advertisements
Similar presentations
論理回路 第 12 回 TkGate 実習 - 順序回路 38 号館 4 階 N-411 内線 5459
Advertisements

第5章 JMPのインストールと基本操作 廣野元久
TTimer タイマーコンポーネント 一定時間ごとにイベントを起こして処理をおこなう.
マイコン入門実践教育プロセス説明 第4システム部 ES443 塩島秀樹.
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
USB2.0対応PICマイコンによる データ取得システムの開発
テープ(メモリ)と状態で何をするか決める
C言語 配列 2016年 吉田研究室.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
情報科学1(G1) 2016年度.
シミュレーション物理7 乱数.
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
プログラムはなぜ動くのか.
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
割 込 み(1) オペレーティングシステム No.5.
割り込み.
CSP記述によるモデル設計と ツールによる検証
情報電子工学演習V(ハードウェア実技演習) PICマイコンによる光学式テルミンの製作
CC/7700,CC32を用いた データ収集システム 筑波大学 木村 博美 小松原 哲郎 (c)2007 木村博美 筑波大学.
画像処理ボード上での 高速テンプレートマッチングの 実装と検証
割り込み.
PIC制御による赤外線障害物 自動回避走行車
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
肩たたきロボットの試作 T21R009 工学部 ロボット工学科  松下 拓矢 棒読みにならず話しかけるようにやる。
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第3週目
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
R8C/Tiny I/Oポートの仕組み.
実行時情報に基づく OSカーネルのコンフィグ最小化
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
オペレーティングシステムⅡ 第13回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
実習問題の解き方 JIS3-3の場合.
フリーソフトでDVDのコピーをしてみよう
Processing使用の準備.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
ディジタル回路の設計と CADによるシステム設計
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
コンピュータアーキテクチャ 第 7 回.
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
R8C/Tinyマイコンの基礎.
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
第4回 ファイル入出力方法.
ネットワークプログラミング 05A1302 円田 優輝.
電機情報工学専門実験 6. 強化学習シミュレーション
オペレーティングシステムJ/K 2004年11月15日2時限目
第11回 よく使われる順序回路 複数のFFを接続した回路を解析する際の考え方を学ぶ カウンタ回路の仕組みを理解し,設計できるようにする 瀬戸.
組込みシステムとは コンピュータ制御システム?
プログラミング演習I 2003年7月2日(第11回) 木村巌.
マイコンプログラムの実際.
電気・機械・情報概論 VBAプログラミング 第1回 2018年6月25日
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
エレクトロニクスII 第12回増幅回路(1) 佐藤勝昭.
メカトロニクス 12/15 デジタル回路 メカトロニクス 12/15.
コンピュータアーキテクチャ 第 4 回.
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
数値解析 第6章.
ILC衝突点ビームモニターのための 読み出し回路の開発
コンパイラ 2012年10月11日
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
プログラミング演習II 2004年11月 2日(第3回) 理学部数学科・木村巌.
情報処理 ADコンバータの基礎 アナログ電圧値をディジタル・データとして取 り込む
Presentation transcript:

情報処理 タイマの基礎 R8C タイマの基礎

情報処理 タイマの基礎 タイマの概要 ここでは、タイマの種類やできることの概要を 学びます

タイマで出来ること 一定の時間間隔を得る パルス信号の出力 パルス数のカウント パルス幅やパルス周期の測定 ・・・ など 一定時間間隔毎に割込みを発生させる パルス信号の出力 パルス数のカウント パルス幅やパルス周期の測定 ・・・ など

一定時間間隔を得る 時間 割込み クロックをもとに、一定時間間隔を得る まず、カウンタの値を任意の初期値(例 10)に設定 まず、カウンタの値を任意の初期値(例 10)に設定 クロックを利用してカウンタを1減らす(たとえば、20MHz(50ns))で1だけ減らす 同じことを繰り返し、カウンタがアンダーフローしたら(0からさらに1減らしたら) カウンタの値を初期値に戻す 割込み 以後、2→3を繰り返し

一定時間間隔を得る 時間 割込み クロックをもとに、一定時間間隔を得る まず、カウンタの値を任意の初期値(例 10)に設定 まず、カウンタの値を任意の初期値(例 10)に設定 クロックを利用してカウンタを1減らす(たとえば、20MHz(50ns))で1だけ減らす 同じことを繰り返し、カウンタがアンダーフローしたら(0からさらに1減らしたら) カウンタの値を初期値に戻す 割込み 以後、2→3を繰り返し

一定時間間隔を得る 時間 割込み クロックをもとに、一定時間間隔を得る まず、カウンタの値を任意の初期値(例 10)に設定 まず、カウンタの値を任意の初期値(例 10)に設定 クロックを利用してカウンタを1減らす(たとえば、20MHz(50ns))で1だけ減らす 同じことを繰り返し、カウンタがアンダーフローしたら(0からさらに1減らしたら) カウンタの値を初期値に戻す 割込み 以後、2→3を繰り返し

一定時間間隔を得る 時間 割込み クロックをもとに、一定時間間隔を得る まず、カウンタの値を任意の初期値(例 10)に設定 まず、カウンタの値を任意の初期値(例 10)に設定 クロックを利用してカウンタを1減らす(たとえば、20MHz(50ns))で1だけ減らす 同じことを繰り返し、カウンタがアンダーフローしたら(0からさらに1減らしたら) カウンタの値を初期値に戻す 割込み 以後、2→3を繰り返し

一定時間間隔を得る 時間 割込み クロックをもとに、一定時間間隔を得る まず、カウンタの値を任意の初期値(例 10)に設定 まず、カウンタの値を任意の初期値(例 10)に設定 クロックを利用してカウンタを1減らす(たとえば、20MHz(50ns))で1だけ減らす 同じことを繰り返し、カウンタがアンダーフローしたら(0からさらに1減らしたら) カウンタの値を初期値に戻す 割込み 以後、2→3を繰り返し この動作で、カウンタとはプログラム中の変数ではない(ソフトウェアで機能を実現しているのではない) 機能はハードウェアで実現されている(レジスタで初期値等を設定すれば自動的に一定時間間隔の割込みが発生する)

パルス信号を出力 時間 出力 割込みの代わりに、ある出力端子の電圧を反転させる機能をもたせれば パルス信号を出力できる

パルス信号を出力2 時間 出力 カウンタに設定できる初期値を2つ用意して交互に利用すれば (たとえば、High出力時間を決めるカウント値=2、        Low出力時間を決めるカウント値=10 など) パルス信号を出力できる

パルス数カウント 時間 パルス10回 割込み これまでは、カウンタは内部クロックを元に動作していた カウンタを、外部から入力されるパルスをもとに動作させたら?                  ↓ 外部からの一定数のパルスが入力される毎に割込み発生

パルス数カウント 時間 パルス10回 割込み これまでは、カウンタは内部クロックを元に動作していた カウンタを、外部から入力されるパルスをもとに動作させたら?                  ↓ 外部からの一定数のパルスが入力される毎に割込み発生

パルス数カウント 時間 割込み これまでは、カウンタは内部クロックを元に動作していた パルス10回 割込み これまでは、カウンタは内部クロックを元に動作していた カウンタを、外部から入力されるパルスをもとに動作させたら?                  ↓ 外部からの一定数のパルスが入力される毎に割込み発生

パルス数カウント 時間 割込み これまでは、カウンタは内部クロックを元に動作していた パルス10回 割込み これまでは、カウンタは内部クロックを元に動作していた カウンタを、外部から入力されるパルスをもとに動作させたら?                  ↓ 外部からの一定数のパルスが入力される毎に割込み発生

パルス数カウント 時間 割込み これまでは、カウンタは内部クロックを元に動作していた パルス10回 割込み これまでは、カウンタは内部クロックを元に動作していた カウンタを、外部から入力されるパルスをもとに動作させたら?                  ↓ 外部からの一定数のパルスが入力される毎に割込み発生

タイマで出来ること 一定の時間間隔を得る パルス信号の出力 パルス数のカウント パルス幅やパルス周期の測定 ・・・ など 一定時間間隔毎に割込みを発生させる パルス信号の出力 パルス数のカウント パルス幅やパルス周期の測定 ・・・ など

R8C/Tiny タイマの種類(p253) タイマX タイマZ タイマC 8ビット・プリスケーラ付き8ビット・タイマ パルス出力モード/パルス幅測定モード等がある タイマZ ワンショット発生モード等がある タイマC 16ビット・タイマ インプット・キャプチャ/アウトプット・コンペアモード等 がある

カウンタのカウント方法 プリスケーラ付き (タイマX 、 タイマZ)(P255 図21-1など) カウントソース f1:20MHz f8:(20/8)MHz fRING: f2:(20/2)MHz 8ビットプリスケーラ 初期値は0~255まで設定できる 8ビットカウンタ 初期値は0~255まで設定できる 例1) f1:20MHz 周期T=0.05μs プリスケーラ初期値 prex = 0 カウンタ初期値 tx = 0 初期化 prex=0 tx=0 1.プリスケーラダウンカウント 2.プリスケーラアンダーフロー 3.カウンタダウンカウント 4.カウンタアンダーフロー 5.イベント(割込みや出力反転等) タイマ周期 0.05μs×(prex+1)×(tx+1) =0.05μs  (p259 式(21-1))

カウンタのカウント方法 プリスケーラ付き (タイマX 、 タイマZ)(P255 図21-1など) カウントソース f1:20MHz f8:(20/8)MHz fRING: f2:(20/2)MHz 8ビットプリスケーラ 初期値は0~255まで設定できる 8ビットカウンタ 初期値は0~255まで設定できる 例2) f8:2.5MHz 周期T=0.4μs プリスケーラ初期値 prex = 2 カウンタ初期値 tx = 1 初期化 prex=2 tx=1 1.プリスケーラダウンカウント 1.プリスケーラダウンカウント 1.プリスケーラダウンカウント 1.プリスケーラダウンカウント 1.プリスケーラダウンカウント 2.プリスケーラアンダーフロー 3.プリスケーラ初期化(prex=2) 3.カウンタダウンカウント 1.プリスケーラダウンカウント 2.プリスケーラアンダーフロー 3.プリスケーラ初期化(prex=2) 4.カウンタダウンカウント 5.カウンタアンダーフロー 6.カウンタ初期化(tx=1) 5.イベント タイマ周期 0.4μs×(prex+1)×(tx+1) =0.4μs×3×2 = 2.4μs  (p259 式(21-1))

演習1: タイマXインターバル・タイマ・モードによるLED点滅 p257-260を読み、プログラムを作成・実行して動作を確認する プログラムは、リスト21-1~21-3(p260)およびset_MainCLK関数(p199)を基にして作成 する 割込み(可変ベクタテーブル)を利用するため、設定として、教科書p211「コンパイルオ プションを使う方法」(図19-7)を読み、-fMVTオプションを指定する タイマだけでは動作が速すぎるため、割込み処理関数が50回呼び出されるとLEDが反 転するようにプログラムされている(リスト21-3) シミュレータで実行の場合は、タイマX割込みをシミュレータで動作させるために、  [表示]-[CPU]-[I/Oタイミング設定] によって、I/Oタイミング設定ウインドウを開き、  [読み込み] によって、timerx.iosファイルを読み込む。(timerx.iosファイルは配布します) また、  [表示]-[グラフィック]-[GUI I/O] によって、GUI I/Oウインドウを開き、右クリック「読み込み」で、timer_x.pnlを読み込んで、 LEDをGUIで確認できるようにする。(timer_x.pnlは配布) その後、シミュレータを実行する。 

シミュレーション図解 コンパイルしたプログラム をダウンロード シミュレータ GUI I/Oを作成し利用 表示 グラフィック デバッグ  グラフィック   GUI I/O     timer_x.pnlファイル     (このファイルは配布) デバッグ  ダウンロード タイマなどのハードウエアの動作を 記述したスクリプトファイルを登録 表示  CPU   I/Oタイミング設定     timerx.iosファイル(このファイルは配布)

演習2: タイマZインターバル・タイマ・モードによるLED点滅 p261-268を読み、プログラムを作成・実行して動 作を確認する 教科書では、LEDを3個利用しているが、授業用回路 には2個(p1_1, p1_2)しかないので、2個のLEDで動 作するようにプログラムを修正する。