Quadrature Decoder (QuadDec) - Component - QuadDec V2.0 Datasheet (Japanese).pdf

®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
2.0
特徴


調整可能なカウンタ サイズ: 8、16、32 ビット


絶対的な位置を決定するための、オプションのインデックス入力
A および B 入力での 1x、2x、または 4x 周波数のカウンタ分解能による、より正
確な位置または速度の決定
入力においてシステムから発生するノイズの影響を軽減する、オプションのグリッチ フ
ィルタリング
一般的な説明
直交デコーダ (QuadDec) コンポーネントは、デジタル信号のペアで、遷移をカウントする機能を提供します。典
型的に、信号は、モーターやトラックボールにマウントされた速度/位置のフィードバック システムによって提供されま
す。
通常 A および B と呼ばれる信号は、グレイコード出力をもたらす、位相から 90 度外れた位置にあります。グレ
イ コードは、各カウントで 1 ビットだけ変わるシーケンスです。これは、グリッチを避けるために必須です。また、方
向と相対位置の検出を可能にします。3 つ目のオプション信号、名前付きインデックスは、回転ごとに一度、絶
対位置を確立するための基準として使用されます。
直交デコーダを使用する場合
直交デコーダは、直交エンコーダの出力をデコードするために使用されます。直交エンコーダは、物体 (例えば、マ
ウス、トラックボール、ロボットのアクセルなど) の現在の位置、速度、方向を感知します。
直交デコーダは、モータのロータの速度、加速度、位置を正確に計測し、回転式ノブを使って、ユーザ入力を決
定するためにも使用できます。
Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600
Document Number: 001-79429 Rev**
Revised November 1, 2011
直交デコーダ (QuadDec)
®
PSoC Creator™ コンポーネント データシート
入出力接続
ここでは、直交デコーダ コンポーネントのさまざまな入出力接続について説明します。I/O リストのアスタリスク (*)
は、I/O が、その I/O の説明でリストされている条件において、シンボルに隠れている可能性があることを示します。
quad_A – 入力
直交デコーダの「A」入力。
quad_B – 入力
直交デコーダの「B」入力。
index – 入力 *
この入力は、直交デコードの基準位置を検出します。インデックス入力を使用する場合、入力 A、B、インデック
スがすべてゼロである場合は、カウンタもゼロにリセットされます。通常、インデックス パルスをゲートするために、そ
の他のロジックが追加されます。インデックス ゲーティングにより、多くの可能性のある回転のうち、1 回転だけでカ
ウンタがリセットされるようになります。1 つの例として、移動の距離制限に達した場合に、カウンタをリセットするだ
けのリニア アクチュエータがあります。この制限は、出力がインデックス パルスに接続されている、機械的な制限ス
イッチによって信号が送信されます。
この出力はデフォルトで表示されますが、Use index input (インデックス入力の使用) パラメータの選択を解除
することで、隠すこともできます。
clock – 入力
サンプリングおよび入力のグリッチ フィルタリング用のクロック信号。グリッチ フィルタリングを使用する場合、フィルタ
された出力は、続く 3 つの入力サンプルが同じ値になるまで変更されません。効果的なグリッチ フィルタリングを実
行するため、サンプル クロック期間は、グリッチが予測される期間の最大時間を超えないようにします。カウンタは、
A および B 入力の 1x、2x、4x 周波数の分解能で増分または減分できます。
クロック入力周波数は、A または B の最大入力周波数の 10 倍以上にします。
interrupt – 出力
以下のいずれかのイベントでの割り込み:



