セクション 15. 直交エンコーダ インターフェイス...

36
© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-1 直交エンコーダ インターフェイス (QEI) 15 セクション 15. 直交エンコーダ インターフェイス (QEI) ハイライト 本セクションには以下の主要項目を記載しています。 15.1 はじめに ...................................................................................................................... 15-2 15.2 制御およびステータス レジスタ ................................................................................. 15-5 15.3 モジュールの説明 ..................................................................................................... 15-21 15.4 省電力モード時の QEI 動作 ...................................................................................... 15-29 15.5 リセットの影響 ......................................................................................................... 15-29 15.6 レジスタマップ ......................................................................................................... 15-30 15.7 設計のヒント ............................................................................................................ 15-31 15.8 関連アプリケーション ノート .................................................................................. 15-32 15.9 改訂履歴 .................................................................................................................... 15-33 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

Upload: others

Post on 15-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ

ナルの英語版をご参照願います。

セクション 15. 直交エンコーダ インターフェイス (QEI)

直交エンコーダ

インターフェイス

(QEI)

15

ハイライト

本セクションには以下の主要項目を記載しています。

15.1 はじめに ...................................................................................................................... 15-215.2 制御およびステータス レジスタ ................................................................................. 15-515.3 モジュールの説明 ..................................................................................................... 15-2115.4 省電力モード時の QEI 動作 ...................................................................................... 15-2915.5 リセットの影響 ......................................................................................................... 15-2915.6 レジスタマップ ......................................................................................................... 15-3015.7 設計のヒント ............................................................................................................ 15-3115.8 関連アプリケーション ノート .................................................................................. 15-3215.9 改訂履歴 .................................................................................................................... 15-33

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-1

Page 2: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

15.1 はじめに

直交エンコーダ インターフェイス (QEI) モジュールは、機械的な位置を計測するインクリメン

タル エンコーダ用のインターフェイスを提供します。直交エンコーダは、インクリメンタル エンコーダまたは光学エンコーダとしても知られ、回転体の角度位置と回転速度を検出します。直交エンコーダを使ってスイッチト リラクタンス (SR) モータおよびAC誘導モータ (ACIM)アプリケーション等の閉ループ制御が行えます。 一般的な直交エンコーダは、モータのシャフトに取り付けるスリット付き円板と、円板のスリットを検出するための光源と受光器を備えます。通常は、3 つの出力チャンネル ( 位相 A (QEA)、位相 B (QEB)、インデックス (INDX)) により、モータシャフトの運動に関する情報 ( 距離と方

向を含む ) が得られます。

一般的に、位相 A チャンネル (QEA) と位相 B チャンネル (QEB) の間の位相差は 90° です。位相

A チャンネルと位相 B チャンネルは一定の位相関係を持ちます。位相 A が位相 B よりも進んで

いる時のモータ回転方向を正転または前進方向とみなし、位相 A が位相 B よりも遅れている時

のモータ回転方向を逆転または後退方向とみなします。インデックス パルスは 1 回転に 1 回生

成され、絶対位置を示す基準信号として使います。図 15-1 に、直交エンコーダ インターフェイ

スの信号を示します。

エンコーダから出力される直交信号には、QEA と QEB の関係を反映した 4 つのステート (01、00、10、11) が存在します。図 15-1 に、1 カウントサイクル中のこれらのステートを示します。

移動方向が変わるとステートの並び順が逆転します。

直交デコーダはステートが変化するたびに 32 ビットアップ / ダウン位置カウンタ (POSCNT)をインクリメントまたはデクリメントします。カウンタは、QEA が QEB よりも進んでいる時にインクリメントし、QEB が QEA よりも進んでいる時にデクリメントします。

図 15-1: 直交エンコーダ インターフェイス信号

表 15-1 に、直交信号のデコード方法を表す真理値表を示します。

Note: ファミリ リファレンス マニュアルの本セクションは、デバイス データシートの補足を目的としています。本セクションの内容は、dsPIC33E/PIC24E ファミリの一部のデバイスには対応していません。

本書の内容がお客様のご使用になるデバイスに対応しているかどうかは、最新デバイス データシート内の「直交エンコーダ インターフェイス (QEI)」の冒頭に記載している注意書きでご確認ください。

