Section 16. Output Compare



Similar documents
dsPIC33E FRM - Section #. Title

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は

スライド 1

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

・モニター広告運営事業仕様書

2.JADA 検 査 対 象 者 登 録 リストへの 登 録 除 外 引 退 復 帰 2.1 JADA 検 査 対 象 者 登 録 リストへの 登 録 及 び 除 外 は 原 則 として 以 下 に 示 す 対 応 によりおこな うものとする 登 録 国 内 競 技 連 盟 からの 登 録 申 請

「給与・年金の方」からの確定申告書作成編

Timers_JP.fm

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

教員免許更新制ハンドブック2

<4D F736F F D C689D789B582B581698AAE90AC92CA926D816A2E646F63>

T T VWAPギャランティ 取 引 とは T T VWAPギャランティ 取 引 とは これまでの 成 行 や 指 値 とは 異 なる 東 海 東 京 証 券 が 提 供 する 新 しい 形 の 売 買 方 法 です その 方 法 とは 1 金 融 商 品 取 引 所 ( 以 下 取 引 所 )に

<4D F736F F D208DE3905F8D8291AC8B5A8CA48A948EAE89EF8ED0208BC696B18BA492CA8E64976C8F BD90AC E378C8E89FC92F994C5816A>

富士山チェックリスト

01_07_01 データのインポート_エクスポート_1


kyoukai.indd

国立大学法人 東京医科歯科大学教職員就業規則

