® PSoC Creator™ コンポーネントデータシート タイマ 2.20 特長 専用機能ブロック(Fixed-function: FF)実装と UDB(universal digital block)実装 8、16、24、32 ビットタイマ キャプチャ入力(オプション) 他のコンポーネントと同期をとるためのイネーブル、トリガ、リセット入力 連続またはワンショット実行モード 概要 タイマコンポーネントは時間間隔を測定する方法を提供します。基本的なタイマ関数を実装したり、キャプチャカ ウンタまたは割り込み/DMA 生成によるキャプチャなどの詳細な機能の提供が可能です。 このコンポーネントは FF ブロックまたは UDB を使って実装できます。UDB 実装は通常、FF 実装より多くの機 能を持ちます。簡単な設計の場合は、FF を使って UDB リソースを他の目的にとっておくことを考慮してください。 次の表に、FF と UDB の主な違いを示します。FF と UDB 実装の間には多くの機能的な違いがあります。また FF 実装はデバイスによって違いがあります。様々な実装の詳細なタイミング波形については設定セクションをご 覧ください。 FF 機能 UDB ビット数 8、16 8、16、24、32 Run Mode (動作モード) 連続、ワンショット 連続、ワンショット、割り込みで停止するワンショット カウントモード ダウンのみ ダウンのみ イネーブル入力 有 (ハードウェアまたはソフトウェアイネーブ ル) 有 (ハードウェアまたはソフトウェアイネーブル) キャプチャ入力 有 有 Capture mode (キャプチ 立ち上がりエッジのみ ャモード) 立ち上がりエッジ、立ち下がりエッジ、両エッジ、またはソフ トウェア制御 キャプチャ FIFO 有 (キャプチャレジスタ 4 個まで) 無 (キャプチャレジスタ 1 個) Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600 Document Number:001-79545 Rev** Revised May 23, 2012 ® PSoC Creator™ コンポーネント データシート タイマ FF 機能 UDB トリガ入力 無 有 Trigger Mode (トリガモード) 無 立ち上がりエッジ、立ち下がりエッジ、両エッジ、またはソフ トウェア制御 リセット入力 有 有 ターミナルカウント出力 有 有 割り込み出力 有 (PSoC 3 のみ) 有 割り込み条件 TC、キャプチャ TC、キャプチャ、FIFO フル キャプチャ出力 無 有 周期レジスタ 有 有 周期リロード 有 (リセットまたは TC 時に常にリロード) 有 (リセットまたは TC 時に常にリロード) クロック入力 クロックシステム内のデジタル クロックに限定 任意の信号 タイマの用途 タイマのデフォルト用途は周期イベントまたは割り込み信号の生成です。しかし、その他の用途もあります: クロックをクロック入力に入力し、ターミナルカウント出力を分周クロック出力として使用するクロック分周器をつ くること。 クロックをクロック入力に入力し、テスト信号をイネーブル入力またはキャプチャ入力に入力して、ハードウェア イベント間の時間差を測定すること。 注 イベントの計数に焦点を置く場合はカウンタコンポーネントが適しています。PWM コンポーネントは、センター アライメント、出力キル、デッドバンド出力などの制御機能を持つ複数の比較出力を必要とする状況に適してい ます。 標準的な使用方法では、タイマはイベント間のクロック数を記録します。この例としては、回転速度計センサに よって発生するような 2 つの立ち上がりエッジ間のクロック数を測定します。より複雑な使用法としては、PWM 入 力の周期とデューティサイクルの測定があります。PWM 測定では、タイマコンポーネントを立ち上がりエッジで開始 させ、次の立ち下がりエッジをキャプチャし、次の立ち上がりエッジでキャプチャおよび停止するように設定します。 最後のキャプチャによる割り込みにより、キャプチャされたすべての値が FIFO に用意されていることが CPU に伝達 されます。 Page 2 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 入出力の接続 このセクションでは、タイマのさまざまな入出力接続について説明します。一部の I/O のシンボルは、その I/O の説 明に示される条件において、表示されないことがあります。 注 特記がない限り、すべての信号はアクティブハイです。 入力 非表示の 場合 説明 clock N clock 入力は、 Timer コンポーネントの動作周波数を決めます。つまり、 Timer コンポーネントが有効になっ ている時には、 clock 入力の立ち上がりエッジで、タイマ周期カウントがデクリメントされます。 reset N この入力は同期リセットです。この入力は、少なくともクロックの立ち上がりエッジひとつ分が必要で、カウントと キャプチャカウンタをリセットするように実装されています。reset 入力は、周期カウンタを周期値にリセットしま す。またキャプチャカウンタもリセットされます。 enable Y この入力はタイマハードウェアイネーブルです。クロックの各立ち上がりエッジで周期カウンタがデクリメントする動 作をこの入力で有効にします。この入力がローレベルの場合、出力はアクティブのままですが、タイマコンポーネ ントの状態は変わりません。この入力は、Enable Mode パラメーターが Hardware Only または Software and Hardwareに設定されているときに表示されます。 capture Y キャプチャ入力は、現在のカウント値をキャプチャ レジスタまたは FIFO に取り込みます。この入力は、 Capture Mode パラメーターが None以外のモードに設定されているときに表示されます。キャプチャは Capture Mode 設定に従い、この入力に適用された立ち上がりエッジ、立ち下がりエッジ、または両方のエッ ジで発生します。capture 入力は clock 入力のタイミングでサンプルされます。タイマが無効になっている場 合、カウントはキャプチャされません。キャプチャ入力に外部接続がされずフローティング状態の場合もありま す。キャプチャラインに何も接続していない場合は、コンポーネントが定数ロジック 0 を割り当てます。 trigger Y トリガ入力は設定可能なハードウェアイベントに基づいてタイマのカウント開始または停止を有効にします。こ の入力は、Trigger Mode パラメーターが None以外のモードに設定されているときに表示されます。これに より、適切なエッジが検知されるまで、タイマのカウントが遅れることになります。トリガエッジは、キャプチャもされ なければ、割り込みも発生させません。 出力 非表示の 場合 説明 tc N Terminal Countは、カウントが0に等しいことを示す同期出力です。出力は、タイマのクロック入力に同 期されます。この出力の正確なタイミングは、デバイスと、UDB または FF 実装が使用されているかによ ります。 interrupt N interrupt 出力は、ハードウェアで設定された割り込みソースによって駆動されます。全ソースの論理和 をとって、最終的な出力信号が作成されます。割り込みのソースは Terminal Count、Capture、 FIFO full。 割り込みがトリガされると、ステータスレジスタが読まれるまで割り込み出力はアサートされたままです。 割り込み接続はPSoC 5 での FF 実装には対応していません。この機能が必要な場合は、割り込みコ ンポーネントを tc 信号に接続するか、UDB 実装を使用することが可能です。 Document Number: 001-79545 Rev** Page 3 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 出力 非表示の 場合 capture_out Y 説明 キャプチャ出力は、ハードウェアキャプチャがトリガされたことを示します。この信号は、UDB実装の時に限 り利用できます。出力は、タイマのクロック入力に同期されます。 回路図マクロ情報 Component Catalog にある初期設定のタイマは、初期設定のタイマコンポーネントを使用した回路図マクロで す。このマクロには、バスクロックとロジックローコンポーネントが接続されます。 コンポーネント パラメータ タイマコンポーネントを回路図上にドラッグし、ダブルクリックして Configure ダイアログを開きます。 ハードウェアとソフトウェアの構成オプション ハードウェア構成オプションは、ハードウェア中でコンポーネントが合成・配置される方法を変えます。これらのオプ ションを変更する場合、ハードウェアをリビルドしなければなりません。ソフトウェア構成オプションは、合成や配置に 影響を及ぼしません。ビルドの前にこれらのパラメータを設定することは、初期値を設定することになります。パラ メーターは提供されている API を用いていつでも修正できます。後述のパラメータの殆どは、ハードウェアオプショ ンです。 Page 4 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ Configure タブ Resolution Resolution パラメータは、タイマのビット幅を定義します。この値は最大カウント 255、65535、16777215、 4294967295 に対して、それぞれ 8、16、24、32 に設定できます。FF 実装では、Resolution は 8 または 16 に制限されます。 Implementation Implementation パラメータを使うと、タイマを専用機能ブロックで実装するか、または UDB で実装するかを選 択できます。FF を選択すると、UDB 関数は無効になります。 ソフトウェアオプション) Period (ソ Period パラメーターはカウンタの周期を定義します。タイマコンポーネントの最大カウント値(またはロールオー バーポイント) は Period から 1 を減算した値になります。Period から 1 を減算した値は周期レジスタに読み込 まれる初期設定値です。ソフトウェアは Timer_WritePeriod() API でこのレジスタをいつでも変更することが可 能です。API を使って同等の結果を得るためには、カスタマイザからの Period 値から、 1 を減算した値を、 この 関数の独立変数として使う必要があります。 この値の範囲は、Resolution パラメータで定義します。8、 16、24、32 ビットの Resolution では、Period は: それぞれ 2^8、2^16、2^24、2^32 つまり 256、65536、 16777216、4294967296 です。 Document Number: 001-79545 Rev** Page 5 of 47 タイマ ® PSoC Creator™ コンポーネント データシート ソフトウェアオプション) Trigger Mode (ソ Trigger Mode パラメーターはトリガ入力の実装を設定します。このパラメーターは Implementation が UDB に設定されているときのみ利用できます。 Trigger Mode は以下のいずれかの値に設定できます: None (default) – トリガは実装されず、トリガ入力ピンは表示されません。 Software Controlled – トリガモードは動作中に Timer_SetTriggerMode() API 呼び出しを使用して、 上記 4 つのトリガモードのいずれかに設定可能です。デフォルトは、この API を使って他の値を設定するまで は None です。 Rising Edge – トリガ入力を有効にし、トリガ入力の最初の立ち上がりエッジでカウントします。 Falling Edge – トリガ入力を有効にし、トリガ入力の最初の立下りエッジでカウントします。 Either Edge – トリガ入力を有効にし、トリガ入力の最初のエッジ(立ち上がりまたは立下り)でカウントしま す。 ソフトウェアオプション) Capture Mode (ソ キャプチャモードセクションには 3 つのパラメーターがあります:Capture Mode, Enable Capture Counter、お よび Capture Count です。 Capture Mode Capture Mode パラメータは、キャプチャのタイミングを設定します。キャプチャ入力はクロック入力の立ち上がり エッジでサンプルされます。このモードは以下の値のいずれかに設定可能です(専用機能ブロック実装では、 None と Rising Edge のみが利用可能です。): None – キャプチャは実装されず、キャプチャ入力ピンは隠されます。 Rising Edge – クロック入力に対するキャプチャ入力の立ち上がりエッジでカウントをキャプチャします。 Falling Edge– クロック入力に対するキャプチャ入力の立ち下がりエッジでカウントをキャプチャします。 Either Edge– クロック入力に対するキャプチャ入力の両エッジでカウントをキャプチャします。 Software Controlled - キャプチャモードは動作中に Timer_SetCaptureMode() API 呼び出しを使 用して、上記 4 つのキャプチャモードのいずれかに設定可能です。デフォルトは、この API を使って他の値を 設定するまでは None です。 Page 6 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ ソフトウェアオプション) Enable Capture Counter (ソ Enable Capture Counter パラメーターは、カウンタが実際にキャプチャされる前に、いくつのキャプチャイベント が発生するかを定義します。例えば、3 イベント毎にキャプチャが必要な場合は、キャプチャカウンタ値を 3 に設定 します。このパラメーターは、UDB 実装でのみ利用可能です。 ソフトウェアオプション) Capture Count (ソ Capture Count パラメーターは、カウンタが実際にキャプチャされる前に発生するキャプチャイベントの初期設定 値を設定します。このパラメータには、2~127 の値を設定できます。キャプチャカウント値は動作中に API 関数 Timer_SetCaptureCount を呼び出すことで修正可能です。このパラメーターは、UDB 実装でのみ利用可能 です。 Enable Mode Enable Mode パラメータは、タイマのイネーブル実装を設定します。イネーブル入力はクロック入力の立ち上がり エッジでサンプルされます。このモードは、以下のいずれかの値に設定できます。 Software Only – タイマは、コントロールレジスタのイネーブル ビットのみに基づいて有効になります。 Hardware Only – タイマは、イネーブル 入力のみに基づいて有効になります。(UDB のみ) Software and Hardware – タイマは、ハードウェアとソフトウェアのイネーブルが共に「真」のときに有効にな ります。 Run Mode Run Mode パラメータは、タイマコンポーネントの動作を連続動作とワンショットモード動作のいずれかから設定で きます: Continuous – タイマが有効であれば、連続動作します。 One Shot (Halt on Interrupt) – タイマはカウントを開始し、0 に達するか割り込み発生時に停止します。 リセット後、別の 1 サイクルを開始します。UDB タイマの場合は停止時に Period をカウントレジスタにリロー ドし、専用機能ブロックタイマの場合はカウントレジスタはカウント終了時にも残ります。 One Shot – タイマはカウントを開始し、 0 に達すると停止します。リセット後、別の 1 サイクルを開始します。 UDB タイマの場合は停止時に Period をカウントレジスタにリロードし、専用機能ブロックタイマの場合はカウ ントレジスタはカウント終了時にも残ります。 注 ワンショットモードを設定する時にタイマが予期せず動作を始めないようにするため、Trigger Mode を 使用して動作開始時期を制御するか、ソフトウェアによるイネーブル(Software Only または Software and Hardware) を使用すべきです。 Document Number: 001-79545 Rev** Page 7 of 47 タイマ ® PSoC Creator™ コンポーネント データシート ソフトウェアオプション) Interrupt (ソ Interrupt パラメータを使うと、初期割り込みソースを設定できます。割り込みは以下のうち選択したイベントが 発生したときに発生します。このモードはいつでもソフトウェアで再設定できます。このパラメータは単に初期設定 を定義するだけです。 On TC – このパラメータは常にアクティブです。初期設定は無効です。 On Capture (1-4) – 所定のキャプチャ数で割りこみを可能にします。初期設定は無効です。 On FIFO Full – キャプチャ FIFO がフルの場合に割り込みを可能にします。初期設定は無効です。 ク ロ ック の 選 択 PSoC 3 または PSoC 5 クロックシステムの詳細は、クロック コンポーネントのデータシートと該当するデバイスの データシートを参照してください。 専用機能ブロックコンポーネント デバイスの FF ブロックを使用するように設定されている場合、タイマコンポーネントは次の制限を受けます。 クロック入力はクロックシステムからのデジタルクロックでなければなりません。 クロックの周波数がバスクロックと等しい場合、クロックは実際にバスクロックでなければなりません。 該当するクロックコンポーネントの Configure ダイアログを開いて、 Clock Type パラメーターを Existing と して設定し、 Source パラメーターを BUS_CLK として設定します。この周波数のクロックは、マスタクロックや IMO など、他のソースから分周できません。 UDB ベースのコンポーネント どのソースからのデジタル信号もクロック入力に接続できます。この信号の周波数は、このデータシートの DC/ AC 電気的特性(UDB 実装) セクションで定義している周波数範囲に制限されます。 配置 PSoC Creator は、Implementation パラメータに基づいてタイマ コンポーネントをデバイス内に配置します。 Fixed Function に設定すると、このコンポーネントは使用可能な任意の FF カウンタ/タイマブロックに配置され ます。UDB に設定すると、このコンポーネントは最適な設定で UDB アレイに設置されます。 Page 8 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ リソ ース バイト) API メモリ (バ デジタルブロック Resolution データパス マ クロセ ル ステータスレ ジス タ コ ン トロ ー ル レ ジス タ Counter7 フ ラ ッシ ュ RAM ピン (外 外部入出 力ごと) 8ビット UDB 1 タイマ 1 6 1 1 0 257 5 - 8-bit FF 2 タイマ 0 0 0 0 0 234 2 - 16 ビット UDB 1 タイマ 2 6 1 1 0 295 6 - 16 ビット FF 2 タイマ 0 0 0 0 0 248 2 24 ビット UDB 1 タイマ 3 6 1 1 0 287 8 - 32 ビット UDB 1 タイマ 4 6 1 1 0 287 8 - 8 ビットUDB タイマ ワンショッ 3 ト 1 8 1 1 0 257 5 - 16 ビット UDB タイマ ワンショッ 3 ト 2 8 1 1 0 295 6 - 1 UDB タイマは Software Only Enable mode、Rising Edge Trigger mode、Continuous Run mode、Interrupt on TC with no Capture mode に設定されます。 2 FF タイマは Software Only Enable mode、Rising Edge Trigger mode、Continuous Run mode、Interrupt on TC に設定されます。 3 UDB タイマは Software Only Enable mode、Rising Edge Trigger mode、One Shot mode Interrupt on TC with no Capture mode に 設定されます。 Document Number: 001-79545 Rev** Page 9 of 47 ® PSoC Creator™ コンポーネント データシート タイマ アプリケーション プログラミング インターフェース アプリケーション プログラミング インタフェース (API) ルーチンにより、ソフトウェアを使用してコンポーネントを設定で きます。次の表は、各関数へのインターフェースとその説明を示しています。以後のセクションで、各関数について 詳しく説明します。 初期設定では、PSoC Creator は、ユーザの回路図に最初に配置されたコンポーネントのインスタンス名として "Timer_1"を割り当てます。コンポーネントの名称は、識別子の文法ルールに従って固有の名称に変更できます。 インスタンス名は、すべてのグローバル関数名、変数名、定数名の接頭辞になります。便宜上、次の表では "Timer"というインスタンス名を使用します。 関数 機能 Timer_Start() initVar 変数を設定し、Timer_Init() 関数を呼び出して、Enable 関数を呼び出し ます。 Timer_Stop() タイマを無効にします。 Timer_SetInterruptMode() 割り込み出力のソースを有効または無効にします。 Timer_ReadStatusRegister() ステータスレジスタの現在の状態を返します。 Timer_ReadControlRegister() コントロールレジスタの現在の状態を返します。 Timer_WriteControlRegister() コントロールレジスタのビットフィールドを設定します。 Timer_WriteCounter() 新しい値を直接カウンタレジスタに書き込みます。(UDBのみ) Timer_ReadCounter() キャプチャを強制し、キャプチャ値を返します。 Timer_WritePeriod() 周期レジスタに書き込みます。 Timer_ReadPeriod() 周期レジスタを読み取ります。 Timer_ReadCapture() キャプチャレジスタの内容または FIFO の出力を返します。 Timer_SetCaptureMode() キャプチャが発生する、ハードウェアまたはソフトウェア条件を設定します。 Timer_SetCaptureCount() カウンタレジスタをFIFOにキャプチャする前に、カウントするキャプチャイベント数を設 定します。 Timer_ReadCaptureCount() キャプチャイベント数の現在の設定を読み出します。 Timer_SoftwareCapture() カウント値のキャプチャFIFOへのキャプチャを強制します。 Timer_SetTriggerMode() トリガが発生するハードウェアまたはソフトウェア条件を設定します。 Timer_EnableTrigger() タイマのトリガモードを有効にします。 Timer_DisableTrigger() タイマのトリガモードを無効にします。 Timer_SetInterruptCount() 割り込みがトリガされる前にカウントするキャプチャ数を設定します。 Timer_ClearFIFO() キャプチャ FIFO をクリアします。 Page 10 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 関数 機能 Timer_Sleep() タイマを停止し、現在の設定を保存します。 Timer_Wakeup() タイマの設定を復元し、タイマを再度有効にします。 Timer_Init() Configureダイアログでの設定に従ってタイマを初期化または復元します。 Timer_Enable() タイマを有効にします。 Timer_SaveConfig() タイマの現在の設定を保存します。 Timer_RestoreConfig() タイマの設定を復元します。 グローバル変数 変数 説明 Timer_initVar タイマが初期化済みかを示します。この変数は、0に初期化され、Timer_Start()が最初に呼び出されたときに1に セットされます。この変数を使うと、コンポーネントは Timer_Start() ルーチンを一度呼び出した後、再初期化する ことなく再起動できます。 コンポーネントの再初期化が必要な場合には、Timer_Start()やTimer_Enable()関数の前に、Timer_Init()関 数を呼び出します。 void Timer_Start(void) 機能: これは、コンポーネントの動作を開始する際に推奨される方法です。Timer_Start() は initVar 変数を設定 し、 Timer_Init() 関数をび出してから Timer_Enable() 関数を呼び出します。 パラメータ: なし 返り値: なし 注意事項: 変数 initVar がすでに設定されている場合、この関数は単にTimer_Enable()関数を呼び出します。 void Timer_Stop(void) 機能: 専用機能ブロック実装では、この関数はタイマを無効化し、電源を切ります。UDB 実装では、タイマはソフト ウェアイネーブルモードでしか無効になりません。 パラメータ: なし 返り値: なし 注意事項: 専用機能ブロックタイマはこの関数で電源が切られるため、TC 出力はローレベルになります。 Document Number: 001-79545 Rev** Page 11 of 47 ® PSoC Creator™ コンポーネント データシート タイマ void Timer_SetInterruptMode(uint8 interruptMode) 機能: 割り込み出力のソースを有効または無効にします。 パラメータ: uint8: 割り込みソース。ビット定義については、このデータシートの モードレジスタセクションをご覧くださ い。 返り値: なし 注意事項: ビット位置は FF と UDB で異なります。Mask #defines はこの差異をカプセル化するために提供されていま す。 uint8 Timer_ReadStatusRegister(void) 機能: ステータス レジスタの現在の状態を返します。 パラメータ: なし 返り値: uint8: 現在のステータスレジスタ値 ビット定義については、このデータシートの ステータスレジスタセクションを参照ください。 注意事項: これらのビットのいくつかは、ステータスレジスタが読み取られるとクリアされます。Clear-on-read ビットは、こ のデータシートの ステータスレジスタセクションで定義しています。 uint8 Timer_ReadControlRegister(void) 機能: コントロールレジスタの現在の状態を返します。この API はコントロールレジスタを必要としない特別なケース では利用できません( UDB 実装、イネーブルモードがハードウェアのみ、キャプチャモードがソフトウェア制御で はない、トリガモードがソフトウェア制御ではない場合など)。 パラメータ: なし 返り値: uint8: コントロールレジスタ ビットフィールド ビット定義については、このデータシートの コントロールレジスタセクションを参照ください。 注意事項: Page 12 of 47 なし Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ void Timer_WriteControlRegister(uint8 control) 機能: コントロールレジスタのビットフィールドを設定します。この API はコントロールレジスタを必要としない特別な ケースでは利用できません( UDB 実装、イネーブルモードがハードウェアのみ、キャプチャモードがソフトウェア 制御ではない、トリガモードがソフトウェア制御ではない場合など)。 パラメータ: uint8: コントロールレジスタ ビットフィールド ビット定義については、このデータシートの コントロールレジスタセクションを参照ください。 返り値: なし 注意事項: なし void Timer_WriteCounter(uint8/16/32 counter) 機能: 新しい値を直接カウンタレジスタに書き込みます。この関数は UDB 実装でのみ使用可能です。 パラメータ: uint8/16/32: 新しいカウンタ値。24 ビットタイマでは、このパラメータは uint32 です。 返り値: なし 注意事項: カウントを上書きします。これは、ターミナルカウント出力、または周期幅で望ましくない動作を引き起こすこと があります。これはアトミック書き込みではないので、関数に割り込みが起きる可能性があります。この関数を 呼び出す前にタイマを無効にしてください。 uint8/16/32 Timer_ReadCounter(void) 機能: キャプチャを強制し、キャプチャ値を返します。 パラメータ: なし 返り値: uint8/16/32: 現在のカウント。24 ビットタイマでは、返り値の型は uint32 です。 注意事項: キャプチャレジスタの内容または FIFO の出力を返します (UDB のみ)。 void Timer_WritePeriod(uint8/16/32 period) 機能: 周期レジスタに書き込みます。 パラメータ: uint8/16/32: 新しい周期値。24 ビット タイマでは、このパラメータは uint32 です。 返り値: なし 注意事項: タイマの周期は、カウンタが周期レジスタからリロードされるまで変更されません。 Document Number: 001-79545 Rev** Page 13 of 47 ® PSoC Creator™ コンポーネント データシート タイマ uint8/16/32 Timer_ReadPeriod(void) 機能: 周期レジスタを読み取ります。 パラメータ: なし 返り値: uint8/16/32: 現在の周期値。24 ビットタイマでは、返り値の型は uint32 です。 注意事項: なし uint8/16/32 Timer_ReadCapture(void) 機能: キャプチャレジスタの内容または FIFO の出力を返します (UDB)。 パラメータ: なし 返り値: uint8/16/32: 現在のキャプチャ値 24 ビットタイマでは、返り値の型は uint32 です。 注意事項: UDB 実装では、この値は FIFO から削除されます。 void Timer_SetCaptureMode(uint8 captureMode) 機能: キャプチャ モードを設定します。この機能は、UDB 実装および Capture Mode パラメーターが Software Controlled に設定されている場合のみ利用可能です。 パラメータ: uint8: 列挙型キャプチャ モード。コントロールレジスタセクションも参照してください: Timer__B_TIMER__CM_NONE Timer__B_TIMER__CM_RISINGEDGE Timer__B_TIMER__CM_FALLINGEDGE Timer__B_TIMER__CM_EITHEREDGE Timer__B_TIMER__CM_SOFTWARE 返り値: なし 注意事項: なし void Timer_SetCaptureCount(uint8 captureCount) 機能: キャプチャが実行される前に、検出するキャプチャイベント数を設定します。この関数は、UDB 実装で、 ConfigureダイアログでEnable Capture Counterパラメーターが選択されている場合のみ利用可能で す。 パラメータ: uint8 captureCount: キャプチャFIFO にカウントをキャプチャする前に、カウントしたいキャプチャイベントの 数。2 ~127 までの値が有効です。 返り値: なし 注意事項: なし Page 14 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ uint8 Timer_ReadCaptureCount(void) 機能: Timer_SetCaptureCount() 関数で設定される形式で、captureCount パラメーターの現在の設定値を 読み出します。この関数は、UDB 実装で ConfigureダイアログでEnable Capture Counterパラメーター が選択されている場合のみ利用可能です。 パラメータ: なし 返り値: uint8: 現在のキャプチャ数 注意事項: なし void Timer_SoftwareCapture(void) 機能: 強制的にソフトウェアで現在のカウントをFIFOへキャプチャします。この関数は UDB 実装でのみ使用可能 です。 パラメータ: なし 返り値: なし: 注意事項: なし void Timer_SetTriggerMode(uint8 triggerMode) 機能: トリガモードを設定します。この関数は UDB 実装で、Trigger Mode パラメータが Software Controlled に設定された場合にのみ使用可能です。 パラメータ: uint8: 列挙型キャプチャ モード。コントロールレジスタセクションも参照してください: Timer__B_TIMER__TM_NONE Timer__B_TIMER__TM_RISINGEDGE Timer__B_TIMER__TM_FALLINGEDGE Timer__B_TIMER__TM_EITHEREDGE Timer__B_TIMER__TM_SOFTWARE 返り値: なし 注意事項: なし void Timer_EnableTrigger(void) 機能: トリガを有効にします。この関数はTrigger ModeがSoftware Controlledに設定されている場合のみ利 用可能です。 パラメータ: なし 返り値: なし 注意事項: なし Document Number: 001-79545 Rev** Page 15 of 47 ® PSoC Creator™ コンポーネント データシート タイマ void Timer_DisableTrigger(void) 機能: トリガを無効にします。この関数はTrigger ModeがSoftware Controlledに設定されている場合のみ利 用可能です。 パラメータ: なし 返り値: なし 注意事項: なし void Timer_SetInterruptCount(uint8 interruptCount) 機能: InterruptOnCaptureにより割り込みが発生する前に、カウントするキャプチャ数を設定します。この関数は InterruptOnCaptureCount が有効である場合にのみ利用可能です。 パラメータ: uint8 interruptCount: InterruptOnCapture による割り込みが発生する前に、カウントするキャプチャイベ ント数。0 ~ 3 の値が有効です。 返り値: なし 注意事項: なし void Timer_ClearFIFO(void) 機能: キャプチャ FIFO をクリアします。この関数は UDB 実装でのみ使用可能です。このデータシートの 機能の 詳細セクション内、UDB FIFO を参照してください。 パラメータ: なし 返り値: なし 注意事項: なし void Timer_Sleep(void) 機能: これは、コンポーネントのスリープを準備するための、推奨されるルーチンです。Timer_Sleep() は、現在のコ ンポーネントの状態を保存します。その後、 Timer_Stop() 関数を呼び出し、 Timer_SaveConfig() を呼 び出してハードウェア構成を保存します。 CyPmSleep() および CyPmHibernate()関数を呼び出す前に、Timer_Sleep()関数を呼び出してくださ い。電源管理関数については、 PSoC Creator System Reference Guide を参照してください。 パラメータ: なし 返り値: なし 注意事項: FF 実装では、全ての低消費電力モードで全レジスタの値が保持されます。UDB 実装では、コントロールレ ジスタとカウンタ値レジスタが保存、復元されます。また、Timer_Sleep()を呼び出す場合、Timer_Stop() を呼び出さずに Timer_Sleep を呼び出した場合に備えて、イネーブル状態が保存されます。 Page 16 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ void Timer_Wakeup(void) 機能: これは、コンポーネントを Timer_Sleep() が呼び出されたときの状態に復元するのに推奨されるルーチンで す。Timer_Wakeup() 関数は、設定を復元させるために Timer_RestoreConfig() 関数を呼び出します。 Timer_Sleep 関数を呼び出す前にコンポーネントが有効であったならば、Timer_Wakeup() 関数もコン ポーネントを再度有効にします。 パラメータ: なし 返り値: なし 注意事項: 最初に Timer_Sleep() または Timer_SaveConfig() 関数を呼び出すことなくTimer _Wakeup() 関数を 呼び出すと、予期しない動作をする可能性があります。 void Timer_Init(void) 機能: Configureダイアログの設定に従って、コンポーネントを初期化または復元します。Timer_Start() ルーチン がこの関数を呼び出すので、Timer_Init() 関数を呼び出す必要はありません。これはコンポーネントの動作 を開始する際に推奨される方法です。 パラメータ: なし 返り値: なし 注意事項: 全レジスタは、Configureダイアログの設定に従って、値が設定されます。 void Timer_Enable(void) 機能: ハードウェアを起動し、コンポーネントの処理を開始します。Timer_Start() ルーチンがこの関数を呼び出すの で、Timer_Enable() 関数を呼び出す必要はありません。これはコンポーネントの動作を開始する際に推奨 される方法です。この関数は、ソフトウェア制御のイネーブルモードに対し、タイマを有効にします。 パラメータ: なし 返り値: なし 注意事項: Enable Mode パラメーターが Hardware Onlyに設定されている場合、この関数はタイマの動作に何ら影 響しません。 Document Number: 001-79545 Rev** Page 17 of 47 ® PSoC Creator™ コンポーネント データシート タイマ void Timer_SaveConfig(void) 機能: この機能により、コンポーネントの設定および非保持レジスタが保存されます。現在のコンポーネントパラメー タ値も、Configureダイアログに定義されているように、または適切なAPIによって変更されているように、保 存されます。この関数は、Timer_Sleep()関数に呼び出されます。 パラメータ: なし 返り値: なし 注意事項: なし void Timer_RestoreConfig(void) 機能: この関数は、コンポーネントの設定と非保持レジスタを復元します。合わせてこの関数は、コンポーネントのパ ラメータ値をTimer_Sleep()関数を呼び出す前の状態に復旧します。 パラメータ: なし 返り値: なし 注意事項: Timer_Sleep()またはTimer_SaveConfig() 関数を呼び出す前に、この関数を呼び出した場合、予期し ない動作をすることがあります。 フ ァ ー ム ウ ェア ソ ー ス コ ー ド の サ ン プ ル PSoC Creator は、Find Example Project ダイアログに、回路図およびサンプルコードを含む多くのサンプルプロ ジェクトを提供しています。コンポーネント特有のサンプルを見るには、Component Catalog または回路図に置 いたコンポーネントインスタンスからダイアログを開きます。一般的なサンプルについては、Start Page または File メ ニューからダイアログを開きます。必要に応じてダイアログにある Filter Options を使用し、選択できるプロジェク トのリストを絞り込みます。 詳しくは、PSoC Creator ヘルプの Find Example Project を参照してください。 機能の詳細 前述したとおり、タイマコンポーネントは複数の用途に設定できます。このセクションでは、これらの設定をより詳し く説明します。 動作概要 クロック入力の各立ち上がりエッジで、タイマコンポーネントは常にカウントダウンします。カウントが 0 に達したら、 次のクロックエッジで、周期レジスタからカウンタレジスタへリロードします。 Page 18 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ タイマは、ハードウェアかソフトウェアによって(構成設定によります)有効にされるまで無効のままです。 Timer_Start() が呼び出されるまでコンポーネントは使用できません。それはこの関数がレジスタを定義された構 成に設定するからです。 タイマ出力 カウンタレジスタをモニターしてリロードすることができます。カウンタレジスタの現在の値をモニターするために tc 出 力が利用可能です。カウンタが 0 の間はハイレベルです。 タイマ入力 キャプチャ操作はハードウェアでもファームウェアでもどちらでも可能です。カウンタ レジスタの現在値はキャプチャ レ ジスタまたは FIFO にコピーされます。後でファームウェアがキャプチャされた値を読み取ります。 リセットおよびイネーブル機能を使って、タイマ コンポーネントを他のコンポーネントに同期できます。タイマ コンポー ネントは有効にされているときにのみカウントし、リセット後は保持しません。カウントはトリガ入力イベントでも開始 できます。リセットとイネーブルはハードウェアでもファームウェアでも可能です。トリガは全てハードウェアです。 注 FF タイマ実装での全ての入力 (キャプチャ、リセット、イネーブル) は FF タイマ内で二重同期です。シンクロナ イザは BUS_CLK スピードで動作します。これにより、これらの信号が加えられてから、その効果が表れるまでの 間に遅延が発生します。この遅延は、BUS_CLK とタイマを動かすクロックとの比率によります。FF 実装向けに 示す全ての波形は、同期した後のシグナルを示します。 タイマ割り込み 割り込み出力を使って、イベントの発生を CPU または他のコンポーネントに伝えることができます。割り込みはイ ベントの組み合わせでアクティブになるように設定できます。割り込みハンドラは注意深く設計する必要があります。 そうすれば、割り込みソースが何か、エッジとレベルのどちらを検出するか決めることができ、割り込みソースをクリア できます。 タイマレジスタ モード、ステータス、コントロールの 3 つのレジスタがあります。レジスタ セクションを参照してください。 設定 初期設定 タイマ コンポーネントを PSoC Creator の回路図にドラッグしたときの初期設定は、クロック入力の立ち上がりエッ ジでカウンタレジスタをデクリメントする 8 ビット、FF タイマです。図 1 は初期設定の回路図マクロと Configure ダ イアログ設定を示しています。 Document Number: 001-79545 Rev** Page 19 of 47 タイマ ® PSoC Creator™ コンポーネント データシート 図 1. タイマの初期設定 このタイマの細かな機能は、実装やシリコンで異なります。以後の図は、UDB 実装されたタイマと異なるシリコン 上での FF 実装されたタイマの機能を示しています。 UDB 実装で設定した場合の初期設定での機能を 図 2 に示します。 カウンタはタイマ設定中にプリロードされ、カウントが 0 に達するごとにリロードされます。初期設定では、Period は 256 に設定されています。これにより、0xFF がカウンタにロードされます。なぜならば、0xFF から 0 までカウン トすると 周期 256 を算出するからです。 リセット信号は周期レジスタからカウンタを強制的にリロードします。リセット信号が解除されるまで、カウンタはこの 状態を保持します。 ターミナルカウントは、タイマが 0 までカウントしたことを示します。カウントが 0 に達したクロックサイクルに続くクロッ クサイクル上でアクティブです。ターミナルカウント信号は、リセットイベントに基づいて発生しません。 初期設定では、キャプチャ入力の立ち上がりエッジ毎にキャプチャするように、キャプチャ機能が設定されています。 キャプチャパルスの幅に関わらず、一つの値がキャプチャされます。この例では、0xFE と 0x01 の値をキャプチャし て CPU が読み込むことができます。 Page 20 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 2. 初期設定の UDB タイマ実装による波形例 PSoC 3 の専用機能ブロック実装で設定した初期設定の機能を図 3 に示します。 専用機能ブロック実装では、カウンタ値は設定時間中にプレロードされません。そのかわり、カウントは 0 から開始 します。PSoC 3 では、これにより FF 実装と UDB 実装との間に、初期に 3 サイクルの遅延を生じます。タイマが カウントを開始する前は、時間のずれは 2 サイクルで、周期レジスタからカウンタをロードする際には 1 サイクルで す。タイマの稼働後は、UDB 実装と周期は同じになります。 リセット信号は周期レジスタからカウンタを強制的にリロードし、リセット信号が解除されるまで、カウンタはこの状 態を保持します。リセットが解除されると、カウンタがカウントダウンを開始する前に 2 サイクルの遅延があります。 ターミナルカウントは、タイマが 0 までカウントしたことを示します。カウントが 0 に達したクロックサイクルに続くクロッ クサイクル上でアクティブです。ターミナルカウント信号は、リセットイベントまたは初期のカウントが 0 であることに基 づいては発生しません。 初期設定では、キャプチャ入力の立ち上がりエッジ毎にキャプチャするように、キャプチャ機能が設定されています。 キャプチャパルスの幅に関わらず、一つの値がキャプチャされます。この例では、0xFF と 0x01 の値をキャプチャし て、CPU が読み込むことができます。この機能は UDB 実装と同じです。 Document Number: 001-79545 Rev** Page 21 of 47 タイマ ® PSoC Creator™ コンポーネント データシート 図 3. 初期設定の PSoC 3 FF タイマ実装による波形例 PSoC 5 の専用機能ブロック実装で設定した場合の、初期設定の機能を 図 4 に示します。 専用機能ブロック実装では、カウントは設定時間中にプレロードされません。そのかわり、カウントは 0 から開始し ます。PSoC 5 では、これにより FF 実装と UDB 実装との間に、初期に 2 サイクルの遅延を生じます。タイマがカ ウントを開始する前は、時間のずれは 1 サイクルで、周期レジスタからカウンタをロードする際には 1 サイクルです。 タイマの稼働後は、UDB 実装と周期は同じになります。 リセット信号はカウンタを強制的にクリアし、リセット信号が解除されるまで、カウンタはこの状態を保持します。リ セット後の機能は、 UDB 実装より最初の周期が 2 サイクル長い初期状態をもつものになります。 ターミナルカウントは、タイマが 0 までカウントしたことを示します。カウンタの初期値とリセット時の値を組み合わせ ると、初期化時とリセット後に 2 サイクルの TC パルスを生じます。リセットがアクティブな間 TC はローレベルに維 持されますが、リセットが解除された後は 2 サイクルの間ハイレベルになります。 初期設定では、キャプチャ入力の立ち上がりエッジ毎にキャプチャするように、キャプチャ機能が設定されています。 キャプチャパルスの幅に関わらず、一つの値がキャプチャされます。この例では、0xFF と 0x01 の値をキャプチャし て、CPU が読み込むことができます。この機能は、UDB 実装と同じです。 Page 22 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 4. 初期設定の PSoC 5 FF タイマ実装による波形例 ソフトウェアおよびハードウェアのイネーブル設定 ハードウェアイネーブルの機能は特定の実装に基づいて異なります。UDB 実装のソフトウェアおよびハードウェア イネーブルに設定した場合のタイマの機能を 図 5 に示します。 タイマが有効の場合は、カウンタはクロックサイクル毎にデクリメントします。サイクル中にカウンタが周期レジスタか らリロードされた場合は、単一サイクルのターミナルカウントパルスが発生します。TC 信号は常に単一クロックサイ クルのパルスです。リロードサイクル中に発生することに注意してください。カウントが 0 になったためにカウンタが無 効になりリロードが遅れた場合は、カウンタが再度有効になりリロードされるまで、TC パルスも遅れます。リセット 信号のためにカウンタが強制的にリロードされると、TC パルスは発生しません。 図 5. SW および HW イネーブルの UDB タイマ実装による波形例 PSoC 3 FF 実装でソフトウェアおよびハードウェアイネーブルに設定した場合のタイマの機能を 図 6 に示します。 Document Number: 001-79545 Rev** Page 23 of 47 タイマ ® PSoC Creator™ コンポーネント データシート カウンタのハードウェアイネーブルからイネーブルが有効になるまで 2 クロックサイクルの遅延があります。その結果、 2 クロックサイクル前のイネーブル信号がハイレベルだと、カウンタはデクリメントします。この遅延は、カウンタをイ ネーブルにするときにも、ディスエーブルにするときにも適用されます。サイクル中にカウンタが周期レジスタからリロー ドされた場合は、単一サイクルのターミナルカウントパルスが発生します。TC 信号は常に単一クロックサイクルの パルスです。 注 カウントが 0 になる前 2 クロックサイクルの間に、タイマのイネーブル信号がローレベルになると、TC 出力パル スはタイマのその周期には発生しません。タイマが再び有効にされると、TC 信号を発生せずリロードされます。波 形の例に示します。 図 6. SW および HW イネーブルの PSoC 3 FF タイマ実装による波形例 PSoC 5 FF 実装でソフトウェアおよびハードウェアイネーブルに設定した場合のタイマの機能を 図 7 に示します。 カウンタのハードウェアイネーブルからイネーブルが有効になるまで 1 クロックサイクルの遅延があります。その結果、 1 クロックサイクル前のイネーブル信号がハイレベルだと、カウンタはデクリメントします。この遅延は、カウンタをイ ネーブルにするときにも、ディスエーブルにするときにも適用されます。カウントが 0 に等しいときはいつでも、 1 ク ロックサイクルの遅延でターミナルカウント信号が発生します。これは最初の設定時に発生します。カウントが 0 の 間にイネーブル信号がタイマを停止すると、TC 信号はハイレベルのままです。 注 イネーブル信号が単一サイクル時間イナクティブのパルスを発する場合、ハードウェアイネーブル信号は予期 したようには機能しません。単一サイクルのディスエーブルパルスは、タイマが再び無効になってから次に有効にさ れるまで、タイマをそのカウントでロックします。このため、ハードウェアディセーブルは常に 2 サイクル以上である必 要があります。単一サイクルのイネーブルは予期したように機能します。 Page 24 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 7. SW および HW イネーブルの PSoC 5 FF タイマ実装による波形例 ワ ン シ ョ ット 設 定 ワンショット動作モードの機能は特定の実装に基づいて異なります。UDB 実装の One Shot 動作に設定した場 合のタイマの機能を 図 8 に示します。 カウンタのハードウェアイネーブルからイネーブルが有効になるまで 1 クロックサイクルの遅延があります。その結果、 1 クロックサイクル前のイネーブル信号がハイレベルだと、カウンタはデクリメントします。この遅延は、カウンタをイ ネーブルにするときにも、ディスエーブルにするときにも適用されます。これは、遅延なしにカウントする Continuous 動作モードとは異なる動作です。 TC 信号は常に単一クロックサイクルのパルスです。リロードサイクル中に発生することに注意してください。カウンタ がゼロカウントになったので無効となり、リロードが遅れた場合は、カウンタが再度有効になりリロードされるまで、 TC パルスも遅れます。リセット信号のためにカウンタが強制的にリロードすると、TC パルスは発生しません。 ワンショット周期の完了後、ハードウェアをリセットすることでタイマをさらにもう 1 周期実行するように設定できます。 ハードウェア リセットは周期レジスタからカウンタをリロードします。リセット解除されると 1 サイクル後に、タイマは ハードウェアもアクティブになった後、再度カウントを開始できるようになります。 Document Number: 001-79545 Rev** Page 25 of 47 タイマ ® PSoC Creator™ コンポーネント データシート 図 8. One Shot 動作の UDB タイマー実装による波形例 PSoC 3 で FF 実装の One Shot 動作に設定した場合のタイマの機能を 図 9 に示します。 カウンタのハードウェアイネーブルからイネーブルが有効になるまで 2 クロックサイクルの遅延があります。その結果、 2 クロックサイクル前のイネーブル信号がハイレベルだと、カウンタはデクリメントします。この遅延は、カウンタをイ ネーブルにするときにも、ディスエーブルにするときにも適用されます。サイクル中にカウンタが周期レジスタからリロー ドされた場合は、単一サイクルのターミナルカウントパルスが発生します。TC 信号は常に単一クロックサイクルの パルスです。これは Continuous 動作モードの動作と全く同じです。 この実装でのみですが、One Shot モードの特別な機能として、タイマがカウントを開始し、イネーブル信号が初 めてローレベルになると、その値でカウンタを停止します。再度カウントを開始するためには、タイマをリセットする必 要があります。 One Shot 周期の完了後、またはイネーブル信号がディスエーブルになったために停止した後、ハードウェアをリ セットしてタイマをさらに 1 周期実行するように設定できます。ハードウェア リセットは周期レジスタからカウンタをリ ロードします。リセットを解除してから、タイマが再度カウントダウンできるようになるまでの間に、 2 サイクルの遅延 があります。 注 この実装では、タイマは、Timer_Stop() API の後に Timer_Start() API を使用してのみ再開できます。こ れにより、カウンタは引き続きカウントできますが、カウントをリロードしません。そのため、カウンタが 1 周期終了しリ ロードされた場合にのみこの方法を使うべきです。 Page 26 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 9. One Shot 動作の FF PSoC 3 タイマー実装による波形例 PSoC 5 で FF 実装の One Shot ット動作に設定した場合のタイマの機能を 図 10 に示します。 カウントが 0 に等しいときはいつでも、 1 クロックサイクルの遅延でターミナルカウント信号が発生します。これは最 初の設定時に発生します。TC 信号は、1 つのワンショット周期が完了した後でハイレベルにとどまります。カウン トが 0 にとどまるからです。カウントが 0 の場合の、TC 信号発生の例外の 1 つは、リセット信号がアクティブな場 合に TC は常に 0 に保持されます。 One Shot 周期の完了後、ハードウェアをリセットしてタイマをさらに 1 周期実行するように設定できます。ハード ウェアリセットはカウント 0 でリロードし、タイマを再度実行するように設定します。リセットを解除してから、タイマが 再度カウントダウンできるようになるまでの間に、 1 サイクルの時間の遅延があります。 注 ハードウェアイネーブルのワンショットモードは PSoC 5 FF 設定に対応していません。 注 リセット信号がアクティブな場合に TC 信号がローレベルに保持されるので、ワンショットを実行し完了するま での間に、2 つの TC パルスが各々発生します。第一は、カウンタが 0 をカウントする時です。第二は、リセットが 解除された後、カウンタがカウントを開始する前です。波形の例に示します。 Document Number: 001-79545 Rev** Page 27 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 図 10. One Shot 動作の FF PSoC 5 タイマ実装の波形例 UDB FIFO UDB データパス FIFO はカウントをキャプチャするために使用されます。各 FIFO は 4 バイトです。マルチバイト設 定では、カウンタの各バイトが関連する UDB の FIFO に同時にキャプチャされます。このため、データの喪失を防 ぐために CPU がキャプチャレジスタを読み込まなければならなくなるまでに 4 回分のキャプチャまで可能です。 4-byte FIFO 4-byte FIFO 4-byte FIFO 4-byte FIFO 44 33 22 11 88 77 66 55 CC BB AA 99 DP8 DP8 DP8 DP8 32-bit 24-bit 16-bit 8-bit Capture Value #1 = 0x44332211 Capture Value #2 = 0x88776655 Accumulator = 0xCCBBAA99 Page 28 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ レ ジ スタ ステータスレジスタ ステータスレジスタは、タイマに定義される状態ビットを含む読み取り専用レジスタです。 Timer_ReadStatusRegister() 関数を使って、ステータスレジスタ値を読み取ります。これらのビットフィールドは FF と UDB 実装間で異なる可能性があるので、ステータスレジスタ上のすべての演算は、ビットフィールドに対し て次の定義を使用する必要があります。 ステータスレジスタの一部のビットはスティッキーです。つまり 1 にセットした後、レジスタが読まれてクリアされるまで その状態を保持します。ステータスデータはタイマの入力クロックのエッジでレジスタに取り込まれ、全スティッキー ビットにタイマのタイミング分解能を与えます。すべての非スティッキービットは参照可能で、入力から直接ステータ スレジスタに読み込まれます。 Timer_Status (UDB 実装) 7 6 5 4 名称 RSVD RSVD RSVD RSVD FIFO Not Empty FIFO Full Capture TC ステ ィッ キー 該当せず 該当せず 該当せず 該当せず 偽 偽 真 真 ビ ット 3 2 1 0 Timer_Status (FF 実装) 7 ビ ット 6 5 4 3 2 1 0 名称 TC Capture RSVD RSVD RSVD RSVD RSVD RSVD ステ ィッ キー 真 真 該当せず 該当せず 該当せず 該当せず 該当せず 該当せず ビ ット 名 ヘッダファイルの定義 説明 TC Timer_STATUS_TC このビットはカウントが0に等しいときに 1 になります。 Capture Timer_STATUS_CAPTURE このビットは有効なキャプチャイベントがトリガされると 1 になります。これはソ フトウェア キャプチャを含みません。 FIFO Full Timer_STATUS_FIFOFULL このビットは UDB FIFO が 4 エントリとして定義されたフル状態に達したとき に 1 になります。 FIFO Not Empty Timer_STATUS_FIFONEMP Document Number: 001-79545 Rev** このビットは UDB FIFO に少なくとも 1 つエントリがあるときに 1 になります。 Page 29 of 47 ® PSoC Creator™ コンポーネント データシート タイマ モードレジスタ モードレジスタは読み取り/書き込みレジスタで、カウンタ用に定義された割り込みマスクを含みます。 Timer_SetInterruptMode() 関数を使ってモードビットを設定します。これらのビットフィールドは FF と UDB 実 装間で異なる可能性があるので、モードレジスタ上のすべての演算は、ビットフィールドに対して次の定義を使用 する必要があります。 タイマコンポーネントの割り込み出力は全割り込みソースの論理和関数です。各ソースはモードレジスタ内の対 応ビットでイネーブルまたはマスクできます。 Timer_Mode (UDB 実装) ビ ット 7 6 5 4 3 2 1 0 名称 RSVD RSVD RSVD RSVD RSVD FIFO Full Catpure TC Timer_Mode (FF 実装) ビ ット 7 6 5 4 3 2 1 0 名称 RSVD RSVD RSVD RSVD TC Capture RSVD RSVD ビ ット 名 ヘッダファイルの定義 割 り 込 み 出 力 オン TC Timer_STATUS_TC_INT_MASK カウンタレジスタが 0 に等しい Capture Timer_STATUS_CAPTURE_INT_MASK Capture FIFO Full Timer_STATUS_FIFOFULL_INT_MASK UDB FIFO がフル コントロールレジスタ コントロールレジスタを使うと、カウンタの全体的動作を制御できます。このレジスタは Counter_WriteControlRegister() 関数で書き込まれ、Counter_ReadControlRegister() 関数で読み取ら れます。これらのビットフィールドは FF と UDB 実装間で異なる可能性があるので、コントロールレジスタ上のすべ ての演算は、ビットフィールドに対して次の定義を使用する必要があります。 注 コントロールレジスタに書き込むときは予約ビットはどれも変更できません。すべての動作は、予約ビットをマス クした読み取り-変更-書き込みでなければなりません。 Page 30 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ Timer_Control (UDB Implementation) ビ ット 7 名称 Enable 6 5 4 Capture Mode [1:0] Trigger Enable 3 2 Trigger Mode [1:0] 1 0 Interrupt Count [1:0] Timer_Control1 (FF 実装) ビ ット 7 6 5 4 3 2 1 0 名称 RSVD RSVD RSVD RSVD RSVD RSVD RSVD Enable ビ ット 名 説明/列 列挙型 ヘッダファイルの定義 Interrupt Count Timer_CTRL_INTCNT_MASK 割り込みカウントビットは、割り込みが発生する前にカウントするキャプチャ イベントの数を定義します。 Trigger Mode Timer_CTRL_TRIG_MODE_MASK トリガモード制御ビットは、所望のトリガ入力機能を定義します。このビット は初期化時に Trigger Modeパラメーターで定義したトリガモードで設定 します。 Timer__B_TIMER__TM_NONE Timer__B_TIMER__TM_RISINGEDGE Timer__B_TIMER__TM_FALLINGEDGE Timer__B_TIMER__TM_EITHEREDGE Timer__B_TIMER__TM_SOFTWARE Trigger Enable Timer_CTRL_TRIG_EN トリガイネーブルビットは、トリガ イベントの準備をするときのソフトウェア制御 を可能にします。 Capture Mode Timer_CTRL_CAP_MODE_MASK キャプチャ モード制御ビットは、所望のキャプチャ入力動作を定義するのに 使用する 2ビット フィールドです。このビット フィールドは、Capture Mode パラメータで定義されたキャプチャモードで初期化時に設定されます。 Enable Timer_CTRL_ENABLE Document Number: 001-79545 Rev** Timer__B_TIMER__CM_NONE Timer__B_TIMER__CM_RISINGEDGE Timer__B_TIMER__CM_FALLINGEDGE Timer__B_TIMER__CM_EITHEREDGE Timer__B_TIMER__CM_SOFTWARE ソフトウェア制御下でのカウントを有効にします。このビットはEnable Mode パラメーターが Software Only または Software and Hardwareに設定されているときにのみ有効です。 Page 31 of 47 ® PSoC Creator™ コンポーネント データシート タイマ カウンタ (8、 、16、 、24、 、32 ビット) カウンタレジスタには現在のカウントが入っています。全てのクロック入力の立ち上がりエッジに対応して、このレジ スタはデクリメントします。このレジスタはいつでも Timer_ReadCounter() 関数を呼び出すことで読み取ることが できます。 キャプチャ (8、 、16、 、24、 、32 ビット) キャプチャレジスタにはキャプチャしたカウントが入っています。キャプチャイベントはどれも、カウンタレジスタをこのレ ジスタにコピーします。UDB 実装では、このレジスタは実際に FIFO です。詳細については UDB FIFO セクショ ンを参照してください。 周期 (8、 、16、 、24、 、32 ビット) 周期レジスタは、Timer_WritePeriod()関数呼び出しで設定し、初期化時に Period パラメータによって定義さ れる周期を格納しています。周期レジスタはリロードイベントでカウンタレジスタにコピーされます。 コンポーネントのデバッグウィンドウ タイマコンポーネントは、PSoC Creator コンポーネントのデバッグウィンドウをサポートします。次のレジスタは、デ バッグウィンドウに表示されます。*で表示したいくつかのレジスタは、UDB 実装で利用可能であり、**で表示した いくつかのレジスタは、FF 実装でのみ利用可能です。その他のレジスタは、いずれの実装でも利用可能です。 レジスタ: Timer_CONTROL 名称: コントロールレジスタ 機能: ビットフィールドの定義については、このデータシートで前述した Timer_Control レジスタの説明を参照してく ださい。 レジスタ: Timer_CONTROL2 ** 名称: FFコントロールレジスタ #2 機能: FFタイマブロックには、第2の設定レジスタがあります。ビットフィールドの定義については、テクニカルリファレンス マニュアルを参照してください。 レジスタ: Timer_STATUS_MASK * 名称: ステータスレジスタ割り込みマスク設定 機能: 任意の状態ビットを、コンポーネントの割り込み出力ピンに対する割り込みソースとして有効にできます。ビット フィールドの定義については、このデータシートで前述した Timer_Status レジスタの説明を参照してください。 Page 32 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ レジスタ: Timer_STATUS_AUX_CTRL * 名称: ステータスレジスタの補助コントロールレジスタ 機能: ビットフィールド「INT_EN」を介して、内部ステータスレジスタの割り込み出力を有効にできます。ビットフィール ドの定義については、テクニカルリファレンスマニュアルを参照してください。 レジスタ: Timer_PERIOD 名称: タイマ周期レジスタ 機能: タイマの各周期の最初に周期カウンタへリロードされる周期を定義します。 レジスタ: Timer_COUNTER 名称: タイマカウンタレジスタ 機能: 現在のタイマ周期の (Period から 0 までのクロック数で) 現在のカウントを示します。 レジスタ: Timer_GLOBAL_ENABLE ** 名称: FFタイマのグローバルイネーブルレジスタ 機能: FFタイマの動作を有効にします。ビットフィールドの定義については、テクニカルリファレンスマニュアルを参照し てください。 DC/ AC 電気的特性(FF 実装) 以下の値は、期待される性能を示しており、初期特性データを基にしています。 タイマ DC 仕様 条件 Min Typ Max 16ビットタイマ、各入力クロック周波数にて – – – A 3MHz – 15 – A 12MHz – 60 – A 48MHz – 260 – A 67MHz – 350 – A 記号 項目 ブロック消費電流 Document Number: 001-79545 Rev** 単位 Page 33 of 47 ® PSoC Creator™ コンポーネント データシート タイマ タイマ AC 仕様 Min Typ Max 動作周波数 DC – 67 MHz キャプチャパルス幅(内部) 15 – – ns キャプチャパルス幅(外部) 30 – – ns タイマ分解能 15 – – ns イネーブルパルス幅 15 – – ns イネーブルパルス幅(外部) 30 – – ns リセットパルス幅 15 – – ns リセットパルス幅(外部) 30 – – ns 記号 項目 条件 単位 PSoC 5 DC/ AC 電気的特性(FF 実装) 以下の値は、期待される性能を示しており、初期特性データを基にしています。 タイマ DC 仕様 条件 Min Typ Max 16ビットタイマ、各入力クロック周波数にて – – – A 3MHz – 65 – A 12MHz – 170 – A 48MHz – 650 – A 67MHz – 900 – A 記号 項目 ブロック消費電流 単位 タイマ AC 仕様 Min Typ Max 動作周波数 DC – 67.01 キャプチャパルス幅(内部) 13 – – ns キャプチャパルス幅(外部) 30 – – ns タイマ分解能 13 – – ns イネーブルパルス幅 13 – – ns イネーブルパルス幅(外部) 30 – – ns 記号 Page 34 of 47 項目 条件 単位 MHz Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ リセットパルス幅 13 – – ns リセットパルス幅(外部) 30 – – ns DC/ AC 電気的特性(UDB 実装) 以下の値は、期待される性能を示しており、初期特性データを基にしています。 公称配線の最大値"タ タイミング特性 "公 記号 fCLOCK Min Typ Max 単位 8ビット UDB タイマ – – 40 MHz 16ビット UDBタイマ – – 38 MHz 24ビット UDBタイマ – – 33 MHz 32ビット UDBタイマ – – 27 MHz 該当せず – 0.5 – tCY_clock 該当せず – 0.5 – tCY_clock 1 – – STA 項目 構成 コンポーネント クロック周波数 tclockH 入力クロックハイレベル時間 tclockL 入力クロックローレベル時間 4 4 入力 4 5 6 tPD_ps 入力配線遅延、pin to sync ns tPD_ps 入力配線遅延、pin to sync 2 – – 8.5 tPD_si Sync出力から入力への遅延(配 5 線) 1,2,3,4 – – STA tI_clk clockX と clock のアライメント 1,2,3,4 0 – 1 tCY_clock tPD_IE コンポーネントクロックへの入力配 線遅延(エッジ検出入力) 1,2 tPD_ps + tSYNC + tPD_si – tPD_ps + tSYNC + tPD_si + tI_clk ns tPD_IE コンポーネントクロックへの入力配 線遅延(エッジ検出入力) 3,4 tSYNC + tPD_si – tSYNC + tPD_si + tI_clk ns ns 6 ns tCY_clock = 1/fCLOCK. これは 1 クロック周期のサイクル時間です。 5 tPD_ps および tPD_si は配線経路の遅延。配線は動的なためこれらの値は変化することがあり、最大コンポーネントクロックと同期クロック周波数に直 接の影響を及ぼします。これらの値は、Static Timing Analysis Results(静的タイミング解析結果)に記載されています。 6 構成 2 における tPD_ps は、デバイスのピン毎に定義された固定値です。ここに挙げた数字は、デバイスで利用可能なすべてのピンの公称値です。 Document Number: 001-79545 Rev** Page 35 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 記号 項目 構成 Min Typ Max 単位 tIH 入力ハイレベル時間 1,2,3,4 tCY_clock – – ns tIL 入力ローレベル時間 1,2,3,4 tCY_clock – – ns Min Typ 8ビット UDB タイマ – – 20 MHz 16ビット UDBタイマ – – 15 MHz 24ビット UDBタイマ – – 20 MHz 32ビット UDBタイマ – – 15 MHz 該当せず – 0.5 – 1/fclock 該当せず – 0.5 – 1/fclock 全配線の最大値"タ タイミング特性 "全 記号 fCLOCK 項目 構成 コンポーネント クロック周波数 tclockH 入力クロックハイレベル時間 tclockL 入力クロックローレベル時間 8 Max 7 単位 入力) Inputs (入 tPD_ps 入力配線遅延、pin to sync 9 1 – – STA ns tPD_ps 入力配線遅延、pin to sync 10 2 – – 8.5 ns tPD_si Sync出力から入力への遅延(配 9 線) 1,2,3,4 – – STA tI_clk clockX と clock のアライメント 1,2,3,4 0 – 1 tCY_clock tPD_IE コンポーネントクロックへの入力配 線遅延(エッジ検出入力) 1,2 tPD_ps + tSYNC + tPD_si – tPD_ps + tSYNC + tPD_si + tI_clk ns tPD_IE コンポーネントクロックへの入力配 線遅延(エッジ検出入力) 3,4 tSYNC + tPD_si – tSYNC + tPD_si + tI_clk ns tIH 入力ハイレベル時間 1,2,3,4 tCY_clock – – ns tIL 入力ローレベル時間 1,2,3,4 tCY_clock – – ns 9 ns 7 全配線の最大値タイミング特性は、公称配線の最大値タイミング特性 を 2 倍に緩和して計算します。お使いのコンポーネントインスタンスがこの速 度と同じ、または遅いスピードで動作している場合は、タイミングはこのコンポーネントで問題にはなりません。 8 tCY_clock = 1/fCLOCK. これは 1 クロック周期のサイクル時間です。 9 tPD_ps および tPD_si は配線経路の遅延。配線は動的なためこれらの値は変化することがあり、最大コンポーネントクロックと同期クロック周波数に直 接の影響を及ぼします。これらの値は、Static Timing Analysis Results(静的タイミング解析結果)に記載されています。 10 構成 2 における tPD_ps は、デバイスのピン毎に定義された固定値です。ここに挙げた数字は、デバイスで利用可能なすべてのピンの公称値です。 Page 36 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 特性データの STA 項目の見方 公称配線最大値は、静的タイミング解析 (STA) による複数のテストパスから収集されます。STA の結果から次 の手法で設計の最大値を計算できます。 fclock 最大コンポーネントクロック周波数が、名称の付いた外部クロックとしてタイミング結果のクロックサマリに 表示されます。下図は、_timing.html から抜粋したクロック制限の例を示しています。 入力配線遅延とパルス幅 入力の機能解析を行う場合、すべての入力は、大きく図 11 に示す 4 つの構成の内 1 つに該当します。 すべての入力は同期されていなければなりません。同期のメカニズムは、コンポーネントへの入力ソースによって異 なります。システムの動作を完全に解釈するには、各入力を構成した設定とシステムのクロック構成を理解する 必要があります。このセクションでは、Static Timing Analysis (静的タイミング解析、STA) の結果を使用して、 システムの特性解析を行う方法について説明します。 Document Number: 001-79545 Rev** Page 37 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 図 11. コンポーネントタイミング仕様のための入力構成 構成 コンポーネントクロック シンクロナイザクロック(周 周波数) 図 1 master_clock master_clock 図 16 1 clock master_clock 図 14 1 clock clockX = clock 1 clock clockX > clock 図 13 1 clock clockX < clock 図 15 2 master_clock master_clock 図 16 2 clock master_clock 図 14 11 11 図 12 クロック周波数は同じですが、立ち上がりエッジのアライメントは保証されていません。 Page 38 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート 構成 タイマ シンクロナイザクロック(周 周波数) コンポーネントクロック 3 master_clock master_clock 3 clock master_clock 図 図 21 図 19 11 3 clock clockX = clock 3 clock clockX > clock 図 18 3 clock clockX < clock 図 20 4 master_clock master_clock 図 21 4 clock clock 図 17 図 17 1. 入力はデバイスピンによって駆動され、内部で Sync コンポーネントにより同期されます。Sync コンポーネント は、Component が使用するクロックと異なる内部クロックを使用してクロックを供給されます(すべての内部ク ロックは master_clock から派生)。 このような方法で構成された入力の特性を解析する際は、clockX は Component のクロックより速い、同じ、 遅い場合があります。master_clock と同じ場合もあります。これにより、 図 12、 図 13、 図 15、および 図 16 に示す特性解析パラメーターが生成されます。 2. 入力はデバイスピンによって駆動され、master_clock を使用して同期されます。 このような方法で構成された入力の特性を解析する際は、master_clock は Component のクロックより速 い場合と同じ場合があります(遅いことはありません)。これにより、 図 13 および 図 16 に示す特性解析パラ メータが生成されます。 Document Number: 001-79545 Rev** Page 39 of 47 タイマ ® PSoC Creator™ コンポーネント データシート 図 12. 入力構成 1 および 2、 、Sync Clock Frequency = Component Clock Frequency (clock と clockX のエッジアライメントは保証されません) 図 13. 入力構成 1 および 2、 、Sync Clock Frequency > Component Clock Frequency Page 40 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 14. 入力構成 1 および 2、 、[Sync Clock Frequency == master_clock] > Component Clock Frequency 図 15. 入力構成 1、 、Sync Clock Frequency < Component Clock Frequency master_clock clockX tsync clock tPD_ps Input @ pin tPD_si Input @ sync output Input @ component tPD_IE Document Number: 001-79545 Rev** tIH tIL Page 41 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 図 16. 入力構成 1 および 2、 、Sync Clock = Component Clock = master_clock tsync clock tPD_ps Input @ pin tPD_si Input @ sync output Input @ component tPD_IE tIH tIL 3. 入力は PSoC 内部の Logic に駆動されます。これは Component が使用するクロックとは異なるクロックを ベースにして同期しています(すべての内部クロックは master_clock から派生)。 このような方法で構成された入力の特性を解析する際は、シンクロナイザ クロックは、Component のクロッ クより速い、遅い、同じ場合があります。これにより、図 17、図 18、および 図 20 に示す特性解析パラメー ターが生成されます。 4. 入力は PSoC 内部の Logic に駆動されます。これは Component が使用するクロックと同じクロックをベー スにして同期しています。 このような方法で構成された入力の特性を解析する際は、シンクロナイザ クロックは、Component のクロッ クと同じです。これにより、図 21 に示す特性解析パラメータが生成されます。 Page 42 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 17. 入力構成 3 のみ、Sync Clock Frequency = Component Clock Frequency (clock と clockX のエッジアライメントは保証されません) この図は、静的タイミング解析(STA)でのクロックについての情報を表しています。デジタルクロック領域のすべての クロックは master_clock と同期します。但し、同じ周波数を持つ 2 つのクロックは、立ち上がりエッジのタイミング が一致しないことがあります。そのため、静的タイミング解析ツールは、クロックが同期しているエッジがどちらか判 別できず、最低 1 master_clock サイクルを想定します。つまり tPD_si はシステムの master_clock を制限する 効果があります。 この配線の遅延が大きいと、master_clock セットアップ時間に違反します。この場合、システ ムの同期クロックを変更するか、master_clock を遅い周波数で実行しなければなりません。 図 18. 入力構成 3、 、Sync Clock Frequency > Component Clock Frequency Document Number: 001-79545 Rev** Page 43 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 図 17 に示すのと類似した方法で、すべてのクロックは master_clock から派生します。STA は 1 master_clock サイクルに関する tPD_si の制限を示します。この配線の遅延が大きいと、master_clock セットアップ時間に違反 します。この場合、システムの同期クロックを変更するか、master_clock を遅い周波数で実行しなければなりま せん。 図 19. 入力構成 3、 、 Synchronizer Clock Frequency = master_clock > Component Clock Frequency master_clock clock tPD_si Logic Output Input @ component tIH tIL 図 20. 入力構成 3、 、 Synchronizer Clock Frequency < Component Clock Frequency master_clock clockX clock tPD_si Logic Output Input @ component tIH tIL 図 17 に示すのと類似した方法で、すべてのクロックは master_clock から派生します。STA は 1 master_clock サイクルに関する tPD_si の制限を示します。この配線の遅延が大きいと、master_clock セットアップ時間に違反 します。この場合、システムの同期クロックを変更するか、master_clock を遅い周波数で実行しなければなりま せん。 Page 44 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート タイマ 図 21. 入力構成 4 のみ、 Synchronizer Clock = Component Clock このセクションでこれまで示した図の中で、実装を理解するために最も重要なパラメータは、 fCLOCK と tPD_IE です。 tPD_IE は tPD_ps と tSYNC (構成 1 と 2 のみ)、tPD_si, 、 tI_Clk で定義されます。非常に重要な事は、 tPD_si が最大 コンポーネントクロック周波数を定義するということです。 tI_Clk は STA の結果によるものではありませんが、 tPD_IE が登録された場合は重要となります。これはシンクロナイザと Component クロックの間の配線にあるマージンで す。 tPD_ps および tPD_si は STA の結果に含まれています。 tPD_ps を見つけるには、_timing.html ファイルで定義されている入力セットアップ時間を参照してください。この入 力の Fan-out は複数の可能性があり、これらの配線の最大値を評価する必要があります。 tPD_si は、Register-to-register times に定義されています。_timing.html ファイルを使用するには、ネット名 を知っていなければなりません。このパスの Fan-out は複数の可能性があり、これらの配線の最大値を評価 する必要があります。 Document Number: 001-79545 Rev** Page 45 of 47 ® PSoC Creator™ コンポーネント データシート タイマ 出力配線遅延 出力の配線遅延の特性解析を行う場合、STA の結果の中からデータを見つけるために、信号の出力先を考 慮しなければなりません。このコンポーネントでは、すべての出力が Component クロックに同期されています。出 力は 2 つのカテゴリのうち、いずれかに該当します。出力は、デバイス内の別のコンポーネントへ送られるか、デバイ ス外のピンに進むかのどちらかです。前者の場合、上述の Logic-to-input descriptions に記載されている Register-to-register times を見ます(ソースクロックは Component クロックです)。後者の場合、_timing.html STA の結果の Clock-to-Output times を見ます。 コンポーネントの更新履歴 ここでは、前のバージョンからコンポーネントに加えられた主な変更を示します。 バージョン 2.20 変更 内容 UDB 実装での Verilog 変更 変更理由 / 影響 ハードウェアイネーブル信号が使われている場合、TC 出力は特定の 条件下でミスされる場合を修正します 割り込み信号はPSoC 5 FF 実装で利用できな シリコンではサポートされないため、この機能は削除されました いということを記録します Cancel ボタンを常に使用できるように、カスタマイ 一部のエラー状況下では、Cancel ボタンは利用できませんでした ザを更新しました 2.10 2.0 詳細なデータシートアップデート タイマの実装は各実装毎 (UDB、 PSoC 3 FF、 PSoC 5 FF) に 異なっていますが、これらの違いについて適切に説明していませんで した。特に。「機能の詳細」の設定セクションにある波形を参照してく ださい。 Verilog とカスタマイザ関連のアップデート トリガロジックと GUI 関連事項の課題を修正 「Capture Mode」 が「None」に設定されている 場合は、"Interrupt on Capture" が利用できま せん 「Capture Mode」 が「None」に設定されていて、利用可能にすべ きでない場合でも、"Interrupt on Capture" チェックボックスオプショ ンが利用できました 入力の同期 専用機能ブロック実装で、ブロック入力ですべての入力を同期。 関数Timer_GetInterruptSource() をマクロに 変更 関数Timer_GetInterruptSource() は関数 Timer_ReadStatusRegister() と全く同じ実装。コードスペースを 節約するため、これを関数Timer_ReadStatusRegister() のマクロ 代替に変換。 出力がコンポーネントクロックに登録されるように 変更 コンポーネントの出力上のグリッチを避けるために、すべての出力が同 期されることが必要だった。これは、リソース使用量を抑えるためにで きる限りデータパスの内部で行われます。 補助コントロールレジスタに書き込む際の、実装 された重要領域 補助コントロールレジスタに書き込む際は、関数 CyEnterCriticalSectionとCyExitCriticalSectionsを使用。他の プロセススレッドによる変更を避けるため。 Page 46 of 47 Document Number: 001-79545 Rev** ® PSoC Creator™ コンポーネント データシート バージョン タイマ 変更理由 / 影響 変更 内容 SetCaptureMode() APIを使用してキャプチャ モードを設定する際の不適切なマスキングを修 正。 キャプチャモードの設定に使用するマスキングが誤った値であった。 データシートに特性データを追加 データシートのマイナーな編集と更新 Copyright © 2005-2012 Cypress Semiconductor Corporation 本文書に記載される情報は、予告なく変更される場合があります。Cypress Semiconductor Corporation は、サイプレス製品に組み込まれた回路以 外のいかなる回路を使用することに対しても一切の責任を負いません。特許又はその他の権限下で、ライセンスを譲渡又は暗示することもありません。サイプレス製品は、サイプレスとの書面による合意に基づくものでない限り、 医療、生命維持、救命、重要な管理、又は安全の用途のために仕様することを保証するものではなく、また使用することを意図したものでもありません。さらにサイプレスは、誤動作や故障によって使用者に重大な傷害をもた らすことを合理的に予想される、生命維持システムの重要なコンポーネンツとしてサイプレス製品を使用することを許可していません。生命維持システムの用途にサイプレス製品を供することは、製造者がそのような使用におけ るあらゆるリスクを負うことを意味し、その結果サイプレスはあらゆる責任を免除されることを意味します。 PSoC Designer™及び Programmable System-on-Chip™は、Cypress Semiconductor Corp.の商標、PSoC®は同社の登録商標です。本文書で言及するその他全ての商標又は登録商標は各社の所有物です。 全てのソースコード(ソフトウェア及び/又はファームウェア)は Cypress Semiconductor Corporation (以下「サイプレス」)が所有し、全世界(米国及びその他の国)の特許権保護、米国の著作権法並びに国際協定の条項に より保護され、かつそれらに従います。サイプレスが本書面によるライセンシーに付与するライセンスは、個人的、非独占的かつ譲渡不能のライセンスであって、適用される契約で指定されたサイプレスの集積回路と併用される ライセンシーの製品のみをサポートするカスタムソフトウェア及び/又はカスタムファームウェアを作成する目的に限って、サイプレスのソースコードの派生著作物を複製、使用、変更、そして作成するためのライセンス、並びにサイプ レスのソースコード及び派生著作物をコンパイルするためのライセンスです。上記で指定された場合を除き、サイプレスの書面による明示的な許可なくして本ソースコードを複製、変更、変換、コンパイル、又は表示することは 全て禁止されます。 免責条項:サイプレスは、明示的又は黙示的を問わず、本資料に関するいかなる種類の保証も行いません。これには、商品性又は特定目的への適合性の黙示的な保証が含まれますが、これに限定されません。サイプレス は、本文書に記載される資料に対して今後予告なく変更を加える権利を留保します。サイプレスは、本文書に記載されるいかなる製品又は回路を適用又は使用したことによって生ずるいかなる責任も負いません。サイプレス は、誤動作や故障によって使用者に重大な傷害をもたらすことが合理的に予想される生命維持システムの重要なコンポーネンツとしてサイプレス製品を使用することを許可していません。生命維持システムの用途にサイプレス 製品を供することは、製造者がそのような使用におけるあらゆるリスクを負うことを意味し、その結果サイプレスはあらゆる責任を免除されることを意味します。 ソフトウェアの使用は、適用されるサイプレスソフトウェアライセンス契約によって制限され、かつ制約される場合があります。 Document Number: 001-79545 Rev** Page 47 of 47