カウンタのオーバーフローおよびアンダーフロー
インデックス入力によるカウンタ リセット (インデックスが使用されている場合)
A および B 入力での無効な状態遷移
コンポーネント パラメータ
デザイン上に直交デコーダ コンポーネントをドラッグし、ダブルクリックして [Configure (設定)] ダイアログを開きま
す。ダイアログには、カテゴリ別のパラメータを持つ、複数のタブが含まれています。
Page 2 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
[Counter Size (カウンタ サイズ)] タブ
このタブは、カウンタ サイズをビットで定義するために使用されます。カウンタは、直交エンコーダによってエンコード
された現在の位置を維持します。
正と負の方向で最大位置をエンコードするのに十分なカウンタ サイズを選択してください。設定の選択肢: 8 ビッ
ト、16 ビット、または 32 ビット。
32 ビット カウンタは、ハードウェア カウンタの下位 16 ビット、ソフトウェア カウンタの上位 16 ビットを実装し、ハー
ドウェアのリソース利用を軽減します。このターゲットでは、追加の ISR が使用されます。32 ビットのカウンタを正
しく動作するよう、割り込みを有効にする必要があります。必要に応じて、ISR コードをソース ファイルに追加でき
ます。詳しくは、割り込みコンポーネント・データシートを参照してください。
Document Number: 001-79429 Rev**
Page 3 of 32
直交デコーダ (QuadDec)
®
PSoC Creator™ コンポーネント データシート
[Counter Resolution (カウンタの分解能)] タブ
このタブには、A および B 入力の 1 周期で記録されたカウント数が含まれます。カウンタの更新に使用される入
力信号の遷移を示します。コストの範囲内でのより大きなカウンタの使用では、分解能が高いほど、より結果の
位置が正確になります。設定は、1x、2x、4x になります。
[Use Index Input (インデックス入力の使用)] タブ
Page 4 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
このタブには、インデックス入力を有効/無効にするフィールドが含まれます。インデックス入力は、基準位置に達し
たことを示すために使用できます。インデックス入力が使用される場合、A、B、インデックス入力がすべてゼロにな
ると、カウントがリセットされ、割り込みを生成できます。デフォルトでは、インデックス入力が有効になります。
[Enable Glitch Filtering (グリッチ フィルタリングの使用)] タブ
このタブには、デジタル グリッチ フィルタリングを有効または無効にするフィールドが含まれます。フィルタリングは、入
力のグリッチによってのカウントミスを防ぐために適用することができます。GPIO でのヒステリシスを使用したフィルタ
リングがすでに適用されていますが、追加のフィルタリングが必要となる場合があります。
有効にすると、フィルタリングがすべての入力に適用されます。フィルタされた出力は、続く 3 つの入力サンプルが
同じ値になるまで変更されません。効果的なフィルタリングを実施するため、サンプル クロック期間は、グリッチの発
生が予測される期間の最大時間を超えないようにします。デフォルトでは、グリッチ フィルタリングが有効になります。
Clock Select (クロック選択)
直交デコーダ コンポーネントのクロッキングをするためのクロック源を接続する必要があります。ステータス レジスタ
の時間を記録し、割り込みを生成します。
配置
直交デコーダは、UDB アレイに配置され、すべての配置情報は、cyfitter.h ファイルを通して API に提供されま
す。
Document Number: 001-79429 Rev**
Page 5 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
リソース
グリッチ フィルタリングを使わない 1x 分解能
リソースのタイプ
API メモリ(バイト)
リソース
データパス
セル
PLD
ステータス
セル
Control/ Count7
セル
割り込み
フラッシュ
RAM
ピン(外部入出
力当たり)
8 ビット
1
6
2
1
0
566
7
2
8 ビット *
1
6
2
1
0
566
7
3
16 ビット
2
6
2
1
0
652
9
2
16 ビット *
2
6
2
1
0
652
9
3
32 ビット
2
6
2
1
1
906
14
2
32 ビット *
2
9
2
1
1
906
14
3
* インデックス入力を使用
グリッチ フィルタリングを使う 1x 分解能
リソースのタイプ
API メモリ(バイト)
リソース
データパス
セル
PLD
ステータス
セル
Control/ Count7
セル
割り込み
フラッシュ
RAM
ピン(外部入出
力当たり)
8 ビット
1
7
2
1
0
566
7
2
8 ビット *
1
9
2
1
0
566
7
3
16 ビット
2
7
2
1
0
652
9
2
16 ビット *
2
9
2
1
0
652
9
3
32 ビット
2
7
2
1
1
906
14
2
32 ビット *
2
9
2
1
1
906
14
3
* インデックス入力を使用
Page 6 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
グリッチ フィルタリングを使わない 2x 分解能
リソースのタイプ
リソース
データパス
セル
8 ビット
API メモリ(バイト)
PLD
ステータ
ス セル
Control/
Count7 セル
割り込み
フラッシュ
RAM
ピン(外部入出力
当たり)
1
6
2
1
0
566
7
2
8 ビット *
1
7
2
1
0
566
7
3
16 ビット
2
6
2
1
0
652
9
2
16 ビット *
2
7
2
1
0
652
9
3
32 ビット
2
6
2
1
1
906
14
2
32 ビット *
2
7
2
1
1
906
14
3
* インデックス入力を使用
グリッチ フィルタリングを使う 2x 分解能
リソースのタイプ
リソース
データパス
セル
8 ビット
API メモリ(バイト)
PLD
ステータ
ス セル
Control/
Count7 セル
割り込み
フラッシュ
RAM
ピン(外部入出力
当たり)
1
8
2
1
0
566
7
2
8 ビット *
1
9
2
1
0
566
7
3
16 ビット
2
8
2
1
0
652
9
2
16 ビット *
2
9
2
1
0
652
9
3
32 ビット
2
8
2
1
1
906
14
2
32 ビット *
2
9
2
1
1
906
14
3
* インデックス入力を使用
Document Number: 001-79429 Rev**
Page 7 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
グリッチ フィルタリングを使わない 4x 分解能
リソースのタイプ
リソース
データパス
セル
8 ビット
API メモリ(バイト)
PLD
ステータ
ス セル
Control/ Count7
セル
割り込み
フラッシュ
RAM
ピン(外部入出力
当たり)
1
7
2
1
0
566
7
2
8 ビット *
1
7
2
1
0
566
7
3
16 ビット
2
7
2
1
0
652
9
2
16 ビット *
2
7
2
1
0
652
9
3
32 ビット
2
7
2
1
1
906
14
2
32 ビット *
2
7
2
1
1
906
14
3
* インデックス入力を使用
グリッチ フィルタリングを使う 4x 分解能
リソースのタイプ
リソース
データパス
セル
8 ビット
API メモリ(バイト)
PLD
ステータ
ス セル
Control/ Count7
セル
割り込み
フラッシュ
RAM
ピン(外部入出力
当たり)
1
8
2
1
0
566
7
2
8 ビット *
1
9
2
1
0
566
7
3
16 ビット
2
8
2
1
0
652
9
2
16 ビット *
2
9
2
1
0
652
9
3
32 ビット
2
8
2
1
1
906
14
2
32 ビット *
2
9
2
1
1
906
14
3
* インデックス入力を使用
Page 8 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
アプリケーション プログラミング インタフェース
アプリケーション プログラミング インターフェース (API) ルーチンにより、ソフトウェアを使用してコンポーネントを設定
できます。次の表は、各関数へのインターフェースとその説明を示しています。続くセクションでは、各関数について
詳しく説明します。
デフォルトで、PSoC Creator は、インスタンス名「QuadDec_1」を、特定のデザインにおける最初のコンポーネ
ント インスタンスに割り当てます。コンポーネントのインスタンス名称は、識別子の文法ルールに従って固有の名
前に変更できます。インスタンス名は、すべてのグローバル関数名、変数名、定数名のプリフィックスになります。
便宜上、以下の表では「QuadDec」というインスタンス名を使用します。
関数
説明
QuadDec_Start()
UDB とその他の関連ハードウェアを初期化します。
QuadDec_Stop()
UDB とその他の関連ハードウェアをオフにします。
QuadDec_GetCounter()
カウンタの現在値をレポートします。
QuadDec_SetCounter()
カウンタの現在値を設定します。
QuadDec_GetEvents()
イベントの現在の状態をレポートします。
QuadDec_SetInterruptMask()
イベントによる割り込みを有効または無効にします。
QuadDec_GetInterruptMask()
現在の割り込みマスク設定をレポートします。
QuadDec_Sleep()
スリープになるコンポーネントを準備します。
QuadDec_Wakeup()
ウェイクアップになるコンポーネントを準備します。
QuadDec_Init()
カスタマイザで提供されるデフォルト設定を初期化または復元します。
QuadDec_Enable()
直交デコーダをイネーブルにします。
QuadDec_SaveConfig()
現在のユーザー設定を保存します。
QuadDec_RestoreConfig()
ユーザー設定を復元します。
グローバル変数
関数
QuadDec_initVar
説明
QuadDec_initVar は直行デコーダが初期化されたかどうかを示します。変数は、0 に初期化さ
れ、最初にQuadDec _Start() が呼び出されると 1 に設定されます。これは、QuadDec_Start()
ルーチンの最初の呼び出し後に再初期化しないでコンポーネントを起動します。
コンポーネントの再初期化が必要な場合は、QuadDec_Init() 関数を QuadDec_Start() また
は QuadDec_Enable() 関数の前に呼び出します。
QuadDec_count32SoftPart
32ビット カウンタ値の上位16 ビットは、この変数に保存されます。
QuadDec_swStatus
ステータス レジスタの値は、この変数に保存されます。
Document Number: 001-79429 Rev**
Page 9 of 32
直交デコーダ (QuadDec)
®
PSoC Creator™ コンポーネント データシート
void QuadDec_Start(void)
説明:
UDB とその他の関連ハードウェアを初期化します。カウンタを 0 にリセットし、すべての関連割り込みをイネ
ーブルまたはディスエーブルにします。入力とカウントの監視を開始します。
パラメータ:
なし
戻り値:
なし
副作用:
なし
void QuadDec_Stop(void)
説明:
UDB とその他の関連ハードウェアをオフにします。
パラメータ:
なし
戻り値:
なし
副作用:
なし
int8/16/32 QuadDec_GetCounter(void)
説明:
カウンタの現在値をレポートします。
パラメータ:
なし
戻り値:
int8/16/32: カウンタ値。戻り値のタイプは、カウンタ サイズの設定によって割り当てられます。正の値は、反
時計回りの動き (A の前に B) を示します。
副作用:
なし
void QuadDec_SetCounter(int8/16/32 値)
説明:
カウンタの現在値を設定します。
パラメータ:
int8/16/32 value: 新しい値。パラメータのタイプは、カウンタ サイズの設定によって割り当てられます。
戻り値:
なし
副作用:
なし
Page 10 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
uint8 QuadDec_GetEvents(void)
説明:
イベントの現在の状態を報告します。
パラメータ:
なし
戻り値:
符号なしの 8 ビット値におけるビットとしてのイベント。
ビット
副作用:
説明
QuadDec_COUNTER_OVERFLOW
カウンタのオーバーフロー。
QuadDec_COUNTER_UNDERFLOW
カウンタのアンダーフロー。
QuadDec_COUNTER_RESET
インデックスが使用されている場合、インデックスによって
よるカウンタがリセットされます。
QuadDec_INVALID_IN
無効な A 、B 入力状態遷移。
なし
void QuadDec_SetInterruptMask(uint8 mask)
説明:
イベントによる割り込みをイネーブルまたはディスエーブルにします。32 ビット カウンタでは、オーバーフロー、ア
ンダーフロー、リセットの割り込みは、ディスエーブルにできません。これらのビットは無視されます。
パラメータ:
uint8 mask: 8 ビット値のビットをイネーブルまたはディスエーブルにします。1 は割り込みを有効にします。
ビット
説明
QuadDec_COUNTER_OVERFLOW
カウンタのオーバーフローによる割り込みをイネーブルにし
ます。
QuadDec_COUNTER_UNDERFLOW
カウンタのアンダーフローによる割り込みをイネーブルにし
ます。
QuadDec_COUNTER_RESET
カウンタのリセットによる割り込みをイネーブルにします。
QuadDec_INVALID_IN
無効な入力状態遷移による割り込みをイネーブルにし
ます。
戻り値:
なし
副作用:
なし
Document Number: 001-79429 Rev**
Page 11 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
uint8 QuadDec_GetInterruptMask(void)
説明:
現在の割り込みマスク設定をレポートします。
パラメータ:
なし
戻り値:
8 ビット値のビットをイネーブルまたはディスエーブルにします。1 は割り込みをイネーブルにします。
32 ビット カウンタでは、常に、オーバーフローとアンダーフローのイネーブル ビットが設定されます。
ビット
QuadDec_COUNTER_OVERFLOW
説明
カウンタのオーバーフローによる割り込み。
QuadDec_COUNTER_UNDERFLOW カウンタのアンダーフローによる割り込み。
副作用:
QuadDec_COUNTER_RESET
カウンタのリセットによる割り込み。
QuadDec_INVALID_IN
無効な A、B 入力状態遷移による割り込み。
なし
void QuadDec_Sleep(void)
説明:
これは、コンポーネントのスリープを準備するのに推奨されるルーチンです。QuadDec_Sleep() ルーチンは、
現在のコンポーネントの状態を保存します。次に、QuadDec_Stop() 関数を呼び出し、
QuadDec_SaveConfig() を呼び出してハードウェア設定を保存します。
CyPmSleep() または CyPmHibernate() 関数を呼び出す前に、QuadDec_Sleep() 関数を呼び出し
ます。パワーマネジメント関数については、PSoC Creator System Reference Guide (システム リファレン
ス ガイド) を参照してください。
パラメータ:
なし
戻り値:
なし
副作用:
なし
void QuadDec_Wakeup(void)
説明:
これは、QuadDec_Sleep() が呼び出された際に、コンポーネントをその状態に復元するのに適したルーチ
ンです。QuadDec_Wakeup() 関数は QuadDec_RestoreConfig() 関数を呼び出して設定を復元しま
す。QuadDec_Sleep() 関数が呼び出される前にコンポーネントがイネーブルになっている場合は、
QuadDec_Wakeup() 関数でも、コンポーネントを再度イネーブルにします。
パラメータ:
なし
戻り値:
なし
副作用:
最初に QuadDec_Sleep() または QuadDec_SaveConfig() 関数を呼び出さずに
QuadDec_Wakeup() 関数を呼び出すと、予期せぬ動作を引き起こす場合があります。
Page 12 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
void QuadDec_Init(void)
説明:
カスタマイザの [Configure (設定)] ダイアログの設定に従って、コンポーネントを初期化または復元します。
QuadDec_Start() ルーチンがこの関数を呼び出し、これがコンポーネントの動作を開始する好ましい方法
であるため、QuadDec_Init() を呼び出す必要はありません。
パラメータ:
なし
戻り値:
なし
副作用:
全レジスタは、カスタマイザの [Configure (設定)] ダイアログの設定に従って、値が設定されます。
void QuadDec_Enable(void)
説明:
ハードウェアの使用を開始し、コンポーネントの動作を開始します。QuadDec_Start() ルーチンが この関数
を呼び出し、これがコンポーネントの動作を開始する好ましい方法であるため、QuadDec_Enable() を呼
び出す必要はありません。
パラメータ:
なし
戻り値:
なし
副作用:
なし
void QuadDec_SaveConfig(void)
説明:
この関数は、コンポーネントの設定と保持されないレジスタを保存します。この関数は、[Configure] (設定)
ダイアログで定義されている、または該当する API で変更される、現在のコンポーネント パラメータ値も保存
します。この関数は、QuadDec_Sleep() 関数によって呼び出されます。
パラメータ:
なし
戻り値:
なし
副作用:
なし
void QuadDec_RestoreConfig(void)
説明:
この関数は、コンポーネントの設定とノンリテンション レジスタを復元します。また、この関数はコンポーネント
のパラメータ値を QuadDec_Sleep() 関数を呼び出す前の状態に復元します。
パラメータ:
なし
戻り値:
なし
副作用:
最初に QuadDec_Sleep() または QuadDec_SaveConfig() 関数を呼び出さずにこの関数を呼び出す
と、予期せぬ動作を引き起こす場合があります。
Document Number: 001-79429 Rev**
Page 13 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
ファームウェア ソースコードのサンプル
PSoC Creator は、[Find Example Project] ダイアログに数多くのサンプル プロジェクトを提供しており、そこに
は回路図およびコード例が含まれています。コンポーネント固有の例を見るには、[Component Catalog ] また
は回路図に置いたコンポーネント インスタンスからダイアログを開きます。一般例については、[Start Page] また
は [File (ファイル)] メニューからダイアログを開きます。必要に応じてダイアログにある Filter Options を使用し、
選択できるプロジェクトのリストを絞り込みます。
詳しくは、PSoC Creator ヘルプの「Find Example Project (サンプルプロジェクトを検索)」を参照してください。
機能の説明
デフォルト設定
直交デコーダのデフォルト設定は、1x 分解能を持つ 8 ビットのアップおよびダウン カウンタで、インデックスが有効
で、グリッチ フィルタリングが有効になっています。
状態の遷移
通常、直交位相信号は、ステートマシンとアップ/ダウン カウンタでデコードされます。従来のデコーダは、A および
B 入力のすべての値に該当する、4 つの状態を持ちます。状態の遷移図を以下に示します (同じ状態の遷移
は表示されていません)。「+」および「-」のついた状態の遷移は、直交位相カウンタでの増分および減分動作を
示しています。
AB
00
+
+
-
-
AB
10
AB
01
-
-
+
+
AB
11
直交位相信号の各フルサイクルでは、直交位相カウンタが、4 つのカウントによって変更されます。より低い分解
能カウンタは、状態遷移のサブセットのみでアップ/ダウン動作を実装することで使用可能です。4 分の 1 の分解
能デコーダを以下に示します。
Page 14 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
すべての入力は、装置で内部的に派生されるクロック信号を使ってサンプリングされます。
ブロックダイアグラムと設定
直交デコーダは、ブロックの UDB 構成としてのみ利用可能です。API はこのマニュアルの前で説明されています。
レジスタについては、次のセクションのコンポーネントの総合的実装の定義の中で説明されています。
Document Number: 001-79429 Rev**
Page 15 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
レジスタ
ステータス
ビット
7
6
値
5
4
予約済み
3
2
1
無効
リセット
0
アンダーフロー オーバーフロー
状態レジスタは読み取り専用です。直交デコーダで定義されるさまざまなステータス ビットを含みます。このレジス
タの値は、QuadDec_GetEvents() 関数で取得できます。割り込み出力信号は、状態レジスタ内でマスクされ
たビット フィールドの論理和 から生成されます。
QuadDec_SetInterruptMask() 関数を使って、マスクを設定できます。割り込みを受け取ると、
QuadDec_GetEvents() 関数を使用して状態レジスタを読み取って、割り込みソースを取得できます。状態レ
ジスタは透過的であるため、QuadDec_GetEvents() 関数は、状態レジスタのビットをクリアしません。状態レジ
スタでのすべての動作は、ビルド時に状態レジスタ内でビット フィールドが移動することがあるため、ビットフィールド
の次の定義を使用する必要があります。
状態レジスタで定義されているビット フィールド マスクは複数あります。どのビット フィールドでも、割り込みソースと
して含めることができます。すべてのビット フィールドは、状態レジスタのスティッキー ビットとして構成されます。定
義は、以下のように生成されたヘッダー (.h) ファイルで利用できます。

