4IS ディジタルシステムA (2回目)

IS4 ディジタルシステムA
(周辺回路を使いこなす:タイマ補足)
使用教室:11号棟2F(11-202)コンピュータ演習室
担当教員:熊谷(和),力武
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
1.周辺回路と制御レジスタ ◆レジスタの分類
2
◆レジスタの分類
• CPU
1. 専用レジスタ
アキュムレータ,データレジスタ,アドレスレジスタ など
2. 汎用レジスタ
特定の用途に固定されておらず,命令により各種機能を果たす
レジスタ
3. 特殊レジスタ
ページレジスタ,セグメントレジスタ など
• 周辺回路
1. 制御レジスタ
内蔵された周辺回路の機能を制御するためのレジスタ
周辺回路は,ほぼディジタル回路で構成 ⇒ 制御手段:レジスタ
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
2.周辺回路の基本 ◆I/Oポートの場合(1)
3
◆I/Oポートの場合(ATmega64)
• I/Oポートに求められる機能
入力,出力,方向制御,プルアップ制御
バスと信号ピンの間に回路を設けて要求機能を実現
上図は1ビット分のみ ⇒ 8ビット分まとめて一緒のレジスタで制御
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆I/Oポートの場合(2)
4
• データバスと信号ピンの間の回路の機能
1. 入力 :PINxn (x:ポート名,n:ピン番号)
信号ピンの値の保持(D-FF)
データバスとの間のバッファ
2. 出力 :PORTxn
データバスからの値の保持(D-FF)
信号ピンへ出力するためのバッファ
3. 方向制御 :DDRxn
入力/出力の各経路の切り替え(接続/遮断)
4. プルアップ制御 :PORTxnとDDRxnの組み合わせで制御
プルアップ抵抗の接続/遮断を制御
データバス(CPU)からは,I/Oポートはレジスタ群に見える
⇒そのレジスタ群が制御レジスタ(I/O制御レジスタ)
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
3.タイマを使いこなす ◆タイマの機能
5
◆タイマの機能
• タイマに求められる機能
i. 初期に設定した時間の計測
• 設定時間経過を知る手段
• 計測回数:1回/繰り返し
ii. 設定計測時間の任意タイミングでの変更
• 要求機能の実現方法
i. カウンタ
• オーバーフローフラグ
• 基本を繰り返しに ⇒ プログラム側で使用回数決定
ii. 任意に設定可能な数値との比較機能,比較一致フラグ
• 拡張機能
PWM出力
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆タイマの回路構成(ATmega64)
6
• 計測カウンタ:TCNTn,オーバーフローフラグ:TOVn
• 比較機能:OCRnと比較,比較一致フラグ:OCFn
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆標準動作
[以下,16枚目まで再録]
7
• 最も単純な動作
• 計数方向は常に上昇(+)で,カウンタクリアは実行されない
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆比較一致タイマ/カウンタクリア(CTC)動作
8
• 比較出力OC0の出力を広範囲に設定可能
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆高速PWM動作
9
• 単一傾斜動作
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆位相基準PWM動作
10
• 両傾斜(三角波)動作
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆関係レジスタ
11
• タイマ/カウンタ制御レジスタ(TCCRn)
• タイマ/カウンタレジスタ(TCNTn)
• 比較レジスタ(OCRn)
• 非同期状態レジスタ(ASSR):タイマ/カウンタ0専用
以下は共用
• タイマ/カウンタ割り込みマスクレジスタ(TIMSK)
• タイマ/カウンタ割り込み要求フラグレジスタ(TIFR)
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆クロック選択(TCCR0レジスタ)
IS4ディジタルシステムA
12
Information System Engineering Dept. SNCT
◆動作種別(TCCR0レジスタ)
IS4ディジタルシステムA
13
Information System Engineering Dept. SNCT
◆タイマ/カウンタ割り込み
IS4ディジタルシステムA
14
Information System Engineering Dept. SNCT
○課題1
15
1. (省略)
2. (省略)
【レポート課題】(提出:ソースリスト&フローチャートやPADなど)
3. トグルスイッチ8ビットを2進数8桁の入力とし,入力値に応じて
LEDの点滅間隔を調整するプログラムを作成せよ.なお,入力
値0x80で1秒周期程度とすること.
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆課題1-3の考え方 [ここまで再録]
• 全体
①アルゴリズム,構成を考える
タイマの課題 → タイマ使用
②相応しい機能を選択する
16
• 相応しい機能(タイマ)
①機能選択(間隔調整できるもの)
標準動作
:× 一定間隔
CTC動作
:○ 周期調整 TCCR0=00**1***
PWM動作
:× デューティ調整
②クロック検討
0x80で1秒周期
→ 8MHz/最大1024分周=7812.5Hz TCCR0=*****111
→ 複数回間隔(約30回毎にON/OFF ) 256分周122回も可
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
4.まとめ
17
◆周辺回路
• 周辺回路は様々な機能を付加するもの
• CPUからは,周辺回路は制御レジスタ群として扱える
• うまく利用するとプログラムの単純化,簡略化などが図れる
◆周辺回路を使うには
1. 機能の概要を大づかみで把握
2. 機能の詳細と制御レジスタのビットごとの意味を把握
3. 要求される機能を実現する設定が可能か検討
IS4ディジタルシステムA
Information System Engineering Dept. SNCT