ブロック図下部に注目するとプリスケーラ ブロックに気付くでしょう。続いて、
タイマ/コンパレータ/周期レジスタ構造、さらにポストスケーラがあります。
ブロック図上部の新しい構造は、簡単に2つの部分に分ける事ができます。左側 にある入力信号マルチプレクサ(ISM)を使うと、タイマリセット信号を多数提供できます。
右上の部分は、タイマ操作を周期的にするかワンショットにするか制御するかの選択肢を 提供します。
動作原理
まず第一に、HLTは8ビットタイマです。このため、CCP-PWMモジュール動作への関与 を含む周期イベントを生成する、標準のプリスケーラおよびポストスケーラの選択肢を備え ています。
HLTは標準8ビットタイマ以外に、以下の機能を備えています。
• 選択肢が大幅に増えた参照クロック入力(各種オシレータ、CLC出力、ゼロクロス 検出イベント、外部ピンを含む)
• ワンショット動作(単一周期が完了するとリセットして即座に再開するのではなく自 動停止する機能)
• 最も重要なタイマ リセット イベント入力(設定された周期/パルス幅に達す る前にタイマカウントをリセット可能)
• リセット/開始/停止モード(選択したエッジが検出されるまで、リセット後も同じタイ マリセット イベントがカウンタを保持)
アプリケーション
ハードウェア リミットタイマの使い方が良く分かる例を以下に挙げます。マイクロコントロー ラが周期的にある動作を開始し、短い遅延後にセンサ入力によって確認されるアプリケー ションを想定しましょう。ここで、センサ入力が欠損した場合、または信号入力が遅過ぎる 状況を考えてみましょう。これはフォルト、または安全性リスクをもたらしかねない例外イベ ントを意味します。従来のアプローチでは、適切な制限時間を持つタイマを設定する必要 があるでしょう。タイマがこの制限時間に達すると、予防措置を取るようMCUに要 求する割り込みが必要です。しかし、 (同時に複数の割り込みが有効である場合)割 り込み応答時間は予測不可能であり、割り込みレイテンシがひどく長くなる(nsオーダーが 必要な時に数十ms)可能性があります。また、少数の非同期イベントが関係するだけで、
たいていソフトウェアが複雑になりデバッグが手に負えなくなります。このようなアプリ
ケーションの例として、ホールセンサによる速度フィードバックを備えたモータ 制御システムと、ピーク電流フィードバックでインダクタの電流サージを計測す るスイッチング レギュレータ(電源)が挙げられます。
HLTなら、タイマ周期に達する前にタイマリセット入力を受信しなかったら出力を自動的 に有効にできます。こうする事で、この問題を簡単に解決できます。HLT出力を他の周辺 モジュールの入力(PWM自動シャットダウン等)か、安全性スイッチを直接駆動するピンに 直接接続できます。自律、高速応答、CPU負荷の軽減というCIPの理念から見た場合、
これは非常に重要です。
制限事項
結局のところHLTは8ビットタイマに過ぎないため、適用範囲の限界は分解能によって 決まります。
16ビット以上の粒度で長めのタイムアウト時間が求められる場合、代わりにSMT(信号計 測タイマ)を検討すると良いでしょう。
外部イベントへの応答(再トリガ可能なワンショット)として非常に短いパルス(数十ns)を生 成する必要がある場合、COGの非同期デッドバンド制御を検討してください。
MCC が生成する API
MCCは、HLTを特殊な8ビットタイマとしてしか扱いません。このため、使用可能な周辺 モジュールのリストにHLTは含まれません。(HLTを備えたデバイスで)8ビットタイマを有 効にすると、対応するダイアログ ウィンドウには非常に豊富な参照クロックオプション(ク
ロックISM)が含まれ、リセット要因と開始/リセットオプションの両方の選択ボックス(ISM)が
追加されている事が分かります。
生成されるファイル名はtmr2.c(または別の偶数)となり、APIは以下のような数種類の新 しい関数のみを含みます。
• TMRx_ModeSet() - HLTモードを動的に変更できます。
• TMRx_ExtResetSourceSet() - タイマリセット入力源を動的に変更できます。
ピン配置
ペリフェラル ピンセレクトを備えた最近のデバイスはほぼ例外なくHLTを実装しているた め、任意のデジタルピンにタイマリセット入力を割り当てる事ができます。唯一の例外とし て、PIC16F1612/3モデルはHLTを実装していません。
ホームワーク
• HLTの挙動をWDTモジュールと比較してみましょう。
• HLTの挙動をウィンドウ計測モードでのSMTと比較してみましょう。
• 短い パ ル ス が必要 な 時 にHLT(シ ン グ ル ショッ ト モ ー ド)を 使 っ た場合 と
CWG/COGを使った場合を比較してみましょう。
オンライン リソース
『TB3122 - PIC®マイクロコントローラの内蔵ハードウェア リミットタイマ』