私立大学等研究設備整備費等補助金(私立大学等

H28記入説明書(納付金・調整金)8

円 定 期 の 優 遇 金 利 期 間 中 に 中 途 解 約 す る と 優 遇 金 利 は 適 用 さ れ ず お 預 け 入 れ 日 か ら 解 約 日 ま で の 所 定 の 期 限 前 解 約 利 率 が 適 用 さ れ ま す 投 資 信 託 ( 金 融 商 品 仲 介 で 取 り 扱

Microsoft PowerPoint - 報告書(概要).ppt

Microsݯft Word - 91 forܠ2009November.docx

WebMail ユーザーズガイド

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(


5-2.操作説明書(支店連携)_xlsx

■デザイン

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

Microsoft Word - 【溶け込み】【修正】第2章~第4章

マネジメントシステム 認 証 規 則 目 次 1 章 総 則 1.1 一 般 2 章 マネジメントシステムの 登 録 2.1 一 般 2.2 登 録 原 簿 2.3 登 録 証 書 2.4 登 録 マークの 使 用 及 び 認 証 の 引 用 2.5 登 録 維 持 2.6 登 録 継 続 2.7

目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書 類 の 取 得 75ページ お 問 い

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

平成21年9月29日

をかける 待 受 画 面 で 番 号 を 入 力 し Nを 押 す がかかります をかける 前 に 波 の 状 態 を 確 認 してください(1-6ページ) 一 般 へかける 場 合 は 必 ず 市 外 局 番 から 入 力 してください 携 帯 自 動 車 PHSへかける 場 合 は 0 から 始

<4D F736F F D AC90D1955D92E CC82CC895E DD8C D2816A2E646F63>

【提供条件書】ギガ学割

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

積 載 せず かつ 燃 料 冷 却 水 及 び 潤 滑 油 の 全 量 を 搭 載 し 自 動 車 製 作 者 が 定 める 工 具 及 び 付 属 品 (スペアタイヤを 含 む )を 全 て 装 備 した 状 態 をいう この 場 合 に おいて 燃 料 の 全 量 を 搭 載 するとは 燃 料

一 覧 表 ( 専 従 者 用 ) YES NOチャート( 専 従 月 額 単 価 用 ) (P.4)を 参 考 にしてください < 直 接 雇 用 者 > 一 覧 表 ( 専 従 者 用 )の 単 価 は 委 託 期 間 中 に 継 続 して 半 年 以 上 当 該 AMED 事 業

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

特別徴収封入送付作業について

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

Microsoft Word - 第3章.doc

<4D F736F F D20975A817C D9195DB8FD88F5A91EE838D815B F824F A2E646F63>

税金読本(8-5)特定口座と確定申告

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

一般競争入札について

HTG-35U ブルーバック表示の手順書 (2014年12月改定)

ご 注 意 (1) 本 書 の 内 容 の 一 部 又 は 全 部 を 無 断 で 転 載 することは 禁 止 されています (2) 本 書 の 内 容 は 将 来 予 告 無 しに 変 更 することがあります (3) 本 書 の 内 容 は 万 全 を 期 して 作 成 しておりますが ご 不 審

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等

購買ポータルサイトyOASIS簡易説明書 b

目 論 見 書 補 完 書 面 ( 投 資 信 託 ) <コード 8027> 当 ファンドに 係 る 当 社 は ファンドの 販 売 会 社 として 募 集 の 取 扱 いおよび 販 売 等 に 関 する 事 務 を 行 います 金 融 商 品 取 引 契 約 の 概 要 当 社 が 行 う 金 融

untitled

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

PowerPoint プレゼンテーション

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

第 1 章 共 通 操 作 1.1 ログイン PIN 番 号 入 力 (1) 大 阪 府 電 子 入 札 システム トップ 画 面 より 1 電 子 入 札 システム ボタンをクリックし ます 1 1-2

労働時間と休日は、労働条件のもっとも基本的なものの一つです

事 業 所 マイページ 労 務 管 理 機 能 操 作 マニュアル 1. 労 務 管 理 メニュー 2. 会 社 情 報 を 確 認 する 3. 社 員 情 報 を 確 認 する 4. 社 員 のマイナンバーを 確 認 編 集 する 5. マイナンバーの 利 用 履 歴 を 確 認 する 6. 社

4 承 認 コミュニティ 組 織 は 市 長 若 しくはその 委 任 を 受 けた 者 又 は 監 査 委 員 の 監 査 に 応 じなければ ならない ( 状 況 報 告 ) 第 7 条 承 認 コミュニティ 組 織 は 市 長 が 必 要 と 認 めるときは 交 付 金 事 業 の 遂 行 の

平成19年9月改定

日本年金機構編 年金相談マニュアル-08 勧奨編(平成24年5月改訂-第06版) 【308頁】サンプル

PowerPoint プレゼンテーション

平成27年度大学改革推進等補助金(大学改革推進事業)交付申請書等作成・提出要領

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 (

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

スライド 1

< F2D D D837C815B B8EC08E7B97768D80>

消 費 ~ 軽 減 率 消 費 の 軽 減 率 制 度 が 消 費 率 10% 時 に 導 入 することとされています 平 成 26 年 4 月 1 日 平 成 27 年 10 月 1 日 ( 予 定 ) 消 費 率 5% 消 費 率 8% 消 費 率 10% 軽 減 率 の 導 入 平 成 26

Ver 改 訂 日 付 改 訂 内 容 1

指 定 ( 又 は 選 択 ) 官 庁 PCT 出 願 人 の 手 引 - 国 内 段 階 - 国 内 編 - アイスランド 特 許 庁 国 内 段 階 に 入 るための 要 件 の 概 要 3 頁 概 要 国 内 段 階 に 入 るための 期 間 PCT 第 22 条 (3)に 基 づく 期 間

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

Q5 育 児 休 業 を 請 求 する 際 の 事 務 手 続 は? A5 育 児 休 業 を 請 求 しようとする 職 員 は, 育 児 休 業 承 認 請 求 書 ( 様 式 第 1 号 )に 子 の 氏 名 や 請 求 する 期 間 等 を 記 入 し, 育 児 休 業 を 始 めようとする1

(2) 単 身 者 向 け 以 外 の 賃 貸 共 同 住 宅 等 当 該 建 物 に 対 して 新 たに 固 定 資 産 税 等 が 課 税 される 年 から 起 算 して5 年 間 とする ( 交 付 申 請 及 び 決 定 ) 第 5 条 補 助 金 の 交 付 を 受 けようとする 者 は

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

奨学事業戦略部個人情報ファイル簿

( 運 用 制 限 ) 第 5 条 労 働 基 準 局 は 本 システムの 維 持 補 修 の 必 要 があるとき 天 災 地 変 その 他 の 事 由 によりシステムに 障 害 又 は 遅 延 の 生 じたとき その 他 理 由 の 如 何 を 問 わず その 裁 量 により システム 利 用 者

-2-

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

目 次 1.ご 退 職 者 の 皆 さまへ P.2 2.お 手 続 きの 流 れ P.3~4 3.ご 自 身 のお 手 続 きのタイプを 確 認 しましょう! P.5 4.タイプ 別 のお 手 続 方 法 P.6 5.ご 注 意 P.7~8 6. 必 ずお 読 みください P.9 確 定 拠 出 年

<4D F736F F D2095CA8E A90DA91B18C9F93A289F1939A8F D8288B3816A5F E646F63>

第2回 制度設計専門会合 事務局提出資料

11smts_cover_a

Microsoft Word  要綱.doc

1

小 売 電 気 の 登 録 数 の 推 移 昨 年 8 月 の 前 登 録 申 請 の 受 付 開 始 以 降 小 売 電 気 の 登 録 申 請 は 着 実 に 増 加 しており これまでに310 件 を 登 録 (6 月 30 日 時 点 ) 本 年 4 月 の 全 面 自 由 化 以 降 申

●電力自由化推進法案

6. 共 有 等 に 係 る 固 定 資 産 の 判 定 3 共 有 に 係 る 固 定 資 産 については それぞれの 共 有 者 が 他 に 固 定 資 産 を 所 有 している 場 合 であっても その 資 産 とは 別 個 に 共 有 されている 固 定 資 産 を 別 の 人 格 が 所

サイバートラスト デバイスマネジメント オプションサービス特約

図 表 1 住 開 始 分 ま で の 5 年 間 延 長 さ れ ま し た 住 宅 ロ ー ン 控 除 の た め の フ ロ ー チ ャ ー ト 住 宅 ローンで 住 宅 及 びその 敷 地 を 取 得 し 取 得 の 日 から6か 月 以 内 に 居 住 して いますか? 所 得 金 額 が

< F2D A C5817A C495B6817A>

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

指 定 ( 又 は 選 択 ) 官 庁 PCT 出 願 人 の 手 引 - 国 内 段 階 - 国 内 編 - インド 特 許 庁 国 内 段 階 に 入 るための 要 件 の 概 要 3 頁 概 要 国 内 段 階 に 入 るための 期 間 PCT 第 22 条 (3)に 基 づく 期 間 : 優

計算式の取り扱い

Transcription:

注 意 : この 日 本 語 版 文 書 は 参 考 資 料 としてご 利 用 ください 最 新 情 報 は 必 ずオリジ ナルの 英 語 版 をご 参 照 願 います セクション. 出 力 コンペア 出 力 コンペア ハイライト 本 セクションには 以 下 の 主 要 項 目 を 記 載 しています.1 はじめに...-2.2 出 力 コンペアレジスタ...-3.3 動 作...-6.4 割 り 込 み... -33.5 I/O ピンの 制 御... -34.6 省 電 力 モードとデバッグモード 時 の 動 作... -35.7 各 種 リセットの 影 響... -35.8 出 力 コンペアのアプリケーション 例... -36.9 設 計 のヒント... -38.10 関 連 アプリケーション ノート... -39.11 改 訂 履 歴... -40 2013 Microchip Technology Inc. DS61111E_JP - p. -1

PIC32 ファミリ リファレンス マニュアル Note: ファミリ リファレンス マニュアルの 本 セクションは デバイス データシートの 補 足 を 目 的 としています 本 書 の 内 容 は PIC32 ファミリの 一 部 のデバイスには 対 応 していません 本 書 の 内 容 がお 客 様 のご 使 用 になるデバイスに 対 応 しているかどうかは 最 新 デ バイス データシート 内 の 出 力 コンペア の 冒 頭 に 記 載 している 注 意 書 きでご 確 認 ください デバイス データシートとファミリ リファレンス マニュアルの 各 セクションは マ イクロチップ 社 のウェブサイト (http://www.microchip.com) でご 覧 になれます.1 はじめに 出 力 コンペア モジュールは 選 択 されたタイムベース イベントへの 応 答 として 単 発 または 連 続 パルスを 生 成 するために 主 として 使 われます 出 力 コンペア モジュールの 主 な 特 長 として 下 記 が 挙 げられます デバイスに 複 数 の 出 力 コンペア モジュールを 内 蔵 シングルおよびダブルコンペア モード 単 発 または 連 続 出 力 パルスの 生 成 パルス 幅 変 調 (PWM) モード コンペアイベント 時 の 割 り 込 み 生 成 ( プログラマブル ) ハードウェアによる PWM フォルト 検 出 と 自 動 的 な 出 力 無 効 化 または 32 ビット タイムベースの 選 択 ( プログラマブル ) 2 つの ビット タイムベースのいずれか 一 方 または 両 方 を 組 み 合 わせた 32 ビット タイ ムベースを 使 って 動 作 図 -1 に 出 力 コンペア モジュールのブロック 図 を 示 します 図 -1: 出 力 コンペア モジュールのブロック 図 Set Flag bit OCxIF (1) OCxRS (1) OCxR (1) Output Logic S R Q OCx (1) Output Enable Comparator 3 OCM<2:0> Mode Select OCFA or OCFB (2) 0 1 OCTSEL 0 1 TMR register inputs from time bases (3) Period match signals from time bases (3) Note 1: レジスタ 名 に 含 まれる 添 え 字 x は 出 力 コンパレータの 番 号 (1 ~ 5) を 表 します 2: OCFA ピンは OC1 ~ OC4 チャンネルを 制 御 します OCFB ピンは OC5 チャンネルを 制 御 します 3: 各 出 力 コンペア チャンネルには 2 つの ビット タイムベースのいずれか 一 方 または 両 方 を 組 み 合 わ せた 32 ビット タイムベースを 使 えます 出 力 コンペア モジュール 向 けに 使 えるタイムベースについては 各 デバイスのデータシートを 参 照 してください DS61111E_JP - p. -2 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.2 出 力 コンペアレジスタ Note: PIC32 ファミリの 各 デバイスは 1 つまたは 複 数 の 出 力 コンペア モジュールを 内 蔵 しています ピン 制 御 / ステータスビット レジスタの 名 前 に 含 まれる 添 え 字 x は 出 力 コンペア モジュールの 番 号 を 表 します 詳 細 は 各 デバイスのデータシー トを 参 照 してください 各 出 力 コンペア モジュールには 下 記 の 特 殊 機 能 レジスタ (SFR) が 割 り 当 てられています OCxCON: 出 力 コンペア x 制 御 レジスタ OCxR: 出 力 コンペア x コンペアレジスタ OCxRS: 出 力 コンペア x セカンダリ コンペアレジスタ 出 力 コンペア 表 -1 に 出 力 コンペアに 関 連 する 全 てのレジスタの 要 約 を 示 します この 表 の 後 に 各 レジス タの 詳 細 な 説 明 を 記 載 しています 表 -1: 名 称 出 力 コンペア SFR の 要 約 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24//8/0 OCxCON (1,2,3) 31:24 23: 15:8 ON SIDL 7:0 OC32 OCFLT OCTSEL OCM<2:0> OCxR (1,2,3) 31:24 OCxR<31:24> 23: OCxR<23:> 15:8 OCxR<15:8> 7:0 OCxR<7:0> OCxRS (1,2,3) 31:24 OCxRS<31:24> 23: OCxRS<23:> 15:8 OCxRS<15:8> 7:0 OCxRS<7:0> 凡 例 : = 未 実 装 0 として 読 み 出 し Note 1: このレジスタに 対 応 するクリアレジスタのアドレスは 0x4 バイト オフセットしています クリアレジスタは 対 応 す るレジスタの 名 前 の 後 に CLR を 追 加 した 名 前 を 持 ちます ( 例 : OCxCONCLR) クリアレジスタの 任 意 のビットに 1 を 書 き 込 むと 対 応 するレジスタの 対 応 するビットがクリアされます クリアレジスタからの 読 み 出 しは 無 視 さ れます 2: このレジスタに 対 応 するセットレジスタのアドレスは 0x8 バイト オフセットしています セットレジスタは 対 応 す るレジスタの 名 前 の 後 に SET を 追 加 した 名 前 を 持 ちます ( 例 : OCxCONSET) セットレジスタの 任 意 のビットに 1 を 書 き 込 むと 対 応 するレジスタの 対 応 するビットがセットされます セットレジスタからの 読 み 出 しは 無 視 さ れます 3: このレジスタに 対 応 する 反 転 レジスタのアドレスは 0xC バイト オフセットしています 反 転 レジスタは 対 応 するレ ジスタの 名 前 の 後 に INV を 追 加 した 名 前 を 持 ちます ( 例 :OCxCONINV) 反 転 レジスタの 任 意 のビットに 1 を 書 き 込 むと 対 応 するレジスタの 対 応 するビットが 反 転 します 反 転 レジスタからの 読 み 出 しは 無 視 されます 2013 Microchip Technology Inc. DS61111E_JP - p. -3

PIC32 ファミリ リファレンス マニュアル レジスタ -1: ビット レンジ 31/23/15/7 31:24 23: 15:8 7:0 OCxCON: 出 力 コンペア x 制 御 レジスタ 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24//8/0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 U-0 R/W-0 U-0 U-0 U-0 U-0 U-0 ON (1) SIDL U-0 U-0 R/W-0 R-0 R/W-0 R/W-0 R/W-0 R/W-0 OC32 OCFLT (2) OCTSEL OCM<2:0> 凡 例 : R = 読 み 出 し 可 能 ビット W = 書 き 込 み 可 能 ビット U = 未 実 装 ビット 0 として 読 み 出 し -n = POR 時 の 値 1 = ビットはセット 0 = ビットはクリア x = ビットは 未 知 bit 31- 未 実 装 : 0 として 読 み 出 し bit 15 ON: 出 力 コンペア モジュール ON ビット (1) 1 = 出 力 コンペア モジュールを 有 効 にする 0 = 出 力 コンペア モジュールを 無 効 にする ( この 状 態 では 電 流 を 消 費 せず SFR の 変 更 が 可 能 です ) このビットをセットまたはクリアしても このレジスタ 内 の 他 のビットの 状 態 には 影 響 しません bit 14 未 実 装 : 0 として 読 み 出 し bit 13 SIDL: アイドルモード 時 停 止 ビット 1 = CPU がアイドルモードに 移 行 した 時 に 動 作 を 停 止 する 0 = アイドルモード 中 も 動 作 を 継 続 する bit 12-6 未 実 装 : 0 として 読 み 出 し bit 5 OC32: 32 ビット コンペアモード ビット 1 = OCxR<31:0> および / または OCxRS<31:0> を 使 って 32 ビットタイマ 源 と 比 較 する 0 = OCxR<15:0> および OCxRS<15:0> を 使 って ビットタイマ 源 と 比 較 する bit 4 OCFLT: PWM フォルト 条 件 ステータスビット (2) 1 = PWM フォルト 条 件 が 発 生 した ( ハードウェアでのみクリア ) 0 = PWM フォルト 条 件 は 発 生 していない bit 3 OCTSEL: 出 力 コンペアタイマ 選 択 ビット 1 = Timer3 をこの 出 力 コンペア モジュールのクロック 源 として 使 う 0 = Timer2 をこの 出 力 コンペア モジュールのクロック 源 として 使 う 出 力 コンペア モジュール 向 けに 使 えるタイムベースについては 各 デバイスのデータシートを 参 照 してく ださい bit 2-0 OCM<2:0>: 出 力 コンペアモード 選 択 ビット 111 =OCxを PWM モードにし フォルトピンを 有 効 にする 110 =OCxを PWM モードにし フォルトピンを 無 効 にする 101 =OCxピンを LOW に 初 期 化 し OCx ピンで 連 続 出 力 パルスを 生 成 する 100 =OCxピンを LOW に 初 期 化 し OCx ピンで 単 発 出 力 パルスを 生 成 する 011 = コンペアイベントで OCx ピンをトグルする 010 =OCxピンを HIGH に 初 期 化 し コンペアイベントで OCx ピンを LOW にする 001 =OCxピンを LOW に 初 期 化 し コンペアイベントで OCx ピンを HIGH にする 000 = 出 力 コンペア モジュールを 無 効 にする ( 電 流 は 消 費 し 続 けます ) Note 1: PBCLK 分 周 比 を 1:1 にしている 場 合 周 辺 モジュールの ON ビットをクリアした 命 令 の 直 後 の SYSCLK サイクルでは そのモジュールのSFRに 対 する 読 み/ 書 きをユーザ ソフトウェアで 実 行 しないでください 2: このビットは OCM<2:0> = 111 の 場 合 にのみ 使 われ PWM モード 以 外 では 0 として 読 み 出 されます DS61111E_JP - p. -4 2013 Microchip Technology Inc.

セクション. 出 力 コンペア レジスタ -2: ビット レンジ 31/23/15/7 31:24 23: 15:8 7:0 OCxR: 出 力 コンペア x コンペアレジスタ 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24//8/0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCR<31:24> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCR<23:> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCR<15:8> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCR<7:0> 出 力 コンペア 凡 例 : R = 読 み 出 し 可 能 ビット W = 書 き 込 み 可 能 ビット U = 未 実 装 ビット 0 として 読 み 出 し -n = POR 時 の 値 1 = ビットはセット 0 = ビットはクリア x = ビットは 未 知 bit 31- OCxR<31:>: 32 ビット コンペア 値 の 上 位 ビットを 格 納 (OC32 (OCxCON<5>) = 1 の 場 合 ) bit 15-0 OCxR<15:0>: 32 ビット コンペア 値 の 下 位 ビット (OC21 = 1 の 場 合 ) または ビット コンペア 値 ( OC32 = 0 の 場 合 ) を 格 納 レジスタ -3: ビット レンジ 31/23/15/7 31:24 23: 15:8 7:0 OCxRS: 出 力 コンペア x セカンダリ コンペアレジスタ 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24//8/0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCRS<31:24> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCRS<23:> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCRS<15:8> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 OCRS<7:0> 凡 例 : R = 読 み 出 し 可 能 ビット W = 書 き 込 み 可 能 ビット U = 未 実 装 ビット 0 として 読 み 出 し -n = POR 時 の 値 1 = ビットはセット 0 = ビットはクリア x = ビットは 未 知 bit 31- OCxRS<31:>: 32 ビット コンペア 値 の 上 位 ビットを 格 納 (OC32 (OCxCON<5>) = 1 の 場 合 ) bit 15-0 OCxRS<15:0>: 32 ビット コンペア 値 の 下 位 ビット (OC21 = 1 の 場 合 ) または ビット コンペア 値 ( OC32 = 0 の 場 合 ) を 格 納 2013 Microchip Technology Inc. DS61111E_JP - p. -5

PIC32 ファミリ リファレンス マニュアル.3 動 作 各 出 力 コンペア モジュールは 下 記 の 動 作 モードを 備 えます シングルコンペア 一 致 モード - 出 力 を HIGH に 駆 動 - 出 力 を LOW に 駆 動 - 出 力 をトグル ダブルコンペア 一 致 モード - 単 発 出 力 パルス - 連 続 出 力 パルス パルス 幅 変 調 モード - フォルト 保 護 入 力 なし - フォルト 保 護 入 力 あり Note 1: モードを 切 り 換 える 前 にユーザ アプリケーションで 出 力 コンペア モジュールを OFF にする (OCM<2:0> ビット (OCxCON<2:0>) をクリアする ) 必 要 があります モジュールの 動 作 中 にモードを 切 り 換 えると 予 期 せぬ 結 果 が 生 じる 可 能 性 があり ます 2: 本 書 では 選 択 したタイマ 源 に 対 応 する SFR の 名 称 に 添 え 字 y を 使 います 例 えば PRy は 選 択 したタイマ 源 の 周 期 レジスタ TyCON は 選 択 したタイマ 源 の タイマ 制 御 レジスタです.3.1 シングルコンペア 一 致 モード OCM<2:0> 制 御 ビット (OCxCON<2:0>) を 001 010 011 のいずれかに 設 定 すると 対 応 する 出 力 コンペア チャンネルは3 種 類 あるシングル 出 力 コンペア 一 致 モードのいずれかに 設 定 されます コンペア タイムベースも 有 効 にする 必 要 があります シングルコンペア モードでは OCxR レジスタの 値 と 選 択 したタイマレジスタ (TMRy) のイン クリメント 値 を 比 較 します コンペア 一 致 が 発 生 すると 下 記 のいずれかのイベントが 発 生 し ます コンペア 一 致 時 に OCx ピンを 初 期 状 態 の LOW から HIGH に 駆 動 し 割 り 込 みを 生 成 する コンペア 一 致 時 に OCx ピンを 初 期 状 態 の HIGH から LOW に 駆 動 し 割 り 込 みを 生 成 する コンペア 一 致 時 に OCx ピンの 状 態 をトグルする ( トグルイベントは 繰 り 返 し 発 生 し そのた びに 割 り 込 みを 生 成 します ) DS61111E_JP - p. -6 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.3.1.1 コンペア モード - 出 力 を HIGH に 駆 動 モジュールをこのモードで 動 作 させるには OCM<2:0> 制 御 ビットを 001 に 設 定 します コンペア タイムベースも 有 効 にする 必 要 があります このモードを 有 効 にすると 出 力 ピン OCx は LOW に 初 期 化 され TMRy と OCxR レジスタ 間 のコンペア 一 致 が 発 生 するまで LOW を 維 持 します 図 -2 と 図 -3 の 下 記 のタイミング イベントに 注 目 してください コンペア タイムベースと OCxR レジスタ 間 のコンペア 一 致 が 発 生 すると 1 周 辺 モジュール 用 クロック 後 に OCx ピンが HIGH に 駆 動 されます OCx ピンはモードが 変 更 されるかモ ジュールが 無 効 になるまで HIGH のままです コンペア タイムベースは 対 応 する 周 期 レジスタの 値 に 一 致 するまでインクリメントし 続 け 一 致 すると 次 の PBCLK で 0x0000 にリセットします OCx ピンが HIGH になると 対 応 するチャンネル 割 り 込 みフラグ OCxIF がセットされます ( 各 出 力 コンペア チャンネルの 割 り 込 みフラグビットの 位 置 については IFS0 レジスタの 説 明 を 参 照 してください ) 出 力 コンペア 図 -2: シングルコンペアモード : コンペア 一 致 イベントで OCx ピンを HIGH に 駆 動 ( ビットモード ) 1 PBCLK Period TMRy 3000 3001 3002 3003 3004 3FFF 4000 0000 0001 TMRy Resets Here PRy 4000 OCxR 3002 OCx pin Cleared by User OCxIF Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 図 -3: シングルコンペアモード : コンペア 一 致 イベントで OCx ピンを HIGH に 駆 動 (32 ビットモード ) 1 PBCLK Period TMRy 0003: 0003: 0003: 0003: 0003: 0003: 0004: 0000: 0000: 0000 0001 0002 0003 0004 FFFF 0000 0000 0001 TMRy Resets Here PRy 0004: 0000 OCxR 0003: 0002 OCx pin Cleared by User OCxIF Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 2013 Microchip Technology Inc. DS61111E_JP - p. -7

PIC32 ファミリ リファレンス マニュアル.3.1.2 コンペア モード - 出 力 を LOW に 駆 動 モジュールをこのモードで 動 作 させるには OCM<2:0> 制 御 ビットを 010 に 設 定 します コンペア タイムベースも 有 効 にする 必 要 があります このモードを 有 効 にすると 出 力 ピン OCx は HIGH に 初 期 化 され TMRy と OCxR レジスタ 間 のコンペア 一 致 が 発 生 するまで HIGH を 維 持 します 図 -4 と 図 -5 の 下 記 のタイミング イベントに 注 目 してください コンペア タイムベースと OCxR レジスタ 間 のコンペア 一 致 が 発 生 すると 1 PBCLK 後 に OCx ピンが LOW に 駆 動 されます OCx ピンはモードが 変 更 されるかモジュールが 無 効 になるま で LOW のままです コンペア タイムベースは 対 応 する 周 期 レジスタの 値 に 一 致 するまでインクリメントし 続 け 一 致 すると 次 の PBCLK で 0x0000 にリセットします OCxピンが LOW になると 対 応 するチャンネル 割 り 込 みフラグ OCxIF がセットされます 図 -4: シングルコンペア モード : コンペア 一 致 イベントで OCx ピンを LOW に 駆 動 ( ビットモード ) 1 PBCLK Period TMRy 47FE 47FF 4800 4801 4802 4BFF 4C00 0000 0001 TMRy Resets Here PRy 4C00 OCxR 4800 OCx pin Cleared by User OCxIF Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 図 -5: シングルコンペア モード : コンペア 一 致 イベントで OCx ピンを LOW に 駆 動 (32 ビットモード ) 1 PBCLK Period TMRy 0003: 0003: 0003: 0003: 0003: 0003: 0004: 0000: 0000: 0000 0001 0002 0003 0004 FFFF 0000 0000 0001 TMRy Resets Here PRy 0004: 0000 OCxR 0003: 0002 OCx pin Cleared by User OCxIF Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です DS61111E_JP - p. -8 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.3.1.3 シングルコンペア モード - 出 力 をトグル モジュールをこのモードで 動 作 させるには OCM<2:0> 制 御 ビットを 011 に 設 定 します 加 えて Timer2 または Timer3 を 選 択 して 有 効 にする 必 要 があります このモードを 有 効 にす ると 出 力 ピン OCx は LOW に 初 期 化 され その 後 タイマと OCxR レジスタ 間 の 一 致 イベント が 発 生 するたびにピンの 状 態 がトグルします 図 -6 図 -7 図 -8 図 -9 の 下 記 のタ イミング イベントに 注 目 してください コンペア タイムベースと OCxR レジスタ 間 のコンペア 一 致 が 発 生 すると 1 PBCLK 後 に OCx ピンの 状 態 がトグルします トグル 後 の OCx ピンの 状 態 は 次 のトグルイベントが 発 生 する か モードが 変 更 されるか モジュールが 無 効 になるまで 持 続 します コンペア タイムベースは 対 応 する 周 期 レジスタの 値 に 一 致 するまでインクリメントし 続 け 一 致 すると 次 の PBCLK で 0x0000 にリセットします OCxピンがトグルすると 対 応 するチャンネル 割 り 込 みフラグ OCxIF がセットされます Note: デバイスリセットが 発 生 すると 内 部 の OCx ピン 出 力 ロジックは 論 理 0 に 設 定 されます ただし トグルモード 向 けに OCx ピンの 初 期 状 態 をユーザ アプリケー ションで 設 定 する 事 ができます 例 -1 と 例 -2 に トグルモード 動 作 向 けに OCx ピンの 初 期 状 態 を 定 義 するためのサンプルコードを 示 します 出 力 コンペア 図 -6: シングルコンペア モード : コンペア 一 致 イベントで OCx ピンをトグル ( ビットモード ) 1 PBCLK Period TMRy 0500 0501 0502 0600 0000 0001 0500 0501 0502 TMRy Resets Here PRy 0600 OCxR 0500 OCx pin Cleared by User OCxIF Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 図 -7: シングルコンペア モード : コンペア 一 致 イベントで OCx ピンをトグル (32 ビットモード ) 1 PBCLK Period TMRy 0005: 0005: 0005: 0006: 0000: 0000: 0005: 0005: 0000 0001 0002 0000 0000 0001 0000 0001 TMRy Resets Here PRy 0006: 0000 OCxR 0005: 0000 OCx pin Cleared by User OCxIF Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 2013 Microchip Technology Inc. DS61111E_JP - p. -9

PIC32 ファミリ リファレンス マニュアル 図 -8: シングルコンペア モード : コンペア 一 致 イベントで 出 力 をトグル (PRy = OCxR ビットモード ) 1 PBCLK Period TMRy 0500 0000 0001 0500 TMRy Resets Here 0000 0001 0500 0000 0001 TMRy Resets Here PRy 0500 OCxR 0500 OCx pin OCxIF Cleared by User Cleared by User Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 図 -9: シングルコンペア モード : コンペア 一 致 イベントで 出 力 をトグル (PRy = OCxR 32 ビットモード ) 1 PBCLK Period TMRy 0005: 0000: 0000: 0005: 0000: 0000: 0005: 0000: 0000 0000 0001 0000 0000 0001 0000 0000 TMRy Resets Here PRy 0005: 0000 OCxR 0005: 0000 OCx pin OCxIF Cleared by User Cleared by User Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 例 -1: コンペアモードでのトグルモードのピン 状 態 のセットアップ ( ビットモード ) // The following code example illustrates how to define the initial // OC1 pin state for the output compare toggle mode of operation. // Toggle mode with initial OC1 pin state set low OC1CON = 0x0001;// Configure module for OC1 pin low, toggle high OC1CONSET = 0x8000;// Enable OC1 module DS61111E_JP - p. -10 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 例 -2: コンペアモードでのトグルモードのピン 状 態 のセットアップ (32 ビットモード ) // The following code example illustrates how to define the initial // OC1 pin state for the output compare toggle mode of operation. // Toggle mode with initial OC1 pin state set low OC1CON = 0x0021;// Configure module for OC1 pin low, toggle high, // 32-bit mode OC1CONSET = 0x8000;// Enable OC1 module 出 力 コンペア 例 -3 と 例 -4 に シングルコンペア モードでのトグルイベントの 設 定 と 割 り 込 みサービス のサンプルコードを 示 します 例 -3: コンペアモードでのトグルのセットアップと 割 り 込 みサービス ( ビットモード ) // The following code example will set the Output Compare 1 module // for interrupts on the toggle event and select Timer2 as the clock // source for the compare time base. T2CON = 0x0010;// Configure Timer2 for a prescaler of 2 OC1CON = 0x0000;// Turn off OC1 while doing setup. OC1CON = 0x0003;// Configure for compare toggle mode OC1R = 0x0500;// Initialize Compare Register 1 PR2 = 0x0500;// Set period // Configure int IFS0CLR = 0x0040;// Clear the OC1 interrupt flag IEC0SET = 0x040;// Enable OC1 interrupt IPC1SET = 0x001C0000;// Set OC1 interrupt priority to 7, // the highest level IPC1SET = 0x00030000;// Set Subpriority to 3, maximum T2CONSET = 0x8000;// Enable Timer2 OC1CONSET = 0x8000;// Enable OC1 // Example code for Output Compare 1 ISR: void ISR(_OUTPUT_COMPARE_1_VECTOR, ipl7) OC1_IntHandler (void) { // insert user code here IFS0CLR = 0x0040; // Clear the OC1 interrupt flag } 2013 Microchip Technology Inc. DS61111E_JP - p. -11

PIC32 ファミリ リファレンス マニュアル 例 -4: コンペアモードでのトグルのセットアップと 割 り 込 みサービス (32 ビットモード ) // The following code example will set the Output Compare 1 module // for interrupts on the toggle event and select the Timer2/Timer3 pair as // the 32-bit as the clock source for the compare time base. T2CON = 0x0018;// Configure Timer2 for 32-bit operation // with a prescaler of 2.The Timer2/Timer3 // pair is accessed via registers associated // with the Timer2 register OC1CON = 0x0000;// Turn off OC1 while doing setup. OC1CON = 0x0023;// Configure for compare toggle mode OC1R = 0x00500000;// Initialize Compare Register 1 PR2 = 0x00500000;// Set period (PR2 is now 32-bits wide) // configure int IFS0CLR = 0x00000040;// Clear the OC1 interrupt flag IFS0SET = 0x00000040;// Enable OC1 interrupt IPC1SET = 0x001C0000;// Set OC1 interrupt priority to 7, // the highest level IPC1SET = 0x00030000;// Set Subpriority to 3, maximum T2CONSET = 0x8000;// Enable Timer2 OC1CONSET = 0x8000;// Enable OC1 // Example code for Output Compare 1 ISR: void ISR (_OUTPUT_COMPARE_1_VECTOR, ipl7) OC1_IntlHandler (void) { // Insert user code here IFS0CLR = 0x0040; // Clear the OC1 interrupt flag } DS61111E_JP - p. -12 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.3.2 ダブルコンペア 一 致 モード OCM<2:0> 制 御 ビットを 100 または 101 に 設 定 すると 対 応 する 出 力 コンペア チャン ネルは 下 記 の 2 つのダブルコンペア 一 致 モードのいずれかに 設 定 されます 単 発 出 力 パルスモード 連 続 出 力 パルスモード ダブルコンペア 一 致 モードの 場 合 モジュールはコンペア 一 致 イベント 用 に OCxR レジスタと OCxRS レジスタを 使 います タイマ TMRy のインクリメント 値 と OCxR レジスタ 間 でコンペ ア 一 致 イベントが 発 生 すると OCx ピンでパルスの 立 ち 上 がり ( 前 縁 ) エッジが 生 成 されます このタイマがさらにインクリメントして OCxRS レジスタとの 間 でコンペア 一 致 イベントが 発 生 すると OCx ピンでパルスの 立 ち 下 がり ( 後 縁 ) エッジが 生 成 されます 出 力 コンペア.3.2.1 ダブルコンペア モード : 単 発 出 力 パルス 出 力 コンペアモジュールを 単 発 出 力 パルスモードに 設 定 するには OCM<2:0> 制 御 ビットを 100 に 設 定 します 加 えてコンペア タイムベースを 選 択 して 有 効 にする 必 要 があります このモードを 有 効 にすると 出 力 ピン OCx は LOW に 初 期 化 され タイムベースと OCxR レ ジスタ 間 のコンペア 一 致 が 発 生 するまで LOW を 維 持 します 図 -10 図 -11 図 -12 図 -13 の 下 記 のタイミング イベントに 注 目 してください コンペア タイムベースと OCxR レジスタ 間 のコンペア 一 致 が 発 生 すると 1 周 辺 モジュール 用 クロック 後 に OCx ピンが HIGH に 駆 動 されます OCx ピンは タイムベースと OCxRS レジスタ 間 で 次 の 一 致 イベントが 発 生 するまで HIGH のままです 一 致 するとピンは LOW に 駆 動 されます OCx ピンはモードが 変 更 されるかモジュールが 無 効 になるまで LOW のま まです コンペア タイムベースは 対 応 する 周 期 レジスタの 値 に 一 致 するまでインクリメントし 続 け 一 致 すると 次 の 命 令 クロックで 0x0000 にリセットします タイムベース 周 期 レジスタの 値 が OCxRS レジスタの 値 よりも 小 さい 場 合 パルスの 立 ち 下 がりエッジは 生 成 されません OCx ピンは OCxRS PRy が 成 立 するか モードが 変 更 され るか リセット 条 件 が 発 生 するまで HIGH のままです OCxピンが LOW になると ( 単 発 パルスの 立 ち 下 がりエッジが 発 生 すると ) 対 応 するチャン ネル 割 り 込 みフラグ OCxIF がセットされます 図 -10 と 図 -11 は 一 般 的 なダブルコンペア モードによる 単 発 出 力 パルスの 生 成 を 示 していま す 図 -12 は OCxRS > PRy の 場 合 のタイミング 例 を 示 しています この 例 では コンペア タ イムベースは 0x4100 までインクリメントする 前 にリセットするため パルスの 立 ち 下 がりエッ ジは 発 生 しません 2013 Microchip Technology Inc. DS61111E_JP - p. -13

PIC32 ファミリ リファレンス マニュアル 図 -10: ダブルコンペア モード ( ビットモード ) 1 PBCLK Period TMRy 3000 3001 3002 3003 3004 3005 3006 4000 TMRy Resets Here PRy 4000 0000 OCxR 3000 OCxRS 3003 OCx pin OCxIF Cleared by User Note 1: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 2: OCxR = コンペアレジスタ OCxRS = セカンダリ コンペアレジスタ 図 -11: ダブルコンペア モード (32 ビットモード ) 1 PBCLK Period TMRy 0003: 0003: 0003: 0003: 0003: 0003: 0003: 0004: 0000: 0000 0001 0002 0003 0004 0005 0006 0000 0000 TMRy Resets Here PRy 0004: 0000 OCxR 0003: 0000 OCxRS 0003: 0003 OCx pin OCxIF Cleared by User Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です DS61111E_JP - p. -14 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 図 -12: ダブルコンペア モード : 単 発 出 力 パルス (OCxRS > PRy ビットモード ) 1 PBCLK Period TMRy 3000 3001 3002 3003 3004 3005 3006 4000 TMRy Resets Here PRy 4000 0000 出 力 コンペア OCxR 3000 OCxRS 4100 OCx pin OCxIF Compare Interrupt does not occur Note 1: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 2: OCxR = コンペアレジスタ OCxRS = セカンダリ コンペアレジスタ 図 -13: ダブルコンペア モード : 単 発 出 力 パルス (OCxRS > PRy 32 ビットモード ) 1 PBCLK Period TMRy 0003: 0003: 0003: 0003: 0003: 0003: 0003: 0004: 0000: 0000 0001 0002 0003 0004 0005 0006 0000 0000 TMRy Resets Here PRy 0004: 0000 OCxR 0003: 0000 OCxRS 0004: 1000 OCx pin OCxIF No Compare Interrupt is generated Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 2013 Microchip Technology Inc. DS61111E_JP - p. -15

PIC32 ファミリ リファレンス マニュアル.3.2.2 単 発 出 力 パルス 生 成 の 設 定 方 法 OCM<2:0> 制 御 ビット (OCxCON<2:0>) を 100 に 設 定 すると 対 応 する 出 力 コンペア チャ ンネルは OCx ピンを LOW 状 態 に 初 期 化 し 単 発 出 力 パルスを 生 成 します 単 発 出 力 パルスを 生 成 するには 下 記 の 手 順 が 必 要 です ( この 手 順 はタイマ 源 が 最 初 OFF である 事 を 前 提 としていますが これはモジュールを 動 作 させるための 必 要 条 件 ではありません ) 1. 周 辺 モジュール 用 クロックサイクル 時 間 を 決 定 します 2. TMRy 開 始 値 (0x0000) から 出 力 パルス 立 ち 上 がりエッジまでの 時 間 を 計 算 します 3. パルス 立 ち 上 がりエッジまでの 時 間 と 目 標 パルス 幅 に 基 づいてパルス 立 ち 下 がりエッジま での 時 間 を 計 算 します 4. 上 記 ステップ 2 および 3 で 計 算 した 値 をそれぞれコンペアレジスタ OCxR とセカンダリ コ ンペアレジスタ OCxRS に 書 き 込 みます 5. タイマ 周 期 レジスタ PRy の 値 をセカンダリ コンペアレジスタ OCxRS 以 上 の 値 に 設 定 しま す 6. OCM<2:0> を 100 に 設 定 し OCTSEL ビット (OCxCON<3>) で 適 切 なタイマ 源 を 選 択 します この 時 点 で OCx ピンは LOW に 駆 動 されます 7. タイマを 有 効 にします (ON 制 御 ビット (TxCON<15>) = 1) 8. TMRy と OCxR の 間 で 最 初 の 一 致 が 発 生 すると OCx ピンが HIGH に 駆 動 されます 9. その 後 もタイマ TMRy はインクリメントし 続 け 今 度 はセカンダリ コンペアレジスタ OCxRS と 一 致 した 時 に OCx ピンが HIGH から LOW に 遷 移 してパルスの 立 ち 下 がり ( 後 縁 ) エッジが 発 生 します これ 以 降 OCx ピンでパルスは 発 生 せず ピンは LOW のままです 2 回 目 のコンペア 一 致 イベントが 発 生 すると OCxIF 割 り 込 みフラグビットがセットされて 割 り 込 みが 発 生 します (OCxIE ビットをセットしてこの 割 り 込 みを 有 効 にしている 場 合 ) 周 辺 モジュール 割 り 込 みの 詳 細 はセクション8. 割 り 込 み (DS61108)を 参 照 してください 10. もう 一 度 単 発 パルス 出 力 を 生 成 するには 必 要 に 応 じてタイマおよびコンペアレジスタの 設 定 を 変 更 した 後 に OCM<2:0> 制 御 ビット (OCxCON<2:0>) を 100 に 設 定 するため の 書 き 込 みを 実 行 する 必 要 があります タイマの 無 効 化 / 再 有 効 化 と TMRy レジスタのク リアは 必 須 ではありませんが それらの 実 行 はイベント 時 間 の 区 切 りがはっきりわかるこ とからパルスの 設 定 に 有 効 かもしれません 出 力 パルスの 立 ち 下 がりエッジの 後 で 出 力 コンペア モジュールを 無 効 にする 必 要 はありませ ん 次 のパルス 生 成 は OCxCON レジスタに 値 を 再 度 書 き 込 む 事 により 開 始 できます DS61111E_JP - p. - 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 例 -5 と 例 -6 に 単 発 出 力 パルスイベントの 設 定 用 サンプルコードを 示 します 例 -5: 単 発 出 力 パルスのセットアップと 割 り 込 みサービス ( ビットモード ) // The following code example will set the Output Compare 1 module // for interrupts on the single pulse event and select Timer2 // as the clock source for the compare time base. T2CON = 0x0010;// Configure Timer2 for a prescaler of 2 出 力 コンペア OC1CON = 0x0000;// Turn off OC1 while doing setup. OC1CON = 0x0004;// Configure for single pulse mode OC1R = 0x3000;// Initialize primary Compare Register OC1RS = 0x3003;// Initialize secondary Compare Register PR2 = 0x3003;// Set period (PR2 is now 32-bits wide) // configure int IFS0CLR = 0x00000040;// Clear the OC1 interrupt flag IFS0SET = 0x00000040;// Enable OC1 interrupt IPC1SET = 0x001C0000;// Set OC1 interrupt priority to 7, // the highest level IPC1SET = 0x00030000;// Set Subpriority to 3, maximum T2CONSET = 0x8000;// Enable Timer2 OC1CONSET = 0x8000;// Enable OC1 // Example code for Output Compare 1 ISR: void ISR(_OUTPUT_COMPARE_1_VECTOR, ipl7) OC1_IntHandler (void) { // Insert user code here IFS0CLR = 0x0040; // Clear the OC1 interrupt flag } 2013 Microchip Technology Inc. DS61111E_JP - p. -17

PIC32 ファミリ リファレンス マニュアル 例 -6: 単 発 出 力 パルスのセットアップと 割 り 込 みサービス (32 ビットモード ) // The following code example will set the Output Compare 1 module // for interrupts on the single pulse event and select Timer2 // as the clock source for the compare time base. T2CON = 0x0018;// Configure Timer2 for 32-bit operation // with a prescaler of 2.The Timer2/Timer3 // pair is accessed via registers associated // with the Timer2 register OC1CON = 0x0000;// Turn off OC1 while doing setup. OC1CON = 0x0004;// Configure for single pulse mode OC1R = 0x00203000;// Initialize primary Compare Register OC1RS = 0x00203003;// Initialize secondary Compare Register PR2 = 0x00500000;// Set period (PR2 is now 32-bits wide) // configure int IFS0CLR = 0x00000040;// Clear the OC1 interrupt flag IFS0SET = 0x00000040;// Enable OC1 interrupt IPC1SET = 0x001C0000;// Set OC1 interrupt priority to 7, // the highest level IPC1SET = 0x00030000;// Set Subpriority to 3, maximum T2CONSET = 0x8000;// Enable Timer2 OC1CONSET = 0x8000;// Enable OC1 // Example code for Output Compare 1 ISR: void ISR(_OUTPUT_COMPARE_1_VECTOR, ipl7) OC1_IntHandler (void) { // insert user code here IFS0CLR = 0x0040; // Clear the OC1 interrupt flag } DS61111E_JP - p. -18 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.3.2.3 ダブルコンペア モードで 単 発 出 力 パルスを 生 成 する 場 合 の 特 殊 なケース 表 -2: OCxR OCxRS PRy 値 の 大 小 関 係 によっては 出 力 コンペア モジュールに 特 殊 な 条 件 が 発 生 する 事 に 注 意 が 必 要 です 表 -2 に そのような 特 殊 な 条 件 と それらによって 生 じるモ ジュールの 挙 動 を 示 します ダブルコンペア モードで 単 発 出 力 パルスを 生 成 する 場 合 の 特 殊 なケース SFR の 論 理 的 関 係 PRy OCxRS かつ OCxRS > OCxR PRy OCxR かつ OCxR OCxRS OCxRS > PRy かつ PRy OCxR 特 殊 な 条 件 動 作 OCxR = 0 最 初 に TMRy が 0x0000 から PRy までカウントする 間 TMRy = 0 に 初 期 化 OCx は LOW のままであり パルスは 生 成 されない 周 期 一 致 により TMRy がゼロにリセットすると OCx ピン は OCxR との 一 致 により HIGH に 遷 移 する 次 に TMRy が OCxRS に 一 致 すると OCx ピンは LOW に 遷 移 し そ の 状 態 を 維 持 する 2 回 目 のコンペア 一 致 の 結 果 として OCxIF ビットがセットされる 他 に 下 記 の 初 期 条 件 も 考 慮 する 必 要 がある : - TMRy = PRy (PRy > 0) に 初 期 化 かつ OCxR = 0 に 設 定 OCxR 1 かつ PRy 1 なし OCx ピンの 出 力 パルスは PRy レ ジスタの 値 に 応 じて 遅 延 する TMRy が OCxR までカウントアップしてコンペア 一 致 イ パルスを 生 成 ベント (TMRy = OCxR) が 発 生 すると OCx ピンは HIGH に 駆 動 される TMRy は 引 き 続 きカウントし 続 け 周 期 一 致 (PRy = TMRy) 時 にリセットする タイマは 0x0000 からカウントを 再 開 し OCxRS までカウントアップす る コンペア 一 致 イベント (TMRy = OCxRS) が 発 生 する と OCx ピンは LOW に 駆 動 される 2 回 目 のコンペア 一 致 の 結 果 として OCxIF ビットがセットされる OCx ピンで 立 ち 上 がりエッジだけが 生 成 される OCxIF ビットはセットされない OCxR > PRy なし サポートされないモード タイマは 一 致 条 件 の 前 にリ セットする 立 ち 上 がりエッ ジ /HIGH へ 遷 移 LOW のまま 凡 例 : OCxR = コンペアレジスタ OCxRS = セカンダリ コンペアレジスタ TMRy = Timeryのカウント PRy = Timery の 周 期 レジスタ Note 1: 上 表 の 全 ての 条 件 は TMRy レジスタが 0x0000 に 初 期 化 されている 事 を 前 提 とします 出 力 コンペア 2013 Microchip Technology Inc. DS61111E_JP - p. -19

PIC32 ファミリ リファレンス マニュアル.3.2.4 ダブルコンペア モード : 連 続 出 力 パルス 出 力 コンペア モジュールをこのモードで 動 作 させるには OCM<2:0> 制 御 ビットを 101 に 設 定 します 加 えてコンペア タイムベースを 選 択 して 有 効 にする 必 要 があります このモー ドを 有 効 にすると 出 力 ピン OCx は LOW に 初 期 化 され コンペア タイムベースと OCxR レ ジスタ 間 のコンペア 一 致 が 発 生 するまで LOW を 維 持 します 図 -14 図 -15 図 - 図 -7 の 下 記 のタイミング イベントに 注 目 してください コンペア タイムベースと OCxR レジスタ 間 のコンペア 一 致 が 発 生 すると 1PBCLK 後 に OCx ピンが HIGH に 駆 動 されます OCx ピンは タイムベースと OCxRS レジスタ 間 で 次 の 一 致 イベントが 発 生 するまで HIGH を 維 持 し 一 致 すると LOW に 駆 動 されます OCx ピンは 上 記 の LOW から HIGH および HIGH から LOW への 遷 移 によるパルス 生 成 を 繰 り 返 します ( ユー ザによる 介 入 は 不 要 ) OCxピンの 連 続 的 なパルス 生 成 は モードが 変 更 されるかモジュールが 無 効 になるまで 続 き ます コンペア タイムベースは 対 応 する 周 期 レジスタの 値 に 一 致 するまでインクリメントし 続 け 一 致 すると 次 の 命 令 クロックで 0x0000 にリセットします コンペア タイムベース 周 期 レジスタの 値 が OCxRS レジスタの 値 よりも 小 さい 場 合 立 ち 下 がりエッジは 生 成 されません この 場 合 OCx ピンはモードが 変 更 されるかデバイスがリ セットするまで HIGH のままです OCxピンが LOW になると ( 単 発 パルスの 立 ち 下 がりエッジが 発 生 すると ) 対 応 するチャン ネル 割 り 込 みフラグ OCxIF がセットされます 図 -14 と 図 -15 はダブルコンペア モードで 連 続 出 力 パルスを 生 成 する 場 合 の 一 般 的 動 作 を 示 しています 図 - は OCxRS > PRy の 場 合 のタイミング 例 を 示 しています この 例 では タイムベースは OCxRS の 値 に 一 致 する 前 にリセットするため パルスの 立 ち 下 がりエッジは 発 生 しません 図 -14: ダブルコンペア モード : 連 続 出 力 パルス (PRy = OCxRS ビットモード ) 1 PBCLK Period TMRy 3000 3001 3002 0000 0001 3000 3001 3002 0000 0001 3000 TMRy Resets Here due to PRx match TMRy Resets Here... PRy 3002 OCxR 3000 OCxRS 3002 OCx pin OCxIF Cleared by User Cleared by User Note 1: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 2: OCxR = コンペアレジスタ OCxRS = セカンダリ コンペアレジスタ DS61111E_JP - p. -20 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 図 -15: ダブルコンペア モード : 連 続 出 力 パルス (PRy = OCxRS 32 ビットモード ) 1 PBCLK Period TMRy 0003: 0003: 0000: 0000: 0003: 0003: 0000: 0000: 0000: 0000 0001 0000 0001 0000 0001 0000 0001 0002 TMRy Resets Here TMRy Resets Here 出 力 コンペア PRy 0003: 0001 OCxR 0003: 0000 OCxRS 0003: 0001 OCx pin OCxIF Cleared by User Cleared by User Note: x は 出 力 コンペア チャンネルの 番 号 です y はタイムベースの 番 号 です 図 -: ダブルコンペア モード : 連 続 出 力 パルス (OCxRS > PRy ビットモード ) Note 1: OCxRS レジスタの 値 を 周 期 レジスタ (PRy) の 値 以 下 に 変 更 するまで OCx ピンは HIGH のままであり OCxIF はセッ トされません 2013 Microchip Technology Inc. DS61111E_JP - p. -21

PIC32 ファミリ リファレンス マニュアル.3.2.5 連 続 出 力 パルス 生 成 の 設 定 方 法 OCM<2:0> 制 御 ビットを 101 に 設 定 すると 対 応 する 出 力 コンペア チャンネルは OCx ピ ンを LOW に 初 期 化 し コンペア 一 致 イベントが 発 生 するたびに 出 力 パルスを 繰 り 返 し 生 成 し ます 連 続 出 力 パルスを 生 成 するようモジュールを 設 定 するには 下 記 の 手 順 が 必 要 です ( これらの 手 順 はタイマ 源 が 最 初 OFF である 事 を 前 提 としていますが これはモジュールを 動 作 させるため の 必 要 条 件 ではありません ) 1. 周 辺 モジュール 用 クロックサイクル 時 間 を 決 定 します この 際 タイマソースへの 外 部 ク ロック 周 波 数 ( 使 用 する 場 合 ) と タイマ プリスケーラ 設 定 を 考 慮 する 必 要 があります 2. TMRy 開 始 値 (0x0000) から 出 力 パルス 立 ち 上 がりエッジまでの 時 間 を 計 算 します 3. パルス 立 ち 上 がりエッジまでの 時 間 と 目 標 パルス 幅 に 基 づいてパルス 立 ち 下 がりエッジま での 時 間 を 計 算 します 4. 上 記 ステップ 2 および 3 で 計 算 した 値 をそれぞれコンペアレジスタ OCxR とセカンダリ コ ンペアレジスタ OCxRS に 書 き 込 みます 5. タイマ 周 期 レジスタ PRy の 値 をセカンダリ コンペアレジスタ OCxRS 以 上 の 値 に 設 定 しま す 6. OCM<2:0> を 101 に 設 定 し OCTSEL ビット (OCxCON<3>) で 適 切 なタイマ 源 を 選 択 します ( ビットモードのみ ) この 時 点 で OCx ピンは LOW に 駆 動 されます 7. TON ビット (TyCON<15>) を 1 にセットしてコンペア タイムベースを 有 効 にします 8. TMRy と OCxR の 間 で 最 初 の 一 致 が 発 生 すると OCx ピンが HIGH に 駆 動 されます 9. その 後 もコンペア タイムベース TMRy はインクリメントし 続 け 今 度 はセカンダリ コン ペアレジスタ OCxRS と 一 致 した 時 に OCx ピンが HIGH から LOW に 遷 移 してパルスの 立 ち 下 がり ( 後 縁 ) エッジが 発 生 します 10. 2 回 目 のコンペア 一 致 イベントの 結 果 として OCxIF 割 り 込 みフラグビットがセットされま す 11. コンペア タイムベースが 対 応 する 周 期 レジスタに 一 致 すると TMRy レジスタは 0x0000 にリセットした 後 にカウントを 再 開 します 12. ステップ 8 ~ 11 を 繰 り 返 す 事 により パルス 生 成 を 無 限 に 繰 り 返 します OCxIF フラグは OCxRS と TMRy 間 のコンペア 一 致 イベントが 発 生 するたびにセットされます ( 各 チャンネ ルの 割 り 込 みフラグのビット 位 値 については IFS0 レジスタの 説 明 を 参 照 ) DS61111E_JP - p. -22 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 例 -7 と 例 -8 に 連 続 出 力 パルスイベントの 設 定 用 サンプルコードを 示 します 例 -7: 連 続 出 力 パルスのセットアップと 割 り 込 みサービス ( ビットモード ) // The following code example will set the Output Compare 1 module // for interrupts on the continuous pulse event and select Timer2 // as the clock source for the compare time-base. T2CON = 0x0010;// Configure Timer2 for a prescaler of 2 出 力 コンペア OC1CON = 0x0000;// Disable OC1 module OC1CON = 0x0005;// Configure OC1 module for Pulse output OC1R = 0x3000;// Initialize Compare Register 1 OC1RS = 0x3003;// Initialize Secondary Compare Register 1 PR2 = 0x5000;// Set period // configure int IFS0CLR = 0x00000040;// Clear the OC1 interrupt flag IFS0SET = 0x00000040;// Enable OC1 interrupt IPC1SET = 0x001C0000;// Set OC1 interrupt priority to 7, // the highest level IPC1SET = 0x00030000;// Set Subpriority to 3, maximum T2CONSET = 0x8000;// Enable Timer2 OC1CONSET = 0x8000;// Enable OC1 // Example code for Output Compare 1 ISR: void ISR(_OUTPUT_COMPARE_1_VECTOR, ipl7) OC1_IntHandler (void) { // insert user code here IFS0CLR= 0x0040; // Clear the OC1 interrupt flag } 2013 Microchip Technology Inc. DS61111E_JP - p. -23

PIC32 ファミリ リファレンス マニュアル 例 -8: 連 続 出 力 パルスのセットアップと 割 り 込 みサービス (32 ビットモード ) // The following code example will set the Output Compare 1 module // for interrupts on the continuous pulse event and select Timer2 // as the clock source for the compare time-base. T2CON = 0x0018;// Configure Timer2 for 32-bit operation // with a prescaler of 2.The Timer2/Timer3 // pair is accessed via registers associated // with the Timer2 register OC1CON = 0x0000;// disable OC1 module OC1CON = 0x0005;// Configure OC1 module for Pulse output OC1R = 0x3000;// Initialize Compare Register 1 OC1RS = 0x3003;// Initialize Secondary Compare Register 1 PR2 = 0x00500000;// Set period (PR2 is now 32-bits wide) // configure int IFS0CLR = 0x00000040;// Clear the OC1 interrupt flag IFS0SET = 0x00000040;// Enable OC1 interrupt IPC1SET = 0x001C0000;// Set OC1 interrupt priority to 7, // the highest level IPC1SET = 0x00030000;// Set Subpriority to 3, maximum T2CONSET = 0x8000;// Enable Timer2 OC1CONSET = 0x8000;// Enable OC1 // Example code for Output Compare 1 ISR: void ISR(_OUTPUT_COMPARE_1_VECTOR, ipl7) OC1_IntHandler (void) { // insert user code here IFS0CLR = 0x0040; // Clear the OC1 interrupt flag } DS61111E_JP - p. -24 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.3.2.6 ダブルコンペア モードで 連 続 出 力 パルスを 生 成 する 場 合 の 特 殊 なケース OCxR OCxRS PRy 値 の 大 小 関 係 によっては 出 力 コンペア モジュールが 予 期 せぬ 結 果 を 生 じる 場 合 があります 表 -3 に そのような 特 殊 なケースと それらによって 生 じるモジュー ルの 挙 動 を 示 します 表 -3: ダブルコンペア モードで 連 続 出 力 パルスを 生 成 する 場 合 の 特 殊 なケース (1) SFR の 論 理 的 関 係 PRy OCxRS かつ OCxRS > OCxR PRy OCxR かつ OCxR OCxRS OCxRS > PRy かつ PRy OCxR 特 殊 な 条 件 OCxR = 0 TMRy = 0 に 初 期 化 OCxR 1 かつ PRy 1 なし 動 作 OCx ピンの 出 力 最 初 に TMRy が 0x0000 から PRy までカウントす 連 続 パルスを 生 成 す る 間 OCx は LOW のままであり パルスは 生 成 され るが 最 初 のパルス ない 周 期 一 致 により TMRy がゼロにリセットする は PRy レジスタの 値 と OCx ピンは HIGH に 遷 移 する 次 に TMRy が に 応 じて 遅 延 する OCxRS に 一 致 すると OCx ピンは LOW に 遷 移 す る OCxR = 0 かつ PRy = OCxRS の 場 合 ピンは 1 クロックサイクル LOW を 維 持 した 後 に HIGH に 駆 動 され 次 に TMRy が OCxRS に 一 致 するまで HIGH を 維 持 する 2 回 目 のコンペア 一 致 の 結 果 と して OCxIF ビットがセットされる 他 に 下 記 の 2 つの 初 期 条 件 も 考 慮 する 必 要 がある : - TMRy = PRy (PRy > 0) に 初 期 化 かつ OCxR = 0 に 設 定 TMRy が OCxR までカウントアップしてコンペア 一 連 続 パルスを 生 成 致 イベント (TMRy = OCxR) が 発 生 すると OCx ピン は HIGH に 駆 動 される TMRy は 引 き 続 きカウント し 続 け 周 期 一 致 (PRy = TMRy) 時 にリセットする タイマは 0x0000 からカウントを 再 開 し OCxRS ま でカウントアップする コンペア 一 致 イベント (TMRy = OCxRS) が 発 生 すると OCx ピンは LOW に 駆 動 される 2 回 目 のコンペア 一 致 の 結 果 として OCxIF ビットがセットされる OCxRS レジスタの 値 を 周 期 レジスタ (PRy) 以 下 の 立 ち 上 がりエッジで 値 に 変 更 するまで OCx ピンでは 1 回 の 状 態 遷 移 HIGH へ 遷 移 しか 発 生 しない それまで OCxIF はセットされな い OCxR > PRy なし サポートされないモード タイマは 一 致 条 件 の 前 に リセットする LOW のまま 凡 例 : OCxR = コンペアレジスタ OCxRS = セカンダリ コンペアレジスタ TMRy = Timery のカウント PRy = Timery の 周 期 レジスタ Note 1: 上 表 の 全 ての 条 件 は TMRy レジスタが 0x0000 に 初 期 化 されている 事 を 前 提 とします 出 力 コンペア 2013 Microchip Technology Inc. DS61111E_JP - p. -25

PIC32 ファミリ リファレンス マニュアル.3.3 パルス 幅 変 調 モード OCM<2:0> 制 御 ビットを 110 または 111 に 設 定 すると 対 応 する 出 力 コンペア チャン ネルの 動 作 は PWM モードに 設 定 されます 下 記 の 2 つの PWM モードが 存 在 します フォルト 保 護 入 力 なし PWM フォルト 保 護 入 力 あり PWM OCFA または OCFB フォルト 入 力 ピンは フォルト 保 護 入 力 あり PWM モードで 使 います このモードでは OCFx ピンで 論 理 レベル 0 ( 非 同 期 ) が 発 生 すると 対 応 する PWM チャ ンネルがシャットダウンします.3.3.1 フォルト 保 護 入 力 ピンを 使 う PWM モード を 参 照 してください PWM モードでは OCxR レジスタは 読 み 出 し 専 用 のスレーブ デューティサイクル レジスタと して 機 能 し OCxRS レジスタはバッファレジスタとして 機 能 します ユーザは OCxRS レジ スタに 書 き 込 む 事 によって PWM デューティサイクルを 更 新 できます PWM 周 期 の 最 後 でタ イマが 周 期 レジスタに 一 致 するたびに デューティサイクル レジスタ OCxR に OCxRS レジス タの 値 が 転 送 されます TyIF 割 り 込 みフラグは PWM 周 期 の 境 界 で 毎 回 セットされます 出 力 コンペア モジュールを PWM 動 作 向 けに 設 定 するには 以 下 の 手 順 を 実 行 する 必 要 があり ます 1. 選 択 したタイマ 周 期 レジスタ (PRy) に 書 き 込 む 事 によって PWM 周 期 を 設 定 する 2. OCxRS レジスタに 書 き 込 む 事 によって PWM デューティサイクルを 設 定 する 3. OCxR レジスタに 初 期 の PWM デューティサイクルを 書 き 込 む 4. 必 要 に 応 じて タイマと 出 力 コンペア モジュールの 割 り 込 みを 有 効 にする (PWM フォルト ピンを 使 う 場 合 出 力 コンペア 割 り 込 みが 必 要 です ) 5. 出 力 コンペアモード ビット OCM<2:0> (OCxCON<2:0>) に 書 き 込 む 事 により 出 力 コンペ ア モジュールを 2 つある PWM 動 作 モードのいずれかに 設 定 する 6. TMRy プリスケール 値 を 設 定 し TON ビット (TxCON<15>) を 1 にセットする 事 により タイムベースを 有 効 にする Note: 出 力 コンペア モジュールを 有 効 にする 前 に OCxR レジスタを 初 期 設 定 する 必 要 が あります モジュールが PWM モードで 動 作 中 OCxR レジスタは 読 み 出 し 専 用 の デューティサイクル レジスタとして 機 能 します OCxR レジスタの 保 持 値 は 最 初 の PWM 周 期 の PWM デューティサイクルとして 使 われます デューティサイクル バッファレジスタ OCxRS の 値 は タイムベース 周 期 一 致 が 発 生 するまで OCxRS レジスタに 転 送 されません 図 -17 に PWM 出 力 波 形 の 例 を 示 します 図 -17: PWM 出 力 波 形 Period = (PRy + 1) Duty Cycle = (OCxRS) 1 2 3 1 2 3 Timery がクリアされ 新 しいデューティサイクル 値 が OCxRS から OCxR に 転 送 される タイマ 値 が OCxR レジスタ 値 と 一 致 し OCx ピンは LOW に 駆 動 される タイマがオーバーフローし OCxRS の 値 が OCxR に 転 送 され OCx ピンは HIGH に 駆 動 される TyIF 割 り 込 みフラグがセットされる DS61111E_JP - p. -26 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.3.3.1 フォルト 保 護 入 力 ピンを 使 う PWM モード OCM<2:0> 制 御 ビットを 111 に 設 定 すると 対 応 する 出 力 コンペア チャンネルの 動 作 は PWM モードに 設 定 されます このモードでは.3.3 パルス 幅 変 調 モード に 記 載 した 全 て の 機 能 に 加 えて 入 力 フォルト 保 護 機 能 が 有 効 になります フォルト 保 護 には OCFA ピンと OCFB ピンを 使 います OCFA ピンは 出 力 コンペア チャンネ ル 1 ~ 4 に 対 応 し OCFB ピンは 出 力 コンペア チャンネル 5 に 対 応 します OCFA/OCFB ピンで 論 理 0 を 検 出 すると 対 応 する PWM 出 力 ピンは 3 ステートになりま す ユーザは PWM ピンにプルダウンまたはプルアップ 抵 抗 を 適 用 する 事 により フォルト 条 件 が 発 生 した 時 に PWM ピンを 適 切 な 状 態 にできます PWM 出 力 は 即 時 にシャットダウン し デバイスのクロック 源 から 切 断 されます この 状 態 は 下 記 の 両 条 件 が 成 立 するまで 続 きま す 1. 外 部 フォルト 条 件 が 解 除 された 2. 適 切 なモードビット (OCM<2:0> ビット (OCxCON<2:0>)) への 書 き 込 みによって PWM モー ドが 再 度 有 効 にされた フォルト 条 件 の 結 果 として 対 応 する 割 り 込 みフラグビット OCxIF がセットされ 割 り 込 みが 生 成 されます ( 割 り 込 みを 有 効 にしている 場 合 ) フォルト 条 件 を 検 出 すると OCFLT ビット (OCxCON<4>) が HIGH( 論 理 1 ) にセットされます このビットは 読 み 出 し 専 用 であり 外 部 フォルト 条 件 が 解 除 され 適 切 なモードビット (OCM<2:0> (OCxCON<2:0>)) への 書 き 込 みに よって PWM モードが 再 度 有 効 にされるまでクリアされません Note: 外 部 フォルトピンを 有 効 にして 使 う 場 合 デバイスがスリープまたはアイドルモー ド 中 であってもフォルトピンは 対 応 する OCx 出 力 ピンを 制 御 し 続 けます 出 力 コンペア.3.3.2 PWM 周 期 PWM 周 期 は Timery 周 期 レジスタ (PRy) に 書 き 込 む 事 により 指 定 します PWM 周 期 は 下 式 で 計 算 できます 式 -1: PWM 周 期 の 計 算 PWM Period = [(PR + 1) TPB (TMR Prescale Value)] PWM Frequency = 1/[PWM Period] PWM 周 期 は 周 期 レジスタのビット 幅 を 超 えない 範 囲 で 設 定 する 必 要 があります ( ビット モードでは ビット 幅 32 ビットモードでは 32 ビット 幅 ) 計 算 で 求 めた 周 期 が 大 きすぎる 場 合 オーバーフローを 防 ぐためにより 大 きなプリスケーラを 選 択 する 必 要 があります PWM 分 解 能 を 可 能 な 限 り 高 くするには オーバーフローしない 範 囲 で 最 小 のプリスケーラを 選 択 し ます Note: PRy 値 を N とした 場 合 PWM 周 期 は [N + 1] タイムベース カウントサイクルです 例 えば PRy レジスタに 7 を 書 き 込 んだ 場 合 の PWM 周 期 は 8 タイムベースサイ クルです 2013 Microchip Technology Inc. DS61111E_JP - p. -27

PIC32 ファミリ リファレンス マニュアル.3.3.3 PWM デューティ サイクル PWM デューティ サイクルは OCxRS レジスタに 書 き 込 む 事 により 指 定 します OCxRS レジス タはいつでも 書 き 込 み 可 能 ですが PRy と TMRy が 一 致 するまで ( すなわち 1 周 期 が 終 了 する まで ) デューティ サイクル 値 は OCxRS から OCxR へラッチされません これは PWM デュー ティ サイクルにダブルバッファを 提 供 し PWM 動 作 のグリッチを 防 ぐために 重 要 な 働 きをし ます PWM モードでは OCxR レジスタは 読 み 出 し 専 用 です PWM デューティ サイクルの 重 要 境 界 条 件 を 以 下 に 挙 げます デューティ サイクルレジスタ OCxR に 0000h を 書 き 込 むと OCx ピンは LOW のままになる (0% デューティ サイクル ) OCxRS の 値 がタイマ 周 期 レジスタ PRy よりも 大 きい 場 合 ピンは HIGH のままになる (100% デューティ サイクル ) OCxR が PRy に 等 しい 場 合 OCx ピンは 1 タイムベースカウント 値 だけ LOW になり 他 の 全 てのカウント 値 では HIGH になる 図 -18 と 図 -19 に PWM モードの 詳 細 なタイミングを 示 します 表 -4 ~ 表 -9 に 各 周 辺 モジュール 用 バス 周 波 数 における PWM 周 波 数 と 分 解 能 を 示 します 式 -2: 最 高 PWM 分 解 能 の 計 算 式 Maximum PWM Resolution (bits) = log 10 FPB ( ) FPWM TMRy Prescaler bits log 10 (2) 式 -3: PWM 周 期 および 分 解 能 の 計 算 式 目 標 PWM 周 波 数 = 52.08 khz FPB = 10 MHz Timer2 プリスケーラ 設 定 : 1:1 1/52.08 khz = (PR2 + 1) TPB (Timer2 prescale value) 19.20 s = (PR2 + 1) 0.1 s (1) PR2 = 191 周 辺 モジュール 用 バスクロック 周 波 数 が 10 MHz の 場 合 PWM 周 波 数 52.08 khz で 使 える デューティ サイクルの. 最 高 分 解 能 は 以 下 のように 求 まります 1/52.08 khz = 2 PWM RESOLUTION 1/10 MHz 1 19.20 s = 2 PWM RESOLUTION 100 ns 1 PWM RESOLUTION 192 = 2 log 10 (192) = (PWM Resolution) log 10 (2) PWM Resolution = 7.6 bits DS61111E_JP - p. -28 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 図 -18: PWM 出 力 のタイミング ( ビットモード ) 1 PBCLK Period TMR3 0005 0000 0001 0002 0003 0004 0005 0000 0001 0002 0003 0004 0005 PR3 0005 出 力 コンペア OCxR 0002 0001 OCxRS 0002 0001 Hardware Loads New Duty Cycle Here User Code Writes New Value to OCxRS In ISR OCx pin T3IF is Set OCxR = OCxRS T3IF is Set OCxR = OCxRS Note 1: x は 出 力 コンペア チャンネルの 番 号 です 2: OCxR = コンペアレジスタ OCxRS = セカンダリ コンペアレジスタ 図 -19: PWM 出 力 のタイミング (32 ビットモード ) 1 PBCLK Period TMR2 0005: 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0000 0000 0001 0002 0003 0004 0005 0000 0001 0002 Hardware Loads New Duty Cycle Here PR2 0000: 0005 OCxR 0000: 0002 User Code Writes New Value to OCxRS in ISR 0000: 0001 OCxRS 0000: 0002 0000: 0001 OCx pin Note: x は 出 力 コンペア チャンネルの 番 号 です 2013 Microchip Technology Inc. DS61111E_JP - p. -29

PIC32 ファミリ リファレンス マニュアル 表 -4: PWM 周 波 数 および 分 解 能 の 例 ( 周 辺 モジュール 用 バスクロック = 10 MHz ビットモード ) PWM 周 波 数 19 Hz 153 Hz 305 Hz 2.44 khz 9.77 khz 78.1 khz 313 khz タイマ プリスケーラ 比 8 1 1 1 1 1 1 周 期 レジスタ 値 0xFFFF 0xFFFF 0x7FFF 0x0FFF 0x03FF 0x007F 0x001F 分 解 能 ( ビット ) 15 12 10 7 5 表 -5: PWM 周 波 数 および 分 解 能 の 例 ( 周 辺 モジュール 用 バスクロック = 30 MHz ビットモード ) PWM 周 波 数 58 Hz 458 Hz 9 Hz 7.32 khz 29.3 khz 234 khz 938 khz タイマ プリスケーラ 比 8 1 1 1 1 1 1 周 期 レジスタ 値 0xFC8E 0xFFDD 0x7FEE 0x1001 0x03FE 0x007F 0x001E 分 解 能 ( ビット ) 15 12 10 7 5 表 -6: PWM 周 波 数 および 分 解 能 の 例 ( 周 辺 モジュール 用 バスクロック = 50 MHz ビットモード ) PWM 周 波 数 57 Hz 458 Hz 9 Hz 7.32 khz 29.3 khz 234 khz 938 khz タイマ プリスケーラ 比 64 8 1 1 1 1 1 周 期 レジスタ 値 0x349C 0x354D 0xD538 0x1AAD 0x06A9 0x00D4 0x0034 分 解 能 ( ビット ) 13.7 13.7 15.7 12.7 10.7 7.7 5.7 表 -7: PWM 周 波 数 および 分 解 能 の 例 ( 周 辺 モジュール 用 バスクロック = 50 MHz ビットモード ) PWM 周 波 数 100 Hz 200 Hz 500 Hz 1 khz 2 khz 5 khz 10 khz タイマ プリスケーラ 比 周 期 レジスタ 値 (HEX) 分 解 能 ( ビット ) ( 十 進 数 ) 8 8 8 1 8 1 1 0xF423 0x7A11 0x30D3 0xC34F 0x0C34 0x270F 0x1387 15.9 14.9 13.6 15.6 11.6 13.3 12.3 表 -8: PWM 周 波 数 および 分 解 能 の 例 ( 周 辺 モジュール 用 バスクロック = 50 MHz ビットモード ) PWM 周 波 数 100 Hz 200 Hz 500 Hz 1 khz 2 khz 5 khz 10 khz タイマ プリスケーラ 比 周 期 レジスタ 値 (HEX) 分 解 能 ( ビット ) ( 十 進 数 ) 8 4 2 1 1 1 1 0xF423 0xF423 0xC34F 0x0C34F 0x61A7 0x270F 0x1387 15.9 15.9 15.6 15.6 14.6 13.3 12.3 表 -9: PWM 周 波 数 および 分 解 能 の 例 ( 周 辺 モジュール 用 バスクロック = 50 MHz 32 ビットモード ) PWM 周 波 数 100 Hz 200 Hz 500 Hz 1 khz 2 khz 5 khz 10 khz タイマ プリスケーラ 比 周 期 レジスタ 値 (HEX) 分 解 能 ( ビット ) ( 十 進 数 ) 1 1 1 1 1 8 1 0x0007A11F 0x0003D08F 0x0001869F 0x0000C34F 0x000061A7 0x000004E1 0x00001387 18.9 17.9.6 15.6 14.6 10.3 12.3 DS61111E_JP - p. -30 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 例 -9 と 例 -10 に PWM モード 動 作 向 けの 設 定 および 割 り 込 みサービスのサンプルコード を 示 します 例 -9: PWM モードのセットアップと 割 り 込 みサービス ( ビットモード ) // The following code example will set the Output Compare 1 module // for PWM mode with Fault pin disabled and for 50% duty cycle. // Timer2 is selected as the clock for the PWM time base, and Timer2 // interrupts are enabled. 出 力 コンペア #include <plib.h> int main(void) { INTEnableSystemMultiVectoredInt(); OC1CON = 0x0000; OC1R = 0x0064; OC1RS = 0x0064; OC1CON = 0x0006; PR2 = 0x00C7; // Enable system wide interrupt to // multivectored mode. // Turn off the OC1 when performing the setup // Initialize primary Compare register // Initialize secondary Compare register // Configure for PWM mode without Fault pin // enabled // Set period // Configure Timer2 interrupt.note that in PWM mode, the // corresponding source timer interrupt flag is asserted. // OC interrupt is not generated in PWM mode. IFS0CLR = 0x00000100; // Clear the T2 interrupt flag IEC0SET = 0x00000100; // Enable T2 interrupt IPC2SET = 0x0000001C; // Set T2 interrupt priority to 7 T2CONSET = 0x8000; OC1CONSET = 0x8000; while(1); } // Enable Timer2 // Enable OC1 // Never return // Example code for Timer2 ISR void ISR(_TIMER_2_VECTOR, ipl7) T2_IntHandler (void) { // Insert user code here IFS0CLR = 0x0100; // Clearing Timer2 interrupt flag } 2013 Microchip Technology Inc. DS61111E_JP - p. -31

PIC32 ファミリ リファレンス マニュアル 例 -10: PWM モードのセットアップと 割 り 込 みサービス (32 ビットモード ) // The following code example will set the Output Compare 1 module // for PWM mode with Fault pin disabled and for 50% duty cycle. // Timer2 and Timer3 are selected as the clocks for the PWM time base // in 32-bit mode, and Timer3 interrupts are enabled. #include <plib.h> int main(void) { INTEnableSystemMultiVectoredInt();// Enable system wide interrupt to multivectored mode. OC1CON = 0x0000; OC1R = 0x00638000; OC1RS = 0x00638000; OC1CON = 0x0006; T2CONSET = 0x0008; PR2 = 0x00C6FFFF; // Turn off the OC1 when performing the setup // Initialize primary Compare register // Initialize secondary Compare register // Configure for PWM mode without Fault pin enabled // Enable 32-bit Timer mode // Set period // Configure Timer3 interrupt.note that in PWM mode, the corresponding source timer // interrupt flag is asserted.oc interrupt is not generated in PWM mode. IFS0CLR = 0x00001000; // Clear the T3 interrupt flag IEC0SET = 0x00001000; // Enable T3 interrupt IPC3SET = 0x0000001C; // Set T3 interrupt priority to 7 T2CONSET = 0x8000; OC1CONSET = 0x8020; while(1); } // Enable Timer2 // Enable OC1 in 32-bit mode. // Never return // Example code for Timer3 ISR: void ISR(_TIMER_3_VECTOR, ipl7) T3_IntHandler (void) { // Insert user code here IFS0CLR = 0x1000; // Clearing Timer3 interrupt flag } DS61111E_JP - p. -32 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.4 割 り 込 み 各 出 力 コンペア チャンネルは 専 用 の 割 り 込 みビット OCxIF と 対 応 する 割 り 込 みイネーブル / マスクビット OCxIE を 備 えています これらのビットは 割 り 込 み 要 因 を 特 定 するためと 対 応 する 割 り 込 み 要 因 を 有 効 または 無 効 にするために 使 います 各 チャンネルの 優 先 度 も 別 々に 設 定 できます 出 力 コンペア チャンネルが 割 り 込 み 生 成 イベントとして 定 義 されている 一 致 条 件 を 検 出 する と OCxIF ビットがセットされます OCxIF ビットは 対 応 する OCxIE ビットの 状 態 に 関 係 なくセットされます 必 要 に 応 じてソフトウェアで OCxIF ビットをポーリングできます OCxIEビットは 対 応 するOCxIFビットがセットされた 時 のベクタ 割 り 込 みコントローラ(VIC) の 挙 動 を 定 義 するために 使 います OCxIE ビットがクリアされている 場 合 対 応 する OCxIF ビットがセットされても VIC モジュールは CPU 割 り 込 みを 生 成 しません OCxIE ビットが セットされている 場 合 対 応 する OCxIF ビットがセットされると VIC モジュールは CPU に 対 して 割 り 込 みを 生 成 します ( 後 述 の 優 先 度 と 副 優 先 度 に 従 う ) 特 定 の 割 り 込 みをサービスするルーチンは サービスルーチンを 完 了 する 前 に 対 応 する 割 り 込 みフラグビットをクリアする 必 要 があります 各 出 力 コンペア チャンネルの 割 り 込 み 優 先 度 は OCxIP<2:0> ビットを 使 って 別 々に 設 定 できま す この 優 先 度 はその 割 り 込 み 要 因 が 属 するグループの 優 先 度 を 定 義 します 各 優 先 度 グルー プは 7 ( 最 優 先 ) から 0 ( 割 り 込 みを 生 成 しない ) の 優 先 度 を 持 ちます ある 割 り 込 みをサービ スしている 時 に これよりも 高 い 優 先 度 を 持 つグループに 属 する 割 り 込 みが 発 生 した 場 合 サー ビス 中 の 割 り 込 みは 保 留 されます 副 優 先 度 ビットにより 同 一 優 先 度 グループに 属 する 割 り 込 み 要 因 に 異 なる 優 先 度 を 設 定 でき ます 副 優 先 度 の 値 (OCxIS<1:0>) は 3 ( 最 優 先 ) から 0 ( 最 低 優 先 度 ) の 間 で 設 定 できます ある 割 り 込 みのサービス 中 に 優 先 度 グループが 同 じで 副 優 先 度 がより 高 い 割 り 込 みが 発 生 し ても サービス 中 の 副 優 先 度 の 低 い 割 り 込 みは 保 留 されません 複 数 の 割 り 込 み 要 因 に 同 一 の 優 先 度 と 副 優 先 度 を 割 り 当 てる 事 もできます そのように 設 定 し た 複 数 の 割 り 込 みが 同 時 に 発 生 した 場 合 それらの 各 割 り 込 み 要 因 が 持 つ 自 然 順 序 優 先 度 に よって 生 成 される 割 り 込 みが 決 まります 自 然 順 序 優 先 度 は 割 り 込 み 要 因 のベクタ 番 号 に 基 づきます ベクタ 番 号 が 小 さいほど 割 り 込 みの 自 然 順 序 優 先 度 は 高 くなります 自 然 順 序 優 先 度 に 従 って 保 留 された 割 り 込 み 要 因 は サービス 中 の 割 り 込 みの 割 り 込 みフラグがクリアさ れた 後 に 優 先 度 副 優 先 度 自 然 順 序 優 先 度 に 基 づいて 順 番 に 割 り 込 みを 生 成 します 有 効 な 割 り 込 みが 発 生 すると CPU はその 割 り 込 みに 割 り 当 てられているベクタへジャンプし ます 割 り 込 みのベクタ 番 号 がそのまま 自 然 優 先 順 位 となります CPU はジャンプ 先 のベクタ アドレスからコードの 実 行 を 始 めます このベクタアドレスにおけるユーザコードは 必 要 な 動 作 ( デューティサイクルのリロード 割 り 込 みフラグのクリア 等 ) を 全 て 実 行 した 後 に 終 了 する 必 要 があります ベクタアドレス テーブルの 詳 細 はセクション 8. 割 り 込 み (DS61108) を 参 照 してください 出 力 コンペア 2013 Microchip Technology Inc. DS61111E_JP - p. -33

PIC32 ファミリ リファレンス マニュアル.5 I/O ピンの 制 御 有 効 にした 出 力 コンペア モジュールは I/O ピンの 方 向 を 制 御 します 出 力 コンペア モジュール を 無 効 にすると I/O ピンの 制 御 は 対 応 する LAT および TRIS 制 御 ビットの 設 定 に 従 います フォルト 保 護 入 力 あり の PWM モードを 有 効 にする 場 合 対 応 する TRIS SFR ビットをセッ トする 事 により OCFx フォルトピンを 入 力 として 設 定 する 必 要 があります PWM フォルト モードを 選 択 しても OCFx フォルト 入 力 ピンは 自 動 的 に 入 力 として 設 定 されません 表 -10: 出 力 コンペア モジュール 1 ~ 5 に 割 り 当 てられているピン ピン 名 モジュール 制 御 ピン タイプ バッファ タイプ 内 容 OC1 ON O 出 力 コンペア /PWM チャンネル 1 OC2 ON O 出 力 コンペア /PWM チャンネル 2 OC3 ON O 出 力 コンペア /PWM チャンネル 3 OC4 ON O 出 力 コンペア /PWM チャンネル 4 OC5 ON O 出 力 コンペア /PWM チャンネル 5 OCFA ON I ST PWM フォルト 保 護 A 入 力 ( チャンネル 1 ~ 4 用 ) OCFB ON I ST PWM フォルト 保 護 B 入 力 ( チャンネル 5 用 ) 凡 例 : ST = CMOS レベルのシュミットトリガ 入 力 I = 入 力 O = 出 力 DS61111E_JP - p. -34 2013 Microchip Technology Inc.

セクション. 出 力 コンペア.6 省 電 力 モードとデバッグモード 時 の 動 作.6.1 スリープモード 時 の 出 力 コンペア 動 作 デバイスがスリープモードに 移 行 するとシステムクロックは 停 止 します スリープモードに 移 行 すると 出 力 コンペア モジュールは 移 行 前 のピンの 駆 動 状 態 を 保 持 したまま 停 止 します 例 えば ピンが HIGH であった 時 に CPU がスリープモードに 移 行 した 場 合 そのピンはスリー プモード 中 も HIGH のままです 同 様 に ピンが LOW であった 時 に CPU がスリープモードに 移 行 した 場 合 そのピンはスリープモード 中 も LOW のままです どちらの 場 合 も デバイス が 復 帰 すると 出 力 コンペア モジュールも 動 作 を 再 開 します モジュールが PWM フォルトモードで 動 作 している 場 合 フォルト 回 路 の 非 同 期 部 分 はスリー プモード 中 も 動 作 を 続 けます フォルトを 検 出 すると コンペア 出 力 イネーブル 信 号 がネゲー トされ OCFLT ビット (OCxCON<4>) がセットされます 対 応 する 割 り 込 みが 有 効 になって いれば 割 り 込 みが 生 成 され デバイスはスリープから 復 帰 します 出 力 コンペア.7 各 種 リセットの 影 響.6.2 アイドルモード 時 の 出 力 コンペア 動 作 デバイスがアイドルモードに 移 行 してもシステムクロック 源 は 動 作 し 続 けますが CPU はコー ド 実 行 を 停 止 します デバイスがアイドルモードに 移 行 した 時 に 出 力 コンペア モジュールを 停 止 するかどうか ( アイドルモード 中 も 動 作 を 続 けるかどうか ) は SIDL ビット (OCxCON<13>) で 選 択 します SIDL = 1 に 設 定 した 場 合 モジュールはアイドルモード 時 に 動 作 を 停 止 します この 場 合 モジュールはスリープモード 時 と 同 様 に 機 能 します SIDL = 0 に 設 定 した 場 合 選 択 したタイムベースがアイドルモード 中 も 動 作 するよう 設 定 さ れていれば モジュールはアイドルモード 中 も 動 作 を 続 けます SIDL ビットが 論 理 0 で あれば 出 力 コンペア チャンネルはアイドルモード 中 であっても 動 作 しますが タイムベー スもアイドルモード 中 に 動 作 するよう 設 定 する 必 要 があります Note: 外 部 フォルトピンを 有 効 にして 使 う 場 合 デバイスがスリープまたはアイドルモー ド 中 であってもフォルトピンは 対 応 する OCx 出 力 ピンを 制 御 し 続 けます モジュールが PWM フォルトモードで 動 作 している 場 合 フォルト 回 路 の 非 同 期 部 分 はアイ ドルモード 中 も 動 作 を 続 けます フォルトを 検 出 すると コンペア 出 力 イネーブル 信 号 がネ ゲートされ OCFLT ビット (OCxCON<4>) がセットされます 対 応 する 割 り 込 みが 有 効 に なっていれば 割 り 込 みが 生 成 され デバイスはアイドルから 復 帰 します.6.3 デバッグモード 時 の 出 力 コンペア 動 作 モジュールが PWM フォルトモードで 動 作 している 場 合 フォルト 回 路 の 非 同 期 部 分 はデバッ グモード 中 も 動 作 を 続 けます フォルトを 検 出 すると コンペア 出 力 イネーブル 信 号 がネゲー トされ OCFLT ビット (OCxCON<4>) がセットされます 対 応 する 割 り 込 みが 有 効 になって いれば 割 り 込 みが 生 成 されます.7.1 MCLR リセット MCLR イベントが 発 生 すると 各 出 力 コンペア モジュールの OCxCON OCxR OCxRS レジスタ の 値 は 0x00000000 にリセットします.7.2 パワーオン リセット パワーオンリセット (POR) イベントが 発 生 すると 各 出 力 コンペア モジュールの OCxCON OCxR OCxRS レジスタの 値 は 0x00000000 にリセットします.7.3 ウォッチドッグ タイマリセット ウォッチドッグ タイマ (WDT) イベント 後 の 出 力 コンペア 制 御 レジスタの 状 態 は WDT イベン ト 前 の CPU の 動 作 モードによって 決 まります デバイスがスリープモード 中 ではなかった 場 合 WDT イベントは OCxCON OCxR OCxRS レジスタの 値 を 0x00000000 にリセットします WDT イベントが 発 生 した 時 にデバイスがス リープ 中 であった 場 合 OCxCON OCxR OCxRS レジスタの 値 は 影 響 を 受 けません 2013 Microchip Technology Inc. DS61111E_JP - p. -35

PIC32 ファミリ リファレンス マニュアル.8 出 力 コンペアのアプリケーション 例 以 下 では 出 力 コンペア モジュールの PWM モードを 使 って DC モータの 速 度 を 制 御 するアプ リケーション 例 を 紹 介 します モータの 速 度 は PWM デューティサイクルを 変 更 する 事 により 制 御 します この 回 路 は 下 記 により 構 成 されます PWM を 生 成 する PIC32 ファミリ デバイス MOSFET を 駆 動 する TC4431 または 同 等 の MOSFET ドライバ モータを 駆 動 する MOSFET PIC32 のリセット 中 に MOSFET ドライバの 入 力 をプルするためのプルアップ 抵 抗 ( 起 動 時 の 好 ましくないモータ 動 作 を 回 避 ) DC モータ 例 -11: PWM モードのアプリケーション 例 ( ビットモード ) // The following code example will set the Output Compare 1 module for PWM mode without Fault // pin disabled and for 50% duty cycle.timer2 is selected as the clock for the PWM time base // and Timer2 interrupts are enabled.this example ramps the PWM duty cycle from min to max, // and then from max to min and repeats.the rate at which the PWM duty cycle is changed can be // adjusted by the rate at which the Timer2 overflows.the PWM period can be changed by writing // a different value to the PR2 register.if the PR2 value is adjusted, the maximum PWM value // will also have to be adjusted so that it is not greater than the PR2 value. unsigned int Pwm;// Variable to store calculated PWM value unsigned char Mode = 0;// Variable to determine ramp up or ramp down OC1CON = 0x0000; OC1R = 0x0064; OC1RS = 0x0064; OC1CON = 0x0006; PR2 = 0x00C7; // Turn off the OC1 when performing the setup // Initialize primary Compare register // Initialize secondary Compare register // Configure for PWM mode without Fault pin enabled // Set period IFS0CLR = 0x00000100; // Clear the T2 interrupt flag IEC0SET = 0x00000100; // Enable T2 interrupt IPC2SET = 0x0000001C; // Set T2 interrupt priority to 7 T2CONSET = 0x8000; OC1CONSET = 0x8000; // Enable Timer2 // Enable OC1 // Example code for Timer2 ISR: void ISR(_TIMER_2_VECTOR, ipl7) T2_IntHandler (void) { if ( Mode ) { if ( Pwm < 0xFFFF ) // Ramp up mode { Pwm ++; // If the duty cycle is not at max, increase OC1RS = Pwm; // Write new duty cycle } else { Mode = 0; // PWM is at max, change mode to ramp down } } // End of ramp up else { if (!Pwm ) // Ramp Down mode { Pwm --; // If the duty cycle is not at min, increase OC1RS = Pwm; // Write new duty cycle } else { Mode = 1; // PWM is at min, change mode to ramp up } } // End of ramp down } IFS0CLR = 0x0100; // Insert user code here // Clearing Timer2 interrupt flag DS61111E_JP - p. -36 2013 Microchip Technology Inc.

セクション. 出 力 コンペア 図 -20: DC モータ 速 度 制 御 の 回 路 図 10 µf VDD VDD 出 力 コンペア VDD VDD 10K VDD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 VDD 1K TC4432 12 V 12 V M 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 VDD VDD AVSS AVDD VDD VDD VDD C8 1 µf C7 0.1 µf C6 0.01 µf VDD VDD VDD C5 1 µf C4 0.1 µf C3 0.01 µf 2013 Microchip Technology Inc. DS61111E_JP - p. -37

PIC32 ファミリ リファレンス マニュアル.9 設 計 のヒント 質 問 1: 回 答 : 質 問 2: 回 答 : SIDL ビットをセットしていないのに アイドルモードに 移 行 すると 出 力 コンペ アピンの 機 能 が 停 止 します 原 因 は 何 ですか これは 対 応 するタイマ 源 の SIDL ビット (TxCON<13>) がセットされている 場 合 によく 発 生 する 問 題 です この 状 態 で PWRSAV 命 令 を 実 行 すると タイマはア イドルモードに 切 り 換 わってしまいます 出 力 コンペア モジュールで 32 ビットモードに 設 定 したタイムベースを 使 えま すか はい できます T32 ビット (TxCON<3>) をセットすると 出 力 コンペア モ ジュール 向 けのタイムベースとして 32 ビットモードのタイマを 使 えます 正 し く 動 作 させるために 32 ビットタイマをタイムベースとして 使 う 全 ての 出 力 コ ンペア モジュールを 32 ビット コンペアモード 向 けに 設 定 する (OC32 ビット (OCxCON<5>) をセットする ) 必 要 があります DS61111E_JP - p. -38 2013 Microchip Technology Inc.