デバイス データシートとファミリ リファレンス マニュアルの各セクションは、マイクロチップ社のウェブサイト (http://www.microchip.com) からダウンロードできます。

+1+1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1POSCNT

UP/DOWN

QEA

QEB

-1

DS70601B_JP - p. 15-2 © 2012 Microchip Technology Inc.

Page 3: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

図 15-2 に、QEI モジュールの概略ブロック図を示します。QEI モジュールは、位相 A (QEA)および位相 B (QEB) 信号を解釈するためのデコーダ ロジックと、カウントを積算するための

アップ / ダウンカウンタを備えます。カウンタパルスは、直交ステートが変化した時に生成さ

れます。次の方向の変化を検出するまで、現在のカウント方向を示す情報をレジスタで保持する必要があります。モジュールは、入力信号のコンディショニングを行うデジタル ノイズフィ

ルタも備えています。 QEI モジュールは下記の主な特長を備えます。

• 4 本の入力ピン : 2x 位相信号、1x インデックス パルス、1x 原点復帰パルス

• 入力用プログラマブル デジタル ノイズフィルタ

• カウンタパルスとカウント方向を出力する直交デコーダ

• カウント方向ステータス

• 4 倍のカウント分解能

• インデックス (INDX) パルスによる位置カウンタのリセット

• 汎用 32 ビット タイマ / カウンタ モード

• QEI またはカウンタイベントによる割り込みの生成

• 16 ビット速度カウンタ

• 32 ビット位値カウンタ

• 32 ビット パルスカウンタ

• 32 ビット インターバル タイマ

• 32 ビット位置カウンタの初期化 / キャプチャ / コンペア上位ワードレジスタ

• 32 ビット位置カウンタの初期化 / キャプチャ / コンペア下位ワードレジスタ

• x4 直交カウントモード

• 外部アップ / ダウンカウント モード

• 外部ゲート付きカウントモード

• 外部ゲート付きタイマモード

• インターバル タイマモード

表 15-1: 直交エンコーダの真理値表

現在の直交ステート 直前の直交ステート 動作

QA QB QA QB

1 1 1 1 カウントせず、または方向が変化

1 1 1 0 カウントアップ

1 1 0 1 カウントダウン 1 1 0 0 無効なステート変化、無視

1 0 1 1 カウントダウン

1 0 1 0 カウントせず、または方向が変化

1 0 0 1 無効なステート変化、無視

1 0 0 0 カウントアップ

0 1 1 1 カウントアップ

0 1 1 0 無効なステート変化、無視

0 1 0 1 カウントせず、または方向が変化

0 1 0 0 カウントダウン

0 0 1 1 無効なステート変化、無視

0 0 1 0 カウントダウン

0 0 0 1 カウントアップ

0 0 0 0 カウントせず、または方向が変化

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-3

Page 4: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC

24Eフ

ァミ

リ リ

ファ

レン

ス マ

ニュ

アル

DS

70601B_JP

- p. 15-4©

2012 Microchip Technology Inc.

COUNT_EN

32-bit Greater Than or EqualCompare Register

32-bit Greater Than

Data Bus

PCHEQ

PCHGE

CNT_DIR

GATEN

0

1

or Equal Comparator

(QEIxGEC)(1)

32-bit Initialization and Capture Register

(QEIxIC)(1)

APEN

ter

図 15-2: 直交エンコーダ インターフェイス (QEI) モジュールの概略ブロック図

QuadratureDecoder

Logic

CNTCMPx

QEBx

QEAx

INDXx

COUNT

DIR

FCY COUNT

32-bit Index Counter Register

DigitalFilter

HOMEx FHOMEx

Data Bus

COUNT_EN

CNT_DIRCNT_DIR

FINDXx

FINDXx

32-bit Interval Timer16-bit Index Counter Hold Register

32-bit IntervalTimer Register

Hold Register

COUNT_EN

FCY

EXTCNT

EXTCNT

DIR_GATE

16-bit Velocity

COUNT_ENCNT_DIR

Counter Register

PCLLEPCHGE

DIVCLK

DIRDIR_GATE

1’B0

PCLLE

CNTPOL

DIR_GATE

DIVCLK

32-bit Less Than

PCLLEor Equal Comparator

PCLEQPCHGE

÷ QFDIV

CCM

÷ INTDIV

(VELxCNT)

(INTxTMR)

(INTxHLD)

(INDXxCNT)

(INDXxHLD)

INDXxCNTLINDXxCNTHPOSxCNTLPOSxCNTH

32-bit Less Than or EqualCompare Register

(QEIxLEC)

16-bit Position CounterHold Register(POSxHLD)

QC

32-bit Position Counter Regis(POSxCNT)

Note 1: これらのレジスタは同一メモリアドレスに割り当てられます。

OUTFNC

FLTREN

Page 5: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

15.2 制御およびステータス レジスタ

QEI モジュールには下記のレジスタが割り当てられています。

• QEIxCON: QEI 制御レジスタ

このレジスタは QEI モジュールの動作を制御します。

• QEIxIOC: QEI I/O 制御レジスタ このレジスタは、QEI モジュールの入力 / 出力モードを制御します。

• QEIxSTAT: QEI ステータスレジスタ このレジスタは、割り込みイネーブルフラグと、QEI モジュールの状態を示すステータスフ

ラグを格納します。

• POSxCNTH: 位置カウンタ上位ワードレジスタ このレジスタは位置カウンタの上位ワードです。

• POSxCNTL: 位置カウンタ下位ワードレジスタ

このレジスタは位置カウンタの下位ワードです。

• POSxHLD: 位置カウンタホールド レジスタ このレジスタは、読み出しまたは書き込み動作中に、POSxCNTH の内容を保持します。

• VELxCNT: 速度カウンタレジスタ このレジスタは速度値を保存します。

• INDXxCNTH: インデックス カウンタ上位ワードレジスタ このレジスタはインデックス カウンタの上位ワードです。

• INDXxCNTL: インデックス カウンタ下位ワードレジスタ このレジスタはインデックス カウンタの下位ワードです。

• INDXxHLD: インデックス カウンタ ホールドレジスタ このレジスタは、読み出しまたは書き込み動作中に、INDXxCNTH の内容を保持します。

• QEIxICH: 初期化 / キャプチャ上位ワードレジスタ このレジスタは QEIxIC レジスタの上位ワードです。

• QEIxICL: 初期化 / キャプチャ下位ワードレジスタ このレジスタは QEIxIC レジスタの下位ワードです。

• QEIxLECH: 「以下」コンペア上位ワードレジスタ このレジスタは「以下」コンペアレジスタの上位ワード (16 ビット ) です。

• QEIxLECL: 「以下」コンペア下位ワードレジスタ

このレジスタは「以下」コンペアレジスタの下位ワード (16 ビット ) です。

• QEIxGECH: 「以上」コンペア上位ワードレジスタ

このレジスタは「以上」コンペアレジスタの上位ワード (16 ビット ) です。

• QEIxGECL: 「以上」コンペア下位ワードレジスタ このレジスタは「以上」コンペアレジスタの下位ワード (16 ビット ) です。

• INTxTMRH: インターバル タイマ上位ワードレジスタ このレジスタはカウンタパルス インターバル タイマレジスタの上位ワードです。

• INTxTMRL: インターバル タイマ下位ワードレジスタ このレジスタはカウンタパルス インターバル タイマレジスタの下位ワードです。

• INTxHLDH: インターバル タイマホールド上位ワードレジスタ このレジスタはインターバル タイマ ホールドレジスタの上位ワードの内容を保持します。

• INTxHLDL: インターバル タイマホールド下位ワードレジスタ このレジスタはインターバル タイマ ホールドレジスタの下位ワードの内容を保持します。

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-5

Page 6: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-1: QEIxCON: QEI 制御レジスタ

R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

QEIEN — QEISIDL PIMOD<2:0>(1) IMV<1:0>(2)

bit 15 bit 8

U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

— INTDIV<2:0>(3) CNTPOL GATEN CCM<1:0>

bit 7 bit 0

凡例 :

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 QEIEN: 直交エンコーダ インターフェイス モジュール カウンタ イネーブルビット

1 = モジュール カウンタを有効にする0 = モジュール カウンタを無効にする (SFR は読み書き可能 )

bit 14 未実装 :「0」として読み出し

bit 13 QEISIDL: アイドルモード時停止ビット

1 = デバイスがアイドルモードに移行した時にモジュールの動作を停止する0 = アイドルモード時もモジュールの動作を継続する

bit 12-10 PIMOD<2:0>: 位置カウンタ初期化モード選択ビット (1)

111 = 予約済み110 = 位置カウンタをモジュロ カウントモードにする101 = 位置カウンタが QEIxGEC レジスタに一致した時に位置カウンタをリセットする 100 = 原点復帰イベント後、2 回目のインデックス イベントが発生した時に、QEIxIC レジスタの値

を使って位置カウンタを初期化する011 = 原点復帰イベント後、最初のインデックス イベントが発生した時に、QEIxIC レジスタの値を

使って位置カウンタを初期化する010 = 次のインデックス入力イベントが発生した時に、QEIxIC レジスタの値を使って位置カウンタ

を初期化する001 = インデックス入力イベントが発生するたびに位置カウンタをリセットする000 = インデックス入力イベントは位置カウンタに影響しない

bit 9-8 IMV<1:0>: インデックス一致値ビット (2) 11 = インデックス一致は QEB = 1 かつ QEA = 1 の時に発生する 10 = インデックス一致は QEB = 1 かつ QEA = 0 の時に発生する 01 = インデックス一致は QEB = 0 かつ QEA = 1 の時に発生する 00 = インデックス入力イベントは位置カウンタに影響しない

bit 7 未実装 : 「0」として読み出し

bit 6-4 INTDIV<2:0>: タイマ入力クロック プリスケール選択ビット ( インターバル タイマ、メインタイマ ( 位置カウンタ )、速度カウンタ、インデックス カウンタの内部クロック分周比の選択 )(3)

111 = 1:256110 = 1:64101 = 1:32100 = 1:16011 = 1:8010 = 1:4001 = 1:2000 = 1:1

Note 1: CCM = 10 または CCM = 11 の場合、全ての QEI カウンタはタイマとして動作し、PIMOD<2:0> ビットを無視します。

2: CCM = 00 の場合、QEA と QEB の値がインデックス一致値 (IMV) に一致した時に、POSxCNTH およびPOSxCNTL レジスタをリセットします。

3: 選択したクロックレートは、予測される直交カウント最大レートの 2 倍以上である事が必要です。

DS70601B_JP - p. 15-6 © 2012 Microchip Technology Inc.

Page 7: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

bit 3 CNTPOL: 位置およびインデックス カウンタ / タイマ方向選択ビット

1 = 外部アップ / ダウン信号による変更がない限りカウンタ方向は負 ( カウントダウン )0 = 外部アップ / ダウン信号による変更がない限りカウンタ方向は正 ( カウントアップ )

bit 2 GATEN: 外部カウントゲート イネーブルビット

1 = 外部ゲート信号は位置カウンタの動作を制御する0 = 外部ゲート信号は位置カウンタ / タイマの動作に影響しない

bit 1-0 CCM<1:0>: カウンタ制御モード選択ビット

11 = 内部タイマモード10 = 外部ゲート信号を使う外部クロック カウントモード01 = 外部アップ / ダウン信号を使う外部クロック カウントモード00 = 直交エンコーダモード

レジスタ 15-1: QEIxCON: QEI 制御レジスタ ( 続き )

Note 1: CCM = 10 または CCM = 11 の場合、全ての QEI カウンタはタイマとして動作し、PIMOD<2:0> ビットを無視します。

2: CCM = 00 の場合、QEA と QEB の値がインデックス一致値 (IMV) に一致した時に、POSxCNTH およびPOSxCNTL レジスタをリセットします。

3: 選択したクロックレートは、予測される直交カウント最大レートの 2 倍以上である事が必要です。

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-7

Page 8: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-2: QEIxIOC: QEI I/O 制御レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

QCAPEN FLTREN QFDIV<2:0> OUTFNC<1:0> SWPABbit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R-x R-x R-x R-x

HOMPOL IDXPOL QEBPOL QEAPOL HOME INDEX QEB QEAbit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 QCAPEN: 位置カウンタ入力キャプチャ イネーブルビット 1 = HOMEx 入力イベント ( 立ち上がりエッジ ) は位置キャプチャ イベントをトリガする0 = HOMEx 入力イベント ( 立ち上がりエッジ ) は位置キャプチャ イベントをトリガしない

bit 14 FLTREN: QEA/QEB/INDX/HOMEx デジタルフィルタ イネーブルビット

1 = 入力ピンのデジタルフィルタを有効にする0 = 入力ピンのデジタルフィルタを無効にする ( バイパスする )

bit 13-11 QFDIV<2:0>: QEA/QEB/INDX/HOMEx デジタル入力フィルタ クロック分周比選択ビット

111 = 1:256 にクロックを分周する110 = 1:64 にクロックを分周する101 = 1:32 にクロックを分周する100 = 1:16 にクロックを分周する011 = 1:8 にクロックを分周する010 = 1:4 にクロックを分周する001 = 1:2 にクロックを分周する000 = 1:1 にクロックを分周する

bit 10-9 OUTFNC<1:0>: QEI モジュール出力機能モード選択ビット

11 = CNTCMPx ピンは、POSxCNT ≤ QEIxLEC または POSxCNT ≥ QEIxGEC の時に HIGH に遷移する10 = CNTCMPx ピンは、POSxCNT ≤ QEIxLEC の時に HIGH に遷移する01 = CNTCMPx ピンは、POSxCNT ≥ QEIxGEC の時に HIGH に遷移する

00 = 出力を無効にする

bit 8 SWPAB: QEA/QEB 入力スワップビット

1 = 直交デコーダロジックに入力する前に QEAx と QEBx をスワップする0 = QEAx と QEBx をスワップしない

bit 7 HOMPOL: HOMEx 入力極性選択ビット

1 = 入力を反転する0 = 入力を反転しない

bit 6 IDXPOL: INDXx 入力極性選択ビット

1 = 入力を反転する0 = 入力を反転しない

bit 5 QEBPOL: QEBx 入力極性選択ビット

1 = 入力を反転する0 = 入力を反転しない

bit 4 QEAPOL: QEAx 入力極性選択ビット

1 = 入力を反転する0 = 入力を反転しない

DS70601B_JP - p. 15-8 © 2012 Microchip Technology Inc.

Page 9: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

bit 3 HOME: 極性制御下での HOMEx 入力ピン状態ビット ( 読み出し専用 )1 = HOMPOL ビットが「0」の場合、ピンの状態は論理「1」

HOMPOL ビットが「1」の場合、ピンの状態は論理「0」0 = HOMPOL ビットが「0」の場合、ピンの状態は論理「0」

HOMPOL ビットが「1」の場合、ピンの状態は論理「1」bit 2 INDEX: 極性制御下での INDXx 入力ピン状態ビット ( 読み出し専用 )

1 = IDXPOL ビットが「0」の場合、ピンの状態は論理「1」IDXPOL ビットが「1」の場合、ピンの状態は論理「0」

0 = IDXPOL ビットが「0」の場合、ピンの状態は論理「0」IDXPOL ビットが「1」の場合、ピンの状態は論理「1」

bit 1 QEB: 極性制御およびSWAPABピンスワップ制御下でのQEBx入力ピン状態ビット (読み出し専用 )1 = QEBPOL ビットが「0」かつ SWPAB ビットが「0」の場合、物理ピン QEB の状態は論理「1」

QEBPOL ビットが「1」かつ SWPAB ビットが「0」の場合、物理ピン QEB の状態は論理「0」QEBPOL ビットが「0」かつ SWPAB ビットが「1」の場合、物理ピン QEA の状態は論理「1」QEBPOL ビットが「1」かつ SWPAB ビットが「1」の場合、物理ピン QEA の状態は論理「0」

0 = QEBPOL ビットが「0」かつ SWPAB ビットが「0」の場合、物理ピン QEB の状態は論理「0」QEBPOL ビットが「1」かつ SWPAB ビットが「0」の場合、物理ピン QEB の状態は論理「1」QEBPOL ビットが「0」かつ SWPAB ビットが「1」の場合、物理ピン QEA の状態は論理「0」QEBPOL ビットが「1」かつ SWPAB ビットが「1」の場合、物理ピン QEA の状態は論理「1」

bit 0 QEA: 極性制御およびSWAPABピンスワップ制御下でのQEAx入力ピン状態ビット (読み出し専用 )1 = QEAPOL ビットが「0」かつ SWPAB ビットが「0」の場合、物理ピン QEA の状態は論理「1」

QEAPOL ビットが「1」かつ SWPAB ビットが「0」の場合、物理ピン QEA の状態は論理「0」QEAPOL ビットが「0」かつ SWPAB ビットが「1」の場合、物理ピン QEB の状態は論理「1」QEAPOL ビットが「1」かつ SWPAB ビットが「1」の場合、物理ピン QEB の状態は論理「0」

0 = QEAPOL ビットが「0」かつ SWPAB ビットが「0」の場合、物理ピン QEA の状態は論理「0」QEAPOL ビットが「1」かつ SWPAB ビットが「0」の場合、物理ピン QEA の状態は論理「1」QEAPOL ビットが「0」かつ SWPAB ビットが「1」の場合、物理ピン QEB の状態は論理「0」QEAPOL ビットが「1」かつ SWPAB ビットが「1」の場合、物理ピン QEB の状態は論理「1」

レジスタ 15-2: QEIxIOC: QEI I/O 制御レジスタ ( 続き )

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-9

Page 10: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-3: QEIxSTAT: QEI ステータスレジスタ

U-0 U-0 HS, R/C-0 R/W-0 HS, R/C-0 R/W-0 HS, R/C-0 R/W-0

— — PCHEQIRQ PCHEQIEN PCLEQIRQ PCLEQIEN POSOVIRQ POSOVIENbit 15 bit 8

HS, R/C-0 R/W-0 HS, R/C-0 R/W-0 HS, R/C-0 R/W-0 HS, R/C-0 R/W-0

PCIIRQ(1) PCIIEN VELOVIRQ VELOVIEN HOMIRQ HOMIEN IDXIRQ IDXIEN

bit 7 bit 0

凡例 : C = クリア可能ビット HS = ハードウェアでセット

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-14 未実装 :「0」として読み出し

bit 13 PCHEQIRQ: 位置カウンタ「以上」コンペア ステータスビット

1 = POSxCNT ≥ QEIxGEC0 = POSxCNT < QEIxGEC

bit 12 PCHEQIEN: 位置カウンタ「以上」コンペア割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

bit 11 PCLEQIRQ: 位置カウンタ「以下」コンペア ステータスビット

1 = POSxCNT ≤ QEIxLEC0 = POSxCNT > QEIxLEC

bit 10 PCLEQIEN: 位置カウンタ「以下」コンペア割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

bit 9 POSOVIRQ: 位置カウンタ オーバーフロー ステータスビット

1 = オーバーフローが発生した0 = オーバーフローは発生していない

bit 8 POSOVIEN: 位置カウンタ オーバーフロー割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

bit 7 PCIIRQ: 位置カウンタ ( 原点復帰 ) 初期化処理完了ステータスビット (1)

1 = POSxCNT は再初期化された0 = POSxCNT は再初期化されていない

bit 6 PCIIEN: 位置カウンタ ( 原点復帰 ) 初期化処理完了割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

bit 5 VELOVIRQ: 速度カウンタ オーバーフロー ステータスビット

1 = オーバーフローが発生した0 = オーバーフローは発生していない

bit 4 VELOVIEN: 速度カウンタ オーバーフロー割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

bit 3 HOMIRQ: 原点復帰イベント ステータスフラグ ビット

1 = 原点復帰ベントが発生した0 = 原点復帰イベントは発生していない

Note 1: このステータスビットは、PIMOD<2:0> モードが「011」または「100」の場合にのみ利用できます。

DS70601B_JP - p. 15-10 © 2012 Microchip Technology Inc.

Page 11: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

bit 2 HOMIEN: 原点復帰入力イベント割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

bit 1 IDXIRQ: インデックス イベント ステータスフラグ ビット

1 = インデックス イベントが発生した0 = インデックス イベントは発生していない

bit 0 IDXIEN: インデックス入力イベント割り込みイネーブルビット

1 = 割り込みを有効にする0 = 割り込みを無効にする

レジスタ 15-3: QEIxSTAT: QEI ステータスレジスタ ( 続き )

Note 1: このステータスビットは、PIMOD<2:0> モードが「011」または「100」の場合にのみ利用できます。

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-11

Page 12: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-4: POSxCNTH: 位置カウンタ上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0POSCNT<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0POSCNT<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 POSCNT<31:16>: 32 ビット位置カウンタレジスタ (POSxCNT) 上位ワードビット

レジスタ 15-5: POSxCNTL: 位置カウンタ下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0POSCNT<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0POSCNT<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 POSCNT<15:0>: 32 ビット位置カウンタレジスタ (POSxCNT) 下位ワードビット

DS70601B_JP - p. 15-12 © 2012 Microchip Technology Inc.

Page 13: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

レジスタ 15-6: POSxHLD: 位置カウンタホールド レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0POSHLD<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0POSHLD<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 POSHLD<15:0>: 位置カウンタ上位ワードレジスタ (POSxCNTH)読み書き用ホールドレジスタ ビット

レジスタ 15-7: VELxCNT: 速度カウンタレジスタ R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

VELCNT<15:8>bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0VELCNT<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 VELCNT<15:0>: 速度カウンタビット

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-13

Page 14: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-8: INDXxCNTH: インデックス カウンタ上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INDXCNT<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INDXCNT<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INDXCNT<31:16>: 32 ビット インデックスカウンタ レジスタ (INDXxCNT) 上位ワードビット

レジスタ 15-9: INDXxCNTL: インデックス カウンタ下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INDXCNT<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INDXCNT<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INDXCNT<15:0>: 32 ビット インデックスカウンタ レジスタ (INDXxCNT) 下位ワードビット

DS70601B_JP - p. 15-14 © 2012 Microchip Technology Inc.

Page 15: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

レジスタ 15-10: INDXxHLD: インデックス カウンタ ホールドレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INDXHLD<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INDXHLD<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INDXHLD<15:0>: インデックス カウンタ上位ワードレジスタ (INDXxCNTH) 読み書き用ホールドレジスタ ビット

レジスタ 15-11: QEIxICH: 初期化 / キャプチャ上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIIC<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIIC<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 QEIIC<31:16>: 32 ビット初期化 / キャプチャ レジスタ (QEIxIC) 上位ワードビット

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-15

Page 16: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-12: QEIxICL: 初期化 / キャプチャ下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIIC<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIIC<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 QEIIC<15:0>:32 ビット初期化 / キャプチャ レジスタ (QEIxIC) 下位ワードビット

レジスタ 15-13: QEIxLECH: 「以下」コンペア上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEILEC<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEILEC<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 QEILEC<31:16>: 32 ビット「以下」コンペアレジスタ (QEIxLEC) 上位ワードビット

DS70601B_JP - p. 15-16 © 2012 Microchip Technology Inc.

Page 17: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

レジスタ 15-14: QEIxLECL: 「以下」コンペア下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEILEC<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEILEC<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 QEILEC<15:0>: 32 ビット「以下」コンペアレジスタ (QEIxLEC) 下位ワードビット

レジスタ 15-15: QEIxGECH: 「以上」コンペア上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIGEC<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIGEC<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 QEIGEC<31:16>: 32 ビット「以上」コンペアレジスタ (QEIxGEC) 上位ワードビット

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-17

Page 18: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-16: QEIxGECL: 「以上」コンペア下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIGEC<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0QEIGEC<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 QEIGEC<15:0>: 32 ビット「以上」コンペアレジスタ (QEIxGEC) 下位ワードビット

レジスタ 15-17: INTxTMRH: インターバル タイマ上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTTMR<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTTMR<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INTTMR<31:16>: 32 ビット インターバル タイマレジスタ (INTxTMR) 上位ワードビット

DS70601B_JP - p. 15-18 © 2012 Microchip Technology Inc.

Page 19: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

レジスタ 15-18: INTxTMRL: インターバル タイマ下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTTMR<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTTMR<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INTTMR<15:0>: 32 ビット インターバル タイマレジスタ (INTxTMR) 下位ワードビット

レジスタ 15-19: INTxHLDH: インターバル タイマホールド上位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTHLD<31:24>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTHLD<23:16>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INTHLD<31:16>: 32 ビット インターバル タイマ ホールドレジスタ (INTxHLD) 上位ワードビット

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-19

Page 20: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 15-20: INTxHLDL: インターバル タイマホールド下位ワードレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTHLD<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0INTHLD<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-0 INTHLD<15:0>: 32 ビット インターバル タイマ ホールドレジスタ (INTxHLD) 下位ワードビット

DS70601B_JP - p. 15-20 © 2012 Microchip Technology Inc.

Page 21: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

15.3 モジュールの説明

15.3.1 位置カウンタ

位置カウンタは 32 ビット幅を持ち、2 つの 16 ビットレジスタ (POSxCNTL と POSxCNTH) により構成されます。このカウンタはエンコーダが生成するパルスの数をカウントします。

カウンタ動作中にカウンタを読み出す場合、ユーザ アプリケーションは最初に POSxCNTL レ

ジスタからカウンタ値の下位ワード (lsw) を読み出す必要があります。lsw を読み出すと、

POSxCNTH の内容が自動的にホールドレジスタ POSxHLD に転送されます。その後に、ユー

ザ アプリケーションは POSxHLD レジスタを読み出す事によってカウンタ値の上位ワード

(msw) を取得できます。ホールドレジスタ (POSxHLD) により、これらの読み出し動作の間で

発生するキャリーまたはボローに影響されずに一貫した 32ビット値を読み出す事ができます。

値を POSxCNTL:POSxCNTH レジスタペアに書き込む場合、ユーザ アプリケーションは最初

に msw を POSxHLD レジスタに書き込む必要があります。次にタイマ値の lsw を POSxCNTLレジスタに書き込むと、POSxHLD レジスタの内容が自動的に POSxCNTH レジスタに転送さ

れます。従って、一貫した 32 ビット値を 1 クロックサイクルで位置カウンタに書き込む事が

できます。

QEI ステータスレジスタの POSOVIEN ビット (QEIxSTAT<8>) がセットされている場合、位置

カウンタが0x7FFFFFFFから0x80000000または0x80000000から0x7FFFFFFFへロールオー

バーすると、割り込みが生成されます。

位置カウンタの動作モードは、QEI 制御レジスタの CCM<1:0> ビット (QEIxCON<1:0>) で制御

します。位置カウンタは下記の動作モードをサポートします。

• 直交カウントモード

• 外部アップ / ダウン信号を使う外部カウントモード

• 外部ゲート信号を使う外部カウントモード

• 内部タイマモード

15.3.1.1 直交カウントモード

このモードでは、QEA/EXTCNT および QEB/DIR/GATE 入力をデコードする事により、カウン

トパルスと、POSxCNT および VELxCNT を制御するためのカウント方向情報を生成します。

INDXxCNT レジスタは、INDX 入力で有効なエッジを検出した時にカウントします。図 15-1 に、

直交カウントモード動作のタイミング図を示します。

15.3.1.2 外部アップ / ダウン信号を使う外部カウントモード このモードでは、QEA/EXTCNT 入力を外部カウント信号として使い、QEB/DIR/GATE 入力を

カウント方向情報 ( 外部アップ / ダウン信号 ) として使います。カウント方向は、QEI 制御レジ

スタ (QEIxCON<3>) の CNTPOL ビットによってオーバーライドされない限り、正方向 ( カウ

ントアップ ) です。図 15-3 に、外部アップ / ダウン信号を使う外部カウントモード動作のタイ

ミング図を示します。

図 15-3: 外部アップ / ダウン信号を使う外部カウントモード

76 77 78 79 80 81 82 81 80 79 78 77 76

76 75 74 73 72 71 70 71 72 73 74 75 76

QEA

QEB

POSCNT

CNTPOL = 0 when

POSCNT

CNTPOL = 1 when

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-21

Page 22: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

15.3.1.3 外部ゲート信号を使う外部カウントモード このモードでは、QEA/EXTCNT 入力を外部カウント信号として使います。QEI 制御レジスタ

の GATEN ビット (QEIxCON<2>) がセットされている場合、QEB/DIR/GATE 入力が「0」の時

にカウンタ信号は抑止されます。GATEN ビットがクリアされている場合、ゲート信号はカウ

ンタ動作に影響しません。既定値のカウント方向は正 ( カウントアップ ) です。QEI 制御レジ

スタのCNTPOLビット (QEIxCON<3>)がセットされている場合、 カウント方向は負 (カウント

ダウン ) です。図 15-4 に、外部ゲート信号を使う外部カウントモード動作のタイミング図を示

します。

図 15-4: 外部ゲート信号を使う外部カウントモード

15.3.1.4 内部タイマモード

このモードでは、位置カウンタの速度、インデックス、インターバル カウンタは、カウント源と

して内部クロックを使います。内部クロックは、QEI 制御レジスタの INTDIV<2:0> ビット

(QEIxCON<6:4>) に基づくクロック分周器により分周されます。QEI 制御レジスタの GATENビット (QEIxCON<2>) がセットされている場合、QEB/DIR/GATE 入力が「0」の時にカウン

タ信号は無効になります。GATEN ビットがクリアされている場合、ゲート信号はカウンタの

動作に影響しません。既定値のカウント方向は正 ( カウントアップ ) です。QEI 制御レジスタ

の CNTPOL ビット (QEIxCON<3>) がセットされている場合、 カウント方向は負 ( カウントダ

ウン ) です。図 15-5 に、内部タイマモード動作のタイミング図を示します。

76 77 78 79 80 81 82

76 75 74 73 72 71 70

76 77 78 79 80 81 82 83 84 85 86 87 88

QEA

QEB

POSCNT

GATEN = 1 andCNTPOL = 0 when

POSCNT

GATEN = 1 andCNTPOL = 1

when

POSCNT

GATEN = 0 andCNTPOL = 0

when

POSCNT

GATEN = 0 andCNTPOL = 1

when

89

76 75 74 73 72 71 70 69 68 67 66 65 64 63

Note: POSxCNT レジスタ自体はバイトアクセスを許容しますが、POSxCNT レジスタに対してバイトモードで読み / 書きすると、予測不可能な結果が生じます。ホールドレジスタ (POSxHLD) は 16 ビット幅しかないため、バイトモードによる操作は推奨しません。

DS70601B_JP - p. 15-22 © 2012 Microchip Technology Inc.

Page 23: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

図 15-5: 内部タイマモード

76 77 78 79 80 81 82

76 75 74 73 72 71 70

76 77 78 79 80 81 82 83 84 85 86 87 88

76 75 74 73 72 71 70 69 68 67 66 65 64

QEB

FCY

POSCNT

GATEN = 1 andCNTPOL = 0 when

POSCNT

GATEN = 1 andCNTPOL = 1 when

POSCNT

GATEN = 0 andCNTPOL = 0 when

POSCNT

GATEN = 0 andCNTPOL = 1

when

76 77 78 79 80 81 82

76 77 78 79 80 81 82 83

VELCNT

INDX

HOME

INTTMR

76 77 78 79 80 81 82 83

89

63

when

76 75 74 73 72 71 70

76 75 74 73 72 71 70

CNTPOL = 0

VELCNTwhen CNTPOL = 1

INDXCNTwhen CNTPOL = 0

INDXCNTwhen CNTPOL = 1

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-23

Page 24: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

15.3.2 速度カウンタ

速度カウンタ (VELxCNT) は 16 ビット幅のレジスタです。このレジスタは、直交デコーダロ

ジックからの信号に基づいてインクリメントまたはデクリメントします。このレジスタを読み出すとカウンタはリセットされます。インデックス入力または QEI 制御レジスタの

PIMOD<2:0> ビット (QEIxCON<12:10>) で指定される全てのモードは、速度カウンタの動作に

影響しません。QEI レジスタの VELOVIEN ビット (QEIxSTAT<4>) がセットされている場合、

速度カウンタが 0x7FFF から 0x8000 または 0x8000 から 0x7FFF へロールオーバーすると割り

込みが生成されます。図 15-6 に、速度カウンタ動作のタイミング図を示します。

図 15-6: 速度カウンタ

Note: 速度カウンタは、VELxCNT レジスタを読み出してから次に読み出すまでの間の移動距離を示します。VELxCNT レジスタを読み出すとカウンタはリセットされます。ユーザ アプリケーションは、1 ~ 4 kHz のレートで速度カウンタを読み出す必要があります。

QEA

QEB

VELCNT

VELOVIEN = 1

78

割り込み生成VELxCNT レジスタを読み出すとカウンタはリセットする

79 80 81 82 0 1 2 3 4 5 6 7 9 11 0 1 2 3

7FFF

0001

0002108

0000

DS70601B_JP - p. 15-24 © 2012 Microchip Technology Inc.

Page 25: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

15.3.3 インデックス カウンタ

インデックス カウンタ (INDXxCNT) は 32 ビット幅を持ち、2 個の 16 ビットレジスタ

(INDXxCNTH と INDXxCNTL) により構成されます。このレジスタはインデックス イベントを

カウントし、直交ロジックデコーダのカウント方向出力に基づいてインクリメントまたはデクリメントします ( 図 15-2 参照 )。詳細は 15.3.7「インデックス イベント」を参照してください。

カウンタ動作中にインデックス カウンタを読み出す場合、ユーザ アプリケーションはまず

INDXxCNTL レジスタからカウンタ値の lsw を読み出す必要があります。lsw を読み出すと、

INDXxCNTH の内容が自動的にホールドレジスタ INDXxHLD に転送されます。その後に、ユー

ザ アプリケーションは POSxHLD レジスタを読み出す事によってカウンタ値の msw を取得で

きます。

値を INDXxCNTH:INDXxCNTL レジスタペアに書き込む場合、ユーザ アプリケーションはまず

msw を INDXxHLD レジスタに書き込む必要があります。次にインデックス値の lsw を

INDXxCNTL に書き込むと、INDXxHLD レジスタの内容が自動的に INDXxCNTH レジスタに転

送されます。従って、一貫した 32 ビット値を 1 クロックサイクルでインデックス カウンタに

書き込む事ができます。

15.3.4 インターバル タイマ

モータが非常に低速で動作する場合、エンコーダは正確な速度計測を行うに足りる十分な数のパルスを生成しません。このような場合、パルス数をカウントするのではなく、パルスの期間を計測できます。モータが非常に低速で動作する場合、32 ビット インターバル タイマ

(INTxTMR) を使う事により、デコーディングされた各直交カウントパルス間の時間間隔 ( イン

ターバル ) を計測します。このタイマは、QEI 制御レジスタの INTDIV<2:0> ビット

(QEIxCON<6:4>) で指定されているレートでカウントします。インターバル タイマは、最初の

カウントパルスを検出した時にクリアされます。次のカウントパルスを検出すると、インターバル タイマのその時点の内容がインターバル ホールドレジスタ (INTxHLDH と INTxHLDL) に転送され、インターバル タイマはクリアされます ( この処理を繰り返す )。インターバル ホー

ルドレジスタは、常に、直前に完了したタイミング計測値を格納します。図 15-7 に、インター

バル タイマ動作のタイミング図を示します。

Note: INDXxCNT レジスタはバイトアクセスを許容しますが、INDXxCNT レジスタに対してバイトモードで読み / 書きすると、予測不可能な結果が生じます。ホールドレジスタ (INDXxHLD) は 16 ビット幅しかないため、バイトモードによる操作は推奨しません。

Note: 次の位置カウントパルスを検出した時に INTxHLD レジスタを読み出した場合、非一貫したデータ読み出しを防ぐために、INTxHLD レジスタの内容は更新されません。

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-25

Page 26: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

図 15-7: インターバル タイマ

15.3.5 初期化 / キャプチャ レジスタ

32ビット初期化 /キャプチャ レジスタ(QEIxIC)は、下記機能の実行に使える汎用レジスタです。

• 位置カウンタの初期化

• 位置カウンタの内容のキャプチャ

QEIxIC レジスタは、常にこれらのタスクのいずれか 1 つだけしか実行できませんが、動作中

に動作モードを変更できます。動作モードは QEI 制御レジスタの PIMOD<2:0> ビット

(QEIxCON<12:10>) で選択します。「位置カウンタの初期化」モードでは、位置カウンタを初

期化するために、PIMOD<2:0> ビットで設定されている条件に基づいて、QEIxIC レジスタの

内容を POSxCNT レジスタに書き込みます。

「位置カウンタの内容のキャプチャ」モードでは、入力信号を使って、位置レジスタの内容をQEIxIC レジスタにキャプチャします。このレジスタの設定により移動限界を定義し、これを超

えた時にフォルトを生成する事ができます。

15.3.6 位置コンパレータ

ユーザ アプリケーションは、32 ビット コンパレータ レジスタとこれに対応するコンパレー

タを使う事により、位置カウンタの内容と指定された値を比較する事ができます。コンパレータは 2 つの出力 (「以上」と「以下」) を備えます。適切な条件が成立すると、コンパレータ

は QEI ステータス レジスタの PCHEQIRQ または PCLEQIRQ ビット (QEIxSTAT<13> または

QEIxSTAT<11>) をセットする事により、割り込みを生成します。コンパレータ出力は

CNTCMPx ピンで出力されます。条件は、QEI I/O 制御レジスタの OUTFNC<1:0> ビット

(QEIxIOC<10:9>) で選択します。コンパレータを使って一致を検出した時に位置カウンタを

リセットする事もできます。この動作は、QEI 制御レジスタの PIMOD<2:0> ビット

(QEIxCON<12:10>) で選択します。図 15-8 に、位置カウンタのインデックス リセット動作を

示します。

5 6 0 1 2 3 4 5 1 2 3 4

QEA

QEB

Fcy

INTDIV = 000INTxTMRH:INTxTMRL

INTxTMRH:INTxTMRL レジスタの内容を INTxHLDH:INTxHLDL レジスタに転送した後に、これらのレジスタは「0」にリセットされる

56 0

DS70601B_JP - p. 15-26 © 2012 Microchip Technology Inc.

Page 27: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

図 15-8: 位置カウンタのインデックス リセット動作

15.3.7 インデックス イベント

QEI 制御レジスタの IMV<1:0> ビット (QEIxCON<9:8>) は、インデックス イベントを認識する

ために必要な QEA および QEB 入力信号の状態を指定します。QEA および QEB 入力の状態が

IMV<1:0> ビットで設定した条件に一致している時に、インデックス パルスが発生すると、イ

ンデックス イベントが認識されます。これにより、インデックス入力信号が無効になるまでに

インデックス イベントが複数回認識されてしまう事を防ぎます (1 回のインデックス入力パル

スに対してインデックス イベントを 1 回だけ生成します )。図 15-8 に、位置カウンタのイン

デックス リセット動作を示します。

+1+1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

Note 1: 図には CCM = 00 の場合の位置カウントの更新を示しています。

2: 図には示していませんが、位置カウンタ (POSxCNTH:POSxCNTL) の内容は、カウントステートが変化するたびにインクリメントまたはデクリメントします。

91

QEA

Count

POSCNT(1,2)

Index Mark is

+1

95 00 01 9507

QEB

Forward Direction (QEA leads QEB) Reverse Direction (QEB leads QEA)

The POSxCNT

Index In

Assume IVM = 00

Effective Index

01 00 94

Index Mark Match

The POSxCNT registeris set to ‘0000’.

QEIINTR

-1+1

recognized

to ‘0000’set

Index Mark Match

The POSxCNT registeris set to ‘0000’.

register is

+1

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-27

Page 28: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

15.3.8 位置カウンタ初期化モード

ユーザ アプリケーションは、QEI 制御レジスタの PIMOD<2:0> ビット (QEIxCON<12:10>) を使って、モジュール動作中に位置カウンタの初期化方法を指定できます。

• モード 0 - インデックス入力は位置カウンタに影響しません。

• モード 1 - インデックス入力イベントを検出するたびに位置カウンタをクリアします。

• モード 2 - 次のインデックス入力イベントを検出した時に、QEIxIC レジスタの内容を使って位置カウンタを初期化します。インデックス イベントが発生すると PIMOD<2:0> ビットがクリアされ、その後カウンタはモード 0 で動作します。

• モード 3 - 原点復帰入力がアサートされた後、最初のインデックス入力イベントを検出した時に、QEIxIC レジスタの内容を使って位置カウンタを初期化します。原点復帰イベント後にインデックス イベントが発生すると、PIMOD<2:0> ビットがクリアされ、その後カウンタはモード 0 で動作します。

• モード 4 - 原点復帰入力がアサートされた後、2 回目のインデックス入力イベントを検出した時に、QEIxIC レジスタの内容を使って位置カウンタを初期化します。原点復帰イベントの後、2 回目のインデックス イベントが発生した時に PIMOD<2:0> ビットがクリアされ、その後カウンタはモード 0 で動作します。

• モード 5 - 位置カウンタ値が QEIxIC レジスタ値に一致した時に位置カウンタをクリアします。

• モード 6 - 位置カウンタ値が QEIxGEC レジスタ値に一致した時にカウントアップ パルスが検出された場合、QEIxLEC レジスタの内容を位置カウンタに書き込みます。位置カウンタ値が QEIxLEC レジスタ値に一致した時にカウントダウン パルスが検出された場合、QEIxGECレジスタの内容を位置カウンタに書き込みます。

• モード 7 - 予約済み : 位置カウンタは既定値のモード 0 動作を選択します。

15.3.9 デジタル入力フィルタ

QEI モジュールは、インデックスおよび直交位相信号の入力ノイズを除去するために、デジタ

ル ノイズフィルタを使います。これらのフィルタは、モータシステムで一般的に生じる低レベ

ルノイズと大きなノイズスパイクを除去します。

入力信号レベルが変化してから 3 回目のフィルタクロック立ち上がりエッジまでその状態が維

持されない限り、フィルタ後の出力信号は変化しません。これにより、1 クロック周期よりも

短いノイズスパイクや、2 クロック周期よりも短いパルスは無視されます。

フィルタのクロックレートによってフィルタのローパス帯域が決まります。フィルタクロックを遅くすると、ローパス帯域周波数は下がります。

デジタルフィルタは、QEI I/O 制御レジスタの FLTREN ビット (QEIxIOC<14>) をセットすると

有効になります。クロック信号のフィルタクロック分周比は、QEI I/O 制御レジスタの

QFDIV<2:0> ビット (QEIxIOC<13:11>) で選択します。

図 15-9 に、デジタル ノイズフィルタの概略ブロック図を示します。

図 15-9: デジタル ノイズフィルタのブロック図

QEI Input D Q

TCY

Filtered QEI

CK

Input

Pin

D Q

D Q D Q D Q

Filtered

ClockDividerCircuit

Non-Filtered Signal 0

1

CK

3

CKCK CK CKCKCK

QFDIV<2:0>

CFLTREN

TCY

OR

OR

DS70601B_JP - p. 15-28 © 2012 Microchip Technology Inc.

Page 29: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

15.3.10 割り込み

QEI 割り込みには、下記の割り込み要因が存在します。

• 位置カウンタのオーバーフローまたはアンダーフロー イベント割り込み

• 速度カウンタのオーバーフローまたはアンダーフロー イベント割り込み

• 位置カウンタ初期化処理完了割り込み

• 位置カウンタ「以上」コンペア割り込み

• 位置カウンタ「以下」コンペア割り込み

• インデックス イベント割り込み

• 原点復帰イベント割り込み

QEI ステータスレジスタ (QEIxSTAT) は、各割り込み要因の割り込みイネーブルビットと、対

応する割り込みステータスビットを格納します。ステータスビットは、対応する割り込み要求が発生した事を示します。モジュールは、全ての QEI 割り込みを 1 つに集約した割り込み信号

を、割り込みコントローラ モジュールへ出力します。

15.4 省電力モード時の QEI 動作

15.4.1 スリープモード

デバイスがスリープモードに移行すると、QEI は動作を停止します。POSxCNT レジスタは直

前の値を保持します。QEI は QEA、QEB、INDX ピン上のアクティブな信号に応答しません。

QEIxCON レジスタは内容を保持します。

15.4.2 アイドルモード

デバイスがアイドルモードに移行した時に QEI モジュールが動作を継続するかどうかは、QEI制御レジスタの QEISIDL ビット (QEIxCON<13>) によって決まります。

QEICSIDL = 1 の場合、QEI モジュールは省電力モードに移行し、スリープモードの時と同様

に機能します。QEICSIDL = 0 の場合、モジュールは省電力モードに移行せず、アイドルモー

ド中も動作を継続します。

15.4.3 Doze モード

Doze モード中の QEI の動作は通常モードの時と同様です。

15.5 リセットの影響

リセットが発生すると、モジュールのレジスタは初期リセット状態に戻されます。

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-29

Page 30: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC

24Eフ

ァミ

リ リ

ファ

レン

ス マ

ニュ

アル

DS

70601B_JP

- p. 15-30©

2012 Microchip Technology Inc.

するレジスタの要約を表 15-2 に示します。

Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 全リセット

CNTPOL GATEN CCM<1:0> 0x0000EAPOL HOME INDEX QEB QEA 0x000XLOVIEN HOMIRQ HOMIEN IDXIRQ IDXIEN 0x0000

0x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x00000x0000

15.6 レジスタマップ

dsPIC33E/PIC24E ファミリの直交エンコーダ インターフェイス (QEI) モジュールに関連

表 15-2: QEI 関連のレジスタマップ

レジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5

QEIxCON QEIEN — QEISIDL PIMOD<2:0> IMV<1:0> — INTDIV<2:0>

QEIxIOC QCAPEN FLTREN QFDIV<2:0> OUTFNC<1:0> SWPAB HOMPOL IDXPOL QEBPOL Q

QEIxSTAT — — PCHEQIRQ PCHEQIEN PCLEQIRQ PCLEQIEN POSOVIRQ POSOVIEN PCIIRQ PCIIEN VELOVIRQ VE

POSxCNTH POSCNT<31:16>

POSxCNTL POSCNT<15:0>

POSxHLD POSHLD<15:0>

VELxCNT VELCNT<15:0>

INDXxCNTH INDXCNT<31:16>

INDXxCNTL INDXCNT<15:0>

INDXxHLD INDXHLD<15:0>

QEIxICH QEIIC<31:16>

QEIxICL QEIIC<15:0>

QEIxLECH QEILEC<31:16>

QEIxLECL QEILEC<15:0>

QEIxGECH QEIGEC<31:16>

QEIxGECL QEIGEC<15:0>

INTxTMRH INTTMR<31:16>

INTxTMRL INTTMR<15:0>

INTxHLDH INTHLD<31:16>

INTxHLDL INTHLD<15:0>

凡例 : x = リセット時に未知の値、— = 未実装、「0」として読み出し、リセット値は 16 進数で表記

Page 31: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

15.7 設計のヒント

質問 1: ハードウェア信号を入れ換えた場合のソフトウェアの設定方法を教えてください

回答 : ユーザ アプリケーションは、QEIxIOC レジスタの HOMPOL、IDXPOL、QEBPOL、QEAPOL ビットを使って、対応する入力信号の極性を反転できます。QEIxIOC レジスタの SWPAB ビットをセットした場合、QEA および QEB 信号は、直交デコーダに入力される前にスワップされます。信号をスワップすると、カウント方向が反転します。ユーザ アプリケーションは、QEIxIOC レジスタの OUTFNC<1:0> ビット(QEIxIOC<10:9>) を使って、内部モジュールステートまたは位置カウンタ コンパレータのステータスをデバイスピンに出力できます。選択した信号はデバイス外部のお客様のアプリケーション回路で使われるため、出力タイミングは重要ではありません。

質問 2: QEI モジュールを使うソフトウェアのデバッグ方法を教えてください

回答 : QEIxIOC レジスタを使うと、QEI モジュールの外部入力および出力を設定できます。

運動制御を行うアプリケーションをセットアップまたはトラブルシュートする場合、QEIxIOC レジスタの HOME、INDEX、QEB、QEA ステータスビットを使って、それらに対応する入力の個々の状態を監視できます。

QEI I/O 制御レジスタの QCAPEN ビット (QEIxIOC<15>) をセットする事により、センサまたは信号を原点復帰入力に接続できます。このビットをセットした場合、ユーザ アプリケーションは位置カウンタの現在の値をキャプチャし、その値を QEIxIC レジスタに保存できます。フィルタを有効にした場合、フィルタ処理後の原点復帰信号で立ち上がりエッジが発生した時に、原点復帰イベントが検出されます。QEI ステータス レジスタの HOMIEN ビット (QEIxSTAT<2>) をセットすると、原点復帰イベント発生時の割り込み生成を有効にできます。

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-31

Page 32: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

15.8 関連アプリケーション ノート

本セクションに関連するアプリケーション ノートの一覧を以下に記載します。一部のアプリ

ケーション ノートは dsPIC33E/PIC24E デバイスファミリ向けではありません。ただし概念は

共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。QEI モジュー

ルに関連する最新のアプリケーション ノートは以下の通りです。

タイトル アプリケーション ノート番号

ブラシ付き DC モータのサーボ制御 AN532

PIC18CXXX/PIC16CXXX DC サーボモータ アプリケーション AN696

dsPIC30F による AC 誘導モータのベクトル制御 AN908

Note: dsPIC33E/PIC24E ファミリ関連のアプリケーション ノートとサンプルコードはマイクロチップ社のウェブサイト (www.microchip.com) でご覧頂けます。

DS70601B_JP - p. 15-32 © 2012 Microchip Technology Inc.

Page 33: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

セクション 15. 直交エンコーダ インターフェイス (QEI)直交エンコーダ

インターフェイス

(QEI)

15

15.9 改訂履歴

リビジョン A (2009 年 6 月 )本書の初版

リビジョン B (2012 年 8 月 )このリビジョンでの更新内容

• 文書の名称を「dsPIC33E ファミリ リファレンス マニュアル」から「dsPIC33E/PIC24E ファミリ リファレンス マニュアル」に変更

• QEIxCON: QEI 制御レジスタ ( レジスタ 15-1) の下記の内容を更新

- レジスタ名を QEICON から QEIxCON に変更

- PIMOD<12:10> = 111 の定義を更新

- CCM<1:0> のビット値定義を変更

• QEIxIOC: QEI I/O 制御レジスタ ( レジスタ 15-2) の下記の内容を更新

- レジスタ名を QEIIOC から QEIxIOC に変更

- QCAPEN<15> = 0 の定義を更新

- OUTFNC<10:9> のビット値定義を変更

- SWPAB<8> のビット値定義を変更

- QFDIV<13:11>、HOMPOL<7>、IDXPOL<6>、QEBPOL<5>、QEAPOL<4> のビット名を更新

- HOME<3>、INDEX<2>、QEB<1>、QEA<0> のビット名とビット値定義を更新

• QEIxSTAT: QEI ステータスレジスタ ( レジスタ 15-3) の下記の内容を更新

- レジスタ名を QEISTAT から QEIxSTAT に変更

- PCHEQIRQ<13>、PCLEQIRQ<11>、PCIIRQ<7>、HOMIRQ<3>、IDXIRQ<1> のビット名とビット値定義を更新

- PCHEQIEN<12>、PCLEQIEN<10>、IDXIEN<0> のビット名を更新

- POSOVIRQ<9> と VELOVIRQ<5> のビット値定義を変更

- PCIIRQ<7> ビットに Note 1 を追加

• POSxCNTH: 位置カウンタ上位ワードレジスタ ( レジスタ 15-4) の下記の内容を更新

- レジスタ名を POSCNTH から POSxCNTH に変更

- POSCNTH のビット名を POSCNT に変更し、定義を更新

• POSxCNTL: 位置カウンタ下位ワードレジスタ ( レジスタ 15-5) の下記の内容を更新

- レジスタ名を POSCNTL から POSxCNTL に変更

- POSCNTL のビット名を POSCNT に変更し、定義を更新

• POSxHLD: 位置カウンタ ホールドレジスタ ( レジスタ 15-6) の下記の内容を更新

- レジスタ名を POSHLDH から POSxHLD に変更

- POSHLD<15:0> のビット定義を更新

• VELxCNT: 速度カウンタレジスタ ( レジスタ 15-7) の下記の内容を更新

- レジスタ名を VELCNT から VELxCNT に変更

- VELCNT のビット名を更新

• INDXxCNTH: インデックス カウンタ上位ワードレジスタ ( レジスタ 15-8) の下記の内容を更新

- レジスタ名を IDXCNTH から INDXxCNTH に変更

- IDXCNTH のビット名を INDXCNT に変更し、ビット定義を更新

• INDXxCNTL: インデックス カウンタ下位ワードレジスタ(レジスタ15-9)の下記の内容を更新

- レジスタ名を IDXCNTL から INDXxCNTL に変更

- INDXCNT<15:0> のビット名を変更し、定義を更新

- IDXCNTL のビット名を INDXCNT に変更し、ビット定義を更新

• INDXxHLD: インデックス カウンタ ホールドレジスタ ( レジスタ 15-10) の下記の内容を更新

- レジスタ名を IDXHLDH から INDXxHLD に変更

- IDXHLDH のビット名を INDXxHLD に変更し、ビット定義を更新

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-33

Page 34: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

リビジョン B (2012 年 8 月 ) ( 続き )• QEIxICH: 初期化 / キャプチャ上位ワードレジスタ ( レジスタ 15-11) の下記の内容を更新

- レジスタ名を ICCH から QEIxICH に変更

- ICCH のビット名を QEIIC に変更し、ビット定義を更新

• QEIxICL: 初期化 / キャプチャ下位ワードレジスタ ( レジスタ 15-12) の下記の内容を更新

- レジスタ名を ICCL から QEIxICL に変更

- ICCL のビット名を QEIIC に変更し、ビット定義を更新

• QEIxLECH: 「以下」コンペア上位ワードレジスタ ( レジスタ 15-13) を追加

• QEIxLECL: 「以下」コンペア下位ワードレジスタ ( レジスタ 15-14) を追加

• QEIxGECH: 「以上」コンペア上位ワードレジスタ ( レジスタ 15-15) を追加

• QEIxGECL: 「以上」コンペア下位ワードレジスタ ( レジスタ 15-16) を追加

• INTxTMRH: インターバル タイマ上位ワードレジスタ ( レジスタ 15-17) の下記の内容を更新

- レジスタ名を INTTMRH から INTxTMRH に変更

- INTTMRH のビット名を INTTMR に変更

• INTxTMRL: インターバル タイマ下位ワードレジスタ ( レジスタ 15-18) の下位の内容を更新

- レジスタ名を INTTMRL から INTxTMRL に変更

- INTTMRLのビット名を INTTMR に変更

• INTxHLDH: インターバル タイマホールド上位ワードレジスタ ( レジスタ 15-19) の下記の内容を更新

- レジスタ名を INTHLDH から INTxHLDH に変更

- INTHLDH のビット名を INTHLD に変更

• INTxHLDL: インターバル タイマホールド下位ワードレジスタ ( レジスタ 15-20) の下記の内容を更新

- レジスタ名を INTHLDL から INTxHLDHL に変更

- INTHLDL のビット名を INTHLD に変更

• CMPLH: コンペアレジスタ上位ワードおよびCMPLL; コンペアレジスタ下位ワードレジスタを削除

• 本書全体を通して新しいレジスタ名と頭字語を全て更新

• 本書内の全てのタイミング図を更新

• 15.3.7「インデックス イベント」の内容を更新

• 15.3.10「割り込み」内の箇条書きを更新

• 15.4.1「スリープモード」内の UPDN ピンを削除

• 本書全体の誤植と体裁等、細部の修正

DS70601B_JP - p. 15-34 © 2012 Microchip Technology Inc.

Page 35: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

© 2012 Microchip Technology Inc. DS70601B_JP - p. 15-35

本書に記載されているデバイス アプリケーション等に関する

情報は、ユーザの便宜のためにのみ提供されているものであ

り、更新によって無効とされる事があります。お客様のアプ

リケーションが仕様を満たす事を保証する責任は、お客様に

あります。マイクロチップ社は、明示的、暗黙的、書面、口

頭、法定のいずれであるかを問わず、本書に記載されている

情報に関して、状態、品質、性能、品性、特定目的への適合

性をはじめとする、いかなる類の表明も保証も行いません。マ

イクロチップ社は、本書の情報およびその使用に起因する一

切の責任を否認します。マイクロチップ社の明示的な書面に

よる承認なしに、生命維持装置あるいは生命安全用途にマイ

クロチップ社の製品を使用する事は全て購入者のリスクと

し、また購入者はこれによって発生したあらゆる損害、クレー

ム、訴訟、費用に関して、マイクロチップ社は擁護され、免

責され、損害うけない事に同意するものとします。暗黙的あ

るいは明示的を問わず、マイクロチップ社が知的財産権を保

有しているライセンスは一切譲渡されません。

商標

マイクロチップ社の名称と Microchip ロゴ、dsPIC、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、rfPIC、

UNI/O は、米国およびその他の国におけるマイクロチップ・

テクノロジー社の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MXDEV、MXLAB、SEEVAL、Embedded Control SolutionsCompany は、米国におけるマイクロチップ・テクノロジー

社の登録商標です。

Analog-for-the-Digital Age,Application Maestro、chipKIT、chipKIT logo、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、

FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPLAB Certifiedr ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、

PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、Total Endurance、TSHARC、

UniWinDriver、WiperLock、ZENA は、米国およびその他の

国におけるマイクロチップ・テクノロジー社の登録商標です。

SQTP は、米国におけるマイクロチップ・テクノロジー社の

サービスマークです。

その他、本書に記載されている商標は各社に帰属します。

© 2011, Microchip Technology Incorporated, All RightsReserved.

ISBN: 978-1-62076-191-5

マイクロチップ社製デバイスのコード保護機能に関して次の点にご注意ください。

• マイクロチップ社製品は、該当するマイクロチップ社データシートに記載の仕様を満たしています。

• マイクロチップ社では、通常の条件ならびに仕様に従って使用した場合、マイクロチップ社製品のセキュリティ レベルは、現

在市場に流通している同種製品の中でも最も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、

マイクロチップ社データシートにある動作仕様書以外の方法でマイクロチップ社製品を使用する事になります。このような行

為は知的所有権の侵害に該当する可能性が非常に高いと言えます。

• マイクロチップ社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

• マイクロチップ社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コー

ド保護機能とは、マイクロチップ社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。マイクロチップ社では、常に製品のコード保護機能の改善に取り組んでいます。マイクロ

チップ社のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはそ

の他の著作物に不正なアクセスを受けた場合は、デジタル ミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利が

あります。

マイクロチップ社では、ChandlerおよびTempe (アリゾナ州 )、Gresham( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とイドのデザインセンターが ISO/TS-16949:2009 認証を取得しています。マイクロチップ社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関するマイクロチップ社の品質システムは ISO 9001:2000 認証を取得しています。

Page 36: セクション 15. 直交エンコーダ インターフェイス (QEI)ww1.microchip.com/downloads/jp/DeviceDoc/70601B_JP.pdf · 図15-1: 直交エンコーダ インターフェイス信号

DS70601B_JP - p. 15-36 © 2012 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel:480-792-7200 Fax:480-792-7277技術サポート : http://www.microchip.com/supportURL: www.microchip.com

アトランタDuluth, GA Tel:678-957-9614 Fax:678-957-1455

ボストンWestborough, MA Tel:774-760-0087 Fax:774-760-0088

シカゴItasca, IL Tel:630-285-0071 Fax:630-285-0075

クリーブランドIndependence, OH Tel:216-447-0464 Fax:216-447-0643ダラスAddison, TX Tel:972-818-7423 Fax:972-818-2924

デトロイトFarmington Hills, MI Tel:248-538-2250Fax:248-538-2260

インディアナポリスNoblesville, IN Tel:317-773-8323Fax:317-773-5453

ロサンゼルスMission Viejo, CA Tel:949-462-9523 Fax:949-462-9608

サンタクララSanta Clara, CA Tel:408-961-6444Fax:408-961-6445

トロントMississauga, Ontario, CanadaTel:905-673-0699 Fax:905-673-6509

アジア / 太平洋アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel:852-2401-1200Fax:852-2401-3431オーストラリア - シドニーTel:61-2-9868-6733Fax:61-2-9868-6755

中国 - 北京Tel:86-10-8569-7000 Fax:86-10-8528-2104

中国 - 成都Tel:86-28-8665-5511Fax:86-28-8665-7889

中国 - 重慶Tel:86-23-8980-9588Fax:86-23-8980-9500

中国 - 杭州Tel:86-571-2819-3187 Fax:86-571-2819-3189

中国 - 香港 SARTel:852-2401-1200 Fax:852-2401-3431

中国 - 南京Tel:86-25-8473-2460Fax:86-25-8473-2470

中国 - 青島Tel:86-532-8502-7355Fax:86-532-8502-7205

中国 - 上海Tel:86-21-5407-5533 Fax:86-21-5407-5066

中国 - 瀋陽Tel:86-24-2334-2829Fax:86-24-2334-2393

中国 - 深圳Tel:86-755-8203-2660 Fax:86-755-8203-1760

中国 - 武漢Tel:86-27-5980-5300Fax:86-27-5980-5118

中国 - 西安Tel:86-29-8833-7252Fax:86-29-8833-7256

中国 - 厦門Tel:86-592-2388138 Fax:86-592-2388130

中国 - 珠海Tel:86-756-3210040 Fax:86-756-3210049

アジア / 太平洋

インド - バンガロールTel:91-80-3090-4444 Fax:91-80-3090-4123

インド - ニューデリーTel:91-11-4160-8631Fax:91-11-4160-8632

インド - プネTel:91-20-2566-1512Fax:91-20-2566-1513

日本 - 大阪Tel:81-66-152-7160 Fax:81-66-152-9310

日本 - 横浜Tel:81-45-471- 6166 Fax:81-45-471-6122

韓国 - 大邱Tel:82-53-744-4301Fax:82-53-744-4302

韓国 - ソウルTel:82-2-554-7200Fax:82-2-558-5932 または 82-2-558-5934

マレーシア - クアラルンプールTel:60-3-6201-9857Fax:60-3-6201-9859

マレーシア - ペナンTel:60-4-227-8870Fax:60-4-227-4068

フィリピン - マニラTel:63-2-634-9065Fax:63-2-634-9069

シンガポールTel:65-6334-8870Fax:65-6334-8850

台湾 - 新竹Tel:886-3-5778-366Fax:886-3-5770-955

台湾 - 高雄Tel:886-7-536-4818Fax:886-7-330-9305

台湾 - 台北Tel:886-2-2500-6610 Fax:886-2-2508-0102

タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパ

オーストリア - ヴェルスTel:43-7242-2244-39Fax:43-7242-2244-393デンマーク - コペンハーゲンTel:45-4450-2828 Fax:45-4485-2829

フランス - パリTel:33-1-69-53-63-20 Fax:33-1-69-30-90-79

ドイツ - ミュンヘンTel:49-89-627-144-0 Fax:49-89-627-144-44

イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781

オランダ - ドリューネンTel:31-416-690399 Fax:31-416-690340

スペイン - マドリッドTel:34-91-708-08-90Fax:34-91-708-08-91

イギリス - ウォーキンガムTel:44-118-921-5869Fax:44-118-921-5820

各国の営業所とサービス

11/29/11