QuadDec_COUNTER_OVERFLOW – 状態レジスタ ビット「カウンタ オーバーフロー」のビットマスクとし
て定義されます。

QuadDec_COUNTER_UNDERFLOW – 状態レジスタ ビット「カウンタ アンダーフロー」のビットマスクとし
て定義されます。


QuadDec_RESET – 状態レジスタ ビット「インデックスによるリセット 」のビットマスクとして定義されます。
QuadDec_INVALID_IN – 状態レジスタ ビット「A および B 入力での無効な状態遷移」のビットマスクとし
て定義されます。
DC 電気的特性と AC 電気的特性
以下の値は、期待される性能を示しており、初期特性データを基にしています。
「公称配線での最大」タイミング特性
パラメータ
fCLOCK
1
説明
コンポーネント クロック周波数
設定 1 のオプション:
CounterResolution:
Page 16 of 32
設定
構成1
1
Min
Typ
Max
単位
34
MHz
1
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
パラメータ
直交デコーダ (QuadDec)
説明
tCLOCKH
入力クロック HIGH 時間
tCLOCKL
入力クロックLOW時
設定
4
Error! Bookmark not
Min
Typ
Max
単位
構成2
2
29
MHz
構成3
3
16
MHz
該当なし
0.5
1/fCLOCK
該当なし
0.5
1/fCLOCK
defined.
Inputs (入力)
6
tPD_ps
入力パス遅延、同期ピン
5
1
STA
tPD_ps
入力パス遅延、同期ピン
7
2
8.5
ns
tPD_IE
コンポーネントクロックへの入力パス遅延(エ
ッジセンシティブ入力)
1,2
tPD_ps + tSYNC
+ tPD_si +
tI_clk
ns
tPD_si
入力パス遅延への同期出力 (ルート)
1,2,3,4
tPD_ps + tSYNC
+ tPD_si
STA
ns
Error!
Bookmark not
ns
defined.
2
3
4
tI_clk
clockXとクロックのアライメント
1,2,3,4
tIH
入力 HIGH 時間
1,2
tCY_clock
ns
tIL
入力 LOW 時間
1,2
tCY_clock
ns
tPD_IE
コンポーネントクロックへの入力パス遅延(エ
ッジセンシティブ入力)
3,4
tSYNC + tPD_si
CounterSize:
UsingGlitchFiltering:
UsingIndexInput:
8
false
true
設定 2 のオプション:
CounterResolution:
CounterSize:
UsingGlitchFiltering:
UsingIndexInput :
1
8
false
true
設定 3 のオプション:
CounterResolution:
CounterSize:
UsingGlitchFiltering:
UsingIndexInput:
2
16
true
true
0
1
tCY_clock
tSYNC + tPD_si
+ tI_clk
ns
tCY_clock = 1/fclock - 1 クロック周期の周期時間
5
tPD_ps は、静的タイミング解析 (STA) 結果内にあります (後述)。ここに記載されている数字は、多くの入力における STA 分析を基にした公称値
です。
6
tPD_ps および tPD_si はルート パスの遅延です。ルーティングは動的なためこれらの値は変化することがあり、最大コンポーネントクロックと同期クロック
周波数に直接の影響を及ぼします。静的タイミング分析結果に値がある必要があります。
7
tPD_ps 構成 2 で、デバイスのピン毎に定義された固定値。ここに記載されている数字は、デバイス上で使用できるすべてのピンの公称値です。
Document Number: 001-79429 Rev**
Page 17 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
パラメータ
説明
設定
Min
Typ
Max
単位
tIH
入力 HIGH 時間
1,2,3,4
tCY_clock
ns
tIL
入力 LOW 時間
1,2,3,4
tCY_clock
ns
fAB
コンポーネント A および B 周波数
該当なし
tIND
インデックス信号幅
グリッチ フィル
タリングなし
2 × tCY_clock +
5
ns
グリッチ フィル
タリングあり
3 × tCY_clock +
5
ns
tRD
時間をリセットするインデックス入力 LOW
fCLOCK/10
MHz
グリッチ フィル
タリングなし
2
tCY_clock
グリッチ フィル
タリングあり
5
tCY_clock
TGL
グリッチの発生が予測される時間
tCD
遅延時間、クロックの立ち上がりエッジからカ 該当なし
ウントの有効まで
tE
エンコーダ パルス幅 (LOW または HIGH)
該当なし
4
tCY_clock
tE
エンコーダ状態期間
該当なし
2
tCY_clock
tE
エンコーダ期間の幅
該当なし
10
tCY_clock
Page 18 of 32
グリッチ フィル
タリングあり
3
2
tCY_clock
tCY_clock
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
「すべての配線での最大」タイミング特性
パラメータ
fCLOCK
説明
設定
コンポーネント クロック周波数
tCLOCKH
入力クロック HIGH 時間
tCLOCKL
入力クロックLOW時
5
Error! Bookmark not defined.
Min
Typ
Max
1
単位
構成1
2
17
MHz
構成2
3
14
MHz
構成3
4
8
MHz
該当なし
0.5
1/fCLOCK
該当なし
0.5
1/fCLOCK
Inputs (入力)
7
tPD_ps
入力パス遅延、同期ピン
6
1
STA
tPD_ps
入力パス遅延、同期ピン
8
2
8.5
ns
tPD_IE
コンポーネント クロックへの入力パス遅延(エッジ
センシティブ入力)
1,2
tPD_ps +
tSYNC +
tPD_si +
tI_clk
ns
tPD_si
入力パス遅延への同期出力 (ルート)
1,2,3,4
tPD_ps +
tSYNC +
tPD_si
STA
Error!
Bookmark
ns
ns
not defined.
1
「すべてのルーティング」の最大値は、<公称値>/2 で最近似の整数に切り上げ/切り下げられます。この値により、このコンポーネント周波数、またはそ
れ以下で実行される場合に、ユーザがタイミングを合わせる必要がなくなります。
2
3
4
設定 1 のオプション:
CounterResolution:
CounterSize:
UsingGlitchFiltering:
UsingIndexInput:
1
8
false
true
設定 2 のオプション:
CounterResolution:
CounterSize:
UsingGlitchFiltering:
UsingIndexInput :
1
8
false
true
設定 3 のオプション:
CounterResolution:
CounterSize:
UsingGlitchFiltering:
UsingIndexInput:
2
16
true
true
5
tCY_clock = 1/fclock - 1 クロック周期の周期時間
6
tPD_ps は、後述する静的タイミングの結果にあります。ここに記載されている数字は、多くの入力における STA 分析を基にした公称値です。
7
tPD_ps および tPD_si はルート パスの遅延です。ルーティングは動的なためこれらの値は変化することがあり、最大コンポーネントクロックと同期クロック
周波数に直接の影響を及ぼします。静的タイミング分析結果に値がある必要があります。
8
tPD_ps 構成 2 で、デバイスのピン毎に定義された固定値。ここに記載されている数字は、デバイス上で使用できるすべてのピンの公称値です。
Document Number: 001-79429 Rev**
Page 19 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
パラメータ
説明
設定
Min
Typ
0
Max
1
1
単位
tI_clk
clockXとクロックのアライメント
1,2,3,4
tIH
入力 HIGH 時間
1,2
tCY_clock
ns
tIL
入力 LOW 時間
1,2
tCY_clock
ns
tPD_IE
コンポーネントクロックへの入力パス遅延(エッジセ
ンシティブ入力)
3,4
tSYNC +
tPD_si
tIH
入力 HIGH 時間
1,2,3,4
tCY_clock
ns
tIL
入力 LOW 時間
1,2,3,4
tCY_clock
ns
fAB
コンポーネント A および B 周波数
該当なし
tIND
インデックス信号幅
グリッチ フィ
ルタリング
tSYNC +
tPD_si +
tI_clk
fCLOCK/10
tCY_clock
ns
MHz
2 × tCY_clock
+5
ns
3 × tCY_clock
グリッチ フィ
+5
ルタリングあり
ns
なし
tRD
時間をリセットするインデックス入力 LOW
グリッチ フィ
ルタリング
2
tCY_clock
5
tCY_clock
なし
グリッチ フィ
ルタリングあり
TGL
グリッチの発生が予測される時間
tCD
遅延時間、クロックの立ち上がりエッジからカウント 該当なし
の有効まで
tE
エンコーダ パルス幅 (LOW または HIGH)
該当なし
4
tCY_clock
tE
エンコーダ状態期間
該当なし
2
tCY_clock
tE
エンコーダ期間の幅
該当なし
10
tCY_clock
Page 20 of 32
グリッチ フィ
ルタリングあり
3
2
tCY_clock
tCY_clock
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント・データシート
直交デコーダ (QuadDec)
図 1. グリッチ フィルタリングを使わないタイミング図
tCY_clock
tELP
clock
tE
tE
Input @ quad_B
tES
tES
Input @ quad_A
tIND
Input @ index
Internal signal @
quad_B_filtered
Internal signal @
quad_A_filtered
Internal signal @
Index_filtered
tRD
Internal signal @
reset
Internal signal @
count 1x
count
tCD
N
Document Number: 001-79429 Rev**
N+1
00
01
Page 21 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
図 2. グリッチ フィルタリングを使ったタイミング図
tCY_clock
tELP
clock
tE
tE
Input @ quad_B
tGL
Input @ quad_A
tES
Noise
Spike
tES
tIND
Input @ index
Internal signal @
quad_B_filtered
Internal signal @
quad_A_filtered
Internal signal @
Index_filtered
tRD
Internal signal @
reset
Internal signal @
count 1x
count
Page 22 of 32
tCD
N
N+1
00
01
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
特性データ用の STA 結果の使用方法
公称ルーティング最大値は、静的タイミング分析 (STA) を使って、複数のテスト パスから収集されます。STA
結果を用いた場合、次の手法でデザインの最大値を計算できます。
fCLOCK Maximum Component Clock Frequency(最大コンポーネントクロック周波数)が、外付けクロックと
いう名前のクロックサマリにタイミング結果として表示されます。下図は、_timing.html ファイルによるクロッ
ク制限の例を示しています。
入力パス遅延とパルス幅
入力の機能を特性化する場合は、どのように構成しても、すべての入力は、図 3 に示されるように、4 つの可能
な設定のいずれかになります。
すべての入力は同期されていなければなりません。同期のメカニズムは、コンポーネントへの入力ソースによって異
なります。システムの動作を完全に解釈するには、各入力でどの入力設定を設定したか、またシステムのクロック
構成を理解する必要があります。このセクションでは、Static Timing Analysis (静的タイミング分析、STA) の
結果を使用して、システムの特性分析を行う方法について説明します。
Document Number: 001-79429 Rev**
Page 23 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
図 3. コンポーネントタイミング仕様のための入力設定
構成
1
コンポーネント クロック
シンクロナイザ クロック(周波数)
図
1
master_clock
master_clock
図8
1
クロック
master_clock
図6
1
クロック
clockX = clock
1
クロック
clockX > clock
図5
1
クロック
clockX < clock
図7
2
master_clock
master_clock
図8
2
クロック
master_clock
図6
3
master_clock
master_clock
図13
1
図4
クロック周波数は同等ですが、立ち上がりエッジのアライメントは保証されていません。
Page 24 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント データシート
構成
コンポーネント クロック
直交デコーダ (QuadDec)
シンクロナイザ クロック(周波数)
図
3
クロック
master_clock
図11
3
クロック
clockX = clock
3
クロック
clockX > clock
図10
3
クロック
clockX < clock
図12
4
master_clock
master_clock
図13
4
クロック
クロック
図9
1
図9
1. 入力は、デバイスピンによって駆動され、内部で「sync」コンポーネントと同期します。このコンポーネントは、コ
ンポーネントが使用するクロックとは異なる内部クロックを使用します (すべての内部クロックは master_clock
から派生します)。
このような方法で構成された入力の特性を分析する際は、clockX はコンポーネントのクロックより速い、同じ、
遅い場合があります。また、図 4、図 5、図 7、図 8 に示されているように、特性化パラメータを生成する、
master_clock にも等しくなる場合があります。
2. この入力は、デバイスピンによって駆動され、master_clock を使用してそのピンと同期化されます。
このような方法で構成された入力の特性を分析する際は、master_clock はコンポーネントのクロックより速
いか同じになります(遅いことはありません)。これは、図 5 と 図 8 に示されているように、特性化パラメータを生成
します。
図 4. 入力設定 1 および 2。同期クロック周波数 = コンポーネントクロック周波数 (clock と clockX のエッジ
アライメントは保証されません)
master_clock
clockX
tsync
clock
tPD_ps
Input @ pin
tPD_si
Input @ sync output
Input @ component
tPD_IE
Document Number: 001-79429 Rev**
tIH
tI_clk
tIL
Page 25 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
図 5. 入力設定 1 と 2。 Sync。クロック周波数。> コンポーネント クロック周波数
master_clock
clockX
tsync
clock
tPD_ps
Input @ pin
tPD_si
Input @ sync output
Input @ component
tPD_IE
tIH
tIL
tI_clk
図 6. 入力設定 1 と 2。[Sync. クロック周波数。== master_clock] > コンポーネント クロック周波数
master_clock
tsync
clock
tPD_ps
Input @ pin
tPD_si
Input @ sync output
Input @ component
tIH
tPD_IE
tI_clk
Page 26 of 32
tIL
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
図 7. 入力設定 1。Sync。クロック周波数。< コンポーネント クロック周波数
master_clock
clockX
tsync
clock
tPD_ps
Input @ pin
tPD_si
Input @ sync output
Input @ component
tIH
tPD_IE
tIL
図 8. 入力設定 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 内部のロジックにより駆動されます。これはコンポーネントが使用するクロックとは異なるクロック
をベースにして同期しています(すべての内蔵クロックは master_clock から派生しています)。
この方法で設定された入力を特性化する場合、シンクロナイザ クロックは、図 9、図 10、図 12 に示される
特性化パラメータを生成するコンポーネントのクロックより速くなるか、遅くなるか、同じになります。
4. 入力は PSoC 内部のロジックにより駆動されます。これはコンポーネントが使用するクロックと同じクロックをベ
ースにして同期しています。
Document Number: 001-79429 Rev**
Page 27 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
この方法で設定された入力を特性化する場合、同期クロックは、図 13 に示される特性化パラメータを生成
する、コンポーネントのクロックに等しくなります。
図 9. 入力構成 3 のみ; Sync. クロック周波数。= コンポーネント クロック周波数 (clock と clockX のエッジ
アライメントは保証されません)
master_clock
clockX
clock
tPD_si
Logic Output
Input @ component
tIH
tIL
図 9 は、静的タイミング分析がクロックを解釈できる範囲を表しています。デジタルクロック領域のすべてのクロック
は master_clock と同期します。但し、同じ周波数の 2 つのクロックは、立ち上がりエッジでアライメントされませ
ん。このため、静的タイミング分析ツールは、どのクロックのエッジに同期するかが特定できず、master_clock サイ
クルの最低値だと推定するほかありません。つまり、tPD_si にシステムの master_clock のリミティング効果が含ま
れるようになったことを意味します。このパスの遅延が長すぎる場合は、master_clock セットアップ時間の違反が
表示されます。この場合、システムの同期クロックを変更するか、master_clock を遅い周波数で実行しなけれ
ばなりません。
図 10. 入力設定 3。Sync。クロック周波数。> コンポーネント クロック周波数
master_clock
clockX
clock
tPD_si
Logic Output
Input @ component
tIH
Page 28 of 32
tIL
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
図 9 に示されているのとほぼ同じ方法で、すべてのクロックは、master_clock から生成されます。STA は、この
構成で 1master_clock サイクル分、master_clock における tPD_si の制限を示します。このパスの遅延が長す
ぎると、master_clock セットアップ時間の違反が発生します。この場合、システムの同期クロックを変更するか、
master_clock を遅い周波数で実行しなければなりません。
図 11. 入力設定 3; Synchronizer Clock Frequency = master_clock > Component Clock
Frequency
master_clock
clock
tPD_si
Logic Output
Input @ component
tIH
tIL
図 12. 入力設定 3; Synchronizer Clock Frequency < Component Clock Frequency
master_clock
clockX
clock
tPD_si
Logic Output
Input @ component
tIH
tIL
図 9 に示されているのとほぼ同じ方法で、すべてのクロックは、master_clock から派生します。STA は、この構
成で 1master_clock サイクル分、master_clock における tPD_si の制限を示します。このパスの遅延が長すぎ
ると、master_clock セットアップ時間の違反が発生します。この場合、システムの同期クロックを変更するか、
master_clock を遅い周波数で実行しなければなりません。
Document Number: 001-79429 Rev**
Page 29 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
図 13. 入力設定 4 のみ; Synchronizer Clock = Component Clock
clock
tPD_si
Logic Output
Input @ component
tIH
tIL
このセクションの前のすべての図で、実装を理解する上で最も重要なパラメータは、fCLOCK および tPD_IE です。
tPD_IE は、tPD_ps および tSYNC (設定 1 および 2 のみ)、tPD_si、 および tI_Clk によって定義されます。非常に重要
なことは、tPD_si が最大コンポーネントクロック周波数を定義するということです。tI_Clk は STA の結果によるもので
はありませんが、tPD_IE が登録された場合に表示に使用されます。これは、シンクロナイザとコンポーネント クロック
の間のルート後に残ったマージン。
tPD_ps と tPD_si は、STA 結果に含まれています。
tPD_ps は、_timing.html ファイルで定義されている入力設定時間を参照してください。この入力のファンアウトが
1 を超える場合があるため、これらのパスの最大値を評価する必要があります。
tPD_si は、レジスタ間の時間に定義されています。_timing.html を使用するには、ネット名を知っていなければな
りません。このパスのファンアウトは 1 つ以上ある可能性があり、これらのパスの最大値を評価する必要があります。
Page 30 of 32
Document Number: 001-79429 Rev**
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
出力パス遅延
出力のパス遅延の特性分析を行う場合、STA 結果のどこでデータを見つけることができるかを知るために、出力
の送信先を知らなければなりません。このコンポーネントでは、すべての出力がコンポーネントクロックに同期されて
います。出力は 2 つのカテゴリのうち、いずれかに該当します。出力は、デバイス内の別のコンポーネントへ送られ
るか、デバイス外のピンに進むかのどちらかです。前者の場合、上述のロジック・入力間の説明に記載されている
レジスタ間の時間(ソースクロックはコンポーネントクロックです)を見ます。後者の場合、_timing.html STA 結果
のクロック・出力間の時間を見ます。
Document Number: 001-79429 Rev**
Page 31 of 32
®
PSoC Creator™ コンポーネント データシート
直交デコーダ (QuadDec)
コンポーネントの変更
ここでは、過去のバージョンからコンポーネントに加えられた主な変更を示します。
バージョン
2.0
変更の説明
データシートのブロック図と設定ブロックダイアグ
ラムと設定変更されています。
変更の理由 / 影響
Counter コンポーネントの最新バージョンでの使用向けです。
直行デコーダコンポーネント回路図の内部コン Counter コンポーネントの最新バージョンでの使用向けです。
ポーネントをバージョン 2.0 に更新。
不要定義を削除。
1.50.a
データシートに特性データを追加
データシートのマイナーな編集と更新
1.50
QuadDec_Start() API の変更: 制御レジス
タへの書き込みを削除。
Beta5 STA-Based 最適化。
QuadDec_Sleep()/ QuadDec_Wakeup() より低い電力モードをサポートするための API を追加。
API を追加。
QuadDec_Init() API を追加。
1.20
コンポーネントを開始せずに、初期化/復元する API の提供を追加。
[Configure] ダイアログが更新されました。
カウンタ サイズは 32 以下の場合、コンパイル後 QuadDec_INT.c ファイルを削除。
カウンタ サイズの QuadDec_INT.c ファイルの状態チェックを削除。
Copyright © 2005-2012 Cypress Semiconductor Corporation 本文書に記載される情報は、予告なく変更される場合があります。Cypress Semiconductor Corporation は、サイプレス製品に組み込まれた回路以外のいかなる回路
を使用することに対しても一切の責任を負いません。特許又はその他の権限下で、ライセンスを譲渡又は暗示することもありません。サイプレス製品は、サイプレスとの書面による合意に基づくものでない限り、医療、生命維持、救命、重要な管
理、又は安全の用途のために仕様することを保証するものではなく、また使用することを意図したものでもありません。さらにサイプレスは、誤動作や故障によって使用者に重大な傷害をもたらすことを合理的に予想される、生命維持システムの重
要なコンポーネンツとしてサイプレス製品を使用することを許可していません。生命維持システムの用途にサイプレス製品を供することは、製造者がそのような使用におけるあらゆるリスクを負うことを意味し、その結果サイプレスはあらゆる責任を免
除されることを意味します。
PSoC Designer™及び Programmable System-on-Chip™は、Cypress Semiconductor Corp.の商標、PSoC®は同社の登録商標です。本文書で言及するその他全ての商標又は登録商標は各社の所有物です。
全てのソースコード(ソフトウェア及び/又はファームウェア)は Cypress Semiconductor Corporation (以下「サイプレス」)が所有し、全世界(米国及びその他の国)の特許権保護、米国の著作権法並びに国際協定の条項により保護され、かつ
それらに従います。サイプレスが本書面によるライセンシーに付与するライセンスは、個人的、非独占的かつ譲渡不能のライセンスであって、適用される契約で指定されたサイプレスの集積回路と併用されるライセンシーの製品のみをサポートするカ
スタムソフトウェア及び/又はカスタムファームウェアを作成する目的に限って、サイプレスのソースコードの派生著作物を複製、使用、変更、そして作成するためのライセンス、並びにサイプレスのソースコード及び派生著作物をコンパイルするためのラ
イセンスです。上記で指定された場合を除き、サイプレスの書面による明示的な許可なくして本ソースコードを複製、変更、変換、コンパイル、又は表示することは全て禁止されます。
免責条項:サイプレスは、明示的又は黙示的を問わず、本資料に関するいかなる種類の保証も行いません。これには、商品性又は特定目的への適合性の黙示的な保証が含まれますが、これに限定されません。サイプレスは、本文書に記載さ
れる資料に対して今後予告なく変更を加える権利を留保します。サイプレスは、本文書に記載されるいかなる製品又は回路を適用又は使用したことによって生ずるいかなる責任も負いません。サイプレスは、誤動作や故障によって使用者に重
大な傷害をもたらすことが合理的に予想される生命維持システムの重要なコンポーネンツとしてサイプレス製品を使用することを許可していません。生命維持システムの用途にサイプレス製品を供することは、製造者がそのような使用におけるあら
ゆるリスクを負うことを意味し、その結果サイプレスはあらゆる責任を免除されることを意味します。
ソフトウェアの使用は、適用されるサイプレスソフトウェアライセンス契約によって制限され、かつ制約される場合があります。
Page 32 of 32
Document Number: 001-79429 Rev**