Stellaris LM3S9B96 Microcontroller 23 章 直 交 エンコーダ インターフェイス(QEI) JAJU124 SPMS182D 翻 訳 版 (23 章 ) 最 新 の 英 語 版 : http://www.ti.com/lit/gpn/lm3s9b96 この 資 料 は Texas Instruments Incorporated(TI)が 英 文 で 記 述 した 資 料 を 皆 様 のご 理 解 の 一 助 として 頂 くために 日 本 テキサ ス インスツルメンツ( 日 本 TI)が 英 文 から 和 文 へ 翻 訳 して 作 成 したものです 資 料 によっては 正 規 英 語 版 資 料 の 更 新 に 対 応 して いないものがあります 日 本 TI による 和 文 資 料 は あくまでも TI 正 規 英 語 版 をご 理 解 頂 くための 補 助 的 参 考 資 料 としてご 使 用 下 さい 製 品 のご 検 討 およびご 採 用 にあたりましては 必 ず 正 規 英 語 版 の 最 新 資 料 をご 確 認 下 さい TI および 日 本 TI は 正 規 英 語 版 にて 更 新 の 情 報 を 提 供 しているにもかかわらず 更 新 以 前 の 情 報 に 基 づいて 発 生 した 問 題 や 障 害 等 につきましては 如 何 なる 責 任 も 負 いません
JAJU124 23 直 交 エンコーダ インターフェイス (QEI) 直 交 エンコーダは 2 チャネル インクリメンタル エンコーダとも 呼 ばれ リニア 変 位 をパルス 信 号 に 変 換 します 2 つ の 信 号 のパルス 数 と 相 対 位 相 の 両 方 を 監 視 することで 位 置 や 回 転 方 向 や 速 度 を 追 跡 できます さらに 第 3 の チャネル つまりインデックス 信 号 を 使 用 して 位 置 カウンタをリセットすることもできます LM3S9B96 マイクロコントローラは 2 つの 直 交 エンコーダ インターフェイス(QEI)モジュールを 備 えています それ ぞれの QEI モジュールでは 直 交 エンコーダ ホイールの 生 成 するコードを 解 釈 して 時 間 の 経 過 とともに 位 置 情 報 を 積 分 し 回 転 方 向 を 判 定 します さらに エンコーダ ホイールの 動 作 速 度 の 概 算 値 をキャプチャすることも 可 能 です Stellaris LM3S9B96 マイクロコントローラには QEI モジュールが 2 つ 含 まれており 次 に 挙 げる 機 能 により 2 つ のモーターを 同 時 に 制 御 することを 可 能 にします エンコーダの 位 置 を 追 跡 する 位 置 積 分 器 (position integrator) 入 力 に 対 するプログラマブル ノイズ フィルタ 組 み 込 みタイマを 使 用 した 速 度 キャプチャ QEI 入 力 の 入 力 周 波 数 を 最 大 でプロセッサ 周 波 数 の 1/4 ( 例 : 50MHz のシステムの 場 合 は 12.5MHz)にすること が 可 能 次 の 場 合 に 割 り 込 みを 生 成 インデックス パルス 速 度 タイマ 周 期 割 り 込 み 回 転 方 向 転 換 位 相 エラー 検 出 23.1 ブロック 図 図 23-1 は Stellaris QEI モジュールのブロック 図 です Stellaris LM3S9B96 Microcontroller Data Sheet (Rev. D) 23 章 翻 訳 版
図 23-1. QEI のブロック 図 23.2 信 号 の 説 明 表 23-1 と 表 23-2 には QEI モジュールの 外 部 信 号 と 各 信 号 の 機 能 の 説 明 が 記 載 されています QEI 信 号 はいく つかの GPIO 信 号 の 代 替 機 能 であり リセット 時 のデフォルトは GPIO 信 号 になります 下 表 中 にある ピン マルチ プレクシング/ピン 割 り 当 て という 見 出 しの 列 には 各 QEI 信 号 として 割 り 当 て 可 能 な GPIO ピンが 記 載 されています QEI 機 能 を 選 択 するには GPIO 代 替 機 能 選 択 (GPIOAFSEL)レジスタにある AFSEL ビットを 設 定 する 必 要 があり ます カッコ 内 の 数 字 は 指 定 された GPIO ポート ピンに QEI 信 号 を 割 り 当 てるために GPIO ポート 制 御 (GPIOPCTL) レジスタの PMCn フィールド 中 に 設 定 する 値 です GPIO の 構 成 の 詳 細 については General-Purpose Input/Outputs (GPIOs) を 参 照 してください 表 23-1. QEI の 信 号 (100LQFP) ピン 名 称 ピン 番 号 IDX0 10 72 90 92 100 IDX1 61 84 PhA0 11 25 95 ピン マルチプレク シング / ピン 割 り 当 て PD0 (3) PB2 (2) PB6 (5) PB4 (6) PD7 (1) PF1 (2) PH2 (1) PD1 (3) PC4 (2) PE2 (4) 入 出 力 バッファの タイプ a 説 明 I TTL QEI モジュール 0 インデックス I TTL QEI モジュール 1 インデックス I TTL QEI モジュール 0 位 相 A
PhA1 96 PE3 (3) I TTL QEI モジュール 1 位 相 A PhB0 22 23 47 83 96 PhB1 11 36 95 PC7 (2) PC6 (2) PF0 (2) PH3 (1) PE3 (4) PD1 (11) PG7 (1) PE2 (3) a. TTL は ピンが TTL 互 換 の 電 圧 レベルを 持 つことを 示 します I TTL QEI モジュール 0 位 相 B I TTL QEI モジュール 1 位 相 B 表 23-2. QEIの 信 号 (108BGA) ピン 名 称 IDX0 IDX1 PhA0 PhB0 PhB1 ピン 番 号 G1 A11 A7 A6 A2 H12 D11 G2 L1 A4 L2 M2 M9 D10 B4 G2 C10 A4 ピン マルチプレク シング / ピン 割 り 当 て PD0 (3) PB2 (2) PB6 (5) PB4 (6) PD7 (1) PF1 (2) PH2 (1) PD1 (3) PC4 (2) PE2 (4) PC7 (2) PC6 (2) PF0 (2) PH3 (1) PE3 (4) PD1 (11) PG7 (1) PE2 (3) 入 出 力 バッファの タイプ a a. TTL は ピンが TTL 互 換 の 電 圧 レベルを 持 つことを 示 します 説 明 I TTL QEI モジュール 0 インデックス I TTL QEI モジュール 1 インデックス I TTL QEI モジュール 0 位 相 A I TTL QEI モジュール 0 位 相 B I TTL QEI モジュール 1 位 相 B 23.3 機 能 の 説 明 QEI モジュールでは 直 交 エンコーダ ホイールの 生 成 する 2 ビットのグレー コードを 解 釈 して 時 間 の 経 過 とともに 位 置 情 報 を 積 分 し 回 転 方 向 を 判 定 します さらに エンコーダ ホイールの 動 作 速 度 の 概 算 値 をキャプチャすること も 可 能 です 位 置 積 分 器 と 速 度 キャプチャは 個 別 にイネーブルにすることが 可 能 ですが 位 置 積 分 器 は 速 度 キャプチャがイネー ブル 可 能 になる 前 にイネーブルにする 必 要 があります QEI モジュールは 2 つの 位 相 信 号 PhA と PhB を 交 換 して 解 釈 し 正 転 と 逆 転 の 意 味 を 入 れ 替 え システムの 誤 配 線 を 修 正 することも 可 能 です また エンコーダによっては 位 相 信 号 をクロック 方 向 信 号 を 出 力 と 解 釈 することも 可 能 です QEI モジュールの 入 力 信 号 にはデジタル ノイズ フィルタが 備 わっており このフィルタをイネーブルにして 誤 動 作 を
防 止 できます ノイズ フィルタでは エッジ 検 出 回 路 を 更 新 する 前 に 指 定 された 数 の 連 続 クロック サイクルの 間 入 力 が 安 定 していることが 必 要 になります フィルタは QEI 制 御 (QEICTL)レジスタの FILTEN ビットによりイネーブル になります 入 力 更 新 (input update)の 周 波 数 は QEICTL レジスタの FILTCNT ビット フィールドを 使 用 してプログ ラム 可 能 です QEI モジュールでは 直 交 位 相 モードと クロック/ 方 向 モードという 2 つの 信 号 動 作 モードをサポートします 直 交 位 相 モードでは エンコーダにより 90 度 位 相 のずれた 2 つのクロックが 生 成 されるため エッジ 関 係 を 利 用 して 回 転 の 方 向 を 判 定 できます クロック/ 方 向 モードでは ステップを 示 すクロック 信 号 と 回 転 の 方 向 を 示 す 方 向 信 号 がエンコ ーダにより 生 成 されます このモードは QEICTL レジスタ(P1111 参 照 )の SIGMODE ビットにより 決 定 されます 直 交 位 相 モードを 使 用 するように QEI モジュールを 設 定 する(SIGMODE ビットがクリアされる) 場 合 は 位 置 積 分 器 用 のキャプチャ モードを 設 定 して PhA 信 号 のエッジごとに 位 置 カウンタを 更 新 したり PhA と PhB 両 方 のエッジご とに 更 新 したりするようにできます 位 置 カウンタを PhA エッジと PhB エッジのたびに 更 新 すると 位 置 分 解 能 は 高 く なりますが 位 置 カウンタの 範 囲 がそれだけ 狭 くなります PhA のエッジが PhB のエッジより 進 んでいる 場 合 は 位 置 カウンタの 値 が 増 加 (インクリメント)します PhB のエッジ が PhA のエッジより 進 んでいる 場 合 は 位 置 カウンタの 値 が 減 少 (デクリメント)します 立 ち 上 がりエッジと 立 ち 下 が りエッジのペアが 一 方 の 位 相 に 見 られ 他 方 の 位 相 にはエッジがない 場 合 は 回 転 の 方 向 が 変 化 しています 位 置 カウンタは 1. インデックス パルスを 検 知 した 2. 最 大 位 置 値 に 達 したという 2 つの 条 件 のどちらかが 満 たさ れた 場 合 に 自 動 的 にリセットされます リセット モードは QEICTL レジスタの RESMODE ビットにより 決 定 され ます RESMODE が 設 定 された 場 合 は インデックス パルスが 検 知 されると 位 置 カウンタがリセットされます このモード により 位 置 カウンタが 値 [0:N-1]に 制 限 されます ここで N は エンコーダ ホイールが 完 全 に 一 回 転 した 時 の 位 相 エッジの 数 です QEI 最 大 位 置 値 (QEIMAXPOS)レジスタを N-1 でプログラムして 位 置 0 から 逆 方 向 に 回 転 すると 位 置 カウンタの 値 が N-1 に 移 行 します このモードでは 位 置 レジスタには 一 度 インデックス パルスがあることが 確 認 されたインデックス 位 置 (つまりホーム 位 置 )を 示 すエンコーダの 絶 対 位 置 が 入 っています RESMODE がクリアされた 場 合 は 位 置 カウンタの 範 囲 が[0:M]に 制 約 されます ここで M はプログラム 可 能 な 最 大 値 です このモードでは 位 置 カウンタはインデックス パルスを 無 視 します 速 度 キャプチャでは 速 度 タイマとカウント レジスタを 使 用 し 任 意 の 周 期 内 の 位 相 エッジの 数 をカウントします 直 前 の 速 度 タイマ 周 期 内 のエッジ カウントは QEI 速 度 (QEISPEED)レジスタを 介 してコントローラに 利 用 され その 間 に QEI 速 度 カウンタ(QEICOUNT)レジスタには 現 在 の 速 度 タイマ 周 期 内 でのエッジ カウント 数 が 積 算 されていま す 現 在 の 速 度 タイマ 周 期 が 完 了 すると 直 ちに カウントされた 全 エッジ 数 が QEISPEED レジスタに 上 書 きされてコ ントローラから 使 用 可 能 になり QEICOUNT レジスタがクリアされ 次 の 速 度 タイマ 周 期 内 のエッジ カウントが 開 始 されます 任 意 の 速 度 タイマ 周 期 内 にカウントされたエッジ 数 は エンコーダの 速 度 に 正 比 例 します 図 23-2 は Stellaris 直 交 エンコーダが 位 相 入 力 信 号 を 変 換 してクロック パルスや 方 向 信 号 にする 様 子 と 速 度 プ レディバイダの 動 作 (4 分 周 モード)を 示 しています
図 23-2. 直 交 エンコーダと 速 度 プレディバイダの 動 作 QEI タイマ ロード(QEILOAD)レジスタで タイマのロード 値 を 指 定 することにより タイマの 周 期 を 構 成 できます タ イマがゼロに 達 すると 割 り 込 みをトリガすることが 可 能 になり ハードウェアによりタイマが QEILOAD 値 でリロードさ れ カウントダウンを 続 行 します エンコーダの 速 度 が 遅 い 場 合 は 意 味 のある 結 果 を 得 るのに 十 分 なエッジをキャ プチャするために 速 度 タイマ 周 期 もそれだけ 長 くする 必 要 があります エンコーダの 速 度 が 速 ければ 速 度 タイマ 周 期 も 短 くてすみ そして/あるいは 速 度 プレディバイダを 使 用 することも 可 能 になります 次 の 式 では 速 度 カウンタ 値 を rpm 値 に 変 換 します ここで clock はコントローラのクロック 速 度 ppr は 物 理 エンコーダの 1 回 転 ごとのパルス 数 です QEICTLレジスタに 設 定 されるキャプチャ モード(CAPMODEのクリアは2 CAPMODE の 設 定 は4) に 基 づいて edgesは2または4になります 例 として 600 rpmで 動 作 するモーターを 考 えてみます 2048パルス/ 回 転 の 直 交 エンコーダをそのモーターに 取 り 付 けて 8192 位 相 エッジ/ 回 転 を 生 成 するようにします 速 度 プレディバイダ 1 (VELDIVがクリアされます)とし PhA エッジとPhBエッジ 両 方 でのクロッキングを 使 用 すると これは81,920パルス/ 秒 (モーターが1 秒 に10 回 回 転 する)に なります タイマが10,000Hzでクロッキングされていて ロード 値 が2,500 (1 秒 の¼)の 場 合 は 1 回 の 更 新 につき 20,480パルスがカウントされます 上 の 式 を 使 用 すると 次 のようになります ここで モーターの 速 度 を3000 rpmに 上 げてみることにします すると 409,600パルス/ 秒 つまり1 秒 の¼ごとに 102,400という 結 果 になります 再 度 上 の 式 を 使 用 すると 次 のようになります この 式 の 評 価 には 注 意 が 必 要 です 中 間 値 が 32ビットで 表 される 最 大 の 整 数 値 を 超 える 可 能 性 があるためです 上 の 例 では クロックが10,000 ディバイダ( 除 数 )が2,500ですが (それらがコンパイル 時 の 定 数 であれば) 両 方 とも 100でプレディバイド( 事 前 分 周 )して100および25にすることが 可 能 です つまり それらがコンパイル 時 の 定 数 であ れば 単 純 な4の 倍 数 に 簡 約 されて エッジカウント 係 数 4 により 約 分 できます 重 要 : コンパイル 時 定 数 の 係 数 (constant factors)を 簡 約 することは この 式 の 中 間 値 を 制 御 し この 式 の 計 算 の 処 理 要 件 を 減 らすために 最 も 適 した 方 法 です
ディバイザ( 約 数 )が2の 累 乗 となるようなタイマ ロード 値 を 選 択 すると 分 周 (division)の 必 要 が 無 くなります これに より 分 周 の 代 わりに 単 純 なシフトで 済 ますことが 可 能 になります エンコーダで2の 累 乗 のパルス 数 / 回 転 を 使 用 し ている 場 合 は ロード 値 を2の 累 乗 にすることが 可 能 です それ 以 外 のエンコーダの 場 合 は 積 (product)が2の 累 乗 に 非 常 に 近 くなるようにロード 値 を 選 択 する 必 要 があります 例 えば100パルス/ 回 転 のエンコーダの 場 合 は ロード 値 82を 使 用 した 結 果 ディバイザを32,800(2の14 乗 から0.09%の 誤 差 )にすることができます この 場 合 15ビットシフ トによりほとんどの 分 周 値 を 用 いる 場 合 に 対 する 十 分 な 近 似 値 が 得 られます 絶 対 的 な 確 度 が 必 要 になる 場 合 は マイクロコントローラの 分 周 命 令 を 使 用 することもできます QEIモジュールでは 位 相 エラー 方 向 転 換 インデックス パルスの 受 信 速 度 タイマ 周 期 といういくつかのイベント 時 にコントローラ 割 り 込 みを 生 成 できます 標 準 的 なマスキング 未 処 理 割 り 込 みステータス 割 り 込 みステータス 割 り 込 みクリアの 各 機 能 が 提 供 されます 23.4 初 期 化 と 構 成 次 の 例 は 直 交 エンコーダ モジュールを 構 成 して 絶 対 位 置 を 読 み 戻 す 方 法 を 示 しています 1. 0x0000.0100 という 値 をシステム 制 御 モジュールの RCGC1 レジスタに 書 き 込 むことにより QEI クロックをイネ ーブルにします 2. システム 制 御 モジュールの RCGC2 レジスタを 介 して 適 切 な GPIO モジュールに 対 してクロックをイネーブルに します 3. GPIO モジュールで GPIOAFSEL レジスタを 使 用 して 代 替 機 能 用 の 適 切 なピンをイネーブルにします どの GPIO を 構 成 するかを 判 断 するには 表 25-4 を 参 照 してください 4. GPIOPCTL レジスタの PMCn フィールドを 構 成 して QEI 信 号 を 適 切 なピンに 割 り 当 てます ( 表 25-5 を 参 照 ) 5. 直 交 エンコーダを 構 成 して 両 方 の 信 号 でエッジをキャプチャし インデックス パルスでリセットを 行 うことで 絶 対 位 置 を 保 持 します 1 ラインにつき 4 つのエッジがある 1000 ラインのエンコーダであれば 4000 パルス/ 回 転 という 結 果 になります したがって カウンタがゼロベースであるため 最 大 位 置 値 を 3999 (0xF9F)に 設 定 してく ださい 0x0000.0018をQEICTLレジスタに 書 き 込 みます 0x0000.0F9FをQEIMAXPOSレジスタに 書 き 込 みます 6. QEICTLレジスタのビット0を 設 定 することにより 直 交 エンコーダをイネーブルにします 7. エンコーダ 位 置 が 要 求 されるまで 待 機 します 8. QEI 位 置 (QEIPOS)レジスタの 値 を 読 み 出 すことにより エンコーダ 位 置 を 読 み 取 ります 23.5 レジスタ マップ 表 23-3は QEIレジスタのリストです 記 載 されているオフセットはレジスタのアドレスに 対 する16 進 インクリメントであ り モジュールのベース アドレスに 関 連 しています QEI0: 0x4002.C000 QEI1: 0x4002.D000
QEI モジュールのクロックは レジスタがプログラム 可 能 になる 前 にイネーブルにする 必 要 があることに 注 意 してくだ さい 表 23-3. QEI のレジスタ マップ オフセット 名 前 タイプ リセット 説 明 0x000 QEICTL R/W 0x0000.0000 QEI 制 御 0x004 QEISTAT RO 0x0000.0000 QEI ステータス 0x008 QEIPOS R/W 0x0000.0000 QEI 位 置 0x00C QEIMAXPOS R/W 0x0000.0000 QEI 最 大 位 置 値 0x010 QEILOAD R/W 0x0000.0000 QEI タイマ ロード 0x014 QEITIME RO 0x0000.0000 QEI タイマ 0x018 QEICOUNT RO 0x0000.0000 QEI 速 度 カウンタ 0x01C QEISPEED RO 0x0000.0000 QEI 速 度 0x020 QEIINTEN R/W 0x0000.0000 QEI 割 り 込 みイネーブル 0x024 QEIRIS RO 0x0000.0000 QEI ロウ 割 り 込 みステータ ス 0x028 QEIISC R/W1C 0x0000.0000 QEI 割 り 込 みステータスお よびクリア 23.6 レジスタの 説 明 このセクションの 以 降 のページでは QEI のレジスタをアドレス オフセットの 番 号 順 に 記 載 し 説 明 します
レジスタ 1: QEI 制 御 (QEICTL) オフセット 0x000 このレジスタには QEI モジュールの 設 定 が 入 っています 直 交 エンコーダ ブロックと 速 度 キャプチャ ブロックには セパレート イネーブル(separate enables)が 備 わっており 速 度 をキャプチャするには 直 交 エンコーダをイネーブル にする 必 要 がありますが 速 度 を 必 要 としないアプリケーションでは 速 度 のキャプチャは 必 要 ありません 位 相 信 号 の 解 釈 位 相 の 交 換 位 置 更 新 モード 位 置 リセット モード 速 度 プレディバイダは すべてこのレジスタを 介 して 設 定 されます QEI 制 御 (QEICTL) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x000 タイプ R/W リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:20 予 約 RO 0x000 予 約 ビットの 値 はソフトウェアで 使 用 しないでください 将 来 の 製 品 との 互 換 性 のため 予 約 ビットの 値 はリード モディファ イ ライト 処 理 から 保 護 する 必 要 があります 19:16 FILTCNT R/W 0x0 入 力 フィルタのプリスケールのカウント このフィールドは 入 力 更 新 の 周 波 数 を 制 御 します このフィールドがクリアされると 入 力 が 2 システム クロック 後 にサンプリングされます このフィールドが 0x1 の 場 合 は 入 力 が 3 システム クロック 後 にサンプリングされます 同 様 に この フィールドが 0xF の 場 合 は 入 力 が 17 クロック 後 にサンプリン グされます 13 FILTEN R/W 0 入 力 フィルタのイネーブル 0 QEI 入 力 はフィルタリングされません 1 QEI 入 力 信 号 上 でデジタル ノイズ フィルタをイネ ーブルにします エッジ 検 出 回 路 が 更 新 される 前 に 入 力 が 連 続 した 3 クロック エッジの 間 安 定 し ている 必 要 があります 12 STALLEN R/W 0 QEI の 停 止 0 デバッガによりマイクロコントローラが 停 止 しても QEI モジュールは 停 止 しません 1 デバッガによりマイクロコントローラが 停 止 すると QEI モジュールは 停 止 します
11 INVI R/W 0 インデックス パルスの 反 転 値 説 明 0 影 響 なし 10 INVB R/W 0 PhB の 反 転 1 IDX 入 力 を 反 転 します 値 説 明 0 影 響 なし 9 INVA R/W 0 PhA の 反 転 1 PhB 入 力 を 反 転 します 値 説 明 0 影 響 なし 1 PhA 入 力 を 反 転 します 8:6 VELDIV R/W 0x0 プレディバイダ 速 度 このフィールドは QEICOUNT アキュムレータに 加 算 される 前 に 入 力 された 直 交 パルスのプレディバイダを 定 義 します 値 プレディバイダ 0x0 1 0x1 2 0x2 4 0x3 8 0x4 16 0x5 32 0x6 64 0x7 128 5 VELEN R/W 0 キャプチャ 速 度 値 説 明 0 影 響 なし 1 直 交 エンコーダの 速 度 のキャプチャをイネーブルに します 4 RESMODE R/W 0 リセット モード 0 位 置 カウンタは QEIMAXPOS レジスタの MAXPOS フィールドで 定 義 された 通 りに 最 大 値 に 達 した 時 点 でリセットされます 1 インデックス パルスがキャプチャされた 時 点 で 位 置 カウンタがリセットされます 3 CAPMODE R/W 0 キャプチャ モード 0 PhA エッジのみがカウントされます 1 PhA エッジと PhB エッジがカウントされることによ り 位 置 分 解 能 が 2 倍 になりますが 範 囲 は 1/2 に なります 2 SIGMODE R/W 0 信 号 モード 0 PhA 信 号 と PhB 信 号 が 直 交 位 相 信 号 として 動 作 します 1 PhA 信 号 と PhB 信 号 が クロックおよび 方 向 として 動 作 します 1 SWAP R/W 0 交 換 信 号 0 影 響 なし 1 PhA 信 号 と PhB 信 号 を 交 換 します
0 ENABLE R/W 0 QEI のイネーブル 0 影 響 なし 1 直 交 エンコーダ モジュールをイネーブルにします
レジスタ 2: QEI ステータス (QEISTAT) オフセット 0x004 このレジスタでは QEI モジュールの 動 作 についてのステータスを 提 供 します QEI ステータス (QEISTAT) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x004 タイプ RO リセット 0x0000.0000 ビット / フィールド 名 称 タイプ リセット 説 明 31:2 予 約 RO 0x0000.000 予 約 ビットの 値 はソフトウェアで 使 用 しないでください 将 来 の 製 品 との 互 換 性 のため 予 約 ビットの 値 はリード モディファ イ ライト 処 理 から 保 護 する 必 要 があります 1 DIRECTION RO 0 回 転 の 方 向 エンコーダが 回 転 している 方 向 を 示 します 0 エンコーダは 正 方 向 に 回 転 しています 1 エンコーダはエンコーダは 逆 方 向 に 回 転 していま す 0 ERROR RO 0 エラーの 検 出 0 エラーなし 1 グレー コード 列 でエラーが 検 出 されました(つまり 両 方 の 信 号 が 同 時 に 変 化 しています)
レジスタ 3: QEI 位 置 (QEIPOS) オフセット 0x008 このレジスタには 位 置 積 分 器 の 現 在 の 値 が 入 っています 値 は QEI 位 相 信 号 入 力 のステータスにより 更 新 され こ のレジスタへの 書 き 込 みことにより 特 定 の 値 に 設 定 できます QEI 位 置 (QEIPOS) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x008 タイプ R/W リセット 0x0000.0000 ビット / フィールド 名 称 タイプ リセット 説 明 31:0 POSITION R/W 0x0000.0000 現 在 の 位 置 積 分 器 の 値 位 置 積 分 器 の 現 在 の 値 です
レジスタ 4: QEI 最 大 位 置 値 (QEIMAXPOS) オフセット 0x00C このレジスタには 位 置 積 分 器 の 最 大 値 が 入 っています 正 方 向 に 動 いている 場 合 に 位 置 レジスタがこの 値 を 超 え てインクリメントすると リセットされてゼロになります 逆 方 向 に 動 いている 場 合 に 位 置 レジスタがゼロからデクリメン トされると リセットされてこの 値 になります QEI 最 大 位 置 値 (QEIMAXPOS) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x00C タイプ R/W リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:0 MAXPOS R/W 0x0000.0000 積 分 器 の 最 大 位 置 値 位 置 積 分 器 の 最 大 値 です
レジスタ 5: QEI タイマ ロード (QEILOAD) オフセット 0x010 このレジスタは 速 度 タイマのロード 値 が 入 っています この 値 は タイマがゼロになった 後 のクロック サイクルでタ イマにロードされるため 必 要 な 周 期 のクロック 数 よりも1 少 ないです したがって 例 えば 時 間 周 期 あたりのクロック 数 を10 進 数 で2000クロックにするには このレジスタに10 進 数 1999が 入 っている 必 要 があります QEI タイマ ロード (QEILOAD) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x010 タイプ R/W リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:0 LOAD R/W 0x0000.0000 速 度 タイマのロード 値 速 度 タイマのロード 値 です
レジスタ 6: QEI タイマ (QEITIME) オフセット 0x014 このレジスタには 速 度 タイマの 現 在 値 が 入 っています このカウンタは QEICTLレジスタのVELENビットがクリア になっている 場 合 はインクリメントされません QEI タイマ (QEITIME) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x014 タイプ RO リセット 0x0000.0000 ビット / フィールド 名 称 タイプ リセット 説 明 31:0 TIME RO 0x0000.0000 速 度 タイマの 現 在 値 速 度 タイマの 現 在 値 です
レジスタ 7: QEI 速 度 カウンタ (QEICOUNT) オフセット 0x018 このレジスタには 現 在 の 時 間 周 期 での 速 度 パルスの 動 作 中 カウントが 入 っています このカウントは 動 作 中 の 合 計 であるため 適 用 対 象 の 時 間 周 期 を 正 確 に 知 ることはできません(つまり QEITIMEレジスタによって 返 される 時 間 にこのレジスタの 読 み 出 しが 対 応 している 必 要 は 必 ずしもありません どちらかの 値 が 変 化 した 可 能 性 のある 時 間 は 2つの 読 み 出 し 間 にはわずかしか 存 在 しないためです) 実 際 のエンコーダ 速 度 を 判 定 するには QEISPEEDレ ジスタを 使 用 する 必 要 があります このレジスタは 情 報 目 的 でのみ 提 供 されます このカウンタは QEICTLレジスタ のVELENビットがクリアになっている 場 合 はインクリメントされません QEI 速 度 カウンタ (QEICOUNT) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x018 タイプ RO リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:0 COUNT RO 0x0000.0000 速 度 パルスのカウント この 速 度 タイマ 周 期 中 の エンコーダ パルスの 動 作 中 の 合 計 です
レジスタ 8: QEI 速 度 (QEISPEED) オフセット 0x01C このレジスタには 直 近 で 測 定 された 直 交 エンコーダの 速 度 が 入 っています この 値 は 直 前 の 速 度 タイマ 周 期 でカ ウントされた 速 度 パルスの 数 に 対 応 しています このレジスタは QEICTLレジスタのVELENビットがクリアになって いる 場 合 は 更 新 されません QEI 速 度 (QEISPEED) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x01C タイプ RO リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:0 SPEED RO 0x0000.0000 速 度 直 交 エンコーダの 速 度 の 測 定 値 です ( 単 位 : パルス/ 周 期 )
レジスタ 9: QEI 割 り 込 みイネーブル (QEIINTEN) オフセット 0x020 このレジスタには 各 QEIモジュール 割 り 込 みのイネーブルが 入 っています このレジスタの 対 応 するビットが 設 定 さ れると 割 り 込 みコントローラに 対 して 割 り 込 みがアサートされます QEI 割 り 込 みイネーブル (QEIINTEN) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x020 タイプ R/W リセット 0x0000.0000 ビット / フィールド 名 称 タイプ リセット 説 明 31:4 予 約 RO 0x0000.000 予 約 ビットの 値 はソフトウェアで 使 用 しないでください 将 来 の 製 品 との 互 換 性 のため 予 約 ビットの 値 はリード モディファ イ ライト 処 理 から 保 護 する 必 要 があります 3 INTERROR R/W 0 位 相 エラー 割 り 込 みイネーブル 1 QEIRIS レジスタの INTERROR ビットが 設 定 され ると 割 り 込 みコントローラに 割 り 込 みが 送 信 されま す 0 INTERROR 割 り 込 みは 抑 止 され 割 り 込 みコント ローラに 送 られません 2 INTDIR R/W 0 回 転 方 向 転 換 割 り 込 みイネーブル 1 QEIRIS レジスタの INTDIR ビットが 設 定 されると 割 り 込 みコントローラに 割 り 込 みが 送 信 されます 0 INTDIR 割 り 込 みは 抑 止 され 割 り 込 みコントローラ に 送 られません 1 INTTIMER R/W 0 速 度 タイマ 割 り 込 みイネーブル 1 QEIRIS レジスタの INTTIMER ビットが 設 定 される と 割 り 込 みコントローラに 割 り 込 みが 送 信 されま す 0 INTTIMER 割 り 込 みは 抑 止 され 割 り 込 みコントロ ーラに 送 られません 0 INTINDEX R/W 0 インデックス パルス 検 出 割 り 込 みイネーブル 1 QEIRIS レジスタの INTINDEX ビットが 設 定 される と 割 り 込 みコントローラに 割 り 込 みが 送 信 されま す 0 INTINDEX 割 り 込 みは 抑 止 され 割 り 込 みコントロ ーラに 送 られません
レジスタ 10: QEI 未 処 理 割 り 込 みステータス (QEIRIS) オフセット 0x024 このレジスタは (QEIINTENレジスタを 介 して 設 定 された)コントローラに 対 してアサートされる 割 り 込 みを 発 生 させる かどうかにかかわらず アサートされた 割 り 込 みソースのステータスを 提 供 します ビットが 設 定 されている 場 合 は ラッチされたイベントが 発 生 しています ビットがクリアになっている 場 合 は 対 応 す るイベントは 発 生 していません QEI 未 処 理 割 り 込 みステータス (QEIRIS) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x024 タイプ RO リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:4 予 約 RO 0x0000.000 予 約 ビットの 値 はソフトウェアで 使 用 しないでください 将 来 の 製 品 との 互 換 性 のため 予 約 ビットの 値 はリード モディファ イ ライト 処 理 から 保 護 する 必 要 があります 3 INTERROR RO 0 位 相 エラーの 検 出 1 位 相 エラーが 検 出 されました 0 割 り 込 みは 発 生 していません このビットは QEIISC レジスタの INTERROR ビットに 1 を 書 き 込 むことでクリアされます 2 INTDIR RO 0 回 転 方 向 転 換 の 検 出 1 回 転 方 向 が 変 化 しました 0 割 り 込 みは 発 生 していません このビットは QEIISC レジスタの INTDIR ビットに 1 を 書 き 込 む ことでクリアされます 1 INTTIMER RO 0 速 度 タイマ 割 り 込 み 1 速 度 タイマがタイマ ロード 値 になりました 0 割 り 込 みは 発 生 していません このビットは QEIISC レジスタの INTTIMER ビットに 1 を 書 き 込 むことでクリアされます 0 INTINDEX RO 0 インデックス パルスのアサート 1 インデックス パルスが 発 生 しました 0 割 り 込 みは 発 生 していません このビットは QEIISCレジスタのINTINDEXビットに1を 書 き 込 むことでクリアされます
レジスタ 11: QEI 割 り 込 みステータスおよびクリア (QEIISC) オフセット 0x028 このレジスタは コントローラに 対 してアサートされた 割 り 込 みソースの 現 時 点 のセットを 提 供 します ビットが 設 定 さ れている 場 合 は ラッチされたイベントが 発 生 していて そのイベントによる 割 り 込 みの 生 成 がイネーブルになってい ます ビットがクリアになっている 場 合 は 対 応 するイベントが 発 生 していないか そのイベントによる 割 り 込 みの 生 成 がイネーブルになっていません このレジスタはR/W1Cであり あるビット 位 置 に1を 書 き 込 むと そのビットおよび 対 応 する 割 り 込 みがクリアされます QEI 割 り 込 みステータスおよびクリア (QEIISC) QEI0 ベース: 0x4002.C000 QEI1 ベース: 0x4002.D000 オフセット 0x028 タイプ R/W1C リセット 0x0000.0000 ビット / 名 称 タイプ リセット 説 明 フィールド 31:4 予 約 RO 0x0000.000 予 約 ビットの 値 はソフトウェアで 使 用 しないでください 将 来 の 製 品 との 互 換 性 のため 予 約 ビットの 値 はリード モディファ イ ライト 処 理 から 保 護 する 必 要 があります 3 INTERROR R/W1C 0 位 相 エラー 割 り 込 み 1 QEIRIS レジスタと QEIINTEN レジスタの INTERROR ビットが 設 定 され 割 り 込 みコントロー ラに 割 り 込 みを 提 供 します 0 割 り 込 みが 発 生 していないか マスクされていま す このビットは 1 を 書 き 込 むことでクリアされます このビットをク リアすると QEIRIS レジスタの INTERROR ビットもクリアされ ます 2 INTDIR R/W1C 0 回 転 方 向 転 換 割 り 込 み 1 QEIRIS レジスタと QEIINTEN レジスタの INTDIR ビットが 設 定 され 割 り 込 みコントローラに 割 り 込 み を 提 供 します 0 割 り 込 みが 発 生 していないか マスクされていま す このビットは 1 を 書 き 込 むことでクリアされます このビットをク リアすると QEIRIS レジスタの INTDIR ビットもクリアされま す 1 INTTIMER R/W1C 0 速 度 タイマ 割 り 込 み 1 QEIRIS レジスタと QEIINTEN レジスタの INTTIMER ビットが 設 定 され 割 り 込 みコントローラ に 割 り 込 みを 提 供 します 0 割 り 込 みが 発 生 していないか マスクされていま
す このビットは 1 を 書 き 込 むことでクリアされます このビットをク リアすると QEIRIS レジスタの INTTIMER ビットもクリアされま す 0 INTINDEX R/W1C 0 インデックス パルス 割 り 込 み 値 説 明 1 QEIRIS レジスタと QEIINTEN レジスタの INTINDEX ビットが 設 定 され 割 り 込 みコントローラ に 割 り 込 みを 提 供 します 0 割 り 込 みが 発 生 していないか マスクされていま す このビットは 1 を 書 き 込 むことでクリアされます このビットをク リアすると QEIRIS レジスタの INTINDEX ビットもクリアされま す