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
© Copyright 2024 ExpyDoc